"use strict";
var WebIFC = (() => {
  var __defProp = Object.defineProperty;
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
  var __getOwnPropNames = Object.getOwnPropertyNames;
  var __hasOwnProp = Object.prototype.hasOwnProperty;
  var __commonJS = (cb, mod) => function __require() {
    return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
  };
  var __export = (target, all) => {
    for (var name in all)
      __defProp(target, name, { get: all[name], enumerable: true });
  };
  var __copyProps = (to, from, except, desc) => {
    if (from && typeof from === "object" || typeof from === "function") {
      for (let key of __getOwnPropNames(from))
        if (!__hasOwnProp.call(to, key) && key !== except)
          __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
    }
    return to;
  };
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);

  // dist/web-ifc-mt.js
  var require_web_ifc_mt = __commonJS({
    "dist/web-ifc-mt.js"(exports, module) {
      "use strict";
      var WebIFCWasm2 = (() => {
        var _scriptName = globalThis.document?.currentScript?.src;
        return async function(moduleArg = {}) {
          var moduleRtn;
          var Module = moduleArg;
          var ENVIRONMENT_IS_WEB = !!globalThis.window;
          var ENVIRONMENT_IS_WORKER = !!globalThis.WorkerGlobalScope;
          var ENVIRONMENT_IS_NODE = globalThis.process?.versions?.node && globalThis.process?.type != "renderer";
          var ENVIRONMENT_IS_PTHREAD = ENVIRONMENT_IS_WORKER && self.name?.startsWith("em-pthread");
          var arguments_ = [];
          var thisProgram = "./this.program";
          var quit_ = (status, toThrow) => {
            throw toThrow;
          };
          if (ENVIRONMENT_IS_WORKER) {
            _scriptName = self.location.href;
          }
          var scriptDirectory = "";
          function locateFile(path) {
            if (Module["locateFile"]) {
              return Module["locateFile"](path, scriptDirectory);
            }
            return scriptDirectory + path;
          }
          var readAsync, readBinary;
          if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
            try {
              scriptDirectory = new URL(".", _scriptName).href;
            } catch {
            }
            {
              if (ENVIRONMENT_IS_WORKER) {
                readBinary = (url) => {
                  var xhr = new XMLHttpRequest();
                  xhr.open("GET", url, false);
                  xhr.responseType = "arraybuffer";
                  xhr.send(null);
                  return new Uint8Array(xhr.response);
                };
              }
              readAsync = async (url) => {
                var response = await fetch(url, { credentials: "same-origin" });
                if (response.ok) {
                  return response.arrayBuffer();
                }
                throw new Error(response.status + " : " + response.url);
              };
            }
          } else {
          }
          var out = console.log.bind(console);
          var err = console.error.bind(console);
          var wasmBinary;
          var wasmModule;
          var ABORT = false;
          var EXITSTATUS;
          function growMemViews() {
            if (wasmMemory.buffer != HEAP8.buffer) {
              updateMemoryViews();
            }
          }
          var readyPromiseResolve, readyPromiseReject;
          var startWorker;
          if (ENVIRONMENT_IS_PTHREAD) {
            let handleMessage2 = function(e) {
              try {
                var msgData = e["data"];
                var cmd = msgData.cmd;
                if (cmd === "load") {
                  let messageQueue = [];
                  self.onmessage = (e2) => messageQueue.push(e2);
                  startWorker = () => {
                    postMessage({ cmd: "loaded" });
                    for (let msg of messageQueue) {
                      handleMessage2(msg);
                    }
                    self.onmessage = handleMessage2;
                  };
                  for (const handler of msgData.handlers) {
                    if (!Module[handler] || Module[handler].proxy) {
                      Module[handler] = (...args) => {
                        postMessage({ cmd: "callHandler", handler, args });
                      };
                      if (handler == "print") out = Module[handler];
                      if (handler == "printErr") err = Module[handler];
                    }
                  }
                  wasmMemory = msgData.wasmMemory;
                  updateMemoryViews();
                  wasmModule = msgData.wasmModule;
                  createWasm();
                  run();
                } else if (cmd === "run") {
                  establishStackSpace(msgData.pthread_ptr);
                  __emscripten_thread_init(msgData.pthread_ptr, 0, 0, 1, 0, 0);
                  PThread.threadInitTLS();
                  __emscripten_thread_mailbox_await(msgData.pthread_ptr);
                  if (!initializedJS) {
                    __embind_initialize_bindings();
                    initializedJS = true;
                  }
                  try {
                    invokeEntryPoint(msgData.start_routine, msgData.arg);
                  } catch (ex) {
                    if (ex != "unwind") {
                      throw ex;
                    }
                  }
                } else if (msgData.target === "setimmediate") {
                } else if (cmd === "checkMailbox") {
                  if (initializedJS) {
                    checkMailbox();
                  }
                } else if (cmd) {
                  err(`worker: received unknown command ${cmd}`);
                  err(msgData);
                }
              } catch (ex) {
                __emscripten_thread_crashed();
                throw ex;
              }
            };
            var handleMessage = handleMessage2;
            var initializedJS = false;
            self.onunhandledrejection = (e) => {
              throw e.reason || e;
            };
            self.onmessage = handleMessage2;
          }
          var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
          var HEAP64, HEAPU64;
          var runtimeInitialized = false;
          function updateMemoryViews() {
            var b = wasmMemory.buffer;
            HEAP8 = new Int8Array(b);
            HEAP16 = new Int16Array(b);
            HEAPU8 = new Uint8Array(b);
            HEAPU16 = new Uint16Array(b);
            HEAP32 = new Int32Array(b);
            HEAPU32 = new Uint32Array(b);
            HEAPF32 = new Float32Array(b);
            HEAPF64 = new Float64Array(b);
            HEAP64 = new BigInt64Array(b);
            HEAPU64 = new BigUint64Array(b);
          }
          function initMemory() {
            if (ENVIRONMENT_IS_PTHREAD) {
              return;
            }
            if (Module["wasmMemory"]) {
              wasmMemory = Module["wasmMemory"];
            } else {
              var INITIAL_MEMORY = Module["INITIAL_MEMORY"] || 16777216;
              wasmMemory = new WebAssembly.Memory({ initial: INITIAL_MEMORY / 65536, maximum: 65536, shared: true });
            }
            updateMemoryViews();
          }
          function preRun() {
            if (Module["preRun"]) {
              if (typeof Module["preRun"] == "function") Module["preRun"] = [Module["preRun"]];
              while (Module["preRun"].length) {
                addOnPreRun(Module["preRun"].shift());
              }
            }
            callRuntimeCallbacks(onPreRuns);
          }
          function initRuntime() {
            runtimeInitialized = true;
            if (ENVIRONMENT_IS_PTHREAD) return startWorker();
            if (!Module["noFSInit"] && !FS.initialized) FS.init();
            TTY.init();
            wasmExports["ja"]();
            FS.ignorePermissions = false;
          }
          function postRun() {
            if (ENVIRONMENT_IS_PTHREAD) {
              return;
            }
            if (Module["postRun"]) {
              if (typeof Module["postRun"] == "function") Module["postRun"] = [Module["postRun"]];
              while (Module["postRun"].length) {
                addOnPostRun(Module["postRun"].shift());
              }
            }
            callRuntimeCallbacks(onPostRuns);
          }
          function abort(what) {
            Module["onAbort"]?.(what);
            what = "Aborted(" + what + ")";
            err(what);
            ABORT = true;
            what += ". Build with -sASSERTIONS for more info.";
            var e = new WebAssembly.RuntimeError(what);
            readyPromiseReject?.(e);
            throw e;
          }
          var wasmBinaryFile;
          function findWasmBinary() {
            return locateFile("web-ifc-mt.wasm");
          }
          function getBinarySync(file) {
            if (file == wasmBinaryFile && wasmBinary) {
              return new Uint8Array(wasmBinary);
            }
            if (readBinary) {
              return readBinary(file);
            }
            throw "both async and sync fetching of the wasm failed";
          }
          async function getWasmBinary(binaryFile) {
            if (!wasmBinary) {
              try {
                var response = await readAsync(binaryFile);
                return new Uint8Array(response);
              } catch {
              }
            }
            return getBinarySync(binaryFile);
          }
          async function instantiateArrayBuffer(binaryFile, imports) {
            try {
              var binary = await getWasmBinary(binaryFile);
              var instance = await WebAssembly.instantiate(binary, imports);
              return instance;
            } catch (reason) {
              err(`failed to asynchronously prepare wasm: ${reason}`);
              abort(reason);
            }
          }
          async function instantiateAsync(binary, binaryFile, imports) {
            if (!binary) {
              try {
                var response = fetch(binaryFile, { credentials: "same-origin" });
                var instantiationResult = await WebAssembly.instantiateStreaming(response, imports);
                return instantiationResult;
              } catch (reason) {
                err(`wasm streaming compile failed: ${reason}`);
                err("falling back to ArrayBuffer instantiation");
              }
            }
            return instantiateArrayBuffer(binaryFile, imports);
          }
          function getWasmImports() {
            assignWasmImports();
            var imports = { a: wasmImports };
            return imports;
          }
          async function createWasm() {
            function receiveInstance(instance2, module2) {
              wasmExports = instance2.exports;
              wasmExports = applySignatureConversions(wasmExports);
              registerTLSInit(wasmExports["qa"]);
              assignWasmExports(wasmExports);
              wasmModule = module2;
              return wasmExports;
            }
            function receiveInstantiationResult(result2) {
              return receiveInstance(result2["instance"], result2["module"]);
            }
            var info = getWasmImports();
            if (Module["instantiateWasm"]) {
              return new Promise((resolve, reject) => {
                Module["instantiateWasm"](info, (inst, mod) => {
                  resolve(receiveInstance(inst, mod));
                });
              });
            }
            if (ENVIRONMENT_IS_PTHREAD) {
              var instance = new WebAssembly.Instance(wasmModule, getWasmImports());
              return receiveInstance(instance, wasmModule);
            }
            wasmBinaryFile ??= findWasmBinary();
            var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info);
            var exports2 = receiveInstantiationResult(result);
            return exports2;
          }
          class ExitStatus {
            name = "ExitStatus";
            constructor(status) {
              this.message = `Program terminated with exit(${status})`;
              this.status = status;
            }
          }
          var terminateWorker = (worker) => {
            worker.terminate();
            worker.onmessage = (e) => {
            };
          };
          var cleanupThread = (pthread_ptr) => {
            var worker = PThread.pthreads[pthread_ptr];
            PThread.returnWorkerToPool(worker);
          };
          var callRuntimeCallbacks = (callbacks) => {
            while (callbacks.length > 0) {
              callbacks.shift()(Module);
            }
          };
          var onPreRuns = [];
          var addOnPreRun = (cb) => onPreRuns.push(cb);
          var runDependencies = 0;
          var dependenciesFulfilled = null;
          var removeRunDependency = (id) => {
            runDependencies--;
            Module["monitorRunDependencies"]?.(runDependencies);
            if (runDependencies == 0) {
              if (dependenciesFulfilled) {
                var callback = dependenciesFulfilled;
                dependenciesFulfilled = null;
                callback();
              }
            }
          };
          var addRunDependency = (id) => {
            runDependencies++;
            Module["monitorRunDependencies"]?.(runDependencies);
          };
          var spawnThread = (threadParams) => {
            var worker = PThread.getNewWorker();
            if (!worker) {
              return 6;
            }
            PThread.runningWorkers.push(worker);
            PThread.pthreads[threadParams.pthread_ptr] = worker;
            worker.pthread_ptr = threadParams.pthread_ptr;
            var msg = { cmd: "run", start_routine: threadParams.startRoutine, arg: threadParams.arg, pthread_ptr: threadParams.pthread_ptr };
            worker.postMessage(msg, threadParams.transferList);
            return 0;
          };
          var runtimeKeepaliveCounter = 0;
          var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0;
          var stackSave = () => _emscripten_stack_get_current();
          var stackRestore = (val) => __emscripten_stack_restore(val);
          var stackAlloc = (sz) => __emscripten_stack_alloc(sz);
          var proxyToMainThread = (funcIndex, emAsmAddr, sync, ...callArgs) => {
            var bufSize = 8 * callArgs.length * 2;
            var sp = stackSave();
            var args = stackAlloc(bufSize);
            var b = args >>> 3;
            for (var arg of callArgs) {
              if (typeof arg == "bigint") {
                (growMemViews(), HEAP64)[b++ >>> 0] = 1n;
                (growMemViews(), HEAP64)[b++ >>> 0] = arg;
              } else {
                (growMemViews(), HEAP64)[b++ >>> 0] = 0n;
                (growMemViews(), HEAPF64)[b++ >>> 0] = arg;
              }
            }
            var rtn = __emscripten_run_js_on_main_thread(funcIndex, emAsmAddr, bufSize, args, sync);
            stackRestore(sp);
            return rtn;
          };
          function _proc_exit(code) {
            if (ENVIRONMENT_IS_PTHREAD) return proxyToMainThread(0, 0, 1, code);
            EXITSTATUS = code;
            if (!keepRuntimeAlive()) {
              PThread.terminateAllThreads();
              Module["onExit"]?.(code);
              ABORT = true;
            }
            quit_(code, new ExitStatus(code));
          }
          function exitOnMainThread(returnCode) {
            if (ENVIRONMENT_IS_PTHREAD) return proxyToMainThread(1, 0, 0, returnCode);
            _exit(returnCode);
          }
          var exitJS = (status, implicit) => {
            EXITSTATUS = status;
            if (ENVIRONMENT_IS_PTHREAD) {
              exitOnMainThread(status);
              throw "unwind";
            }
            _proc_exit(status);
          };
          var _exit = exitJS;
          var PThread = { unusedWorkers: [], runningWorkers: [], tlsInitFunctions: [], pthreads: {}, init() {
            if (!ENVIRONMENT_IS_PTHREAD) {
              PThread.initMainThread();
            }
          }, initMainThread() {
            var pthreadPoolSize = navigator.hardwareConcurrency;
            while (pthreadPoolSize--) {
              PThread.allocateUnusedWorker();
            }
            addOnPreRun(async () => {
              var pthreadPoolReady = PThread.loadWasmModuleToAllWorkers();
              addRunDependency("loading-workers");
              await pthreadPoolReady;
              removeRunDependency("loading-workers");
            });
          }, terminateAllThreads: () => {
            for (var worker of PThread.runningWorkers) {
              terminateWorker(worker);
            }
            for (var worker of PThread.unusedWorkers) {
              terminateWorker(worker);
            }
            PThread.unusedWorkers = [];
            PThread.runningWorkers = [];
            PThread.pthreads = {};
          }, returnWorkerToPool: (worker) => {
            var pthread_ptr = worker.pthread_ptr;
            delete PThread.pthreads[pthread_ptr];
            PThread.unusedWorkers.push(worker);
            PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker), 1);
            worker.pthread_ptr = 0;
            __emscripten_thread_free_data(pthread_ptr);
          }, threadInitTLS() {
            PThread.tlsInitFunctions.forEach((f) => f());
          }, loadWasmModuleToWorker: (worker) => new Promise((onFinishedLoading) => {
            worker.onmessage = (e) => {
              var d = e["data"];
              var cmd = d.cmd;
              if (d.targetThread && d.targetThread != _pthread_self()) {
                var targetWorker = PThread.pthreads[d.targetThread];
                if (targetWorker) {
                  targetWorker.postMessage(d, d.transferList);
                } else {
                  err(`Internal error! Worker sent a message "${cmd}" to target pthread ${d.targetThread}, but that thread no longer exists!`);
                }
                return;
              }
              if (cmd === "checkMailbox") {
                checkMailbox();
              } else if (cmd === "spawnThread") {
                spawnThread(d);
              } else if (cmd === "cleanupThread") {
                callUserCallback(() => cleanupThread(d.thread));
              } else if (cmd === "loaded") {
                worker.loaded = true;
                onFinishedLoading(worker);
              } else if (d.target === "setimmediate") {
                worker.postMessage(d);
              } else if (cmd === "callHandler") {
                Module[d.handler](...d.args);
              } else if (cmd) {
                err(`worker sent an unknown command ${cmd}`);
              }
            };
            worker.onerror = (e) => {
              var message = "worker sent an error!";
              err(`${message} ${e.filename}:${e.lineno}: ${e.message}`);
              throw e;
            };
            var handlers = [];
            var knownHandlers = ["onExit", "onAbort", "print", "printErr"];
            for (var handler of knownHandlers) {
              if (Module.propertyIsEnumerable(handler)) {
                handlers.push(handler);
              }
            }
            worker.postMessage({ cmd: "load", handlers, wasmMemory, wasmModule });
          }), async loadWasmModuleToAllWorkers() {
            if (ENVIRONMENT_IS_PTHREAD) {
              return;
            }
            let pthreadPoolReady = Promise.all(PThread.unusedWorkers.map(PThread.loadWasmModuleToWorker));
            return pthreadPoolReady;
          }, allocateUnusedWorker() {
            var worker;
            var pthreadMainJs = _scriptName;
            if (Module["mainScriptUrlOrBlob"]) {
              pthreadMainJs = Module["mainScriptUrlOrBlob"];
              if (typeof pthreadMainJs != "string") {
                pthreadMainJs = URL.createObjectURL(pthreadMainJs);
              }
            }
            worker = new Worker(pthreadMainJs, { name: "em-pthread" });
            PThread.unusedWorkers.push(worker);
          }, getNewWorker() {
            if (PThread.unusedWorkers.length == 0) {
              PThread.allocateUnusedWorker();
              PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0]);
            }
            return PThread.unusedWorkers.pop();
          } };
          var onPostRuns = [];
          var addOnPostRun = (cb) => onPostRuns.push(cb);
          function establishStackSpace(pthread_ptr) {
            var stackHigh = (growMemViews(), HEAPU32)[pthread_ptr + 52 >>> 2 >>> 0];
            var stackSize = (growMemViews(), HEAPU32)[pthread_ptr + 56 >>> 2 >>> 0];
            var stackLow = stackHigh - stackSize;
            _emscripten_stack_set_limits(stackHigh, stackLow);
            stackRestore(stackHigh);
          }
          var wasmTableMirror = [];
          var getWasmTableEntry = (funcPtr) => {
            var func = wasmTableMirror[funcPtr];
            if (!func) {
              wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr);
            }
            return func;
          };
          var invokeEntryPoint = (ptr, arg) => {
            runtimeKeepaliveCounter = 0;
            noExitRuntime = 0;
            var result = getWasmTableEntry(ptr)(arg);
            function finish(result2) {
              if (keepRuntimeAlive()) {
                EXITSTATUS = result2;
                return;
              }
              __emscripten_thread_exit(result2);
            }
            finish(result);
          };
          var noExitRuntime = true;
          var registerTLSInit = (tlsInitFunc) => PThread.tlsInitFunctions.push(tlsInitFunc);
          var wasmMemory;
          class ExceptionInfo {
            constructor(excPtr) {
              this.excPtr = excPtr;
              this.ptr = excPtr - 24;
            }
            set_type(type) {
              (growMemViews(), HEAPU32)[this.ptr + 4 >>> 2 >>> 0] = type;
            }
            get_type() {
              return (growMemViews(), HEAPU32)[this.ptr + 4 >>> 2 >>> 0];
            }
            set_destructor(destructor) {
              (growMemViews(), HEAPU32)[this.ptr + 8 >>> 2 >>> 0] = destructor;
            }
            get_destructor() {
              return (growMemViews(), HEAPU32)[this.ptr + 8 >>> 2 >>> 0];
            }
            set_caught(caught) {
              caught = caught ? 1 : 0;
              (growMemViews(), HEAP8)[this.ptr + 12 >>> 0] = caught;
            }
            get_caught() {
              return (growMemViews(), HEAP8)[this.ptr + 12 >>> 0] != 0;
            }
            set_rethrown(rethrown) {
              rethrown = rethrown ? 1 : 0;
              (growMemViews(), HEAP8)[this.ptr + 13 >>> 0] = rethrown;
            }
            get_rethrown() {
              return (growMemViews(), HEAP8)[this.ptr + 13 >>> 0] != 0;
            }
            init(type, destructor) {
              this.set_adjusted_ptr(0);
              this.set_type(type);
              this.set_destructor(destructor);
            }
            set_adjusted_ptr(adjustedPtr) {
              (growMemViews(), HEAPU32)[this.ptr + 16 >>> 2 >>> 0] = adjustedPtr;
            }
            get_adjusted_ptr() {
              return (growMemViews(), HEAPU32)[this.ptr + 16 >>> 2 >>> 0];
            }
          }
          var exceptionLast = 0;
          var uncaughtExceptionCount = 0;
          var INT53_MAX = 9007199254740992;
          var INT53_MIN = -9007199254740992;
          var bigintToI53Checked = (num) => num < INT53_MIN || num > INT53_MAX ? NaN : Number(num);
          function ___cxa_throw(ptr, type, destructor) {
            ptr >>>= 0;
            type >>>= 0;
            destructor >>>= 0;
            var info = new ExceptionInfo(ptr);
            info.init(type, destructor);
            exceptionLast = ptr;
            uncaughtExceptionCount++;
            throw exceptionLast;
          }
          var __abort_js = () => abort("");
          var tupleRegistrations = {};
          var runDestructors = (destructors) => {
            while (destructors.length) {
              var ptr = destructors.pop();
              var del = destructors.pop();
              del(ptr);
            }
          };
          function readPointer(pointer) {
            return this.fromWireType((growMemViews(), HEAPU32)[pointer >>> 2 >>> 0]);
          }
          var awaitingDependencies = {};
          var registeredTypes = {};
          var typeDependencies = {};
          var InternalError = class InternalError extends Error {
            constructor(message) {
              super(message);
              this.name = "InternalError";
            }
          };
          var throwInternalError = (message) => {
            throw new InternalError(message);
          };
          var whenDependentTypesAreResolved = (myTypes, dependentTypes, getTypeConverters) => {
            myTypes.forEach((type) => typeDependencies[type] = dependentTypes);
            function onComplete(typeConverters2) {
              var myTypeConverters = getTypeConverters(typeConverters2);
              if (myTypeConverters.length !== myTypes.length) {
                throwInternalError("Mismatched type converter count");
              }
              for (var i = 0; i < myTypes.length; ++i) {
                registerType(myTypes[i], myTypeConverters[i]);
              }
            }
            var typeConverters = new Array(dependentTypes.length);
            var unregisteredTypes = [];
            var registered = 0;
            for (let [i, dt] of dependentTypes.entries()) {
              if (registeredTypes.hasOwnProperty(dt)) {
                typeConverters[i] = registeredTypes[dt];
              } else {
                unregisteredTypes.push(dt);
                if (!awaitingDependencies.hasOwnProperty(dt)) {
                  awaitingDependencies[dt] = [];
                }
                awaitingDependencies[dt].push(() => {
                  typeConverters[i] = registeredTypes[dt];
                  ++registered;
                  if (registered === unregisteredTypes.length) {
                    onComplete(typeConverters);
                  }
                });
              }
            }
            if (0 === unregisteredTypes.length) {
              onComplete(typeConverters);
            }
          };
          var __embind_finalize_value_array = function(rawTupleType) {
            rawTupleType >>>= 0;
            var reg = tupleRegistrations[rawTupleType];
            delete tupleRegistrations[rawTupleType];
            var elements = reg.elements;
            var elementsLength = elements.length;
            var elementTypes = elements.map((elt) => elt.getterReturnType).concat(elements.map((elt) => elt.setterArgumentType));
            var rawConstructor = reg.rawConstructor;
            var rawDestructor = reg.rawDestructor;
            whenDependentTypesAreResolved([rawTupleType], elementTypes, (elementTypes2) => {
              for (const [i, elt] of elements.entries()) {
                const getterReturnType = elementTypes2[i];
                const getter = elt.getter;
                const getterContext = elt.getterContext;
                const setterArgumentType = elementTypes2[i + elementsLength];
                const setter = elt.setter;
                const setterContext = elt.setterContext;
                elt.read = (ptr) => getterReturnType.fromWireType(getter(getterContext, ptr));
                elt.write = (ptr, o) => {
                  var destructors = [];
                  setter(setterContext, ptr, setterArgumentType.toWireType(destructors, o));
                  runDestructors(destructors);
                };
              }
              return [{ name: reg.name, fromWireType: (ptr) => {
                var rv = new Array(elementsLength);
                for (var i = 0; i < elementsLength; ++i) {
                  rv[i] = elements[i].read(ptr);
                }
                rawDestructor(ptr);
                return rv;
              }, toWireType: (destructors, o) => {
                if (elementsLength !== o.length) {
                  throw new TypeError(`Incorrect number of tuple elements for ${reg.name}: expected=${elementsLength}, actual=${o.length}`);
                }
                var ptr = rawConstructor();
                for (var i = 0; i < elementsLength; ++i) {
                  elements[i].write(ptr, o[i]);
                }
                if (destructors !== null) {
                  destructors.push(rawDestructor, ptr);
                }
                return ptr;
              }, readValueFromPointer: readPointer, destructorFunction: rawDestructor }];
            });
          };
          var structRegistrations = {};
          var __embind_finalize_value_object = function(structType) {
            structType >>>= 0;
            var reg = structRegistrations[structType];
            delete structRegistrations[structType];
            var rawConstructor = reg.rawConstructor;
            var rawDestructor = reg.rawDestructor;
            var fieldRecords = reg.fields;
            var fieldTypes = fieldRecords.map((field) => field.getterReturnType).concat(fieldRecords.map((field) => field.setterArgumentType));
            whenDependentTypesAreResolved([structType], fieldTypes, (fieldTypes2) => {
              var fields = {};
              for (var [i, field] of fieldRecords.entries()) {
                const getterReturnType = fieldTypes2[i];
                const getter = field.getter;
                const getterContext = field.getterContext;
                const setterArgumentType = fieldTypes2[i + fieldRecords.length];
                const setter = field.setter;
                const setterContext = field.setterContext;
                fields[field.fieldName] = { read: (ptr) => getterReturnType.fromWireType(getter(getterContext, ptr)), write: (ptr, o) => {
                  var destructors = [];
                  setter(setterContext, ptr, setterArgumentType.toWireType(destructors, o));
                  runDestructors(destructors);
                }, optional: getterReturnType.optional };
              }
              return [{ name: reg.name, fromWireType: (ptr) => {
                var rv = {};
                for (var i2 in fields) {
                  rv[i2] = fields[i2].read(ptr);
                }
                rawDestructor(ptr);
                return rv;
              }, toWireType: (destructors, o) => {
                for (var fieldName in fields) {
                  if (!(fieldName in o) && !fields[fieldName].optional) {
                    throw new TypeError(`Missing field: "${fieldName}"`);
                  }
                }
                var ptr = rawConstructor();
                for (fieldName in fields) {
                  fields[fieldName].write(ptr, o[fieldName]);
                }
                if (destructors !== null) {
                  destructors.push(rawDestructor, ptr);
                }
                return ptr;
              }, readValueFromPointer: readPointer, destructorFunction: rawDestructor }];
            });
          };
          var AsciiToString = (ptr) => {
            ptr >>>= 0;
            var str = "";
            while (1) {
              var ch = (growMemViews(), HEAPU8)[ptr++ >>> 0];
              if (!ch) return str;
              str += String.fromCharCode(ch);
            }
          };
          var BindingError = class BindingError extends Error {
            constructor(message) {
              super(message);
              this.name = "BindingError";
            }
          };
          var throwBindingError = (message) => {
            throw new BindingError(message);
          };
          function sharedRegisterType(rawType, registeredInstance, options = {}) {
            var name = registeredInstance.name;
            if (!rawType) {
              throwBindingError(`type "${name}" must have a positive integer typeid pointer`);
            }
            if (registeredTypes.hasOwnProperty(rawType)) {
              if (options.ignoreDuplicateRegistrations) {
                return;
              } else {
                throwBindingError(`Cannot register type '${name}' twice`);
              }
            }
            registeredTypes[rawType] = registeredInstance;
            delete typeDependencies[rawType];
            if (awaitingDependencies.hasOwnProperty(rawType)) {
              var callbacks = awaitingDependencies[rawType];
              delete awaitingDependencies[rawType];
              callbacks.forEach((cb) => cb());
            }
          }
          function registerType(rawType, registeredInstance, options = {}) {
            return sharedRegisterType(rawType, registeredInstance, options);
          }
          var integerReadValueFromPointer = (name, width, signed) => {
            switch (width) {
              case 1:
                return signed ? (pointer) => (growMemViews(), HEAP8)[pointer >>> 0] : (pointer) => (growMemViews(), HEAPU8)[pointer >>> 0];
              case 2:
                return signed ? (pointer) => (growMemViews(), HEAP16)[pointer >>> 1 >>> 0] : (pointer) => (growMemViews(), HEAPU16)[pointer >>> 1 >>> 0];
              case 4:
                return signed ? (pointer) => (growMemViews(), HEAP32)[pointer >>> 2 >>> 0] : (pointer) => (growMemViews(), HEAPU32)[pointer >>> 2 >>> 0];
              case 8:
                return signed ? (pointer) => (growMemViews(), HEAP64)[pointer >>> 3 >>> 0] : (pointer) => (growMemViews(), HEAPU64)[pointer >>> 3 >>> 0];
              default:
                throw new TypeError(`invalid integer width (${width}): ${name}`);
            }
          };
          var __embind_register_bigint = function(primitiveType, name, size, minRange, maxRange) {
            primitiveType >>>= 0;
            name >>>= 0;
            size >>>= 0;
            name = AsciiToString(name);
            const isUnsignedType = minRange === 0n;
            let fromWireType = (value) => value;
            if (isUnsignedType) {
              const bitSize = size * 8;
              fromWireType = (value) => BigInt.asUintN(bitSize, value);
              maxRange = fromWireType(maxRange);
            }
            registerType(primitiveType, { name, fromWireType, toWireType: (destructors, value) => {
              if (typeof value == "number") {
                value = BigInt(value);
              }
              return value;
            }, readValueFromPointer: integerReadValueFromPointer(name, size, !isUnsignedType), destructorFunction: null });
          };
          function __embind_register_bool(rawType, name, trueValue, falseValue) {
            rawType >>>= 0;
            name >>>= 0;
            name = AsciiToString(name);
            registerType(rawType, { name, fromWireType: function(wt) {
              return !!wt;
            }, toWireType: function(destructors, o) {
              return o ? trueValue : falseValue;
            }, readValueFromPointer: function(pointer) {
              return this.fromWireType((growMemViews(), HEAPU8)[pointer >>> 0]);
            }, destructorFunction: null });
          }
          var shallowCopyInternalPointer = (o) => ({ count: o.count, deleteScheduled: o.deleteScheduled, preservePointerOnDelete: o.preservePointerOnDelete, ptr: o.ptr, ptrType: o.ptrType, smartPtr: o.smartPtr, smartPtrType: o.smartPtrType });
          var throwInstanceAlreadyDeleted = (obj) => {
            function getInstanceTypeName(handle) {
              return handle.$$.ptrType.registeredClass.name;
            }
            throwBindingError(getInstanceTypeName(obj) + " instance already deleted");
          };
          var finalizationRegistry = false;
          var detachFinalizer = (handle) => {
          };
          var runDestructor = ($$) => {
            if ($$.smartPtr) {
              $$.smartPtrType.rawDestructor($$.smartPtr);
            } else {
              $$.ptrType.registeredClass.rawDestructor($$.ptr);
            }
          };
          var releaseClassHandle = ($$) => {
            $$.count.value -= 1;
            var toDelete = 0 === $$.count.value;
            if (toDelete) {
              runDestructor($$);
            }
          };
          var attachFinalizer = (handle) => {
            if (!globalThis.FinalizationRegistry) {
              attachFinalizer = (handle2) => handle2;
              return handle;
            }
            finalizationRegistry = new FinalizationRegistry((info) => {
              releaseClassHandle(info.$$);
            });
            attachFinalizer = (handle2) => {
              var $$ = handle2.$$;
              var hasSmartPtr = !!$$.smartPtr;
              if (hasSmartPtr) {
                var info = { $$ };
                finalizationRegistry.register(handle2, info, handle2);
              }
              return handle2;
            };
            detachFinalizer = (handle2) => finalizationRegistry.unregister(handle2);
            return attachFinalizer(handle);
          };
          var deletionQueue = [];
          var flushPendingDeletes = () => {
            while (deletionQueue.length) {
              var obj = deletionQueue.pop();
              obj.$$.deleteScheduled = false;
              obj["delete"]();
            }
          };
          var delayFunction;
          var init_ClassHandle = () => {
            let proto = ClassHandle.prototype;
            Object.assign(proto, { isAliasOf(other) {
              if (!(this instanceof ClassHandle)) {
                return false;
              }
              if (!(other instanceof ClassHandle)) {
                return false;
              }
              var leftClass = this.$$.ptrType.registeredClass;
              var left = this.$$.ptr;
              other.$$ = other.$$;
              var rightClass = other.$$.ptrType.registeredClass;
              var right = other.$$.ptr;
              while (leftClass.baseClass) {
                left = leftClass.upcast(left);
                leftClass = leftClass.baseClass;
              }
              while (rightClass.baseClass) {
                right = rightClass.upcast(right);
                rightClass = rightClass.baseClass;
              }
              return leftClass === rightClass && left === right;
            }, clone() {
              if (!this.$$.ptr) {
                throwInstanceAlreadyDeleted(this);
              }
              if (this.$$.preservePointerOnDelete) {
                this.$$.count.value += 1;
                return this;
              } else {
                var clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), { $$: { value: shallowCopyInternalPointer(this.$$) } }));
                clone.$$.count.value += 1;
                clone.$$.deleteScheduled = false;
                return clone;
              }
            }, delete() {
              if (!this.$$.ptr) {
                throwInstanceAlreadyDeleted(this);
              }
              if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) {
                throwBindingError("Object already scheduled for deletion");
              }
              detachFinalizer(this);
              releaseClassHandle(this.$$);
              if (!this.$$.preservePointerOnDelete) {
                this.$$.smartPtr = void 0;
                this.$$.ptr = void 0;
              }
            }, isDeleted() {
              return !this.$$.ptr;
            }, deleteLater() {
              if (!this.$$.ptr) {
                throwInstanceAlreadyDeleted(this);
              }
              if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) {
                throwBindingError("Object already scheduled for deletion");
              }
              deletionQueue.push(this);
              if (deletionQueue.length === 1 && delayFunction) {
                delayFunction(flushPendingDeletes);
              }
              this.$$.deleteScheduled = true;
              return this;
            } });
            const symbolDispose = Symbol.dispose;
            if (symbolDispose) {
              proto[symbolDispose] = proto["delete"];
            }
          };
          function ClassHandle() {
          }
          var createNamedFunction = (name, func) => Object.defineProperty(func, "name", { value: name });
          var registeredPointers = {};
          var ensureOverloadTable = (proto, methodName, humanName) => {
            if (void 0 === proto[methodName].overloadTable) {
              var prevFunc = proto[methodName];
              proto[methodName] = function(...args) {
                if (!proto[methodName].overloadTable.hasOwnProperty(args.length)) {
                  throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${args.length}) - expects one of (${proto[methodName].overloadTable})!`);
                }
                return proto[methodName].overloadTable[args.length].apply(this, args);
              };
              proto[methodName].overloadTable = [];
              proto[methodName].overloadTable[prevFunc.argCount] = prevFunc;
            }
          };
          var exposePublicSymbol = (name, value, numArguments) => {
            if (Module.hasOwnProperty(name)) {
              if (void 0 === numArguments || void 0 !== Module[name].overloadTable && void 0 !== Module[name].overloadTable[numArguments]) {
                throwBindingError(`Cannot register public name '${name}' twice`);
              }
              ensureOverloadTable(Module, name, name);
              if (Module[name].overloadTable.hasOwnProperty(numArguments)) {
                throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`);
              }
              Module[name].overloadTable[numArguments] = value;
            } else {
              Module[name] = value;
              Module[name].argCount = numArguments;
            }
          };
          var char_0 = 48;
          var char_9 = 57;
          var makeLegalFunctionName = (name) => {
            name = name.replace(/[^a-zA-Z0-9_]/g, "$");
            var f = name.charCodeAt(0);
            if (f >= char_0 && f <= char_9) {
              return `_${name}`;
            }
            return name;
          };
          function RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast) {
            this.name = name;
            this.constructor = constructor;
            this.instancePrototype = instancePrototype;
            this.rawDestructor = rawDestructor;
            this.baseClass = baseClass;
            this.getActualType = getActualType;
            this.upcast = upcast;
            this.downcast = downcast;
            this.pureVirtualFunctions = [];
          }
          var upcastPointer = (ptr, ptrClass, desiredClass) => {
            while (ptrClass !== desiredClass) {
              if (!ptrClass.upcast) {
                throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`);
              }
              ptr = ptrClass.upcast(ptr);
              ptrClass = ptrClass.baseClass;
            }
            return ptr;
          };
          var embindRepr = (v) => {
            if (v === null) {
              return "null";
            }
            var t = typeof v;
            if (t === "object" || t === "array" || t === "function") {
              return v.toString();
            } else {
              return "" + v;
            }
          };
          function constNoSmartPtrRawPointerToWireType(destructors, handle) {
            if (handle === null) {
              if (this.isReference) {
                throwBindingError(`null is not a valid ${this.name}`);
              }
              return 0;
            }
            if (!handle.$$) {
              throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`);
            }
            if (!handle.$$.ptr) {
              throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`);
            }
            var handleClass = handle.$$.ptrType.registeredClass;
            var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
            return ptr;
          }
          function genericPointerToWireType(destructors, handle) {
            var ptr;
            if (handle === null) {
              if (this.isReference) {
                throwBindingError(`null is not a valid ${this.name}`);
              }
              if (this.isSmartPointer) {
                ptr = this.rawConstructor();
                if (destructors !== null) {
                  destructors.push(this.rawDestructor, ptr);
                }
                return ptr;
              } else {
                return 0;
              }
            }
            if (!handle || !handle.$$) {
              throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`);
            }
            if (!handle.$$.ptr) {
              throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`);
            }
            if (!this.isConst && handle.$$.ptrType.isConst) {
              throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name} to parameter type ${this.name}`);
            }
            var handleClass = handle.$$.ptrType.registeredClass;
            ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
            if (this.isSmartPointer) {
              if (void 0 === handle.$$.smartPtr) {
                throwBindingError("Passing raw pointer to smart pointer is illegal");
              }
              switch (this.sharingPolicy) {
                case 0:
                  if (handle.$$.smartPtrType === this) {
                    ptr = handle.$$.smartPtr;
                  } else {
                    throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name} to parameter type ${this.name}`);
                  }
                  break;
                case 1:
                  ptr = handle.$$.smartPtr;
                  break;
                case 2:
                  if (handle.$$.smartPtrType === this) {
                    ptr = handle.$$.smartPtr;
                  } else {
                    var clonedHandle = handle["clone"]();
                    ptr = this.rawShare(ptr, Emval.toHandle(() => clonedHandle["delete"]()));
                    if (destructors !== null) {
                      destructors.push(this.rawDestructor, ptr);
                    }
                  }
                  break;
                default:
                  throwBindingError("Unsupported sharing policy");
              }
            }
            return ptr;
          }
          function nonConstNoSmartPtrRawPointerToWireType(destructors, handle) {
            if (handle === null) {
              if (this.isReference) {
                throwBindingError(`null is not a valid ${this.name}`);
              }
              return 0;
            }
            if (!handle.$$) {
              throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`);
            }
            if (!handle.$$.ptr) {
              throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`);
            }
            if (handle.$$.ptrType.isConst) {
              throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`);
            }
            var handleClass = handle.$$.ptrType.registeredClass;
            var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
            return ptr;
          }
          var downcastPointer = (ptr, ptrClass, desiredClass) => {
            if (ptrClass === desiredClass) {
              return ptr;
            }
            if (void 0 === desiredClass.baseClass) {
              return null;
            }
            var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass);
            if (rv === null) {
              return null;
            }
            return desiredClass.downcast(rv);
          };
          var registeredInstances = {};
          var getBasestPointer = (class_, ptr) => {
            if (ptr === void 0) {
              throwBindingError("ptr should not be undefined");
            }
            while (class_.baseClass) {
              ptr = class_.upcast(ptr);
              class_ = class_.baseClass;
            }
            return ptr;
          };
          var getInheritedInstance = (class_, ptr) => {
            ptr = getBasestPointer(class_, ptr);
            return registeredInstances[ptr];
          };
          var makeClassHandle = (prototype, record) => {
            if (!record.ptrType || !record.ptr) {
              throwInternalError("makeClassHandle requires ptr and ptrType");
            }
            var hasSmartPtrType = !!record.smartPtrType;
            var hasSmartPtr = !!record.smartPtr;
            if (hasSmartPtrType !== hasSmartPtr) {
              throwInternalError("Both smartPtrType and smartPtr must be specified");
            }
            record.count = { value: 1 };
            return attachFinalizer(Object.create(prototype, { $$: { value: record, writable: true } }));
          };
          function RegisteredPointer_fromWireType(ptr) {
            var rawPointer = this.getPointee(ptr);
            if (!rawPointer) {
              this.destructor(ptr);
              return null;
            }
            var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer);
            if (void 0 !== registeredInstance) {
              if (0 === registeredInstance.$$.count.value) {
                registeredInstance.$$.ptr = rawPointer;
                registeredInstance.$$.smartPtr = ptr;
                return registeredInstance["clone"]();
              } else {
                var rv = registeredInstance["clone"]();
                this.destructor(ptr);
                return rv;
              }
            }
            function makeDefaultHandle() {
              if (this.isSmartPointer) {
                return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this.pointeeType, ptr: rawPointer, smartPtrType: this, smartPtr: ptr });
              } else {
                return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this, ptr });
              }
            }
            var actualType = this.registeredClass.getActualType(rawPointer);
            var registeredPointerRecord = registeredPointers[actualType];
            if (!registeredPointerRecord) {
              return makeDefaultHandle.call(this);
            }
            var toType;
            if (this.isConst) {
              toType = registeredPointerRecord.constPointerType;
            } else {
              toType = registeredPointerRecord.pointerType;
            }
            var dp = downcastPointer(rawPointer, this.registeredClass, toType.registeredClass);
            if (dp === null) {
              return makeDefaultHandle.call(this);
            }
            if (this.isSmartPointer) {
              return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp, smartPtrType: this, smartPtr: ptr });
            } else {
              return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp });
            }
          }
          var init_RegisteredPointer = () => {
            Object.assign(RegisteredPointer.prototype, { getPointee(ptr) {
              if (this.rawGetPointee) {
                ptr = this.rawGetPointee(ptr);
              }
              return ptr;
            }, destructor(ptr) {
              this.rawDestructor?.(ptr);
            }, readValueFromPointer: readPointer, fromWireType: RegisteredPointer_fromWireType });
          };
          function RegisteredPointer(name, registeredClass, isReference, isConst, isSmartPointer, pointeeType, sharingPolicy, rawGetPointee, rawConstructor, rawShare, rawDestructor) {
            this.name = name;
            this.registeredClass = registeredClass;
            this.isReference = isReference;
            this.isConst = isConst;
            this.isSmartPointer = isSmartPointer;
            this.pointeeType = pointeeType;
            this.sharingPolicy = sharingPolicy;
            this.rawGetPointee = rawGetPointee;
            this.rawConstructor = rawConstructor;
            this.rawShare = rawShare;
            this.rawDestructor = rawDestructor;
            if (!isSmartPointer && registeredClass.baseClass === void 0) {
              if (isConst) {
                this.toWireType = constNoSmartPtrRawPointerToWireType;
                this.destructorFunction = null;
              } else {
                this.toWireType = nonConstNoSmartPtrRawPointerToWireType;
                this.destructorFunction = null;
              }
            } else {
              this.toWireType = genericPointerToWireType;
            }
          }
          var replacePublicSymbol = (name, value, numArguments) => {
            if (!Module.hasOwnProperty(name)) {
              throwInternalError("Replacing nonexistent public symbol");
            }
            if (void 0 !== Module[name].overloadTable && void 0 !== numArguments) {
              Module[name].overloadTable[numArguments] = value;
            } else {
              Module[name] = value;
              Module[name].argCount = numArguments;
            }
          };
          var dynCall = (sig, ptr, args = [], promising = false) => {
            var func = getWasmTableEntry(ptr);
            var rtn = func(...args);
            function convert(rtn2) {
              return sig[0] == "p" ? rtn2 >>> 0 : rtn2;
            }
            return convert(rtn);
          };
          var getDynCaller = (sig, ptr, promising = false) => (...args) => dynCall(sig, ptr, args, promising);
          var embind__requireFunction = (signature, rawFunction, isAsync = false) => {
            signature = AsciiToString(signature);
            function makeDynCaller() {
              if (signature.includes("p")) {
                return getDynCaller(signature, rawFunction, isAsync);
              }
              var rtn = getWasmTableEntry(rawFunction);
              return rtn;
            }
            var fp = makeDynCaller();
            if (typeof fp != "function") {
              throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`);
            }
            return fp;
          };
          class UnboundTypeError extends Error {
          }
          var getTypeName = (type) => {
            var ptr = ___getTypeName(type);
            var rv = AsciiToString(ptr);
            _free(ptr);
            return rv;
          };
          var throwUnboundTypeError = (message, types) => {
            var unboundTypes = [];
            var seen = {};
            function visit(type) {
              if (seen[type]) {
                return;
              }
              if (registeredTypes[type]) {
                return;
              }
              if (typeDependencies[type]) {
                typeDependencies[type].forEach(visit);
                return;
              }
              unboundTypes.push(type);
              seen[type] = true;
            }
            types.forEach(visit);
            throw new UnboundTypeError(`${message}: ` + unboundTypes.map(getTypeName).join([", "]));
          };
          function __embind_register_class(rawType, rawPointerType, rawConstPointerType, baseClassRawType, getActualTypeSignature, getActualType, upcastSignature, upcast, downcastSignature, downcast, name, destructorSignature, rawDestructor) {
            rawType >>>= 0;
            rawPointerType >>>= 0;
            rawConstPointerType >>>= 0;
            baseClassRawType >>>= 0;
            getActualTypeSignature >>>= 0;
            getActualType >>>= 0;
            upcastSignature >>>= 0;
            upcast >>>= 0;
            downcastSignature >>>= 0;
            downcast >>>= 0;
            name >>>= 0;
            destructorSignature >>>= 0;
            rawDestructor >>>= 0;
            name = AsciiToString(name);
            getActualType = embind__requireFunction(getActualTypeSignature, getActualType);
            upcast &&= embind__requireFunction(upcastSignature, upcast);
            downcast &&= embind__requireFunction(downcastSignature, downcast);
            rawDestructor = embind__requireFunction(destructorSignature, rawDestructor);
            var legalFunctionName = makeLegalFunctionName(name);
            exposePublicSymbol(legalFunctionName, function() {
              throwUnboundTypeError(`Cannot construct ${name} due to unbound types`, [baseClassRawType]);
            });
            whenDependentTypesAreResolved([rawType, rawPointerType, rawConstPointerType], baseClassRawType ? [baseClassRawType] : [], (base) => {
              base = base[0];
              var baseClass;
              var basePrototype;
              if (baseClassRawType) {
                baseClass = base.registeredClass;
                basePrototype = baseClass.instancePrototype;
              } else {
                basePrototype = ClassHandle.prototype;
              }
              var constructor = createNamedFunction(name, function(...args) {
                if (Object.getPrototypeOf(this) !== instancePrototype) {
                  throw new BindingError(`Use 'new' to construct ${name}`);
                }
                if (void 0 === registeredClass.constructor_body) {
                  throw new BindingError(`${name} has no accessible constructor`);
                }
                var body = registeredClass.constructor_body[args.length];
                if (void 0 === body) {
                  throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${args.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`);
                }
                return body.apply(this, args);
              });
              var instancePrototype = Object.create(basePrototype, { constructor: { value: constructor } });
              constructor.prototype = instancePrototype;
              var registeredClass = new RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast);
              if (registeredClass.baseClass) {
                registeredClass.baseClass.__derivedClasses ??= [];
                registeredClass.baseClass.__derivedClasses.push(registeredClass);
              }
              var referenceConverter = new RegisteredPointer(name, registeredClass, true, false, false);
              var pointerConverter = new RegisteredPointer(name + "*", registeredClass, false, false, false);
              var constPointerConverter = new RegisteredPointer(name + " const*", registeredClass, false, true, false);
              registeredPointers[rawType] = { pointerType: pointerConverter, constPointerType: constPointerConverter };
              replacePublicSymbol(legalFunctionName, constructor);
              return [referenceConverter, pointerConverter, constPointerConverter];
            });
          }
          var heap32VectorToArray = (count, firstElement) => {
            var array = [];
            for (var i = 0; i < count; i++) {
              array.push((growMemViews(), HEAPU32)[firstElement + i * 4 >>> 2 >>> 0]);
            }
            return array;
          };
          function usesDestructorStack(argTypes) {
            for (var i = 1; i < argTypes.length; ++i) {
              if (argTypes[i] !== null && argTypes[i].destructorFunction === void 0) {
                return true;
              }
            }
            return false;
          }
          function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc, isAsync) {
            var argCount = argTypes.length;
            if (argCount < 2) {
              throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!");
            }
            var isClassMethodFunc = argTypes[1] !== null && classType !== null;
            var needsDestructorStack = usesDestructorStack(argTypes);
            var returns = !argTypes[0].isVoid;
            var expectedArgCount = argCount - 2;
            var argsWired = new Array(expectedArgCount);
            var invokerFuncArgs = [];
            var destructors = [];
            var invokerFn = function(...args) {
              destructors.length = 0;
              var thisWired;
              invokerFuncArgs.length = isClassMethodFunc ? 2 : 1;
              invokerFuncArgs[0] = cppTargetFunc;
              if (isClassMethodFunc) {
                thisWired = argTypes[1].toWireType(destructors, this);
                invokerFuncArgs[1] = thisWired;
              }
              for (var i = 0; i < expectedArgCount; ++i) {
                argsWired[i] = argTypes[i + 2].toWireType(destructors, args[i]);
                invokerFuncArgs.push(argsWired[i]);
              }
              var rv = cppInvokerFunc(...invokerFuncArgs);
              function onDone(rv2) {
                if (needsDestructorStack) {
                  runDestructors(destructors);
                } else {
                  for (var i2 = isClassMethodFunc ? 1 : 2; i2 < argTypes.length; i2++) {
                    var param = i2 === 1 ? thisWired : argsWired[i2 - 2];
                    if (argTypes[i2].destructorFunction !== null) {
                      argTypes[i2].destructorFunction(param);
                    }
                  }
                }
                if (returns) {
                  return argTypes[0].fromWireType(rv2);
                }
              }
              return onDone(rv);
            };
            return createNamedFunction(humanName, invokerFn);
          }
          var __embind_register_class_constructor = function(rawClassType, argCount, rawArgTypesAddr, invokerSignature, invoker, rawConstructor) {
            rawClassType >>>= 0;
            rawArgTypesAddr >>>= 0;
            invokerSignature >>>= 0;
            invoker >>>= 0;
            rawConstructor >>>= 0;
            var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
            invoker = embind__requireFunction(invokerSignature, invoker);
            whenDependentTypesAreResolved([], [rawClassType], (classType) => {
              classType = classType[0];
              var humanName = `constructor ${classType.name}`;
              if (void 0 === classType.registeredClass.constructor_body) {
                classType.registeredClass.constructor_body = [];
              }
              if (void 0 !== classType.registeredClass.constructor_body[argCount - 1]) {
                throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount - 1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);
              }
              classType.registeredClass.constructor_body[argCount - 1] = () => {
                throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`, rawArgTypes);
              };
              whenDependentTypesAreResolved([], rawArgTypes, (argTypes) => {
                argTypes.splice(1, 0, null);
                classType.registeredClass.constructor_body[argCount - 1] = craftInvokerFunction(humanName, argTypes, null, invoker, rawConstructor);
                return [];
              });
              return [];
            });
          };
          var getFunctionName = (signature) => {
            signature = signature.trim();
            const argsIndex = signature.indexOf("(");
            if (argsIndex === -1) return signature;
            return signature.slice(0, argsIndex);
          };
          var __embind_register_class_function = function(rawClassType, methodName, argCount, rawArgTypesAddr, invokerSignature, rawInvoker, context, isPureVirtual, isAsync, isNonnullReturn) {
            rawClassType >>>= 0;
            methodName >>>= 0;
            rawArgTypesAddr >>>= 0;
            invokerSignature >>>= 0;
            rawInvoker >>>= 0;
            context >>>= 0;
            var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
            methodName = AsciiToString(methodName);
            methodName = getFunctionName(methodName);
            rawInvoker = embind__requireFunction(invokerSignature, rawInvoker, isAsync);
            whenDependentTypesAreResolved([], [rawClassType], (classType) => {
              classType = classType[0];
              var humanName = `${classType.name}.${methodName}`;
              if (methodName.startsWith("@@")) {
                methodName = Symbol[methodName.substring(2)];
              }
              if (isPureVirtual) {
                classType.registeredClass.pureVirtualFunctions.push(methodName);
              }
              function unboundTypesHandler() {
                throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`, rawArgTypes);
              }
              var proto = classType.registeredClass.instancePrototype;
              var method = proto[methodName];
              if (void 0 === method || void 0 === method.overloadTable && method.className !== classType.name && method.argCount === argCount - 2) {
                unboundTypesHandler.argCount = argCount - 2;
                unboundTypesHandler.className = classType.name;
                proto[methodName] = unboundTypesHandler;
              } else {
                ensureOverloadTable(proto, methodName, humanName);
                proto[methodName].overloadTable[argCount - 2] = unboundTypesHandler;
              }
              whenDependentTypesAreResolved([], rawArgTypes, (argTypes) => {
                var memberFunction = craftInvokerFunction(humanName, argTypes, classType, rawInvoker, context, isAsync);
                if (void 0 === proto[methodName].overloadTable) {
                  memberFunction.argCount = argCount - 2;
                  proto[methodName] = memberFunction;
                } else {
                  proto[methodName].overloadTable[argCount - 2] = memberFunction;
                }
                return [];
              });
              return [];
            });
          };
          var emval_freelist = [];
          var emval_handles = [0, 1, , 1, null, 1, true, 1, false, 1];
          function __emval_decref(handle) {
            handle >>>= 0;
            if (handle > 9 && 0 === --emval_handles[handle + 1]) {
              emval_handles[handle] = void 0;
              emval_freelist.push(handle);
            }
          }
          var Emval = { toValue: (handle) => {
            if (!handle) {
              throwBindingError(`Cannot use deleted val. handle = ${handle}`);
            }
            return emval_handles[handle];
          }, toHandle: (value) => {
            switch (value) {
              case void 0:
                return 2;
              case null:
                return 4;
              case true:
                return 6;
              case false:
                return 8;
              default: {
                const handle = emval_freelist.pop() || emval_handles.length;
                emval_handles[handle] = value;
                emval_handles[handle + 1] = 1;
                return handle;
              }
            }
          } };
          var EmValType = { name: "emscripten::val", fromWireType: (handle) => {
            var rv = Emval.toValue(handle);
            __emval_decref(handle);
            return rv;
          }, toWireType: (destructors, value) => Emval.toHandle(value), readValueFromPointer: readPointer, destructorFunction: null };
          function __embind_register_emval(rawType) {
            rawType >>>= 0;
            return registerType(rawType, EmValType);
          }
          var floatReadValueFromPointer = (name, width) => {
            switch (width) {
              case 4:
                return function(pointer) {
                  return this.fromWireType((growMemViews(), HEAPF32)[pointer >>> 2 >>> 0]);
                };
              case 8:
                return function(pointer) {
                  return this.fromWireType((growMemViews(), HEAPF64)[pointer >>> 3 >>> 0]);
                };
              default:
                throw new TypeError(`invalid float width (${width}): ${name}`);
            }
          };
          var __embind_register_float = function(rawType, name, size) {
            rawType >>>= 0;
            name >>>= 0;
            size >>>= 0;
            name = AsciiToString(name);
            registerType(rawType, { name, fromWireType: (value) => value, toWireType: (destructors, value) => value, readValueFromPointer: floatReadValueFromPointer(name, size), destructorFunction: null });
          };
          function __embind_register_function(name, argCount, rawArgTypesAddr, signature, rawInvoker, fn, isAsync, isNonnullReturn) {
            name >>>= 0;
            rawArgTypesAddr >>>= 0;
            signature >>>= 0;
            rawInvoker >>>= 0;
            fn >>>= 0;
            var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
            name = AsciiToString(name);
            name = getFunctionName(name);
            rawInvoker = embind__requireFunction(signature, rawInvoker, isAsync);
            exposePublicSymbol(name, function() {
              throwUnboundTypeError(`Cannot call ${name} due to unbound types`, argTypes);
            }, argCount - 1);
            whenDependentTypesAreResolved([], argTypes, (argTypes2) => {
              var invokerArgsArray = [argTypes2[0], null].concat(argTypes2.slice(1));
              replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null, rawInvoker, fn, isAsync), argCount - 1);
              return [];
            });
          }
          var __embind_register_integer = function(primitiveType, name, size, minRange, maxRange) {
            primitiveType >>>= 0;
            name >>>= 0;
            size >>>= 0;
            name = AsciiToString(name);
            const isUnsignedType = minRange === 0;
            let fromWireType = (value) => value;
            if (isUnsignedType) {
              var bitshift = 32 - 8 * size;
              fromWireType = (value) => value << bitshift >>> bitshift;
              maxRange = fromWireType(maxRange);
            }
            registerType(primitiveType, { name, fromWireType, toWireType: (destructors, value) => value, readValueFromPointer: integerReadValueFromPointer(name, size, minRange !== 0), destructorFunction: null });
          };
          function __embind_register_memory_view(rawType, dataTypeIndex, name) {
            rawType >>>= 0;
            name >>>= 0;
            var typeMapping = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array, BigInt64Array, BigUint64Array];
            var TA = typeMapping[dataTypeIndex];
            function decodeMemoryView(handle) {
              var size = (growMemViews(), HEAPU32)[handle >>> 2 >>> 0];
              var data = (growMemViews(), HEAPU32)[handle + 4 >>> 2 >>> 0];
              return new TA((growMemViews(), HEAP8).buffer, data, size);
            }
            name = AsciiToString(name);
            registerType(rawType, { name, fromWireType: decodeMemoryView, readValueFromPointer: decodeMemoryView }, { ignoreDuplicateRegistrations: true });
          }
          var EmValOptionalType = Object.assign({ optional: true }, EmValType);
          function __embind_register_optional(rawOptionalType, rawType) {
            rawOptionalType >>>= 0;
            rawType >>>= 0;
            registerType(rawOptionalType, EmValOptionalType);
          }
          var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => {
            outIdx >>>= 0;
            if (!(maxBytesToWrite > 0)) return 0;
            var startIdx = outIdx;
            var endIdx = outIdx + maxBytesToWrite - 1;
            for (var i = 0; i < str.length; ++i) {
              var u = str.codePointAt(i);
              if (u <= 127) {
                if (outIdx >= endIdx) break;
                heap[outIdx++ >>> 0] = u;
              } else if (u <= 2047) {
                if (outIdx + 1 >= endIdx) break;
                heap[outIdx++ >>> 0] = 192 | u >> 6;
                heap[outIdx++ >>> 0] = 128 | u & 63;
              } else if (u <= 65535) {
                if (outIdx + 2 >= endIdx) break;
                heap[outIdx++ >>> 0] = 224 | u >> 12;
                heap[outIdx++ >>> 0] = 128 | u >> 6 & 63;
                heap[outIdx++ >>> 0] = 128 | u & 63;
              } else {
                if (outIdx + 3 >= endIdx) break;
                heap[outIdx++ >>> 0] = 240 | u >> 18;
                heap[outIdx++ >>> 0] = 128 | u >> 12 & 63;
                heap[outIdx++ >>> 0] = 128 | u >> 6 & 63;
                heap[outIdx++ >>> 0] = 128 | u & 63;
                i++;
              }
            }
            heap[outIdx >>> 0] = 0;
            return outIdx - startIdx;
          };
          var stringToUTF8 = (str, outPtr, maxBytesToWrite) => stringToUTF8Array(str, (growMemViews(), HEAPU8), outPtr, maxBytesToWrite);
          var lengthBytesUTF8 = (str) => {
            var len = 0;
            for (var i = 0; i < str.length; ++i) {
              var c = str.charCodeAt(i);
              if (c <= 127) {
                len++;
              } else if (c <= 2047) {
                len += 2;
              } else if (c >= 55296 && c <= 57343) {
                len += 4;
                ++i;
              } else {
                len += 3;
              }
            }
            return len;
          };
          var UTF8Decoder = globalThis.TextDecoder && new TextDecoder();
          var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => {
            var maxIdx = idx + maxBytesToRead;
            if (ignoreNul) return maxIdx;
            while (heapOrArray[idx] && !(idx >= maxIdx)) ++idx;
            return idx;
          };
          var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead, ignoreNul) => {
            idx >>>= 0;
            var endPtr = findStringEnd(heapOrArray, idx, maxBytesToRead, ignoreNul);
            if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
              return UTF8Decoder.decode(heapOrArray.buffer instanceof ArrayBuffer ? heapOrArray.subarray(idx, endPtr) : heapOrArray.slice(idx, endPtr));
            }
            var str = "";
            while (idx < endPtr) {
              var u0 = heapOrArray[idx++];
              if (!(u0 & 128)) {
                str += String.fromCharCode(u0);
                continue;
              }
              var u1 = heapOrArray[idx++] & 63;
              if ((u0 & 224) == 192) {
                str += String.fromCharCode((u0 & 31) << 6 | u1);
                continue;
              }
              var u2 = heapOrArray[idx++] & 63;
              if ((u0 & 240) == 224) {
                u0 = (u0 & 15) << 12 | u1 << 6 | u2;
              } else {
                u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63;
              }
              if (u0 < 65536) {
                str += String.fromCharCode(u0);
              } else {
                var ch = u0 - 65536;
                str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
              }
            }
            return str;
          };
          var UTF8ToString = (ptr, maxBytesToRead, ignoreNul) => {
            ptr >>>= 0;
            return ptr ? UTF8ArrayToString((growMemViews(), HEAPU8), ptr, maxBytesToRead, ignoreNul) : "";
          };
          function __embind_register_std_string(rawType, name) {
            rawType >>>= 0;
            name >>>= 0;
            name = AsciiToString(name);
            var stdStringIsUTF8 = true;
            registerType(rawType, { name, fromWireType(value) {
              var length = (growMemViews(), HEAPU32)[value >>> 2 >>> 0];
              var payload = value + 4;
              var str;
              if (stdStringIsUTF8) {
                str = UTF8ToString(payload, length, true);
              } else {
                str = "";
                for (var i = 0; i < length; ++i) {
                  str += String.fromCharCode((growMemViews(), HEAPU8)[payload + i >>> 0]);
                }
              }
              _free(value);
              return str;
            }, toWireType(destructors, value) {
              if (value instanceof ArrayBuffer) {
                value = new Uint8Array(value);
              }
              var length;
              var valueIsOfTypeString = typeof value == "string";
              if (!(valueIsOfTypeString || ArrayBuffer.isView(value) && value.BYTES_PER_ELEMENT == 1)) {
                throwBindingError("Cannot pass non-string to std::string");
              }
              if (stdStringIsUTF8 && valueIsOfTypeString) {
                length = lengthBytesUTF8(value);
              } else {
                length = value.length;
              }
              var base = _malloc(4 + length + 1);
              var ptr = base + 4;
              (growMemViews(), HEAPU32)[base >>> 2 >>> 0] = length;
              if (valueIsOfTypeString) {
                if (stdStringIsUTF8) {
                  stringToUTF8(value, ptr, length + 1);
                } else {
                  for (var i = 0; i < length; ++i) {
                    var charCode = value.charCodeAt(i);
                    if (charCode > 255) {
                      _free(base);
                      throwBindingError("String has UTF-16 code units that do not fit in 8 bits");
                    }
                    (growMemViews(), HEAPU8)[ptr + i >>> 0] = charCode;
                  }
                }
              } else {
                (growMemViews(), HEAPU8).set(value, ptr >>> 0);
              }
              if (destructors !== null) {
                destructors.push(_free, base);
              }
              return base;
            }, readValueFromPointer: readPointer, destructorFunction(ptr) {
              _free(ptr);
            } });
          }
          var UTF16Decoder = globalThis.TextDecoder ? new TextDecoder("utf-16le") : void 0;
          var UTF16ToString = (ptr, maxBytesToRead, ignoreNul) => {
            var idx = ptr >>> 1;
            var endIdx = findStringEnd((growMemViews(), HEAPU16), idx, maxBytesToRead / 2, ignoreNul);
            if (endIdx - idx > 16 && UTF16Decoder) return UTF16Decoder.decode((growMemViews(), HEAPU16).slice(idx, endIdx));
            var str = "";
            for (var i = idx; i < endIdx; ++i) {
              var codeUnit = (growMemViews(), HEAPU16)[i >>> 0];
              str += String.fromCharCode(codeUnit);
            }
            return str;
          };
          var stringToUTF16 = (str, outPtr, maxBytesToWrite) => {
            maxBytesToWrite ??= 2147483647;
            if (maxBytesToWrite < 2) return 0;
            maxBytesToWrite -= 2;
            var startPtr = outPtr;
            var numCharsToWrite = maxBytesToWrite < str.length * 2 ? maxBytesToWrite / 2 : str.length;
            for (var i = 0; i < numCharsToWrite; ++i) {
              var codeUnit = str.charCodeAt(i);
              (growMemViews(), HEAP16)[outPtr >>> 1 >>> 0] = codeUnit;
              outPtr += 2;
            }
            (growMemViews(), HEAP16)[outPtr >>> 1 >>> 0] = 0;
            return outPtr - startPtr;
          };
          var lengthBytesUTF16 = (str) => str.length * 2;
          var UTF32ToString = (ptr, maxBytesToRead, ignoreNul) => {
            var str = "";
            var startIdx = ptr >>> 2;
            for (var i = 0; !(i >= maxBytesToRead / 4); i++) {
              var utf32 = (growMemViews(), HEAPU32)[startIdx + i >>> 0];
              if (!utf32 && !ignoreNul) break;
              str += String.fromCodePoint(utf32);
            }
            return str;
          };
          var stringToUTF32 = (str, outPtr, maxBytesToWrite) => {
            outPtr >>>= 0;
            maxBytesToWrite ??= 2147483647;
            if (maxBytesToWrite < 4) return 0;
            var startPtr = outPtr;
            var endPtr = startPtr + maxBytesToWrite - 4;
            for (var i = 0; i < str.length; ++i) {
              var codePoint = str.codePointAt(i);
              if (codePoint > 65535) {
                i++;
              }
              (growMemViews(), HEAP32)[outPtr >>> 2 >>> 0] = codePoint;
              outPtr += 4;
              if (outPtr + 4 > endPtr) break;
            }
            (growMemViews(), HEAP32)[outPtr >>> 2 >>> 0] = 0;
            return outPtr - startPtr;
          };
          var lengthBytesUTF32 = (str) => {
            var len = 0;
            for (var i = 0; i < str.length; ++i) {
              var codePoint = str.codePointAt(i);
              if (codePoint > 65535) {
                i++;
              }
              len += 4;
            }
            return len;
          };
          function __embind_register_std_wstring(rawType, charSize, name) {
            rawType >>>= 0;
            charSize >>>= 0;
            name >>>= 0;
            name = AsciiToString(name);
            var decodeString, encodeString, lengthBytesUTF;
            if (charSize === 2) {
              decodeString = UTF16ToString;
              encodeString = stringToUTF16;
              lengthBytesUTF = lengthBytesUTF16;
            } else {
              decodeString = UTF32ToString;
              encodeString = stringToUTF32;
              lengthBytesUTF = lengthBytesUTF32;
            }
            registerType(rawType, { name, fromWireType: (value) => {
              var length = (growMemViews(), HEAPU32)[value >>> 2 >>> 0];
              var str = decodeString(value + 4, length * charSize, true);
              _free(value);
              return str;
            }, toWireType: (destructors, value) => {
              if (!(typeof value == "string")) {
                throwBindingError(`Cannot pass non-string to C++ string type ${name}`);
              }
              var length = lengthBytesUTF(value);
              var ptr = _malloc(4 + length + charSize);
              (growMemViews(), HEAPU32)[ptr >>> 2 >>> 0] = length / charSize;
              encodeString(value, ptr + 4, length + charSize);
              if (destructors !== null) {
                destructors.push(_free, ptr);
              }
              return ptr;
            }, readValueFromPointer: readPointer, destructorFunction(ptr) {
              _free(ptr);
            } });
          }
          function __embind_register_value_array(rawType, name, constructorSignature, rawConstructor, destructorSignature, rawDestructor) {
            rawType >>>= 0;
            name >>>= 0;
            constructorSignature >>>= 0;
            rawConstructor >>>= 0;
            destructorSignature >>>= 0;
            rawDestructor >>>= 0;
            tupleRegistrations[rawType] = { name: AsciiToString(name), rawConstructor: embind__requireFunction(constructorSignature, rawConstructor), rawDestructor: embind__requireFunction(destructorSignature, rawDestructor), elements: [] };
          }
          function __embind_register_value_array_element(rawTupleType, getterReturnType, getterSignature, getter, getterContext, setterArgumentType, setterSignature, setter, setterContext) {
            rawTupleType >>>= 0;
            getterReturnType >>>= 0;
            getterSignature >>>= 0;
            getter >>>= 0;
            getterContext >>>= 0;
            setterArgumentType >>>= 0;
            setterSignature >>>= 0;
            setter >>>= 0;
            setterContext >>>= 0;
            tupleRegistrations[rawTupleType].elements.push({ getterReturnType, getter: embind__requireFunction(getterSignature, getter), getterContext, setterArgumentType, setter: embind__requireFunction(setterSignature, setter), setterContext });
          }
          function __embind_register_value_object(rawType, name, constructorSignature, rawConstructor, destructorSignature, rawDestructor) {
            rawType >>>= 0;
            name >>>= 0;
            constructorSignature >>>= 0;
            rawConstructor >>>= 0;
            destructorSignature >>>= 0;
            rawDestructor >>>= 0;
            structRegistrations[rawType] = { name: AsciiToString(name), rawConstructor: embind__requireFunction(constructorSignature, rawConstructor), rawDestructor: embind__requireFunction(destructorSignature, rawDestructor), fields: [] };
          }
          function __embind_register_value_object_field(structType, fieldName, getterReturnType, getterSignature, getter, getterContext, setterArgumentType, setterSignature, setter, setterContext) {
            structType >>>= 0;
            fieldName >>>= 0;
            getterReturnType >>>= 0;
            getterSignature >>>= 0;
            getter >>>= 0;
            getterContext >>>= 0;
            setterArgumentType >>>= 0;
            setterSignature >>>= 0;
            setter >>>= 0;
            setterContext >>>= 0;
            structRegistrations[structType].fields.push({ fieldName: AsciiToString(fieldName), getterReturnType, getter: embind__requireFunction(getterSignature, getter), getterContext, setterArgumentType, setter: embind__requireFunction(setterSignature, setter), setterContext });
          }
          var __embind_register_void = function(rawType, name) {
            rawType >>>= 0;
            name >>>= 0;
            name = AsciiToString(name);
            registerType(rawType, { isVoid: true, name, fromWireType: () => void 0, toWireType: (destructors, o) => void 0 });
          };
          function __emscripten_init_main_thread_js(tb) {
            tb >>>= 0;
            __emscripten_thread_init(tb, !ENVIRONMENT_IS_WORKER, 1, !ENVIRONMENT_IS_WEB, 5242880, false);
            PThread.threadInitTLS();
          }
          var handleException = (e) => {
            if (e instanceof ExitStatus || e == "unwind") {
              return EXITSTATUS;
            }
            quit_(1, e);
          };
          var maybeExit = () => {
            if (!keepRuntimeAlive()) {
              try {
                if (ENVIRONMENT_IS_PTHREAD) {
                  if (_pthread_self()) __emscripten_thread_exit(EXITSTATUS);
                  return;
                }
                _exit(EXITSTATUS);
              } catch (e) {
                handleException(e);
              }
            }
          };
          var callUserCallback = (func) => {
            if (ABORT) {
              return;
            }
            try {
              func();
              maybeExit();
            } catch (e) {
              handleException(e);
            }
          };
          var waitAsyncPolyfilled = !Atomics.waitAsync || globalThis.navigator?.userAgent && Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./) || [])[2]) < 91;
          function __emscripten_thread_mailbox_await(pthread_ptr) {
            pthread_ptr >>>= 0;
            if (!waitAsyncPolyfilled) {
              var wait = Atomics.waitAsync((growMemViews(), HEAP32), pthread_ptr >>> 2, pthread_ptr);
              wait.value.then(checkMailbox);
              var waitingAsync = pthread_ptr + 128;
              Atomics.store((growMemViews(), HEAP32), waitingAsync >>> 2, 1);
            }
          }
          var checkMailbox = () => callUserCallback(() => {
            var pthread_ptr = _pthread_self();
            if (pthread_ptr) {
              __emscripten_thread_mailbox_await(pthread_ptr);
              __emscripten_check_mailbox();
            }
          });
          function __emscripten_notify_mailbox_postmessage(targetThread, currThreadId) {
            targetThread >>>= 0;
            currThreadId >>>= 0;
            if (targetThread == currThreadId) {
              setTimeout(checkMailbox);
            } else if (ENVIRONMENT_IS_PTHREAD) {
              postMessage({ targetThread, cmd: "checkMailbox" });
            } else {
              var worker = PThread.pthreads[targetThread];
              if (!worker) {
                return;
              }
              worker.postMessage({ cmd: "checkMailbox" });
            }
          }
          var proxiedJSCallArgs = [];
          function __emscripten_receive_on_main_thread_js(funcIndex, emAsmAddr, callingThread, bufSize, args) {
            emAsmAddr >>>= 0;
            callingThread >>>= 0;
            args >>>= 0;
            proxiedJSCallArgs.length = 0;
            var b = args >>> 3;
            var end = args + bufSize >>> 3;
            while (b < end) {
              var arg;
              if ((growMemViews(), HEAP64)[b++ >>> 0]) {
                arg = (growMemViews(), HEAP64)[b++ >>> 0];
              } else {
                arg = (growMemViews(), HEAPF64)[b++ >>> 0];
              }
              proxiedJSCallArgs.push(arg);
            }
            var func = proxiedFunctionTable[funcIndex];
            PThread.currentProxiedOperationCallerThread = callingThread;
            var rtn = func(...proxiedJSCallArgs);
            PThread.currentProxiedOperationCallerThread = 0;
            return rtn;
          }
          var __emscripten_runtime_keepalive_clear = () => {
            noExitRuntime = false;
            runtimeKeepaliveCounter = 0;
          };
          function __emscripten_thread_cleanup(thread) {
            thread >>>= 0;
            if (!ENVIRONMENT_IS_PTHREAD) cleanupThread(thread);
            else postMessage({ cmd: "cleanupThread", thread });
          }
          function __emscripten_thread_set_strongref(thread) {
            thread >>>= 0;
          }
          var emval_methodCallers = [];
          var emval_addMethodCaller = (caller) => {
            var id = emval_methodCallers.length;
            emval_methodCallers.push(caller);
            return id;
          };
          var requireRegisteredType = (rawType, humanName) => {
            var impl = registeredTypes[rawType];
            if (void 0 === impl) {
              throwBindingError(`${humanName} has unknown type ${getTypeName(rawType)}`);
            }
            return impl;
          };
          var emval_lookupTypes = (argCount, argTypes) => {
            var a = new Array(argCount);
            for (var i = 0; i < argCount; ++i) {
              a[i] = requireRegisteredType((growMemViews(), HEAPU32)[argTypes + i * 4 >>> 2 >>> 0], `parameter ${i}`);
            }
            return a;
          };
          var emval_returnValue = (toReturnWire, destructorsRef, handle) => {
            var destructors = [];
            var result = toReturnWire(destructors, handle);
            if (destructors.length) {
              (growMemViews(), HEAPU32)[destructorsRef >>> 2 >>> 0] = Emval.toHandle(destructors);
            }
            return result;
          };
          var emval_symbols = {};
          var getStringOrSymbol = (address) => {
            var symbol = emval_symbols[address];
            if (symbol === void 0) {
              return AsciiToString(address);
            }
            return symbol;
          };
          var __emval_create_invoker = function(argCount, argTypesPtr, kind) {
            argTypesPtr >>>= 0;
            var GenericWireTypeSize = 8;
            var [retType, ...argTypes] = emval_lookupTypes(argCount, argTypesPtr);
            var toReturnWire = retType.toWireType.bind(retType);
            var argFromPtr = argTypes.map((type) => type.readValueFromPointer.bind(type));
            argCount--;
            var argN = new Array(argCount);
            var invokerFunction = (handle, methodName, destructorsRef, args) => {
              var offset = 0;
              for (var i = 0; i < argCount; ++i) {
                argN[i] = argFromPtr[i](args + offset);
                offset += GenericWireTypeSize;
              }
              var rv;
              switch (kind) {
                case 0:
                  rv = Emval.toValue(handle).apply(null, argN);
                  break;
                case 2:
                  rv = Reflect.construct(Emval.toValue(handle), argN);
                  break;
                case 3:
                  rv = argN[0];
                  break;
                case 1:
                  rv = Emval.toValue(handle)[getStringOrSymbol(methodName)](...argN);
                  break;
              }
              return emval_returnValue(toReturnWire, destructorsRef, rv);
            };
            var functionName = `methodCaller<(${argTypes.map((t) => t.name)}) => ${retType.name}>`;
            return emval_addMethodCaller(createNamedFunction(functionName, invokerFunction));
          };
          function __emval_get_global(name) {
            name >>>= 0;
            if (!name) {
              return Emval.toHandle(globalThis);
            }
            name = getStringOrSymbol(name);
            return Emval.toHandle(globalThis[name]);
          }
          function __emval_get_property(handle, key) {
            handle >>>= 0;
            key >>>= 0;
            handle = Emval.toValue(handle);
            key = Emval.toValue(key);
            return Emval.toHandle(handle[key]);
          }
          function __emval_incref(handle) {
            handle >>>= 0;
            if (handle > 9) {
              emval_handles[handle + 1] += 1;
            }
          }
          function __emval_instanceof(object, constructor) {
            object >>>= 0;
            constructor >>>= 0;
            object = Emval.toValue(object);
            constructor = Emval.toValue(constructor);
            return object instanceof constructor;
          }
          function __emval_invoke(caller, handle, methodName, destructorsRef, args) {
            caller >>>= 0;
            handle >>>= 0;
            methodName >>>= 0;
            destructorsRef >>>= 0;
            args >>>= 0;
            return emval_methodCallers[caller](handle, methodName, destructorsRef, args);
          }
          function __emval_is_number(handle) {
            handle >>>= 0;
            handle = Emval.toValue(handle);
            return typeof handle == "number";
          }
          function __emval_is_string(handle) {
            handle >>>= 0;
            handle = Emval.toValue(handle);
            return typeof handle == "string";
          }
          function __emval_new_array() {
            return Emval.toHandle([]);
          }
          function __emval_new_cstring(v) {
            v >>>= 0;
            return Emval.toHandle(getStringOrSymbol(v));
          }
          function __emval_new_object() {
            return Emval.toHandle({});
          }
          function __emval_run_destructors(handle) {
            handle >>>= 0;
            var destructors = Emval.toValue(handle);
            runDestructors(destructors);
            __emval_decref(handle);
          }
          function __emval_set_property(handle, key, value) {
            handle >>>= 0;
            key >>>= 0;
            value >>>= 0;
            handle = Emval.toValue(handle);
            key = Emval.toValue(key);
            value = Emval.toValue(value);
            handle[key] = value;
          }
          function __gmtime_js(time, tmPtr) {
            time = bigintToI53Checked(time);
            tmPtr >>>= 0;
            var date = new Date(time * 1e3);
            (growMemViews(), HEAP32)[tmPtr >>> 2 >>> 0] = date.getUTCSeconds();
            (growMemViews(), HEAP32)[tmPtr + 4 >>> 2 >>> 0] = date.getUTCMinutes();
            (growMemViews(), HEAP32)[tmPtr + 8 >>> 2 >>> 0] = date.getUTCHours();
            (growMemViews(), HEAP32)[tmPtr + 12 >>> 2 >>> 0] = date.getUTCDate();
            (growMemViews(), HEAP32)[tmPtr + 16 >>> 2 >>> 0] = date.getUTCMonth();
            (growMemViews(), HEAP32)[tmPtr + 20 >>> 2 >>> 0] = date.getUTCFullYear() - 1900;
            (growMemViews(), HEAP32)[tmPtr + 24 >>> 2 >>> 0] = date.getUTCDay();
            var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);
            var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0;
            (growMemViews(), HEAP32)[tmPtr + 28 >>> 2 >>> 0] = yday;
          }
          var isLeapYear = (year) => year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
          var MONTH_DAYS_LEAP_CUMULATIVE = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335];
          var MONTH_DAYS_REGULAR_CUMULATIVE = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];
          var ydayFromDate = (date) => {
            var leap = isLeapYear(date.getFullYear());
            var monthDaysCumulative = leap ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE;
            var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;
            return yday;
          };
          function __localtime_js(time, tmPtr) {
            time = bigintToI53Checked(time);
            tmPtr >>>= 0;
            var date = new Date(time * 1e3);
            (growMemViews(), HEAP32)[tmPtr >>> 2 >>> 0] = date.getSeconds();
            (growMemViews(), HEAP32)[tmPtr + 4 >>> 2 >>> 0] = date.getMinutes();
            (growMemViews(), HEAP32)[tmPtr + 8 >>> 2 >>> 0] = date.getHours();
            (growMemViews(), HEAP32)[tmPtr + 12 >>> 2 >>> 0] = date.getDate();
            (growMemViews(), HEAP32)[tmPtr + 16 >>> 2 >>> 0] = date.getMonth();
            (growMemViews(), HEAP32)[tmPtr + 20 >>> 2 >>> 0] = date.getFullYear() - 1900;
            (growMemViews(), HEAP32)[tmPtr + 24 >>> 2 >>> 0] = date.getDay();
            var yday = ydayFromDate(date) | 0;
            (growMemViews(), HEAP32)[tmPtr + 28 >>> 2 >>> 0] = yday;
            (growMemViews(), HEAP32)[tmPtr + 36 >>> 2 >>> 0] = -(date.getTimezoneOffset() * 60);
            var start = new Date(date.getFullYear(), 0, 1);
            var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();
            var winterOffset = start.getTimezoneOffset();
            var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;
            (growMemViews(), HEAP32)[tmPtr + 32 >>> 2 >>> 0] = dst;
          }
          var timers = {};
          var _emscripten_get_now = () => performance.timeOrigin + performance.now();
          function __setitimer_js(which, timeout_ms) {
            if (ENVIRONMENT_IS_PTHREAD) return proxyToMainThread(2, 0, 1, which, timeout_ms);
            if (timers[which]) {
              clearTimeout(timers[which].id);
              delete timers[which];
            }
            if (!timeout_ms) return 0;
            var id = setTimeout(() => {
              delete timers[which];
              callUserCallback(() => __emscripten_timeout(which, _emscripten_get_now()));
            }, timeout_ms);
            timers[which] = { id, timeout_ms };
            return 0;
          }
          var __tzset_js = function(timezone, daylight, std_name, dst_name) {
            timezone >>>= 0;
            daylight >>>= 0;
            std_name >>>= 0;
            dst_name >>>= 0;
            var currentYear = (/* @__PURE__ */ new Date()).getFullYear();
            var winter = new Date(currentYear, 0, 1);
            var summer = new Date(currentYear, 6, 1);
            var winterOffset = winter.getTimezoneOffset();
            var summerOffset = summer.getTimezoneOffset();
            var stdTimezoneOffset = Math.max(winterOffset, summerOffset);
            (growMemViews(), HEAPU32)[timezone >>> 2 >>> 0] = stdTimezoneOffset * 60;
            (growMemViews(), HEAP32)[daylight >>> 2 >>> 0] = Number(winterOffset != summerOffset);
            var extractZone = (timezoneOffset) => {
              var sign = timezoneOffset >= 0 ? "-" : "+";
              var absOffset = Math.abs(timezoneOffset);
              var hours = String(Math.floor(absOffset / 60)).padStart(2, "0");
              var minutes = String(absOffset % 60).padStart(2, "0");
              return `UTC${sign}${hours}${minutes}`;
            };
            var winterName = extractZone(winterOffset);
            var summerName = extractZone(summerOffset);
            if (summerOffset < winterOffset) {
              stringToUTF8(winterName, std_name, 17);
              stringToUTF8(summerName, dst_name, 17);
            } else {
              stringToUTF8(winterName, dst_name, 17);
              stringToUTF8(summerName, std_name, 17);
            }
          };
          var _emscripten_date_now = () => Date.now();
          var nowIsMonotonic = 1;
          var checkWasiClock = (clock_id) => clock_id >= 0 && clock_id <= 3;
          function _clock_time_get(clk_id, ignored_precision, ptime) {
            ignored_precision = bigintToI53Checked(ignored_precision);
            ptime >>>= 0;
            if (!checkWasiClock(clk_id)) {
              return 28;
            }
            var now;
            if (clk_id === 0) {
              now = _emscripten_date_now();
            } else if (nowIsMonotonic) {
              now = _emscripten_get_now();
            } else {
              return 52;
            }
            var nsec = Math.round(now * 1e3 * 1e3);
            (growMemViews(), HEAP64)[ptime >>> 3 >>> 0] = BigInt(nsec);
            return 0;
          }
          var _emscripten_check_blocking_allowed = () => {
          };
          var runtimeKeepalivePush = () => {
            runtimeKeepaliveCounter += 1;
          };
          var _emscripten_exit_with_live_runtime = () => {
            runtimeKeepalivePush();
            throw "unwind";
          };
          var getHeapMax = () => 4294901760;
          var alignMemory = (size, alignment) => Math.ceil(size / alignment) * alignment;
          var growMemory = (size) => {
            var oldHeapSize = wasmMemory.buffer.byteLength;
            var pages = (size - oldHeapSize + 65535) / 65536 | 0;
            try {
              wasmMemory.grow(pages);
              updateMemoryViews();
              return 1;
            } catch (e) {
            }
          };
          function _emscripten_resize_heap(requestedSize) {
            requestedSize >>>= 0;
            var oldSize = (growMemViews(), HEAPU8).length;
            if (requestedSize <= oldSize) {
              return false;
            }
            var maxHeapSize = getHeapMax();
            if (requestedSize > maxHeapSize) {
              return false;
            }
            for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
              var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);
              overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);
              var newSize = Math.min(maxHeapSize, alignMemory(Math.max(requestedSize, overGrownHeapSize), 65536));
              var replacement = growMemory(newSize);
              if (replacement) {
                return true;
              }
            }
            return false;
          }
          var ENV = {};
          var getExecutableName = () => thisProgram || "./this.program";
          var getEnvStrings = () => {
            if (!getEnvStrings.strings) {
              var lang = (globalThis.navigator?.language ?? "C").replace("-", "_") + ".UTF-8";
              var env = { USER: "web_user", LOGNAME: "web_user", PATH: "/", PWD: "/", HOME: "/home/web_user", LANG: lang, _: getExecutableName() };
              for (var x in ENV) {
                if (ENV[x] === void 0) delete env[x];
                else env[x] = ENV[x];
              }
              var strings = [];
              for (var x in env) {
                strings.push(`${x}=${env[x]}`);
              }
              getEnvStrings.strings = strings;
            }
            return getEnvStrings.strings;
          };
          function _environ_get(__environ, environ_buf) {
            if (ENVIRONMENT_IS_PTHREAD) return proxyToMainThread(3, 0, 1, __environ, environ_buf);
            __environ >>>= 0;
            environ_buf >>>= 0;
            var bufSize = 0;
            var envp = 0;
            for (var string of getEnvStrings()) {
              var ptr = environ_buf + bufSize;
              (growMemViews(), HEAPU32)[__environ + envp >>> 2 >>> 0] = ptr;
              bufSize += stringToUTF8(string, ptr, Infinity) + 1;
              envp += 4;
            }
            return 0;
          }
          function _environ_sizes_get(penviron_count, penviron_buf_size) {
            if (ENVIRONMENT_IS_PTHREAD) return proxyToMainThread(4, 0, 1, penviron_count, penviron_buf_size);
            penviron_count >>>= 0;
            penviron_buf_size >>>= 0;
            var strings = getEnvStrings();
            (growMemViews(), HEAPU32)[penviron_count >>> 2 >>> 0] = strings.length;
            var bufSize = 0;
            for (var string of strings) {
              bufSize += lengthBytesUTF8(string) + 1;
            }
            (growMemViews(), HEAPU32)[penviron_buf_size >>> 2 >>> 0] = bufSize;
            return 0;
          }
          var PATH = { isAbs: (path) => path.charAt(0) === "/", splitPath: (filename) => {
            var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
            return splitPathRe.exec(filename).slice(1);
          }, normalizeArray: (parts, allowAboveRoot) => {
            var up = 0;
            for (var i = parts.length - 1; i >= 0; i--) {
              var last = parts[i];
              if (last === ".") {
                parts.splice(i, 1);
              } else if (last === "..") {
                parts.splice(i, 1);
                up++;
              } else if (up) {
                parts.splice(i, 1);
                up--;
              }
            }
            if (allowAboveRoot) {
              for (; up; up--) {
                parts.unshift("..");
              }
            }
            return parts;
          }, normalize: (path) => {
            var isAbsolute = PATH.isAbs(path), trailingSlash = path.slice(-1) === "/";
            path = PATH.normalizeArray(path.split("/").filter((p) => !!p), !isAbsolute).join("/");
            if (!path && !isAbsolute) {
              path = ".";
            }
            if (path && trailingSlash) {
              path += "/";
            }
            return (isAbsolute ? "/" : "") + path;
          }, dirname: (path) => {
            var result = PATH.splitPath(path), root = result[0], dir = result[1];
            if (!root && !dir) {
              return ".";
            }
            if (dir) {
              dir = dir.slice(0, -1);
            }
            return root + dir;
          }, basename: (path) => path && path.match(/([^\/]+|\/)\/*$/)[1], join: (...paths) => PATH.normalize(paths.join("/")), join2: (l, r) => PATH.normalize(l + "/" + r) };
          var initRandomFill = () => (view) => view.set(crypto.getRandomValues(new Uint8Array(view.byteLength)));
          var randomFill = (view) => {
            (randomFill = initRandomFill())(view);
          };
          var PATH_FS = { resolve: (...args) => {
            var resolvedPath = "", resolvedAbsolute = false;
            for (var i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) {
              var path = i >= 0 ? args[i] : FS.cwd();
              if (typeof path != "string") {
                throw new TypeError("Arguments to path.resolve must be strings");
              } else if (!path) {
                return "";
              }
              resolvedPath = path + "/" + resolvedPath;
              resolvedAbsolute = PATH.isAbs(path);
            }
            resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter((p) => !!p), !resolvedAbsolute).join("/");
            return (resolvedAbsolute ? "/" : "") + resolvedPath || ".";
          }, relative: (from, to) => {
            from = PATH_FS.resolve(from).slice(1);
            to = PATH_FS.resolve(to).slice(1);
            function trim(arr) {
              var start = 0;
              for (; start < arr.length; start++) {
                if (arr[start] !== "") break;
              }
              var end = arr.length - 1;
              for (; end >= 0; end--) {
                if (arr[end] !== "") break;
              }
              if (start > end) return [];
              return arr.slice(start, end - start + 1);
            }
            var fromParts = trim(from.split("/"));
            var toParts = trim(to.split("/"));
            var length = Math.min(fromParts.length, toParts.length);
            var samePartsLength = length;
            for (var i = 0; i < length; i++) {
              if (fromParts[i] !== toParts[i]) {
                samePartsLength = i;
                break;
              }
            }
            var outputParts = [];
            for (var i = samePartsLength; i < fromParts.length; i++) {
              outputParts.push("..");
            }
            outputParts = outputParts.concat(toParts.slice(samePartsLength));
            return outputParts.join("/");
          } };
          var FS_stdin_getChar_buffer = [];
          var intArrayFromString = (stringy, dontAddNull, length) => {
            var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;
            var u8array = new Array(len);
            var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
            if (dontAddNull) u8array.length = numBytesWritten;
            return u8array;
          };
          var FS_stdin_getChar = () => {
            if (!FS_stdin_getChar_buffer.length) {
              var result = null;
              if (globalThis.window?.prompt) {
                result = window.prompt("Input: ");
                if (result !== null) {
                  result += "\n";
                }
              } else {
              }
              if (!result) {
                return null;
              }
              FS_stdin_getChar_buffer = intArrayFromString(result, true);
            }
            return FS_stdin_getChar_buffer.shift();
          };
          var TTY = { ttys: [], init() {
          }, shutdown() {
          }, register(dev, ops) {
            TTY.ttys[dev] = { input: [], output: [], ops };
            FS.registerDevice(dev, TTY.stream_ops);
          }, stream_ops: { open(stream) {
            var tty = TTY.ttys[stream.node.rdev];
            if (!tty) {
              throw new FS.ErrnoError(43);
            }
            stream.tty = tty;
            stream.seekable = false;
          }, close(stream) {
            stream.tty.ops.fsync(stream.tty);
          }, fsync(stream) {
            stream.tty.ops.fsync(stream.tty);
          }, read(stream, buffer, offset, length, pos) {
            if (!stream.tty || !stream.tty.ops.get_char) {
              throw new FS.ErrnoError(60);
            }
            var bytesRead = 0;
            for (var i = 0; i < length; i++) {
              var result;
              try {
                result = stream.tty.ops.get_char(stream.tty);
              } catch (e) {
                throw new FS.ErrnoError(29);
              }
              if (result === void 0 && bytesRead === 0) {
                throw new FS.ErrnoError(6);
              }
              if (result === null || result === void 0) break;
              bytesRead++;
              buffer[offset + i] = result;
            }
            if (bytesRead) {
              stream.node.atime = Date.now();
            }
            return bytesRead;
          }, write(stream, buffer, offset, length, pos) {
            if (!stream.tty || !stream.tty.ops.put_char) {
              throw new FS.ErrnoError(60);
            }
            try {
              for (var i = 0; i < length; i++) {
                stream.tty.ops.put_char(stream.tty, buffer[offset + i]);
              }
            } catch (e) {
              throw new FS.ErrnoError(29);
            }
            if (length) {
              stream.node.mtime = stream.node.ctime = Date.now();
            }
            return i;
          } }, default_tty_ops: { get_char(tty) {
            return FS_stdin_getChar();
          }, put_char(tty, val) {
            if (val === null || val === 10) {
              out(UTF8ArrayToString(tty.output));
              tty.output = [];
            } else {
              if (val != 0) tty.output.push(val);
            }
          }, fsync(tty) {
            if (tty.output?.length > 0) {
              out(UTF8ArrayToString(tty.output));
              tty.output = [];
            }
          }, ioctl_tcgets(tty) {
            return { c_iflag: 25856, c_oflag: 5, c_cflag: 191, c_lflag: 35387, c_cc: [3, 28, 127, 21, 4, 0, 1, 0, 17, 19, 26, 0, 18, 15, 23, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] };
          }, ioctl_tcsets(tty, optional_actions, data) {
            return 0;
          }, ioctl_tiocgwinsz(tty) {
            return [24, 80];
          } }, default_tty1_ops: { put_char(tty, val) {
            if (val === null || val === 10) {
              err(UTF8ArrayToString(tty.output));
              tty.output = [];
            } else {
              if (val != 0) tty.output.push(val);
            }
          }, fsync(tty) {
            if (tty.output?.length > 0) {
              err(UTF8ArrayToString(tty.output));
              tty.output = [];
            }
          } } };
          var mmapAlloc = (size) => {
            abort();
          };
          var MEMFS = { ops_table: null, mount(mount) {
            return MEMFS.createNode(null, "/", 16895, 0);
          }, createNode(parent, name, mode, dev) {
            if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
              throw new FS.ErrnoError(63);
            }
            MEMFS.ops_table ||= { dir: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, lookup: MEMFS.node_ops.lookup, mknod: MEMFS.node_ops.mknod, rename: MEMFS.node_ops.rename, unlink: MEMFS.node_ops.unlink, rmdir: MEMFS.node_ops.rmdir, readdir: MEMFS.node_ops.readdir, symlink: MEMFS.node_ops.symlink }, stream: { llseek: MEMFS.stream_ops.llseek } }, file: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: { llseek: MEMFS.stream_ops.llseek, read: MEMFS.stream_ops.read, write: MEMFS.stream_ops.write, mmap: MEMFS.stream_ops.mmap, msync: MEMFS.stream_ops.msync } }, link: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, readlink: MEMFS.node_ops.readlink }, stream: {} }, chrdev: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: FS.chrdev_stream_ops } };
            var node = FS.createNode(parent, name, mode, dev);
            if (FS.isDir(node.mode)) {
              node.node_ops = MEMFS.ops_table.dir.node;
              node.stream_ops = MEMFS.ops_table.dir.stream;
              node.contents = {};
            } else if (FS.isFile(node.mode)) {
              node.node_ops = MEMFS.ops_table.file.node;
              node.stream_ops = MEMFS.ops_table.file.stream;
              node.usedBytes = 0;
              node.contents = null;
            } else if (FS.isLink(node.mode)) {
              node.node_ops = MEMFS.ops_table.link.node;
              node.stream_ops = MEMFS.ops_table.link.stream;
            } else if (FS.isChrdev(node.mode)) {
              node.node_ops = MEMFS.ops_table.chrdev.node;
              node.stream_ops = MEMFS.ops_table.chrdev.stream;
            }
            node.atime = node.mtime = node.ctime = Date.now();
            if (parent) {
              parent.contents[name] = node;
              parent.atime = parent.mtime = parent.ctime = node.atime;
            }
            return node;
          }, getFileDataAsTypedArray(node) {
            if (!node.contents) return new Uint8Array(0);
            if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);
            return new Uint8Array(node.contents);
          }, expandFileStorage(node, newCapacity) {
            var prevCapacity = node.contents ? node.contents.length : 0;
            if (prevCapacity >= newCapacity) return;
            var CAPACITY_DOUBLING_MAX = 1024 * 1024;
            newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);
            if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);
            var oldContents = node.contents;
            node.contents = new Uint8Array(newCapacity);
            if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);
          }, resizeFileStorage(node, newSize) {
            if (node.usedBytes == newSize) return;
            if (newSize == 0) {
              node.contents = null;
              node.usedBytes = 0;
            } else {
              var oldContents = node.contents;
              node.contents = new Uint8Array(newSize);
              if (oldContents) {
                node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));
              }
              node.usedBytes = newSize;
            }
          }, node_ops: { getattr(node) {
            var attr = {};
            attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
            attr.ino = node.id;
            attr.mode = node.mode;
            attr.nlink = 1;
            attr.uid = 0;
            attr.gid = 0;
            attr.rdev = node.rdev;
            if (FS.isDir(node.mode)) {
              attr.size = 4096;
            } else if (FS.isFile(node.mode)) {
              attr.size = node.usedBytes;
            } else if (FS.isLink(node.mode)) {
              attr.size = node.link.length;
            } else {
              attr.size = 0;
            }
            attr.atime = new Date(node.atime);
            attr.mtime = new Date(node.mtime);
            attr.ctime = new Date(node.ctime);
            attr.blksize = 4096;
            attr.blocks = Math.ceil(attr.size / attr.blksize);
            return attr;
          }, setattr(node, attr) {
            for (const key of ["mode", "atime", "mtime", "ctime"]) {
              if (attr[key] != null) {
                node[key] = attr[key];
              }
            }
            if (attr.size !== void 0) {
              MEMFS.resizeFileStorage(node, attr.size);
            }
          }, lookup(parent, name) {
            if (!MEMFS.doesNotExistError) {
              MEMFS.doesNotExistError = new FS.ErrnoError(44);
              MEMFS.doesNotExistError.stack = "<generic error, no stack>";
            }
            throw MEMFS.doesNotExistError;
          }, mknod(parent, name, mode, dev) {
            return MEMFS.createNode(parent, name, mode, dev);
          }, rename(old_node, new_dir, new_name) {
            var new_node;
            try {
              new_node = FS.lookupNode(new_dir, new_name);
            } catch (e) {
            }
            if (new_node) {
              if (FS.isDir(old_node.mode)) {
                for (var i in new_node.contents) {
                  throw new FS.ErrnoError(55);
                }
              }
              FS.hashRemoveNode(new_node);
            }
            delete old_node.parent.contents[old_node.name];
            new_dir.contents[new_name] = old_node;
            old_node.name = new_name;
            new_dir.ctime = new_dir.mtime = old_node.parent.ctime = old_node.parent.mtime = Date.now();
          }, unlink(parent, name) {
            delete parent.contents[name];
            parent.ctime = parent.mtime = Date.now();
          }, rmdir(parent, name) {
            var node = FS.lookupNode(parent, name);
            for (var i in node.contents) {
              throw new FS.ErrnoError(55);
            }
            delete parent.contents[name];
            parent.ctime = parent.mtime = Date.now();
          }, readdir(node) {
            return [".", "..", ...Object.keys(node.contents)];
          }, symlink(parent, newname, oldpath) {
            var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);
            node.link = oldpath;
            return node;
          }, readlink(node) {
            if (!FS.isLink(node.mode)) {
              throw new FS.ErrnoError(28);
            }
            return node.link;
          } }, stream_ops: { read(stream, buffer, offset, length, position) {
            var contents = stream.node.contents;
            if (position >= stream.node.usedBytes) return 0;
            var size = Math.min(stream.node.usedBytes - position, length);
            if (size > 8 && contents.subarray) {
              buffer.set(contents.subarray(position, position + size), offset);
            } else {
              for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];
            }
            return size;
          }, write(stream, buffer, offset, length, position, canOwn) {
            if (buffer.buffer === (growMemViews(), HEAP8).buffer) {
              canOwn = false;
            }
            if (!length) return 0;
            var node = stream.node;
            node.mtime = node.ctime = Date.now();
            if (buffer.subarray && (!node.contents || node.contents.subarray)) {
              if (canOwn) {
                node.contents = buffer.subarray(offset, offset + length);
                node.usedBytes = length;
                return length;
              } else if (node.usedBytes === 0 && position === 0) {
                node.contents = buffer.slice(offset, offset + length);
                node.usedBytes = length;
                return length;
              } else if (position + length <= node.usedBytes) {
                node.contents.set(buffer.subarray(offset, offset + length), position);
                return length;
              }
            }
            MEMFS.expandFileStorage(node, position + length);
            if (node.contents.subarray && buffer.subarray) {
              node.contents.set(buffer.subarray(offset, offset + length), position);
            } else {
              for (var i = 0; i < length; i++) {
                node.contents[position + i] = buffer[offset + i];
              }
            }
            node.usedBytes = Math.max(node.usedBytes, position + length);
            return length;
          }, llseek(stream, offset, whence) {
            var position = offset;
            if (whence === 1) {
              position += stream.position;
            } else if (whence === 2) {
              if (FS.isFile(stream.node.mode)) {
                position += stream.node.usedBytes;
              }
            }
            if (position < 0) {
              throw new FS.ErrnoError(28);
            }
            return position;
          }, mmap(stream, length, position, prot, flags) {
            if (!FS.isFile(stream.node.mode)) {
              throw new FS.ErrnoError(43);
            }
            var ptr;
            var allocated;
            var contents = stream.node.contents;
            if (!(flags & 2) && contents && contents.buffer === (growMemViews(), HEAP8).buffer) {
              allocated = false;
              ptr = contents.byteOffset;
            } else {
              allocated = true;
              ptr = mmapAlloc(length);
              if (!ptr) {
                throw new FS.ErrnoError(48);
              }
              if (contents) {
                if (position > 0 || position + length < contents.length) {
                  if (contents.subarray) {
                    contents = contents.subarray(position, position + length);
                  } else {
                    contents = Array.prototype.slice.call(contents, position, position + length);
                  }
                }
                (growMemViews(), HEAP8).set(contents, ptr >>> 0);
              }
            }
            return { ptr, allocated };
          }, msync(stream, buffer, offset, length, mmapFlags) {
            MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);
            return 0;
          } } };
          var FS_modeStringToFlags = (str) => {
            var flagModes = { r: 0, "r+": 2, w: 512 | 64 | 1, "w+": 512 | 64 | 2, a: 1024 | 64 | 1, "a+": 1024 | 64 | 2 };
            var flags = flagModes[str];
            if (typeof flags == "undefined") {
              throw new Error(`Unknown file open mode: ${str}`);
            }
            return flags;
          };
          var FS_getMode = (canRead, canWrite) => {
            var mode = 0;
            if (canRead) mode |= 292 | 73;
            if (canWrite) mode |= 146;
            return mode;
          };
          var asyncLoad = async (url) => {
            var arrayBuffer = await readAsync(url);
            return new Uint8Array(arrayBuffer);
          };
          var FS_createDataFile = (...args) => FS.createDataFile(...args);
          var getUniqueRunDependency = (id) => id;
          var preloadPlugins = [];
          var FS_handledByPreloadPlugin = async (byteArray, fullname) => {
            if (typeof Browser != "undefined") Browser.init();
            for (var plugin of preloadPlugins) {
              if (plugin["canHandle"](fullname)) {
                return plugin["handle"](byteArray, fullname);
              }
            }
            return byteArray;
          };
          var FS_preloadFile = async (parent, name, url, canRead, canWrite, dontCreateFile, canOwn, preFinish) => {
            var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;
            var dep = getUniqueRunDependency(`cp ${fullname}`);
            addRunDependency(dep);
            try {
              var byteArray = url;
              if (typeof url == "string") {
                byteArray = await asyncLoad(url);
              }
              byteArray = await FS_handledByPreloadPlugin(byteArray, fullname);
              preFinish?.();
              if (!dontCreateFile) {
                FS_createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);
              }
            } finally {
              removeRunDependency(dep);
            }
          };
          var FS_createPreloadedFile = (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => {
            FS_preloadFile(parent, name, url, canRead, canWrite, dontCreateFile, canOwn, preFinish).then(onload).catch(onerror);
          };
          var FS = { root: null, mounts: [], devices: {}, streams: [], nextInode: 1, nameTable: null, currentPath: "/", initialized: false, ignorePermissions: true, filesystems: null, syncFSRequests: 0, readFiles: {}, ErrnoError: class {
            name = "ErrnoError";
            constructor(errno) {
              this.errno = errno;
            }
          }, FSStream: class {
            shared = {};
            get object() {
              return this.node;
            }
            set object(val) {
              this.node = val;
            }
            get isRead() {
              return (this.flags & 2097155) !== 1;
            }
            get isWrite() {
              return (this.flags & 2097155) !== 0;
            }
            get isAppend() {
              return this.flags & 1024;
            }
            get flags() {
              return this.shared.flags;
            }
            set flags(val) {
              this.shared.flags = val;
            }
            get position() {
              return this.shared.position;
            }
            set position(val) {
              this.shared.position = val;
            }
          }, FSNode: class {
            node_ops = {};
            stream_ops = {};
            readMode = 292 | 73;
            writeMode = 146;
            mounted = null;
            constructor(parent, name, mode, rdev) {
              if (!parent) {
                parent = this;
              }
              this.parent = parent;
              this.mount = parent.mount;
              this.id = FS.nextInode++;
              this.name = name;
              this.mode = mode;
              this.rdev = rdev;
              this.atime = this.mtime = this.ctime = Date.now();
            }
            get read() {
              return (this.mode & this.readMode) === this.readMode;
            }
            set read(val) {
              val ? this.mode |= this.readMode : this.mode &= ~this.readMode;
            }
            get write() {
              return (this.mode & this.writeMode) === this.writeMode;
            }
            set write(val) {
              val ? this.mode |= this.writeMode : this.mode &= ~this.writeMode;
            }
            get isFolder() {
              return FS.isDir(this.mode);
            }
            get isDevice() {
              return FS.isChrdev(this.mode);
            }
          }, lookupPath(path, opts = {}) {
            if (!path) {
              throw new FS.ErrnoError(44);
            }
            opts.follow_mount ??= true;
            if (!PATH.isAbs(path)) {
              path = FS.cwd() + "/" + path;
            }
            linkloop: for (var nlinks = 0; nlinks < 40; nlinks++) {
              var parts = path.split("/").filter((p) => !!p);
              var current = FS.root;
              var current_path = "/";
              for (var i = 0; i < parts.length; i++) {
                var islast = i === parts.length - 1;
                if (islast && opts.parent) {
                  break;
                }
                if (parts[i] === ".") {
                  continue;
                }
                if (parts[i] === "..") {
                  current_path = PATH.dirname(current_path);
                  if (FS.isRoot(current)) {
                    path = current_path + "/" + parts.slice(i + 1).join("/");
                    nlinks--;
                    continue linkloop;
                  } else {
                    current = current.parent;
                  }
                  continue;
                }
                current_path = PATH.join2(current_path, parts[i]);
                try {
                  current = FS.lookupNode(current, parts[i]);
                } catch (e) {
                  if (e?.errno === 44 && islast && opts.noent_okay) {
                    return { path: current_path };
                  }
                  throw e;
                }
                if (FS.isMountpoint(current) && (!islast || opts.follow_mount)) {
                  current = current.mounted.root;
                }
                if (FS.isLink(current.mode) && (!islast || opts.follow)) {
                  if (!current.node_ops.readlink) {
                    throw new FS.ErrnoError(52);
                  }
                  var link = current.node_ops.readlink(current);
                  if (!PATH.isAbs(link)) {
                    link = PATH.dirname(current_path) + "/" + link;
                  }
                  path = link + "/" + parts.slice(i + 1).join("/");
                  continue linkloop;
                }
              }
              return { path: current_path, node: current };
            }
            throw new FS.ErrnoError(32);
          }, getPath(node) {
            var path;
            while (true) {
              if (FS.isRoot(node)) {
                var mount = node.mount.mountpoint;
                if (!path) return mount;
                return mount[mount.length - 1] !== "/" ? `${mount}/${path}` : mount + path;
              }
              path = path ? `${node.name}/${path}` : node.name;
              node = node.parent;
            }
          }, hashName(parentid, name) {
            var hash = 0;
            for (var i = 0; i < name.length; i++) {
              hash = (hash << 5) - hash + name.charCodeAt(i) | 0;
            }
            return (parentid + hash >>> 0) % FS.nameTable.length;
          }, hashAddNode(node) {
            var hash = FS.hashName(node.parent.id, node.name);
            node.name_next = FS.nameTable[hash];
            FS.nameTable[hash] = node;
          }, hashRemoveNode(node) {
            var hash = FS.hashName(node.parent.id, node.name);
            if (FS.nameTable[hash] === node) {
              FS.nameTable[hash] = node.name_next;
            } else {
              var current = FS.nameTable[hash];
              while (current) {
                if (current.name_next === node) {
                  current.name_next = node.name_next;
                  break;
                }
                current = current.name_next;
              }
            }
          }, lookupNode(parent, name) {
            var errCode = FS.mayLookup(parent);
            if (errCode) {
              throw new FS.ErrnoError(errCode);
            }
            var hash = FS.hashName(parent.id, name);
            for (var node = FS.nameTable[hash]; node; node = node.name_next) {
              var nodeName = node.name;
              if (node.parent.id === parent.id && nodeName === name) {
                return node;
              }
            }
            return FS.lookup(parent, name);
          }, createNode(parent, name, mode, rdev) {
            var node = new FS.FSNode(parent, name, mode, rdev);
            FS.hashAddNode(node);
            return node;
          }, destroyNode(node) {
            FS.hashRemoveNode(node);
          }, isRoot(node) {
            return node === node.parent;
          }, isMountpoint(node) {
            return !!node.mounted;
          }, isFile(mode) {
            return (mode & 61440) === 32768;
          }, isDir(mode) {
            return (mode & 61440) === 16384;
          }, isLink(mode) {
            return (mode & 61440) === 40960;
          }, isChrdev(mode) {
            return (mode & 61440) === 8192;
          }, isBlkdev(mode) {
            return (mode & 61440) === 24576;
          }, isFIFO(mode) {
            return (mode & 61440) === 4096;
          }, isSocket(mode) {
            return (mode & 49152) === 49152;
          }, flagsToPermissionString(flag) {
            var perms = ["r", "w", "rw"][flag & 3];
            if (flag & 512) {
              perms += "w";
            }
            return perms;
          }, nodePermissions(node, perms) {
            if (FS.ignorePermissions) {
              return 0;
            }
            if (perms.includes("r") && !(node.mode & 292)) {
              return 2;
            } else if (perms.includes("w") && !(node.mode & 146)) {
              return 2;
            } else if (perms.includes("x") && !(node.mode & 73)) {
              return 2;
            }
            return 0;
          }, mayLookup(dir) {
            if (!FS.isDir(dir.mode)) return 54;
            var errCode = FS.nodePermissions(dir, "x");
            if (errCode) return errCode;
            if (!dir.node_ops.lookup) return 2;
            return 0;
          }, mayCreate(dir, name) {
            if (!FS.isDir(dir.mode)) {
              return 54;
            }
            try {
              var node = FS.lookupNode(dir, name);
              return 20;
            } catch (e) {
            }
            return FS.nodePermissions(dir, "wx");
          }, mayDelete(dir, name, isdir) {
            var node;
            try {
              node = FS.lookupNode(dir, name);
            } catch (e) {
              return e.errno;
            }
            var errCode = FS.nodePermissions(dir, "wx");
            if (errCode) {
              return errCode;
            }
            if (isdir) {
              if (!FS.isDir(node.mode)) {
                return 54;
              }
              if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
                return 10;
              }
            } else {
              if (FS.isDir(node.mode)) {
                return 31;
              }
            }
            return 0;
          }, mayOpen(node, flags) {
            if (!node) {
              return 44;
            }
            if (FS.isLink(node.mode)) {
              return 32;
            } else if (FS.isDir(node.mode)) {
              if (FS.flagsToPermissionString(flags) !== "r" || flags & (512 | 64)) {
                return 31;
              }
            }
            return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
          }, checkOpExists(op, err2) {
            if (!op) {
              throw new FS.ErrnoError(err2);
            }
            return op;
          }, MAX_OPEN_FDS: 4096, nextfd() {
            for (var fd = 0; fd <= FS.MAX_OPEN_FDS; fd++) {
              if (!FS.streams[fd]) {
                return fd;
              }
            }
            throw new FS.ErrnoError(33);
          }, getStreamChecked(fd) {
            var stream = FS.getStream(fd);
            if (!stream) {
              throw new FS.ErrnoError(8);
            }
            return stream;
          }, getStream: (fd) => FS.streams[fd], createStream(stream, fd = -1) {
            stream = Object.assign(new FS.FSStream(), stream);
            if (fd == -1) {
              fd = FS.nextfd();
            }
            stream.fd = fd;
            FS.streams[fd] = stream;
            return stream;
          }, closeStream(fd) {
            FS.streams[fd] = null;
          }, dupStream(origStream, fd = -1) {
            var stream = FS.createStream(origStream, fd);
            stream.stream_ops?.dup?.(stream);
            return stream;
          }, doSetAttr(stream, node, attr) {
            var setattr = stream?.stream_ops.setattr;
            var arg = setattr ? stream : node;
            setattr ??= node.node_ops.setattr;
            FS.checkOpExists(setattr, 63);
            setattr(arg, attr);
          }, chrdev_stream_ops: { open(stream) {
            var device = FS.getDevice(stream.node.rdev);
            stream.stream_ops = device.stream_ops;
            stream.stream_ops.open?.(stream);
          }, llseek() {
            throw new FS.ErrnoError(70);
          } }, major: (dev) => dev >> 8, minor: (dev) => dev & 255, makedev: (ma, mi) => ma << 8 | mi, registerDevice(dev, ops) {
            FS.devices[dev] = { stream_ops: ops };
          }, getDevice: (dev) => FS.devices[dev], getMounts(mount) {
            var mounts = [];
            var check = [mount];
            while (check.length) {
              var m = check.pop();
              mounts.push(m);
              check.push(...m.mounts);
            }
            return mounts;
          }, syncfs(populate, callback) {
            if (typeof populate == "function") {
              callback = populate;
              populate = false;
            }
            FS.syncFSRequests++;
            if (FS.syncFSRequests > 1) {
              err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);
            }
            var mounts = FS.getMounts(FS.root.mount);
            var completed = 0;
            function doCallback(errCode) {
              FS.syncFSRequests--;
              return callback(errCode);
            }
            function done(errCode) {
              if (errCode) {
                if (!done.errored) {
                  done.errored = true;
                  return doCallback(errCode);
                }
                return;
              }
              if (++completed >= mounts.length) {
                doCallback(null);
              }
            }
            for (var mount of mounts) {
              if (mount.type.syncfs) {
                mount.type.syncfs(mount, populate, done);
              } else {
                done(null);
              }
            }
          }, mount(type, opts, mountpoint) {
            var root = mountpoint === "/";
            var pseudo = !mountpoint;
            var node;
            if (root && FS.root) {
              throw new FS.ErrnoError(10);
            } else if (!root && !pseudo) {
              var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
              mountpoint = lookup.path;
              node = lookup.node;
              if (FS.isMountpoint(node)) {
                throw new FS.ErrnoError(10);
              }
              if (!FS.isDir(node.mode)) {
                throw new FS.ErrnoError(54);
              }
            }
            var mount = { type, opts, mountpoint, mounts: [] };
            var mountRoot = type.mount(mount);
            mountRoot.mount = mount;
            mount.root = mountRoot;
            if (root) {
              FS.root = mountRoot;
            } else if (node) {
              node.mounted = mount;
              if (node.mount) {
                node.mount.mounts.push(mount);
              }
            }
            return mountRoot;
          }, unmount(mountpoint) {
            var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
            if (!FS.isMountpoint(lookup.node)) {
              throw new FS.ErrnoError(28);
            }
            var node = lookup.node;
            var mount = node.mounted;
            var mounts = FS.getMounts(mount);
            for (var [hash, current] of Object.entries(FS.nameTable)) {
              while (current) {
                var next = current.name_next;
                if (mounts.includes(current.mount)) {
                  FS.destroyNode(current);
                }
                current = next;
              }
            }
            node.mounted = null;
            var idx = node.mount.mounts.indexOf(mount);
            node.mount.mounts.splice(idx, 1);
          }, lookup(parent, name) {
            return parent.node_ops.lookup(parent, name);
          }, mknod(path, mode, dev) {
            var lookup = FS.lookupPath(path, { parent: true });
            var parent = lookup.node;
            var name = PATH.basename(path);
            if (!name) {
              throw new FS.ErrnoError(28);
            }
            if (name === "." || name === "..") {
              throw new FS.ErrnoError(20);
            }
            var errCode = FS.mayCreate(parent, name);
            if (errCode) {
              throw new FS.ErrnoError(errCode);
            }
            if (!parent.node_ops.mknod) {
              throw new FS.ErrnoError(63);
            }
            return parent.node_ops.mknod(parent, name, mode, dev);
          }, statfs(path) {
            return FS.statfsNode(FS.lookupPath(path, { follow: true }).node);
          }, statfsStream(stream) {
            return FS.statfsNode(stream.node);
          }, statfsNode(node) {
            var rtn = { bsize: 4096, frsize: 4096, blocks: 1e6, bfree: 5e5, bavail: 5e5, files: FS.nextInode, ffree: FS.nextInode - 1, fsid: 42, flags: 2, namelen: 255 };
            if (node.node_ops.statfs) {
              Object.assign(rtn, node.node_ops.statfs(node.mount.opts.root));
            }
            return rtn;
          }, create(path, mode = 438) {
            mode &= 4095;
            mode |= 32768;
            return FS.mknod(path, mode, 0);
          }, mkdir(path, mode = 511) {
            mode &= 511 | 512;
            mode |= 16384;
            return FS.mknod(path, mode, 0);
          }, mkdirTree(path, mode) {
            var dirs = path.split("/");
            var d = "";
            for (var dir of dirs) {
              if (!dir) continue;
              if (d || PATH.isAbs(path)) d += "/";
              d += dir;
              try {
                FS.mkdir(d, mode);
              } catch (e) {
                if (e.errno != 20) throw e;
              }
            }
          }, mkdev(path, mode, dev) {
            if (typeof dev == "undefined") {
              dev = mode;
              mode = 438;
            }
            mode |= 8192;
            return FS.mknod(path, mode, dev);
          }, symlink(oldpath, newpath) {
            if (!PATH_FS.resolve(oldpath)) {
              throw new FS.ErrnoError(44);
            }
            var lookup = FS.lookupPath(newpath, { parent: true });
            var parent = lookup.node;
            if (!parent) {
              throw new FS.ErrnoError(44);
            }
            var newname = PATH.basename(newpath);
            var errCode = FS.mayCreate(parent, newname);
            if (errCode) {
              throw new FS.ErrnoError(errCode);
            }
            if (!parent.node_ops.symlink) {
              throw new FS.ErrnoError(63);
            }
            return parent.node_ops.symlink(parent, newname, oldpath);
          }, rename(old_path, new_path) {
            var old_dirname = PATH.dirname(old_path);
            var new_dirname = PATH.dirname(new_path);
            var old_name = PATH.basename(old_path);
            var new_name = PATH.basename(new_path);
            var lookup, old_dir, new_dir;
            lookup = FS.lookupPath(old_path, { parent: true });
            old_dir = lookup.node;
            lookup = FS.lookupPath(new_path, { parent: true });
            new_dir = lookup.node;
            if (!old_dir || !new_dir) throw new FS.ErrnoError(44);
            if (old_dir.mount !== new_dir.mount) {
              throw new FS.ErrnoError(75);
            }
            var old_node = FS.lookupNode(old_dir, old_name);
            var relative = PATH_FS.relative(old_path, new_dirname);
            if (relative.charAt(0) !== ".") {
              throw new FS.ErrnoError(28);
            }
            relative = PATH_FS.relative(new_path, old_dirname);
            if (relative.charAt(0) !== ".") {
              throw new FS.ErrnoError(55);
            }
            var new_node;
            try {
              new_node = FS.lookupNode(new_dir, new_name);
            } catch (e) {
            }
            if (old_node === new_node) {
              return;
            }
            var isdir = FS.isDir(old_node.mode);
            var errCode = FS.mayDelete(old_dir, old_name, isdir);
            if (errCode) {
              throw new FS.ErrnoError(errCode);
            }
            errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);
            if (errCode) {
              throw new FS.ErrnoError(errCode);
            }
            if (!old_dir.node_ops.rename) {
              throw new FS.ErrnoError(63);
            }
            if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) {
              throw new FS.ErrnoError(10);
            }
            if (new_dir !== old_dir) {
              errCode = FS.nodePermissions(old_dir, "w");
              if (errCode) {
                throw new FS.ErrnoError(errCode);
              }
            }
            FS.hashRemoveNode(old_node);
            try {
              old_dir.node_ops.rename(old_node, new_dir, new_name);
              old_node.parent = new_dir;
            } catch (e) {
              throw e;
            } finally {
              FS.hashAddNode(old_node);
            }
          }, rmdir(path) {
            var lookup = FS.lookupPath(path, { parent: true });
            var parent = lookup.node;
            var name = PATH.basename(path);
            var node = FS.lookupNode(parent, name);
            var errCode = FS.mayDelete(parent, name, true);
            if (errCode) {
              throw new FS.ErrnoError(errCode);
            }
            if (!parent.node_ops.rmdir) {
              throw new FS.ErrnoError(63);
            }
            if (FS.isMountpoint(node)) {
              throw new FS.ErrnoError(10);
            }
            parent.node_ops.rmdir(parent, name);
            FS.destroyNode(node);
          }, readdir(path) {
            var lookup = FS.lookupPath(path, { follow: true });
            var node = lookup.node;
            var readdir = FS.checkOpExists(node.node_ops.readdir, 54);
            return readdir(node);
          }, unlink(path) {
            var lookup = FS.lookupPath(path, { parent: true });
            var parent = lookup.node;
            if (!parent) {
              throw new FS.ErrnoError(44);
            }
            var name = PATH.basename(path);
            var node = FS.lookupNode(parent, name);
            var errCode = FS.mayDelete(parent, name, false);
            if (errCode) {
              throw new FS.ErrnoError(errCode);
            }
            if (!parent.node_ops.unlink) {
              throw new FS.ErrnoError(63);
            }
            if (FS.isMountpoint(node)) {
              throw new FS.ErrnoError(10);
            }
            parent.node_ops.unlink(parent, name);
            FS.destroyNode(node);
          }, readlink(path) {
            var lookup = FS.lookupPath(path);
            var link = lookup.node;
            if (!link) {
              throw new FS.ErrnoError(44);
            }
            if (!link.node_ops.readlink) {
              throw new FS.ErrnoError(28);
            }
            return link.node_ops.readlink(link);
          }, stat(path, dontFollow) {
            var lookup = FS.lookupPath(path, { follow: !dontFollow });
            var node = lookup.node;
            var getattr = FS.checkOpExists(node.node_ops.getattr, 63);
            return getattr(node);
          }, fstat(fd) {
            var stream = FS.getStreamChecked(fd);
            var node = stream.node;
            var getattr = stream.stream_ops.getattr;
            var arg = getattr ? stream : node;
            getattr ??= node.node_ops.getattr;
            FS.checkOpExists(getattr, 63);
            return getattr(arg);
          }, lstat(path) {
            return FS.stat(path, true);
          }, doChmod(stream, node, mode, dontFollow) {
            FS.doSetAttr(stream, node, { mode: mode & 4095 | node.mode & ~4095, ctime: Date.now(), dontFollow });
          }, chmod(path, mode, dontFollow) {
            var node;
            if (typeof path == "string") {
              var lookup = FS.lookupPath(path, { follow: !dontFollow });
              node = lookup.node;
            } else {
              node = path;
            }
            FS.doChmod(null, node, mode, dontFollow);
          }, lchmod(path, mode) {
            FS.chmod(path, mode, true);
          }, fchmod(fd, mode) {
            var stream = FS.getStreamChecked(fd);
            FS.doChmod(stream, stream.node, mode, false);
          }, doChown(stream, node, dontFollow) {
            FS.doSetAttr(stream, node, { timestamp: Date.now(), dontFollow });
          }, chown(path, uid, gid, dontFollow) {
            var node;
            if (typeof path == "string") {
              var lookup = FS.lookupPath(path, { follow: !dontFollow });
              node = lookup.node;
            } else {
              node = path;
            }
            FS.doChown(null, node, dontFollow);
          }, lchown(path, uid, gid) {
            FS.chown(path, uid, gid, true);
          }, fchown(fd, uid, gid) {
            var stream = FS.getStreamChecked(fd);
            FS.doChown(stream, stream.node, false);
          }, doTruncate(stream, node, len) {
            if (FS.isDir(node.mode)) {
              throw new FS.ErrnoError(31);
            }
            if (!FS.isFile(node.mode)) {
              throw new FS.ErrnoError(28);
            }
            var errCode = FS.nodePermissions(node, "w");
            if (errCode) {
              throw new FS.ErrnoError(errCode);
            }
            FS.doSetAttr(stream, node, { size: len, timestamp: Date.now() });
          }, truncate(path, len) {
            if (len < 0) {
              throw new FS.ErrnoError(28);
            }
            var node;
            if (typeof path == "string") {
              var lookup = FS.lookupPath(path, { follow: true });
              node = lookup.node;
            } else {
              node = path;
            }
            FS.doTruncate(null, node, len);
          }, ftruncate(fd, len) {
            var stream = FS.getStreamChecked(fd);
            if (len < 0 || (stream.flags & 2097155) === 0) {
              throw new FS.ErrnoError(28);
            }
            FS.doTruncate(stream, stream.node, len);
          }, utime(path, atime, mtime) {
            var lookup = FS.lookupPath(path, { follow: true });
            var node = lookup.node;
            var setattr = FS.checkOpExists(node.node_ops.setattr, 63);
            setattr(node, { atime, mtime });
          }, open(path, flags, mode = 438) {
            if (path === "") {
              throw new FS.ErrnoError(44);
            }
            flags = typeof flags == "string" ? FS_modeStringToFlags(flags) : flags;
            if (flags & 64) {
              mode = mode & 4095 | 32768;
            } else {
              mode = 0;
            }
            var node;
            var isDirPath;
            if (typeof path == "object") {
              node = path;
            } else {
              isDirPath = path.endsWith("/");
              var lookup = FS.lookupPath(path, { follow: !(flags & 131072), noent_okay: true });
              node = lookup.node;
              path = lookup.path;
            }
            var created = false;
            if (flags & 64) {
              if (node) {
                if (flags & 128) {
                  throw new FS.ErrnoError(20);
                }
              } else if (isDirPath) {
                throw new FS.ErrnoError(31);
              } else {
                node = FS.mknod(path, mode | 511, 0);
                created = true;
              }
            }
            if (!node) {
              throw new FS.ErrnoError(44);
            }
            if (FS.isChrdev(node.mode)) {
              flags &= ~512;
            }
            if (flags & 65536 && !FS.isDir(node.mode)) {
              throw new FS.ErrnoError(54);
            }
            if (!created) {
              var errCode = FS.mayOpen(node, flags);
              if (errCode) {
                throw new FS.ErrnoError(errCode);
              }
            }
            if (flags & 512 && !created) {
              FS.truncate(node, 0);
            }
            flags &= ~(128 | 512 | 131072);
            var stream = FS.createStream({ node, path: FS.getPath(node), flags, seekable: true, position: 0, stream_ops: node.stream_ops, ungotten: [], error: false });
            if (stream.stream_ops.open) {
              stream.stream_ops.open(stream);
            }
            if (created) {
              FS.chmod(node, mode & 511);
            }
            if (Module["logReadFiles"] && !(flags & 1)) {
              if (!(path in FS.readFiles)) {
                FS.readFiles[path] = 1;
              }
            }
            return stream;
          }, close(stream) {
            if (FS.isClosed(stream)) {
              throw new FS.ErrnoError(8);
            }
            if (stream.getdents) stream.getdents = null;
            try {
              if (stream.stream_ops.close) {
                stream.stream_ops.close(stream);
              }
            } catch (e) {
              throw e;
            } finally {
              FS.closeStream(stream.fd);
            }
            stream.fd = null;
          }, isClosed(stream) {
            return stream.fd === null;
          }, llseek(stream, offset, whence) {
            if (FS.isClosed(stream)) {
              throw new FS.ErrnoError(8);
            }
            if (!stream.seekable || !stream.stream_ops.llseek) {
              throw new FS.ErrnoError(70);
            }
            if (whence != 0 && whence != 1 && whence != 2) {
              throw new FS.ErrnoError(28);
            }
            stream.position = stream.stream_ops.llseek(stream, offset, whence);
            stream.ungotten = [];
            return stream.position;
          }, read(stream, buffer, offset, length, position) {
            if (length < 0 || position < 0) {
              throw new FS.ErrnoError(28);
            }
            if (FS.isClosed(stream)) {
              throw new FS.ErrnoError(8);
            }
            if ((stream.flags & 2097155) === 1) {
              throw new FS.ErrnoError(8);
            }
            if (FS.isDir(stream.node.mode)) {
              throw new FS.ErrnoError(31);
            }
            if (!stream.stream_ops.read) {
              throw new FS.ErrnoError(28);
            }
            var seeking = typeof position != "undefined";
            if (!seeking) {
              position = stream.position;
            } else if (!stream.seekable) {
              throw new FS.ErrnoError(70);
            }
            var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);
            if (!seeking) stream.position += bytesRead;
            return bytesRead;
          }, write(stream, buffer, offset, length, position, canOwn) {
            if (length < 0 || position < 0) {
              throw new FS.ErrnoError(28);
            }
            if (FS.isClosed(stream)) {
              throw new FS.ErrnoError(8);
            }
            if ((stream.flags & 2097155) === 0) {
              throw new FS.ErrnoError(8);
            }
            if (FS.isDir(stream.node.mode)) {
              throw new FS.ErrnoError(31);
            }
            if (!stream.stream_ops.write) {
              throw new FS.ErrnoError(28);
            }
            if (stream.seekable && stream.flags & 1024) {
              FS.llseek(stream, 0, 2);
            }
            var seeking = typeof position != "undefined";
            if (!seeking) {
              position = stream.position;
            } else if (!stream.seekable) {
              throw new FS.ErrnoError(70);
            }
            var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);
            if (!seeking) stream.position += bytesWritten;
            return bytesWritten;
          }, mmap(stream, length, position, prot, flags) {
            if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) {
              throw new FS.ErrnoError(2);
            }
            if ((stream.flags & 2097155) === 1) {
              throw new FS.ErrnoError(2);
            }
            if (!stream.stream_ops.mmap) {
              throw new FS.ErrnoError(43);
            }
            if (!length) {
              throw new FS.ErrnoError(28);
            }
            return stream.stream_ops.mmap(stream, length, position, prot, flags);
          }, msync(stream, buffer, offset, length, mmapFlags) {
            if (!stream.stream_ops.msync) {
              return 0;
            }
            return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);
          }, ioctl(stream, cmd, arg) {
            if (!stream.stream_ops.ioctl) {
              throw new FS.ErrnoError(59);
            }
            return stream.stream_ops.ioctl(stream, cmd, arg);
          }, readFile(path, opts = {}) {
            opts.flags = opts.flags || 0;
            opts.encoding = opts.encoding || "binary";
            if (opts.encoding !== "utf8" && opts.encoding !== "binary") {
              abort(`Invalid encoding type "${opts.encoding}"`);
            }
            var stream = FS.open(path, opts.flags);
            var stat = FS.stat(path);
            var length = stat.size;
            var buf = new Uint8Array(length);
            FS.read(stream, buf, 0, length, 0);
            if (opts.encoding === "utf8") {
              buf = UTF8ArrayToString(buf);
            }
            FS.close(stream);
            return buf;
          }, writeFile(path, data, opts = {}) {
            opts.flags = opts.flags || 577;
            var stream = FS.open(path, opts.flags, opts.mode);
            if (typeof data == "string") {
              data = new Uint8Array(intArrayFromString(data, true));
            }
            if (ArrayBuffer.isView(data)) {
              FS.write(stream, data, 0, data.byteLength, void 0, opts.canOwn);
            } else {
              abort("Unsupported data type");
            }
            FS.close(stream);
          }, cwd: () => FS.currentPath, chdir(path) {
            var lookup = FS.lookupPath(path, { follow: true });
            if (lookup.node === null) {
              throw new FS.ErrnoError(44);
            }
            if (!FS.isDir(lookup.node.mode)) {
              throw new FS.ErrnoError(54);
            }
            var errCode = FS.nodePermissions(lookup.node, "x");
            if (errCode) {
              throw new FS.ErrnoError(errCode);
            }
            FS.currentPath = lookup.path;
          }, createDefaultDirectories() {
            FS.mkdir("/tmp");
            FS.mkdir("/home");
            FS.mkdir("/home/web_user");
          }, createDefaultDevices() {
            FS.mkdir("/dev");
            FS.registerDevice(FS.makedev(1, 3), { read: () => 0, write: (stream, buffer, offset, length, pos) => length, llseek: () => 0 });
            FS.mkdev("/dev/null", FS.makedev(1, 3));
            TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
            TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
            FS.mkdev("/dev/tty", FS.makedev(5, 0));
            FS.mkdev("/dev/tty1", FS.makedev(6, 0));
            var randomBuffer = new Uint8Array(1024), randomLeft = 0;
            var randomByte = () => {
              if (randomLeft === 0) {
                randomFill(randomBuffer);
                randomLeft = randomBuffer.byteLength;
              }
              return randomBuffer[--randomLeft];
            };
            FS.createDevice("/dev", "random", randomByte);
            FS.createDevice("/dev", "urandom", randomByte);
            FS.mkdir("/dev/shm");
            FS.mkdir("/dev/shm/tmp");
          }, createSpecialDirectories() {
            FS.mkdir("/proc");
            var proc_self = FS.mkdir("/proc/self");
            FS.mkdir("/proc/self/fd");
            FS.mount({ mount() {
              var node = FS.createNode(proc_self, "fd", 16895, 73);
              node.stream_ops = { llseek: MEMFS.stream_ops.llseek };
              node.node_ops = { lookup(parent, name) {
                var fd = +name;
                var stream = FS.getStreamChecked(fd);
                var ret = { parent: null, mount: { mountpoint: "fake" }, node_ops: { readlink: () => stream.path }, id: fd + 1 };
                ret.parent = ret;
                return ret;
              }, readdir() {
                return Array.from(FS.streams.entries()).filter(([k, v]) => v).map(([k, v]) => k.toString());
              } };
              return node;
            } }, {}, "/proc/self/fd");
          }, createStandardStreams(input, output, error) {
            if (input) {
              FS.createDevice("/dev", "stdin", input);
            } else {
              FS.symlink("/dev/tty", "/dev/stdin");
            }
            if (output) {
              FS.createDevice("/dev", "stdout", null, output);
            } else {
              FS.symlink("/dev/tty", "/dev/stdout");
            }
            if (error) {
              FS.createDevice("/dev", "stderr", null, error);
            } else {
              FS.symlink("/dev/tty1", "/dev/stderr");
            }
            var stdin = FS.open("/dev/stdin", 0);
            var stdout = FS.open("/dev/stdout", 1);
            var stderr = FS.open("/dev/stderr", 1);
          }, staticInit() {
            FS.nameTable = new Array(4096);
            FS.mount(MEMFS, {}, "/");
            FS.createDefaultDirectories();
            FS.createDefaultDevices();
            FS.createSpecialDirectories();
            FS.filesystems = { MEMFS };
          }, init(input, output, error) {
            FS.initialized = true;
            input ??= Module["stdin"];
            output ??= Module["stdout"];
            error ??= Module["stderr"];
            FS.createStandardStreams(input, output, error);
          }, quit() {
            FS.initialized = false;
            for (var stream of FS.streams) {
              if (stream) {
                FS.close(stream);
              }
            }
          }, findObject(path, dontResolveLastLink) {
            var ret = FS.analyzePath(path, dontResolveLastLink);
            if (!ret.exists) {
              return null;
            }
            return ret.object;
          }, analyzePath(path, dontResolveLastLink) {
            try {
              var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
              path = lookup.path;
            } catch (e) {
            }
            var ret = { isRoot: false, exists: false, error: 0, name: null, path: null, object: null, parentExists: false, parentPath: null, parentObject: null };
            try {
              var lookup = FS.lookupPath(path, { parent: true });
              ret.parentExists = true;
              ret.parentPath = lookup.path;
              ret.parentObject = lookup.node;
              ret.name = PATH.basename(path);
              lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
              ret.exists = true;
              ret.path = lookup.path;
              ret.object = lookup.node;
              ret.name = lookup.node.name;
              ret.isRoot = lookup.path === "/";
            } catch (e) {
              ret.error = e.errno;
            }
            return ret;
          }, createPath(parent, path, canRead, canWrite) {
            parent = typeof parent == "string" ? parent : FS.getPath(parent);
            var parts = path.split("/").reverse();
            while (parts.length) {
              var part = parts.pop();
              if (!part) continue;
              var current = PATH.join2(parent, part);
              try {
                FS.mkdir(current);
              } catch (e) {
                if (e.errno != 20) throw e;
              }
              parent = current;
            }
            return current;
          }, createFile(parent, name, properties, canRead, canWrite) {
            var path = PATH.join2(typeof parent == "string" ? parent : FS.getPath(parent), name);
            var mode = FS_getMode(canRead, canWrite);
            return FS.create(path, mode);
          }, createDataFile(parent, name, data, canRead, canWrite, canOwn) {
            var path = name;
            if (parent) {
              parent = typeof parent == "string" ? parent : FS.getPath(parent);
              path = name ? PATH.join2(parent, name) : parent;
            }
            var mode = FS_getMode(canRead, canWrite);
            var node = FS.create(path, mode);
            if (data) {
              if (typeof data == "string") {
                var arr = new Array(data.length);
                for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);
                data = arr;
              }
              FS.chmod(node, mode | 146);
              var stream = FS.open(node, 577);
              FS.write(stream, data, 0, data.length, 0, canOwn);
              FS.close(stream);
              FS.chmod(node, mode);
            }
          }, createDevice(parent, name, input, output) {
            var path = PATH.join2(typeof parent == "string" ? parent : FS.getPath(parent), name);
            var mode = FS_getMode(!!input, !!output);
            FS.createDevice.major ??= 64;
            var dev = FS.makedev(FS.createDevice.major++, 0);
            FS.registerDevice(dev, { open(stream) {
              stream.seekable = false;
            }, close(stream) {
              if (output?.buffer?.length) {
                output(10);
              }
            }, read(stream, buffer, offset, length, pos) {
              var bytesRead = 0;
              for (var i = 0; i < length; i++) {
                var result;
                try {
                  result = input();
                } catch (e) {
                  throw new FS.ErrnoError(29);
                }
                if (result === void 0 && bytesRead === 0) {
                  throw new FS.ErrnoError(6);
                }
                if (result === null || result === void 0) break;
                bytesRead++;
                buffer[offset + i] = result;
              }
              if (bytesRead) {
                stream.node.atime = Date.now();
              }
              return bytesRead;
            }, write(stream, buffer, offset, length, pos) {
              for (var i = 0; i < length; i++) {
                try {
                  output(buffer[offset + i]);
                } catch (e) {
                  throw new FS.ErrnoError(29);
                }
              }
              if (length) {
                stream.node.mtime = stream.node.ctime = Date.now();
              }
              return i;
            } });
            return FS.mkdev(path, mode, dev);
          }, forceLoadFile(obj) {
            if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
            if (globalThis.XMLHttpRequest) {
              abort("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
            } else {
              try {
                obj.contents = readBinary(obj.url);
              } catch (e) {
                throw new FS.ErrnoError(29);
              }
            }
          }, createLazyFile(parent, name, url, canRead, canWrite) {
            class LazyUint8Array {
              lengthKnown = false;
              chunks = [];
              get(idx) {
                if (idx > this.length - 1 || idx < 0) {
                  return void 0;
                }
                var chunkOffset = idx % this.chunkSize;
                var chunkNum = idx / this.chunkSize | 0;
                return this.getter(chunkNum)[chunkOffset];
              }
              setDataGetter(getter) {
                this.getter = getter;
              }
              cacheLength() {
                var xhr = new XMLHttpRequest();
                xhr.open("HEAD", url, false);
                xhr.send(null);
                if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) abort("Couldn't load " + url + ". Status: " + xhr.status);
                var datalength = Number(xhr.getResponseHeader("Content-length"));
                var header;
                var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
                var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip";
                var chunkSize = 1024 * 1024;
                if (!hasByteServing) chunkSize = datalength;
                var doXHR = (from, to) => {
                  if (from > to) abort("invalid range (" + from + ", " + to + ") or no bytes requested!");
                  if (to > datalength - 1) abort("only " + datalength + " bytes available! programmer error!");
                  var xhr2 = new XMLHttpRequest();
                  xhr2.open("GET", url, false);
                  if (datalength !== chunkSize) xhr2.setRequestHeader("Range", "bytes=" + from + "-" + to);
                  xhr2.responseType = "arraybuffer";
                  if (xhr2.overrideMimeType) {
                    xhr2.overrideMimeType("text/plain; charset=x-user-defined");
                  }
                  xhr2.send(null);
                  if (!(xhr2.status >= 200 && xhr2.status < 300 || xhr2.status === 304)) abort("Couldn't load " + url + ". Status: " + xhr2.status);
                  if (xhr2.response !== void 0) {
                    return new Uint8Array(xhr2.response || []);
                  }
                  return intArrayFromString(xhr2.responseText || "", true);
                };
                var lazyArray2 = this;
                lazyArray2.setDataGetter((chunkNum) => {
                  var start = chunkNum * chunkSize;
                  var end = (chunkNum + 1) * chunkSize - 1;
                  end = Math.min(end, datalength - 1);
                  if (typeof lazyArray2.chunks[chunkNum] == "undefined") {
                    lazyArray2.chunks[chunkNum] = doXHR(start, end);
                  }
                  if (typeof lazyArray2.chunks[chunkNum] == "undefined") abort("doXHR failed!");
                  return lazyArray2.chunks[chunkNum];
                });
                if (usesGzip || !datalength) {
                  chunkSize = datalength = 1;
                  datalength = this.getter(0).length;
                  chunkSize = datalength;
                  out("LazyFiles on gzip forces download of the whole file when length is accessed");
                }
                this._length = datalength;
                this._chunkSize = chunkSize;
                this.lengthKnown = true;
              }
              get length() {
                if (!this.lengthKnown) {
                  this.cacheLength();
                }
                return this._length;
              }
              get chunkSize() {
                if (!this.lengthKnown) {
                  this.cacheLength();
                }
                return this._chunkSize;
              }
            }
            if (globalThis.XMLHttpRequest) {
              if (!ENVIRONMENT_IS_WORKER) abort("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");
              var lazyArray = new LazyUint8Array();
              var properties = { isDevice: false, contents: lazyArray };
            } else {
              var properties = { isDevice: false, url };
            }
            var node = FS.createFile(parent, name, properties, canRead, canWrite);
            if (properties.contents) {
              node.contents = properties.contents;
            } else if (properties.url) {
              node.contents = null;
              node.url = properties.url;
            }
            Object.defineProperties(node, { usedBytes: { get: function() {
              return this.contents.length;
            } } });
            var stream_ops = {};
            for (const [key, fn] of Object.entries(node.stream_ops)) {
              stream_ops[key] = (...args) => {
                FS.forceLoadFile(node);
                return fn(...args);
              };
            }
            function writeChunks(stream, buffer, offset, length, position) {
              var contents = stream.node.contents;
              if (position >= contents.length) return 0;
              var size = Math.min(contents.length - position, length);
              if (contents.slice) {
                for (var i = 0; i < size; i++) {
                  buffer[offset + i] = contents[position + i];
                }
              } else {
                for (var i = 0; i < size; i++) {
                  buffer[offset + i] = contents.get(position + i);
                }
              }
              return size;
            }
            stream_ops.read = (stream, buffer, offset, length, position) => {
              FS.forceLoadFile(node);
              return writeChunks(stream, buffer, offset, length, position);
            };
            stream_ops.mmap = (stream, length, position, prot, flags) => {
              FS.forceLoadFile(node);
              var ptr = mmapAlloc(length);
              if (!ptr) {
                throw new FS.ErrnoError(48);
              }
              writeChunks(stream, (growMemViews(), HEAP8), ptr, length, position);
              return { ptr, allocated: true };
            };
            node.stream_ops = stream_ops;
            return node;
          } };
          var SYSCALLS = { calculateAt(dirfd, path, allowEmpty) {
            if (PATH.isAbs(path)) {
              return path;
            }
            var dir;
            if (dirfd === -100) {
              dir = FS.cwd();
            } else {
              var dirstream = SYSCALLS.getStreamFromFD(dirfd);
              dir = dirstream.path;
            }
            if (path.length == 0) {
              if (!allowEmpty) {
                throw new FS.ErrnoError(44);
              }
              return dir;
            }
            return dir + "/" + path;
          }, writeStat(buf, stat) {
            (growMemViews(), HEAPU32)[buf >>> 2 >>> 0] = stat.dev;
            (growMemViews(), HEAPU32)[buf + 4 >>> 2 >>> 0] = stat.mode;
            (growMemViews(), HEAPU32)[buf + 8 >>> 2 >>> 0] = stat.nlink;
            (growMemViews(), HEAPU32)[buf + 12 >>> 2 >>> 0] = stat.uid;
            (growMemViews(), HEAPU32)[buf + 16 >>> 2 >>> 0] = stat.gid;
            (growMemViews(), HEAPU32)[buf + 20 >>> 2 >>> 0] = stat.rdev;
            (growMemViews(), HEAP64)[buf + 24 >>> 3 >>> 0] = BigInt(stat.size);
            (growMemViews(), HEAP32)[buf + 32 >>> 2 >>> 0] = 4096;
            (growMemViews(), HEAP32)[buf + 36 >>> 2 >>> 0] = stat.blocks;
            var atime = stat.atime.getTime();
            var mtime = stat.mtime.getTime();
            var ctime = stat.ctime.getTime();
            (growMemViews(), HEAP64)[buf + 40 >>> 3 >>> 0] = BigInt(Math.floor(atime / 1e3));
            (growMemViews(), HEAPU32)[buf + 48 >>> 2 >>> 0] = atime % 1e3 * 1e3 * 1e3;
            (growMemViews(), HEAP64)[buf + 56 >>> 3 >>> 0] = BigInt(Math.floor(mtime / 1e3));
            (growMemViews(), HEAPU32)[buf + 64 >>> 2 >>> 0] = mtime % 1e3 * 1e3 * 1e3;
            (growMemViews(), HEAP64)[buf + 72 >>> 3 >>> 0] = BigInt(Math.floor(ctime / 1e3));
            (growMemViews(), HEAPU32)[buf + 80 >>> 2 >>> 0] = ctime % 1e3 * 1e3 * 1e3;
            (growMemViews(), HEAP64)[buf + 88 >>> 3 >>> 0] = BigInt(stat.ino);
            return 0;
          }, writeStatFs(buf, stats) {
            (growMemViews(), HEAPU32)[buf + 4 >>> 2 >>> 0] = stats.bsize;
            (growMemViews(), HEAPU32)[buf + 60 >>> 2 >>> 0] = stats.bsize;
            (growMemViews(), HEAP64)[buf + 8 >>> 3 >>> 0] = BigInt(stats.blocks);
            (growMemViews(), HEAP64)[buf + 16 >>> 3 >>> 0] = BigInt(stats.bfree);
            (growMemViews(), HEAP64)[buf + 24 >>> 3 >>> 0] = BigInt(stats.bavail);
            (growMemViews(), HEAP64)[buf + 32 >>> 3 >>> 0] = BigInt(stats.files);
            (growMemViews(), HEAP64)[buf + 40 >>> 3 >>> 0] = BigInt(stats.ffree);
            (growMemViews(), HEAPU32)[buf + 48 >>> 2 >>> 0] = stats.fsid;
            (growMemViews(), HEAPU32)[buf + 64 >>> 2 >>> 0] = stats.flags;
            (growMemViews(), HEAPU32)[buf + 56 >>> 2 >>> 0] = stats.namelen;
          }, doMsync(addr, stream, len, flags, offset) {
            if (!FS.isFile(stream.node.mode)) {
              throw new FS.ErrnoError(43);
            }
            if (flags & 2) {
              return 0;
            }
            var buffer = (growMemViews(), HEAPU8).slice(addr, addr + len);
            FS.msync(stream, buffer, offset, len, flags);
          }, getStreamFromFD(fd) {
            var stream = FS.getStreamChecked(fd);
            return stream;
          }, varargs: void 0, getStr(ptr) {
            var ret = UTF8ToString(ptr);
            return ret;
          } };
          function _fd_close(fd) {
            if (ENVIRONMENT_IS_PTHREAD) return proxyToMainThread(5, 0, 1, fd);
            try {
              var stream = SYSCALLS.getStreamFromFD(fd);
              FS.close(stream);
              return 0;
            } catch (e) {
              if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
              return e.errno;
            }
          }
          function _fd_fdstat_get(fd, pbuf) {
            if (ENVIRONMENT_IS_PTHREAD) return proxyToMainThread(6, 0, 1, fd, pbuf);
            pbuf >>>= 0;
            try {
              var rightsBase = 0;
              var rightsInheriting = 0;
              var flags = 0;
              {
                var stream = SYSCALLS.getStreamFromFD(fd);
                var type = stream.tty ? 2 : FS.isDir(stream.mode) ? 3 : FS.isLink(stream.mode) ? 7 : 4;
              }
              (growMemViews(), HEAP8)[pbuf >>> 0] = type;
              (growMemViews(), HEAP16)[pbuf + 2 >>> 1 >>> 0] = flags;
              (growMemViews(), HEAP64)[pbuf + 8 >>> 3 >>> 0] = BigInt(rightsBase);
              (growMemViews(), HEAP64)[pbuf + 16 >>> 3 >>> 0] = BigInt(rightsInheriting);
              return 0;
            } catch (e) {
              if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
              return e.errno;
            }
          }
          var doReadv = (stream, iov, iovcnt, offset) => {
            var ret = 0;
            for (var i = 0; i < iovcnt; i++) {
              var ptr = (growMemViews(), HEAPU32)[iov >>> 2 >>> 0];
              var len = (growMemViews(), HEAPU32)[iov + 4 >>> 2 >>> 0];
              iov += 8;
              var curr = FS.read(stream, (growMemViews(), HEAP8), ptr, len, offset);
              if (curr < 0) return -1;
              ret += curr;
              if (curr < len) break;
              if (typeof offset != "undefined") {
                offset += curr;
              }
            }
            return ret;
          };
          function _fd_read(fd, iov, iovcnt, pnum) {
            if (ENVIRONMENT_IS_PTHREAD) return proxyToMainThread(7, 0, 1, fd, iov, iovcnt, pnum);
            iov >>>= 0;
            iovcnt >>>= 0;
            pnum >>>= 0;
            try {
              var stream = SYSCALLS.getStreamFromFD(fd);
              var num = doReadv(stream, iov, iovcnt);
              (growMemViews(), HEAPU32)[pnum >>> 2 >>> 0] = num;
              return 0;
            } catch (e) {
              if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
              return e.errno;
            }
          }
          function _fd_seek(fd, offset, whence, newOffset) {
            if (ENVIRONMENT_IS_PTHREAD) return proxyToMainThread(8, 0, 1, fd, offset, whence, newOffset);
            offset = bigintToI53Checked(offset);
            newOffset >>>= 0;
            try {
              if (isNaN(offset)) return 61;
              var stream = SYSCALLS.getStreamFromFD(fd);
              FS.llseek(stream, offset, whence);
              (growMemViews(), HEAP64)[newOffset >>> 3 >>> 0] = BigInt(stream.position);
              if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;
              return 0;
            } catch (e) {
              if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
              return e.errno;
            }
          }
          var doWritev = (stream, iov, iovcnt, offset) => {
            var ret = 0;
            for (var i = 0; i < iovcnt; i++) {
              var ptr = (growMemViews(), HEAPU32)[iov >>> 2 >>> 0];
              var len = (growMemViews(), HEAPU32)[iov + 4 >>> 2 >>> 0];
              iov += 8;
              var curr = FS.write(stream, (growMemViews(), HEAP8), ptr, len, offset);
              if (curr < 0) return -1;
              ret += curr;
              if (curr < len) {
                break;
              }
              if (typeof offset != "undefined") {
                offset += curr;
              }
            }
            return ret;
          };
          function _fd_write(fd, iov, iovcnt, pnum) {
            if (ENVIRONMENT_IS_PTHREAD) return proxyToMainThread(9, 0, 1, fd, iov, iovcnt, pnum);
            iov >>>= 0;
            iovcnt >>>= 0;
            pnum >>>= 0;
            try {
              var stream = SYSCALLS.getStreamFromFD(fd);
              var num = doWritev(stream, iov, iovcnt);
              (growMemViews(), HEAPU32)[pnum >>> 2 >>> 0] = num;
              return 0;
            } catch (e) {
              if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
              return e.errno;
            }
          }
          function _random_get(buffer, size) {
            buffer >>>= 0;
            size >>>= 0;
            try {
              randomFill((growMemViews(), HEAPU8).subarray(buffer >>> 0, buffer + size >>> 0));
              return 0;
            } catch (e) {
              if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
              return e.errno;
            }
          }
          PThread.init();
          init_ClassHandle();
          init_RegisteredPointer();
          FS.createPreloadedFile = FS_createPreloadedFile;
          FS.preloadFile = FS_preloadFile;
          FS.staticInit();
          {
            initMemory();
            if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"];
            if (Module["preloadPlugins"]) preloadPlugins = Module["preloadPlugins"];
            if (Module["print"]) out = Module["print"];
            if (Module["printErr"]) err = Module["printErr"];
            if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"];
            if (Module["arguments"]) arguments_ = Module["arguments"];
            if (Module["thisProgram"]) thisProgram = Module["thisProgram"];
            if (Module["preInit"]) {
              if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]];
              while (Module["preInit"].length > 0) {
                Module["preInit"].shift()();
              }
            }
          }
          var proxiedFunctionTable = [_proc_exit, exitOnMainThread, __setitimer_js, _environ_get, _environ_sizes_get, _fd_close, _fd_fdstat_get, _fd_read, _fd_seek, _fd_write];
          var ___getTypeName, __embind_initialize_bindings, _free, _malloc, _pthread_self, __emscripten_tls_init, __emscripten_thread_init, __emscripten_thread_crashed, __emscripten_run_js_on_main_thread, __emscripten_thread_free_data, __emscripten_thread_exit, __emscripten_timeout, __emscripten_check_mailbox, _emscripten_stack_set_limits, __emscripten_stack_restore, __emscripten_stack_alloc, _emscripten_stack_get_current, __indirect_function_table, wasmTable;
          function assignWasmExports(wasmExports2) {
            ___getTypeName = wasmExports2["ka"];
            __embind_initialize_bindings = wasmExports2["la"];
            _free = wasmExports2["na"];
            _malloc = wasmExports2["oa"];
            _pthread_self = wasmExports2["pa"];
            __emscripten_tls_init = wasmExports2["qa"];
            __emscripten_thread_init = wasmExports2["ra"];
            __emscripten_thread_crashed = wasmExports2["sa"];
            __emscripten_run_js_on_main_thread = wasmExports2["ta"];
            __emscripten_thread_free_data = wasmExports2["ua"];
            __emscripten_thread_exit = wasmExports2["va"];
            __emscripten_timeout = wasmExports2["wa"];
            __emscripten_check_mailbox = wasmExports2["xa"];
            _emscripten_stack_set_limits = wasmExports2["ya"];
            __emscripten_stack_restore = wasmExports2["za"];
            __emscripten_stack_alloc = wasmExports2["Aa"];
            _emscripten_stack_get_current = wasmExports2["Ba"];
            __indirect_function_table = wasmTable = wasmExports2["ma"];
          }
          var wasmImports;
          function assignWasmImports() {
            wasmImports = { i: ___cxa_throw, P: __abort_js, ha: __embind_finalize_value_array, q: __embind_finalize_value_object, E: __embind_register_bigint, fa: __embind_register_bool, m: __embind_register_class, l: __embind_register_class_constructor, c: __embind_register_class_function, da: __embind_register_emval, D: __embind_register_float, d: __embind_register_function, u: __embind_register_integer, o: __embind_register_memory_view, s: __embind_register_optional, ea: __embind_register_std_string, x: __embind_register_std_wstring, ia: __embind_register_value_array, p: __embind_register_value_array_element, r: __embind_register_value_object, h: __embind_register_value_object_field, ga: __embind_register_void, Z: __emscripten_init_main_thread_js, R: __emscripten_notify_mailbox_postmessage, U: __emscripten_receive_on_main_thread_js, I: __emscripten_runtime_keepalive_clear, B: __emscripten_thread_cleanup, Y: __emscripten_thread_mailbox_await, ca: __emscripten_thread_set_strongref, g: __emval_create_invoker, b: __emval_decref, A: __emval_get_global, n: __emval_get_property, j: __emval_incref, z: __emval_instanceof, f: __emval_invoke, y: __emval_is_number, G: __emval_is_string, F: __emval_new_array, k: __emval_new_cstring, v: __emval_new_object, e: __emval_run_destructors, t: __emval_set_property, V: __gmtime_js, W: __localtime_js, J: __setitimer_js, X: __tzset_js, T: _clock_time_get, C: _emscripten_check_blocking_allowed, ba: _emscripten_exit_with_live_runtime, w: _emscripten_get_now, Q: _emscripten_resize_heap, $: _environ_get, aa: _environ_sizes_get, K: _exit, M: _fd_close, _: _fd_fdstat_get, O: _fd_read, N: _fd_seek, S: _fd_write, a: wasmMemory, H: _proc_exit, L: _random_get };
          }
          function applySignatureConversions(wasmExports2) {
            wasmExports2 = Object.assign({}, wasmExports2);
            var makeWrapper_pp = (f) => (a0) => f(a0) >>> 0;
            var makeWrapper_p = (f) => () => f() >>> 0;
            wasmExports2["ka"] = makeWrapper_pp(wasmExports2["ka"]);
            wasmExports2["oa"] = makeWrapper_pp(wasmExports2["oa"]);
            wasmExports2["pa"] = makeWrapper_p(wasmExports2["pa"]);
            wasmExports2["Aa"] = makeWrapper_pp(wasmExports2["Aa"]);
            wasmExports2["Ba"] = makeWrapper_p(wasmExports2["Ba"]);
            return wasmExports2;
          }
          function run() {
            if (runDependencies > 0) {
              dependenciesFulfilled = run;
              return;
            }
            if (ENVIRONMENT_IS_PTHREAD) {
              readyPromiseResolve?.(Module);
              initRuntime();
              return;
            }
            preRun();
            if (runDependencies > 0) {
              dependenciesFulfilled = run;
              return;
            }
            function doRun() {
              Module["calledRun"] = true;
              if (ABORT) return;
              initRuntime();
              readyPromiseResolve?.(Module);
              Module["onRuntimeInitialized"]?.();
              postRun();
            }
            if (Module["setStatus"]) {
              Module["setStatus"]("Running...");
              setTimeout(() => {
                setTimeout(() => Module["setStatus"](""), 1);
                doRun();
              }, 1);
            } else {
              doRun();
            }
          }
          var wasmExports;
          if (!ENVIRONMENT_IS_PTHREAD) {
            wasmExports = await createWasm();
            run();
          }
          if (runtimeInitialized) {
            moduleRtn = Module;
          } else {
            moduleRtn = new Promise((resolve, reject) => {
              readyPromiseResolve = resolve;
              readyPromiseReject = reject;
            });
          }
          ;
          return moduleRtn;
        };
      })();
      if (typeof exports === "object" && typeof module === "object") {
        module.exports = WebIFCWasm2;
        module.exports.default = WebIFCWasm2;
      } else if (typeof define === "function" && define["amd"]) define([], () => WebIFCWasm2);
      var isPthread = globalThis.self?.name?.startsWith("em-pthread");
      isPthread && WebIFCWasm2();
    }
  });

  // dist/web-ifc.js
  var require_web_ifc = __commonJS({
    "dist/web-ifc.js"(exports, module) {
      "use strict";
      var WebIFCWasm2 = (() => {
        var _scriptName = globalThis.document?.currentScript?.src;
        return async function(moduleArg = {}) {
          var moduleRtn;
          (function() {
            function humanReadableVersionToPacked(str) {
              str = str.split("-")[0];
              var vers = str.split(".").slice(0, 3);
              while (vers.length < 3) vers.push("00");
              vers = vers.map((n, i, arr) => n.padStart(2, "0"));
              return vers.join("");
            }
            var packedVersionToHumanReadable = (n) => [n / 1e4 | 0, (n / 100 | 0) % 100, n % 100].join(".");
            var TARGET_NOT_SUPPORTED = 2147483647;
            var currentNodeVersion = typeof process !== "undefined" && process.versions?.node ? humanReadableVersionToPacked(process.versions.node) : TARGET_NOT_SUPPORTED;
            if (currentNodeVersion < TARGET_NOT_SUPPORTED) {
              throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");
            }
            if (currentNodeVersion < 2147483647) {
              throw new Error(`This emscripten-generated code requires node v${packedVersionToHumanReadable(2147483647)} (detected v${packedVersionToHumanReadable(currentNodeVersion)})`);
            }
            var userAgent = typeof navigator !== "undefined" && navigator.userAgent;
            if (!userAgent) {
              return;
            }
            var currentSafariVersion = userAgent.includes("Safari/") && !userAgent.includes("Chrome/") && userAgent.match(/Version\/(\d+\.?\d*\.?\d*)/) ? humanReadableVersionToPacked(userAgent.match(/Version\/(\d+\.?\d*\.?\d*)/)[1]) : TARGET_NOT_SUPPORTED;
            if (currentSafariVersion < 15e4) {
              throw new Error(`This emscripten-generated code requires Safari v${packedVersionToHumanReadable(15e4)} (detected v${currentSafariVersion})`);
            }
            var currentFirefoxVersion = userAgent.match(/Firefox\/(\d+(?:\.\d+)?)/) ? parseFloat(userAgent.match(/Firefox\/(\d+(?:\.\d+)?)/)[1]) : TARGET_NOT_SUPPORTED;
            if (currentFirefoxVersion < 79) {
              throw new Error(`This emscripten-generated code requires Firefox v79 (detected v${currentFirefoxVersion})`);
            }
            var currentChromeVersion = userAgent.match(/Chrome\/(\d+(?:\.\d+)?)/) ? parseFloat(userAgent.match(/Chrome\/(\d+(?:\.\d+)?)/)[1]) : TARGET_NOT_SUPPORTED;
            if (currentChromeVersion < 85) {
              throw new Error(`This emscripten-generated code requires Chrome v85 (detected v${currentChromeVersion})`);
            }
          })();
          var Module = moduleArg;
          var ENVIRONMENT_IS_WEB = true;
          var ENVIRONMENT_IS_WORKER = false;
          var ENVIRONMENT_IS_NODE = false;
          var ENVIRONMENT_IS_SHELL = false;
          var arguments_ = [];
          var thisProgram = "./this.program";
          var quit_ = (status, toThrow) => {
            throw toThrow;
          };
          var scriptDirectory = "";
          function locateFile(path) {
            if (Module["locateFile"]) {
              return Module["locateFile"](path, scriptDirectory);
            }
            return scriptDirectory + path;
          }
          var readAsync, readBinary;
          if (ENVIRONMENT_IS_SHELL) {
          } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
            try {
              scriptDirectory = new URL(".", _scriptName).href;
            } catch {
            }
            if (!(globalThis.window || globalThis.WorkerGlobalScope)) throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");
            {
              readAsync = async (url) => {
                assert(!isFileURI(url), "readAsync does not work with file:// URLs");
                var response = await fetch(url, { credentials: "same-origin" });
                if (response.ok) {
                  return response.arrayBuffer();
                }
                throw new Error(response.status + " : " + response.url);
              };
            }
          } else {
            throw new Error("environment detection error");
          }
          var out = console.log.bind(console);
          var err = console.error.bind(console);
          assert(!ENVIRONMENT_IS_WORKER, "worker environment detected but not enabled at build time.  Add `worker` to `-sENVIRONMENT` to enable.");
          assert(!ENVIRONMENT_IS_NODE, "node environment detected but not enabled at build time.  Add `node` to `-sENVIRONMENT` to enable.");
          assert(!ENVIRONMENT_IS_SHELL, "shell environment detected but not enabled at build time.  Add `shell` to `-sENVIRONMENT` to enable.");
          var wasmBinary;
          if (!globalThis.WebAssembly) {
            err("no native wasm support detected");
          }
          var ABORT = false;
          var EXITSTATUS;
          function assert(condition, text) {
            if (!condition) {
              abort("Assertion failed" + (text ? ": " + text : ""));
            }
          }
          var isFileURI = (filename) => filename.startsWith("file://");
          function writeStackCookie() {
            var max = _emscripten_stack_get_end();
            assert((max & 3) == 0);
            if (max == 0) {
              max += 4;
            }
            HEAPU32[max >>> 2 >>> 0] = 34821223;
            HEAPU32[max + 4 >>> 2 >>> 0] = 2310721022;
            HEAPU32[0 >>> 2 >>> 0] = 1668509029;
          }
          function checkStackCookie() {
            if (ABORT) return;
            var max = _emscripten_stack_get_end();
            if (max == 0) {
              max += 4;
            }
            var cookie1 = HEAPU32[max >>> 2 >>> 0];
            var cookie2 = HEAPU32[max + 4 >>> 2 >>> 0];
            if (cookie1 != 34821223 || cookie2 != 2310721022) {
              abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`);
            }
            if (HEAPU32[0 >>> 2 >>> 0] != 1668509029) {
              abort("Runtime error: The application has corrupted its heap memory area (address zero)!");
            }
          }
          var runtimeDebug = true;
          (() => {
            var h16 = new Int16Array(1);
            var h8 = new Int8Array(h16.buffer);
            h16[0] = 25459;
            if (h8[0] !== 115 || h8[1] !== 99) abort("Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)");
          })();
          function consumedModuleProp(prop) {
            if (!Object.getOwnPropertyDescriptor(Module, prop)) {
              Object.defineProperty(Module, prop, { configurable: true, set() {
                abort(`Attempt to set \`Module.${prop}\` after it has already been processed.  This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`);
              } });
            }
          }
          function makeInvalidEarlyAccess(name) {
            return () => assert(false, `call to '${name}' via reference taken before Wasm module initialization`);
          }
          function ignoredModuleProp(prop) {
            if (Object.getOwnPropertyDescriptor(Module, prop)) {
              abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`);
            }
          }
          function isExportedByForceFilesystem(name) {
            return name === "FS_createPath" || name === "FS_createDataFile" || name === "FS_createPreloadedFile" || name === "FS_preloadFile" || name === "FS_unlink" || name === "addRunDependency" || name === "FS_createLazyFile" || name === "FS_createDevice" || name === "removeRunDependency";
          }
          function missingLibrarySymbol(sym) {
            unexportedRuntimeSymbol(sym);
          }
          function unexportedRuntimeSymbol(sym) {
            if (!Object.getOwnPropertyDescriptor(Module, sym)) {
              Object.defineProperty(Module, sym, { configurable: true, get() {
                var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`;
                if (isExportedByForceFilesystem(sym)) {
                  msg += ". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you";
                }
                abort(msg);
              } });
            }
          }
          var readyPromiseResolve, readyPromiseReject;
          var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
          var HEAP64, HEAPU64;
          var runtimeInitialized = false;
          function updateMemoryViews() {
            var b = wasmMemory.buffer;
            HEAP8 = new Int8Array(b);
            HEAP16 = new Int16Array(b);
            Module["HEAPU8"] = HEAPU8 = new Uint8Array(b);
            HEAPU16 = new Uint16Array(b);
            HEAP32 = new Int32Array(b);
            Module["HEAPU32"] = HEAPU32 = new Uint32Array(b);
            Module["HEAPF32"] = HEAPF32 = new Float32Array(b);
            HEAPF64 = new Float64Array(b);
            HEAP64 = new BigInt64Array(b);
            HEAPU64 = new BigUint64Array(b);
          }
          assert(globalThis.Int32Array && globalThis.Float64Array && Int32Array.prototype.subarray && Int32Array.prototype.set, "JS engine does not provide full typed array support");
          function preRun() {
            if (Module["preRun"]) {
              if (typeof Module["preRun"] == "function") Module["preRun"] = [Module["preRun"]];
              while (Module["preRun"].length) {
                addOnPreRun(Module["preRun"].shift());
              }
            }
            consumedModuleProp("preRun");
            callRuntimeCallbacks(onPreRuns);
          }
          function initRuntime() {
            assert(!runtimeInitialized);
            runtimeInitialized = true;
            checkStackCookie();
            if (!Module["noFSInit"] && !FS.initialized) FS.init();
            TTY.init();
            wasmExports["__wasm_call_ctors"]();
            FS.ignorePermissions = false;
          }
          function postRun() {
            checkStackCookie();
            if (Module["postRun"]) {
              if (typeof Module["postRun"] == "function") Module["postRun"] = [Module["postRun"]];
              while (Module["postRun"].length) {
                addOnPostRun(Module["postRun"].shift());
              }
            }
            consumedModuleProp("postRun");
            callRuntimeCallbacks(onPostRuns);
          }
          function abort(what) {
            Module["onAbort"]?.(what);
            what = "Aborted(" + what + ")";
            err(what);
            ABORT = true;
            var e = new WebAssembly.RuntimeError(what);
            readyPromiseReject?.(e);
            throw e;
          }
          function createExportWrapper(name, nargs) {
            return (...args) => {
              assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`);
              var f = wasmExports[name];
              assert(f, `exported native function \`${name}\` not found`);
              assert(args.length <= nargs, `native function \`${name}\` called with ${args.length} args but expects ${nargs}`);
              return f(...args);
            };
          }
          var wasmBinaryFile;
          function findWasmBinary() {
            return locateFile("web-ifc.wasm");
          }
          function getBinarySync(file) {
            if (file == wasmBinaryFile && wasmBinary) {
              return new Uint8Array(wasmBinary);
            }
            if (readBinary) {
              return readBinary(file);
            }
            throw "both async and sync fetching of the wasm failed";
          }
          async function getWasmBinary(binaryFile) {
            if (!wasmBinary) {
              try {
                var response = await readAsync(binaryFile);
                return new Uint8Array(response);
              } catch {
              }
            }
            return getBinarySync(binaryFile);
          }
          async function instantiateArrayBuffer(binaryFile, imports) {
            try {
              var binary = await getWasmBinary(binaryFile);
              var instance = await WebAssembly.instantiate(binary, imports);
              return instance;
            } catch (reason) {
              err(`failed to asynchronously prepare wasm: ${reason}`);
              if (isFileURI(binaryFile)) {
                err(`warning: Loading from a file URI (${binaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`);
              }
              abort(reason);
            }
          }
          async function instantiateAsync(binary, binaryFile, imports) {
            if (!binary) {
              try {
                var response = fetch(binaryFile, { credentials: "same-origin" });
                var instantiationResult = await WebAssembly.instantiateStreaming(response, imports);
                return instantiationResult;
              } catch (reason) {
                err(`wasm streaming compile failed: ${reason}`);
                err("falling back to ArrayBuffer instantiation");
              }
            }
            return instantiateArrayBuffer(binaryFile, imports);
          }
          function getWasmImports() {
            var imports = { env: wasmImports, wasi_snapshot_preview1: wasmImports };
            return imports;
          }
          async function createWasm() {
            function receiveInstance(instance, module2) {
              wasmExports = instance.exports;
              wasmExports = applySignatureConversions(wasmExports);
              assignWasmExports(wasmExports);
              updateMemoryViews();
              return wasmExports;
            }
            var trueModule = Module;
            function receiveInstantiationResult(result2) {
              assert(Module === trueModule, "the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");
              trueModule = null;
              return receiveInstance(result2["instance"]);
            }
            var info = getWasmImports();
            if (Module["instantiateWasm"]) {
              return new Promise((resolve, reject) => {
                try {
                  Module["instantiateWasm"](info, (inst, mod) => {
                    resolve(receiveInstance(inst, mod));
                  });
                } catch (e) {
                  err(`Module.instantiateWasm callback failed with error: ${e}`);
                  reject(e);
                }
              });
            }
            wasmBinaryFile ??= findWasmBinary();
            var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info);
            var exports2 = receiveInstantiationResult(result);
            return exports2;
          }
          class ExitStatus {
            name = "ExitStatus";
            constructor(status) {
              this.message = `Program terminated with exit(${status})`;
              this.status = status;
            }
          }
          var callRuntimeCallbacks = (callbacks) => {
            while (callbacks.length > 0) {
              callbacks.shift()(Module);
            }
          };
          var onPostRuns = [];
          var addOnPostRun = (cb) => onPostRuns.push(cb);
          var onPreRuns = [];
          var addOnPreRun = (cb) => onPreRuns.push(cb);
          var noExitRuntime = true;
          var ptrToString = (ptr) => {
            assert(typeof ptr === "number", `ptrToString expects a number, got ${typeof ptr}`);
            ptr >>>= 0;
            return "0x" + ptr.toString(16).padStart(8, "0");
          };
          var warnOnce = (text) => {
            warnOnce.shown ||= {};
            if (!warnOnce.shown[text]) {
              warnOnce.shown[text] = 1;
              err(text);
            }
          };
          class ExceptionInfo {
            constructor(excPtr) {
              this.excPtr = excPtr;
              this.ptr = excPtr - 24;
            }
            set_type(type) {
              HEAPU32[this.ptr + 4 >>> 2 >>> 0] = type;
            }
            get_type() {
              return HEAPU32[this.ptr + 4 >>> 2 >>> 0];
            }
            set_destructor(destructor) {
              HEAPU32[this.ptr + 8 >>> 2 >>> 0] = destructor;
            }
            get_destructor() {
              return HEAPU32[this.ptr + 8 >>> 2 >>> 0];
            }
            set_caught(caught) {
              caught = caught ? 1 : 0;
              HEAP8[this.ptr + 12 >>> 0] = caught;
            }
            get_caught() {
              return HEAP8[this.ptr + 12 >>> 0] != 0;
            }
            set_rethrown(rethrown) {
              rethrown = rethrown ? 1 : 0;
              HEAP8[this.ptr + 13 >>> 0] = rethrown;
            }
            get_rethrown() {
              return HEAP8[this.ptr + 13 >>> 0] != 0;
            }
            init(type, destructor) {
              this.set_adjusted_ptr(0);
              this.set_type(type);
              this.set_destructor(destructor);
            }
            set_adjusted_ptr(adjustedPtr) {
              HEAPU32[this.ptr + 16 >>> 2 >>> 0] = adjustedPtr;
            }
            get_adjusted_ptr() {
              return HEAPU32[this.ptr + 16 >>> 2 >>> 0];
            }
          }
          var exceptionLast = 0;
          var uncaughtExceptionCount = 0;
          var INT53_MAX = 9007199254740992;
          var INT53_MIN = -9007199254740992;
          var bigintToI53Checked = (num) => num < INT53_MIN || num > INT53_MAX ? NaN : Number(num);
          function ___cxa_throw(ptr, type, destructor) {
            ptr >>>= 0;
            type >>>= 0;
            destructor >>>= 0;
            var info = new ExceptionInfo(ptr);
            info.init(type, destructor);
            exceptionLast = ptr;
            uncaughtExceptionCount++;
            assert(false, "Exception thrown, but exception catching is not enabled. Compile with -sNO_DISABLE_EXCEPTION_CATCHING or -sEXCEPTION_CATCHING_ALLOWED=[..] to catch.");
          }
          var __abort_js = () => abort("native code called abort()");
          var tupleRegistrations = {};
          var runDestructors = (destructors) => {
            while (destructors.length) {
              var ptr = destructors.pop();
              var del = destructors.pop();
              del(ptr);
            }
          };
          function readPointer(pointer) {
            return this.fromWireType(HEAPU32[pointer >>> 2 >>> 0]);
          }
          var awaitingDependencies = {};
          var registeredTypes = {};
          var typeDependencies = {};
          var InternalError = class InternalError extends Error {
            constructor(message) {
              super(message);
              this.name = "InternalError";
            }
          };
          var throwInternalError = (message) => {
            throw new InternalError(message);
          };
          var whenDependentTypesAreResolved = (myTypes, dependentTypes, getTypeConverters) => {
            myTypes.forEach((type) => typeDependencies[type] = dependentTypes);
            function onComplete(typeConverters2) {
              var myTypeConverters = getTypeConverters(typeConverters2);
              if (myTypeConverters.length !== myTypes.length) {
                throwInternalError("Mismatched type converter count");
              }
              for (var i = 0; i < myTypes.length; ++i) {
                registerType(myTypes[i], myTypeConverters[i]);
              }
            }
            var typeConverters = new Array(dependentTypes.length);
            var unregisteredTypes = [];
            var registered = 0;
            for (let [i, dt] of dependentTypes.entries()) {
              if (registeredTypes.hasOwnProperty(dt)) {
                typeConverters[i] = registeredTypes[dt];
              } else {
                unregisteredTypes.push(dt);
                if (!awaitingDependencies.hasOwnProperty(dt)) {
                  awaitingDependencies[dt] = [];
                }
                awaitingDependencies[dt].push(() => {
                  typeConverters[i] = registeredTypes[dt];
                  ++registered;
                  if (registered === unregisteredTypes.length) {
                    onComplete(typeConverters);
                  }
                });
              }
            }
            if (0 === unregisteredTypes.length) {
              onComplete(typeConverters);
            }
          };
          var __embind_finalize_value_array = function(rawTupleType) {
            rawTupleType >>>= 0;
            var reg = tupleRegistrations[rawTupleType];
            delete tupleRegistrations[rawTupleType];
            var elements = reg.elements;
            var elementsLength = elements.length;
            var elementTypes = elements.map((elt) => elt.getterReturnType).concat(elements.map((elt) => elt.setterArgumentType));
            var rawConstructor = reg.rawConstructor;
            var rawDestructor = reg.rawDestructor;
            whenDependentTypesAreResolved([rawTupleType], elementTypes, (elementTypes2) => {
              for (const [i, elt] of elements.entries()) {
                const getterReturnType = elementTypes2[i];
                const getter = elt.getter;
                const getterContext = elt.getterContext;
                const setterArgumentType = elementTypes2[i + elementsLength];
                const setter = elt.setter;
                const setterContext = elt.setterContext;
                elt.read = (ptr) => getterReturnType.fromWireType(getter(getterContext, ptr));
                elt.write = (ptr, o) => {
                  var destructors = [];
                  setter(setterContext, ptr, setterArgumentType.toWireType(destructors, o));
                  runDestructors(destructors);
                };
              }
              return [{ name: reg.name, fromWireType: (ptr) => {
                var rv = new Array(elementsLength);
                for (var i = 0; i < elementsLength; ++i) {
                  rv[i] = elements[i].read(ptr);
                }
                rawDestructor(ptr);
                return rv;
              }, toWireType: (destructors, o) => {
                if (elementsLength !== o.length) {
                  throw new TypeError(`Incorrect number of tuple elements for ${reg.name}: expected=${elementsLength}, actual=${o.length}`);
                }
                var ptr = rawConstructor();
                for (var i = 0; i < elementsLength; ++i) {
                  elements[i].write(ptr, o[i]);
                }
                if (destructors !== null) {
                  destructors.push(rawDestructor, ptr);
                }
                return ptr;
              }, readValueFromPointer: readPointer, destructorFunction: rawDestructor }];
            });
          };
          var structRegistrations = {};
          var __embind_finalize_value_object = function(structType) {
            structType >>>= 0;
            var reg = structRegistrations[structType];
            delete structRegistrations[structType];
            var rawConstructor = reg.rawConstructor;
            var rawDestructor = reg.rawDestructor;
            var fieldRecords = reg.fields;
            var fieldTypes = fieldRecords.map((field) => field.getterReturnType).concat(fieldRecords.map((field) => field.setterArgumentType));
            whenDependentTypesAreResolved([structType], fieldTypes, (fieldTypes2) => {
              var fields = {};
              for (var [i, field] of fieldRecords.entries()) {
                const getterReturnType = fieldTypes2[i];
                const getter = field.getter;
                const getterContext = field.getterContext;
                const setterArgumentType = fieldTypes2[i + fieldRecords.length];
                const setter = field.setter;
                const setterContext = field.setterContext;
                fields[field.fieldName] = { read: (ptr) => getterReturnType.fromWireType(getter(getterContext, ptr)), write: (ptr, o) => {
                  var destructors = [];
                  setter(setterContext, ptr, setterArgumentType.toWireType(destructors, o));
                  runDestructors(destructors);
                }, optional: getterReturnType.optional };
              }
              return [{ name: reg.name, fromWireType: (ptr) => {
                var rv = {};
                for (var i2 in fields) {
                  rv[i2] = fields[i2].read(ptr);
                }
                rawDestructor(ptr);
                return rv;
              }, toWireType: (destructors, o) => {
                for (var fieldName in fields) {
                  if (!(fieldName in o) && !fields[fieldName].optional) {
                    throw new TypeError(`Missing field: "${fieldName}"`);
                  }
                }
                var ptr = rawConstructor();
                for (fieldName in fields) {
                  fields[fieldName].write(ptr, o[fieldName]);
                }
                if (destructors !== null) {
                  destructors.push(rawDestructor, ptr);
                }
                return ptr;
              }, readValueFromPointer: readPointer, destructorFunction: rawDestructor }];
            });
          };
          var AsciiToString = (ptr) => {
            ptr >>>= 0;
            var str = "";
            while (1) {
              var ch = HEAPU8[ptr++ >>> 0];
              if (!ch) return str;
              str += String.fromCharCode(ch);
            }
          };
          var BindingError = class BindingError extends Error {
            constructor(message) {
              super(message);
              this.name = "BindingError";
            }
          };
          var throwBindingError = (message) => {
            throw new BindingError(message);
          };
          function sharedRegisterType(rawType, registeredInstance, options = {}) {
            var name = registeredInstance.name;
            if (!rawType) {
              throwBindingError(`type "${name}" must have a positive integer typeid pointer`);
            }
            if (registeredTypes.hasOwnProperty(rawType)) {
              if (options.ignoreDuplicateRegistrations) {
                return;
              } else {
                throwBindingError(`Cannot register type '${name}' twice`);
              }
            }
            registeredTypes[rawType] = registeredInstance;
            delete typeDependencies[rawType];
            if (awaitingDependencies.hasOwnProperty(rawType)) {
              var callbacks = awaitingDependencies[rawType];
              delete awaitingDependencies[rawType];
              callbacks.forEach((cb) => cb());
            }
          }
          function registerType(rawType, registeredInstance, options = {}) {
            return sharedRegisterType(rawType, registeredInstance, options);
          }
          var integerReadValueFromPointer = (name, width, signed) => {
            switch (width) {
              case 1:
                return signed ? (pointer) => HEAP8[pointer >>> 0] : (pointer) => HEAPU8[pointer >>> 0];
              case 2:
                return signed ? (pointer) => HEAP16[pointer >>> 1 >>> 0] : (pointer) => HEAPU16[pointer >>> 1 >>> 0];
              case 4:
                return signed ? (pointer) => HEAP32[pointer >>> 2 >>> 0] : (pointer) => HEAPU32[pointer >>> 2 >>> 0];
              case 8:
                return signed ? (pointer) => HEAP64[pointer >>> 3 >>> 0] : (pointer) => HEAPU64[pointer >>> 3 >>> 0];
              default:
                throw new TypeError(`invalid integer width (${width}): ${name}`);
            }
          };
          var embindRepr = (v) => {
            if (v === null) {
              return "null";
            }
            var t = typeof v;
            if (t === "object" || t === "array" || t === "function") {
              return v.toString();
            } else {
              return "" + v;
            }
          };
          var assertIntegerRange = (typeName, value, minRange, maxRange) => {
            if (value < minRange || value > maxRange) {
              throw new TypeError(`Passing a number "${embindRepr(value)}" from JS side to C/C++ side to an argument of type "${typeName}", which is outside the valid range [${minRange}, ${maxRange}]!`);
            }
          };
          var __embind_register_bigint = function(primitiveType, name, size, minRange, maxRange) {
            primitiveType >>>= 0;
            name >>>= 0;
            size >>>= 0;
            name = AsciiToString(name);
            const isUnsignedType = minRange === 0n;
            let fromWireType = (value) => value;
            if (isUnsignedType) {
              const bitSize = size * 8;
              fromWireType = (value) => BigInt.asUintN(bitSize, value);
              maxRange = fromWireType(maxRange);
            }
            registerType(primitiveType, { name, fromWireType, toWireType: (destructors, value) => {
              if (typeof value == "number") {
                value = BigInt(value);
              } else if (typeof value != "bigint") {
                throw new TypeError(`Cannot convert "${embindRepr(value)}" to ${this.name}`);
              }
              assertIntegerRange(name, value, minRange, maxRange);
              return value;
            }, readValueFromPointer: integerReadValueFromPointer(name, size, !isUnsignedType), destructorFunction: null });
          };
          function __embind_register_bool(rawType, name, trueValue, falseValue) {
            rawType >>>= 0;
            name >>>= 0;
            name = AsciiToString(name);
            registerType(rawType, { name, fromWireType: function(wt) {
              return !!wt;
            }, toWireType: function(destructors, o) {
              return o ? trueValue : falseValue;
            }, readValueFromPointer: function(pointer) {
              return this.fromWireType(HEAPU8[pointer >>> 0]);
            }, destructorFunction: null });
          }
          var shallowCopyInternalPointer = (o) => ({ count: o.count, deleteScheduled: o.deleteScheduled, preservePointerOnDelete: o.preservePointerOnDelete, ptr: o.ptr, ptrType: o.ptrType, smartPtr: o.smartPtr, smartPtrType: o.smartPtrType });
          var throwInstanceAlreadyDeleted = (obj) => {
            function getInstanceTypeName(handle) {
              return handle.$$.ptrType.registeredClass.name;
            }
            throwBindingError(getInstanceTypeName(obj) + " instance already deleted");
          };
          var finalizationRegistry = false;
          var detachFinalizer = (handle) => {
          };
          var runDestructor = ($$) => {
            if ($$.smartPtr) {
              $$.smartPtrType.rawDestructor($$.smartPtr);
            } else {
              $$.ptrType.registeredClass.rawDestructor($$.ptr);
            }
          };
          var releaseClassHandle = ($$) => {
            $$.count.value -= 1;
            var toDelete = 0 === $$.count.value;
            if (toDelete) {
              runDestructor($$);
            }
          };
          var downcastPointer = (ptr, ptrClass, desiredClass) => {
            if (ptrClass === desiredClass) {
              return ptr;
            }
            if (void 0 === desiredClass.baseClass) {
              return null;
            }
            var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass);
            if (rv === null) {
              return null;
            }
            return desiredClass.downcast(rv);
          };
          var registeredPointers = {};
          var registeredInstances = {};
          var getBasestPointer = (class_, ptr) => {
            if (ptr === void 0) {
              throwBindingError("ptr should not be undefined");
            }
            while (class_.baseClass) {
              ptr = class_.upcast(ptr);
              class_ = class_.baseClass;
            }
            return ptr;
          };
          var getInheritedInstance = (class_, ptr) => {
            ptr = getBasestPointer(class_, ptr);
            return registeredInstances[ptr];
          };
          var makeClassHandle = (prototype, record) => {
            if (!record.ptrType || !record.ptr) {
              throwInternalError("makeClassHandle requires ptr and ptrType");
            }
            var hasSmartPtrType = !!record.smartPtrType;
            var hasSmartPtr = !!record.smartPtr;
            if (hasSmartPtrType !== hasSmartPtr) {
              throwInternalError("Both smartPtrType and smartPtr must be specified");
            }
            record.count = { value: 1 };
            return attachFinalizer(Object.create(prototype, { $$: { value: record, writable: true } }));
          };
          function RegisteredPointer_fromWireType(ptr) {
            var rawPointer = this.getPointee(ptr);
            if (!rawPointer) {
              this.destructor(ptr);
              return null;
            }
            var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer);
            if (void 0 !== registeredInstance) {
              if (0 === registeredInstance.$$.count.value) {
                registeredInstance.$$.ptr = rawPointer;
                registeredInstance.$$.smartPtr = ptr;
                return registeredInstance["clone"]();
              } else {
                var rv = registeredInstance["clone"]();
                this.destructor(ptr);
                return rv;
              }
            }
            function makeDefaultHandle() {
              if (this.isSmartPointer) {
                return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this.pointeeType, ptr: rawPointer, smartPtrType: this, smartPtr: ptr });
              } else {
                return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this, ptr });
              }
            }
            var actualType = this.registeredClass.getActualType(rawPointer);
            var registeredPointerRecord = registeredPointers[actualType];
            if (!registeredPointerRecord) {
              return makeDefaultHandle.call(this);
            }
            var toType;
            if (this.isConst) {
              toType = registeredPointerRecord.constPointerType;
            } else {
              toType = registeredPointerRecord.pointerType;
            }
            var dp = downcastPointer(rawPointer, this.registeredClass, toType.registeredClass);
            if (dp === null) {
              return makeDefaultHandle.call(this);
            }
            if (this.isSmartPointer) {
              return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp, smartPtrType: this, smartPtr: ptr });
            } else {
              return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp });
            }
          }
          var attachFinalizer = (handle) => {
            if (!globalThis.FinalizationRegistry) {
              attachFinalizer = (handle2) => handle2;
              return handle;
            }
            finalizationRegistry = new FinalizationRegistry((info) => {
              console.warn(info.leakWarning);
              releaseClassHandle(info.$$);
            });
            attachFinalizer = (handle2) => {
              var $$ = handle2.$$;
              var hasSmartPtr = !!$$.smartPtr;
              if (hasSmartPtr) {
                var info = { $$ };
                var cls = $$.ptrType.registeredClass;
                var err2 = new Error(`Embind found a leaked C++ instance ${cls.name} <${ptrToString($$.ptr)}>.
We'll free it automatically in this case, but this functionality is not reliable across various environments.
Make sure to invoke .delete() manually once you're done with the instance instead.
Originally allocated`);
                if ("captureStackTrace" in Error) {
                  Error.captureStackTrace(err2, RegisteredPointer_fromWireType);
                }
                info.leakWarning = err2.stack.replace(/^Error: /, "");
                finalizationRegistry.register(handle2, info, handle2);
              }
              return handle2;
            };
            detachFinalizer = (handle2) => finalizationRegistry.unregister(handle2);
            return attachFinalizer(handle);
          };
          var deletionQueue = [];
          var flushPendingDeletes = () => {
            while (deletionQueue.length) {
              var obj = deletionQueue.pop();
              obj.$$.deleteScheduled = false;
              obj["delete"]();
            }
          };
          var delayFunction;
          var init_ClassHandle = () => {
            let proto = ClassHandle.prototype;
            Object.assign(proto, { isAliasOf(other) {
              if (!(this instanceof ClassHandle)) {
                return false;
              }
              if (!(other instanceof ClassHandle)) {
                return false;
              }
              var leftClass = this.$$.ptrType.registeredClass;
              var left = this.$$.ptr;
              other.$$ = other.$$;
              var rightClass = other.$$.ptrType.registeredClass;
              var right = other.$$.ptr;
              while (leftClass.baseClass) {
                left = leftClass.upcast(left);
                leftClass = leftClass.baseClass;
              }
              while (rightClass.baseClass) {
                right = rightClass.upcast(right);
                rightClass = rightClass.baseClass;
              }
              return leftClass === rightClass && left === right;
            }, clone() {
              if (!this.$$.ptr) {
                throwInstanceAlreadyDeleted(this);
              }
              if (this.$$.preservePointerOnDelete) {
                this.$$.count.value += 1;
                return this;
              } else {
                var clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), { $$: { value: shallowCopyInternalPointer(this.$$) } }));
                clone.$$.count.value += 1;
                clone.$$.deleteScheduled = false;
                return clone;
              }
            }, delete() {
              if (!this.$$.ptr) {
                throwInstanceAlreadyDeleted(this);
              }
              if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) {
                throwBindingError("Object already scheduled for deletion");
              }
              detachFinalizer(this);
              releaseClassHandle(this.$$);
              if (!this.$$.preservePointerOnDelete) {
                this.$$.smartPtr = void 0;
                this.$$.ptr = void 0;
              }
            }, isDeleted() {
              return !this.$$.ptr;
            }, deleteLater() {
              if (!this.$$.ptr) {
                throwInstanceAlreadyDeleted(this);
              }
              if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) {
                throwBindingError("Object already scheduled for deletion");
              }
              deletionQueue.push(this);
              if (deletionQueue.length === 1 && delayFunction) {
                delayFunction(flushPendingDeletes);
              }
              this.$$.deleteScheduled = true;
              return this;
            } });
            const symbolDispose = Symbol.dispose;
            if (symbolDispose) {
              proto[symbolDispose] = proto["delete"];
            }
          };
          function ClassHandle() {
          }
          var createNamedFunction = (name, func) => Object.defineProperty(func, "name", { value: name });
          var ensureOverloadTable = (proto, methodName, humanName) => {
            if (void 0 === proto[methodName].overloadTable) {
              var prevFunc = proto[methodName];
              proto[methodName] = function(...args) {
                if (!proto[methodName].overloadTable.hasOwnProperty(args.length)) {
                  throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${args.length}) - expects one of (${proto[methodName].overloadTable})!`);
                }
                return proto[methodName].overloadTable[args.length].apply(this, args);
              };
              proto[methodName].overloadTable = [];
              proto[methodName].overloadTable[prevFunc.argCount] = prevFunc;
            }
          };
          var exposePublicSymbol = (name, value, numArguments) => {
            if (Module.hasOwnProperty(name)) {
              if (void 0 === numArguments || void 0 !== Module[name].overloadTable && void 0 !== Module[name].overloadTable[numArguments]) {
                throwBindingError(`Cannot register public name '${name}' twice`);
              }
              ensureOverloadTable(Module, name, name);
              if (Module[name].overloadTable.hasOwnProperty(numArguments)) {
                throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`);
              }
              Module[name].overloadTable[numArguments] = value;
            } else {
              Module[name] = value;
              Module[name].argCount = numArguments;
            }
          };
          var char_0 = 48;
          var char_9 = 57;
          var makeLegalFunctionName = (name) => {
            assert(typeof name === "string");
            name = name.replace(/[^a-zA-Z0-9_]/g, "$");
            var f = name.charCodeAt(0);
            if (f >= char_0 && f <= char_9) {
              return `_${name}`;
            }
            return name;
          };
          function RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast) {
            this.name = name;
            this.constructor = constructor;
            this.instancePrototype = instancePrototype;
            this.rawDestructor = rawDestructor;
            this.baseClass = baseClass;
            this.getActualType = getActualType;
            this.upcast = upcast;
            this.downcast = downcast;
            this.pureVirtualFunctions = [];
          }
          var upcastPointer = (ptr, ptrClass, desiredClass) => {
            while (ptrClass !== desiredClass) {
              if (!ptrClass.upcast) {
                throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`);
              }
              ptr = ptrClass.upcast(ptr);
              ptrClass = ptrClass.baseClass;
            }
            return ptr;
          };
          function constNoSmartPtrRawPointerToWireType(destructors, handle) {
            if (handle === null) {
              if (this.isReference) {
                throwBindingError(`null is not a valid ${this.name}`);
              }
              return 0;
            }
            if (!handle.$$) {
              throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`);
            }
            if (!handle.$$.ptr) {
              throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`);
            }
            var handleClass = handle.$$.ptrType.registeredClass;
            var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
            return ptr;
          }
          function genericPointerToWireType(destructors, handle) {
            var ptr;
            if (handle === null) {
              if (this.isReference) {
                throwBindingError(`null is not a valid ${this.name}`);
              }
              if (this.isSmartPointer) {
                ptr = this.rawConstructor();
                if (destructors !== null) {
                  destructors.push(this.rawDestructor, ptr);
                }
                return ptr;
              } else {
                return 0;
              }
            }
            if (!handle || !handle.$$) {
              throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`);
            }
            if (!handle.$$.ptr) {
              throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`);
            }
            if (!this.isConst && handle.$$.ptrType.isConst) {
              throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name} to parameter type ${this.name}`);
            }
            var handleClass = handle.$$.ptrType.registeredClass;
            ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
            if (this.isSmartPointer) {
              if (void 0 === handle.$$.smartPtr) {
                throwBindingError("Passing raw pointer to smart pointer is illegal");
              }
              switch (this.sharingPolicy) {
                case 0:
                  if (handle.$$.smartPtrType === this) {
                    ptr = handle.$$.smartPtr;
                  } else {
                    throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name} to parameter type ${this.name}`);
                  }
                  break;
                case 1:
                  ptr = handle.$$.smartPtr;
                  break;
                case 2:
                  if (handle.$$.smartPtrType === this) {
                    ptr = handle.$$.smartPtr;
                  } else {
                    var clonedHandle = handle["clone"]();
                    ptr = this.rawShare(ptr, Emval.toHandle(() => clonedHandle["delete"]()));
                    if (destructors !== null) {
                      destructors.push(this.rawDestructor, ptr);
                    }
                  }
                  break;
                default:
                  throwBindingError("Unsupported sharing policy");
              }
            }
            return ptr;
          }
          function nonConstNoSmartPtrRawPointerToWireType(destructors, handle) {
            if (handle === null) {
              if (this.isReference) {
                throwBindingError(`null is not a valid ${this.name}`);
              }
              return 0;
            }
            if (!handle.$$) {
              throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`);
            }
            if (!handle.$$.ptr) {
              throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`);
            }
            if (handle.$$.ptrType.isConst) {
              throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`);
            }
            var handleClass = handle.$$.ptrType.registeredClass;
            var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
            return ptr;
          }
          var init_RegisteredPointer = () => {
            Object.assign(RegisteredPointer.prototype, { getPointee(ptr) {
              if (this.rawGetPointee) {
                ptr = this.rawGetPointee(ptr);
              }
              return ptr;
            }, destructor(ptr) {
              this.rawDestructor?.(ptr);
            }, readValueFromPointer: readPointer, fromWireType: RegisteredPointer_fromWireType });
          };
          function RegisteredPointer(name, registeredClass, isReference, isConst, isSmartPointer, pointeeType, sharingPolicy, rawGetPointee, rawConstructor, rawShare, rawDestructor) {
            this.name = name;
            this.registeredClass = registeredClass;
            this.isReference = isReference;
            this.isConst = isConst;
            this.isSmartPointer = isSmartPointer;
            this.pointeeType = pointeeType;
            this.sharingPolicy = sharingPolicy;
            this.rawGetPointee = rawGetPointee;
            this.rawConstructor = rawConstructor;
            this.rawShare = rawShare;
            this.rawDestructor = rawDestructor;
            if (!isSmartPointer && registeredClass.baseClass === void 0) {
              if (isConst) {
                this.toWireType = constNoSmartPtrRawPointerToWireType;
                this.destructorFunction = null;
              } else {
                this.toWireType = nonConstNoSmartPtrRawPointerToWireType;
                this.destructorFunction = null;
              }
            } else {
              this.toWireType = genericPointerToWireType;
            }
          }
          var replacePublicSymbol = (name, value, numArguments) => {
            if (!Module.hasOwnProperty(name)) {
              throwInternalError("Replacing nonexistent public symbol");
            }
            if (void 0 !== Module[name].overloadTable && void 0 !== numArguments) {
              Module[name].overloadTable[numArguments] = value;
            } else {
              Module[name] = value;
              Module[name].argCount = numArguments;
            }
          };
          var wasmTableMirror = [];
          var getWasmTableEntry = (funcPtr) => {
            var func = wasmTableMirror[funcPtr];
            if (!func) {
              wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr);
            }
            assert(wasmTable.get(funcPtr) == func, "JavaScript-side Wasm function table mirror is out of date!");
            return func;
          };
          var dynCall = (sig, ptr, args = [], promising = false) => {
            assert(ptr, `null function pointer in dynCall`);
            assert(!promising, "async dynCall is not supported in this mode");
            assert(getWasmTableEntry(ptr), `missing table entry in dynCall: ${ptr}`);
            var func = getWasmTableEntry(ptr);
            var rtn = func(...args);
            function convert(rtn2) {
              return sig[0] == "p" ? rtn2 >>> 0 : rtn2;
            }
            return convert(rtn);
          };
          var getDynCaller = (sig, ptr, promising = false) => {
            assert(sig.includes("j") || sig.includes("p"), "getDynCaller should only be called with i64 sigs");
            return (...args) => dynCall(sig, ptr, args, promising);
          };
          var embind__requireFunction = (signature, rawFunction, isAsync = false) => {
            assert(!isAsync, "Async bindings are only supported with JSPI.");
            signature = AsciiToString(signature);
            function makeDynCaller() {
              if (signature.includes("p")) {
                return getDynCaller(signature, rawFunction, isAsync);
              }
              var rtn = getWasmTableEntry(rawFunction);
              return rtn;
            }
            var fp = makeDynCaller();
            if (typeof fp != "function") {
              throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`);
            }
            return fp;
          };
          class UnboundTypeError extends Error {
          }
          var getTypeName = (type) => {
            var ptr = ___getTypeName(type);
            var rv = AsciiToString(ptr);
            _free(ptr);
            return rv;
          };
          var throwUnboundTypeError = (message, types) => {
            var unboundTypes = [];
            var seen = {};
            function visit(type) {
              if (seen[type]) {
                return;
              }
              if (registeredTypes[type]) {
                return;
              }
              if (typeDependencies[type]) {
                typeDependencies[type].forEach(visit);
                return;
              }
              unboundTypes.push(type);
              seen[type] = true;
            }
            types.forEach(visit);
            throw new UnboundTypeError(`${message}: ` + unboundTypes.map(getTypeName).join([", "]));
          };
          function __embind_register_class(rawType, rawPointerType, rawConstPointerType, baseClassRawType, getActualTypeSignature, getActualType, upcastSignature, upcast, downcastSignature, downcast, name, destructorSignature, rawDestructor) {
            rawType >>>= 0;
            rawPointerType >>>= 0;
            rawConstPointerType >>>= 0;
            baseClassRawType >>>= 0;
            getActualTypeSignature >>>= 0;
            getActualType >>>= 0;
            upcastSignature >>>= 0;
            upcast >>>= 0;
            downcastSignature >>>= 0;
            downcast >>>= 0;
            name >>>= 0;
            destructorSignature >>>= 0;
            rawDestructor >>>= 0;
            name = AsciiToString(name);
            getActualType = embind__requireFunction(getActualTypeSignature, getActualType);
            upcast &&= embind__requireFunction(upcastSignature, upcast);
            downcast &&= embind__requireFunction(downcastSignature, downcast);
            rawDestructor = embind__requireFunction(destructorSignature, rawDestructor);
            var legalFunctionName = makeLegalFunctionName(name);
            exposePublicSymbol(legalFunctionName, function() {
              throwUnboundTypeError(`Cannot construct ${name} due to unbound types`, [baseClassRawType]);
            });
            whenDependentTypesAreResolved([rawType, rawPointerType, rawConstPointerType], baseClassRawType ? [baseClassRawType] : [], (base) => {
              base = base[0];
              var baseClass;
              var basePrototype;
              if (baseClassRawType) {
                baseClass = base.registeredClass;
                basePrototype = baseClass.instancePrototype;
              } else {
                basePrototype = ClassHandle.prototype;
              }
              var constructor = createNamedFunction(name, function(...args) {
                if (Object.getPrototypeOf(this) !== instancePrototype) {
                  throw new BindingError(`Use 'new' to construct ${name}`);
                }
                if (void 0 === registeredClass.constructor_body) {
                  throw new BindingError(`${name} has no accessible constructor`);
                }
                var body = registeredClass.constructor_body[args.length];
                if (void 0 === body) {
                  throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${args.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`);
                }
                return body.apply(this, args);
              });
              var instancePrototype = Object.create(basePrototype, { constructor: { value: constructor } });
              constructor.prototype = instancePrototype;
              var registeredClass = new RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast);
              if (registeredClass.baseClass) {
                registeredClass.baseClass.__derivedClasses ??= [];
                registeredClass.baseClass.__derivedClasses.push(registeredClass);
              }
              var referenceConverter = new RegisteredPointer(name, registeredClass, true, false, false);
              var pointerConverter = new RegisteredPointer(name + "*", registeredClass, false, false, false);
              var constPointerConverter = new RegisteredPointer(name + " const*", registeredClass, false, true, false);
              registeredPointers[rawType] = { pointerType: pointerConverter, constPointerType: constPointerConverter };
              replacePublicSymbol(legalFunctionName, constructor);
              return [referenceConverter, pointerConverter, constPointerConverter];
            });
          }
          var heap32VectorToArray = (count, firstElement) => {
            var array = [];
            for (var i = 0; i < count; i++) {
              array.push(HEAPU32[firstElement + i * 4 >>> 2 >>> 0]);
            }
            return array;
          };
          function usesDestructorStack(argTypes) {
            for (var i = 1; i < argTypes.length; ++i) {
              if (argTypes[i] !== null && argTypes[i].destructorFunction === void 0) {
                return true;
              }
            }
            return false;
          }
          function getRequiredArgCount(argTypes) {
            var requiredArgCount = argTypes.length - 2;
            for (var i = argTypes.length - 1; i >= 2; --i) {
              if (!argTypes[i].optional) {
                break;
              }
              requiredArgCount--;
            }
            return requiredArgCount;
          }
          function checkArgCount(numArgs, minArgs, maxArgs, humanName, throwBindingError2) {
            if (numArgs < minArgs || numArgs > maxArgs) {
              var argCountMessage = minArgs == maxArgs ? minArgs : `${minArgs} to ${maxArgs}`;
              throwBindingError2(`function ${humanName} called with ${numArgs} arguments, expected ${argCountMessage}`);
            }
          }
          function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc, isAsync) {
            var argCount = argTypes.length;
            if (argCount < 2) {
              throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!");
            }
            assert(!isAsync, "Async bindings are only supported with JSPI.");
            var isClassMethodFunc = argTypes[1] !== null && classType !== null;
            var needsDestructorStack = usesDestructorStack(argTypes);
            var returns = !argTypes[0].isVoid;
            var expectedArgCount = argCount - 2;
            var minArgs = getRequiredArgCount(argTypes);
            var argsWired = new Array(expectedArgCount);
            var invokerFuncArgs = [];
            var destructors = [];
            var invokerFn = function(...args) {
              checkArgCount(args.length, minArgs, expectedArgCount, humanName, throwBindingError);
              destructors.length = 0;
              var thisWired;
              invokerFuncArgs.length = isClassMethodFunc ? 2 : 1;
              invokerFuncArgs[0] = cppTargetFunc;
              if (isClassMethodFunc) {
                thisWired = argTypes[1].toWireType(destructors, this);
                invokerFuncArgs[1] = thisWired;
              }
              for (var i = 0; i < expectedArgCount; ++i) {
                argsWired[i] = argTypes[i + 2].toWireType(destructors, args[i]);
                invokerFuncArgs.push(argsWired[i]);
              }
              var rv = cppInvokerFunc(...invokerFuncArgs);
              function onDone(rv2) {
                if (needsDestructorStack) {
                  runDestructors(destructors);
                } else {
                  for (var i2 = isClassMethodFunc ? 1 : 2; i2 < argTypes.length; i2++) {
                    var param = i2 === 1 ? thisWired : argsWired[i2 - 2];
                    if (argTypes[i2].destructorFunction !== null) {
                      argTypes[i2].destructorFunction(param);
                    }
                  }
                }
                if (returns) {
                  return argTypes[0].fromWireType(rv2);
                }
              }
              return onDone(rv);
            };
            return createNamedFunction(humanName, invokerFn);
          }
          var __embind_register_class_constructor = function(rawClassType, argCount, rawArgTypesAddr, invokerSignature, invoker, rawConstructor) {
            rawClassType >>>= 0;
            rawArgTypesAddr >>>= 0;
            invokerSignature >>>= 0;
            invoker >>>= 0;
            rawConstructor >>>= 0;
            assert(argCount > 0);
            var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
            invoker = embind__requireFunction(invokerSignature, invoker);
            whenDependentTypesAreResolved([], [rawClassType], (classType) => {
              classType = classType[0];
              var humanName = `constructor ${classType.name}`;
              if (void 0 === classType.registeredClass.constructor_body) {
                classType.registeredClass.constructor_body = [];
              }
              if (void 0 !== classType.registeredClass.constructor_body[argCount - 1]) {
                throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount - 1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);
              }
              classType.registeredClass.constructor_body[argCount - 1] = () => {
                throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`, rawArgTypes);
              };
              whenDependentTypesAreResolved([], rawArgTypes, (argTypes) => {
                argTypes.splice(1, 0, null);
                classType.registeredClass.constructor_body[argCount - 1] = craftInvokerFunction(humanName, argTypes, null, invoker, rawConstructor);
                return [];
              });
              return [];
            });
          };
          var getFunctionName = (signature) => {
            signature = signature.trim();
            const argsIndex = signature.indexOf("(");
            if (argsIndex === -1) return signature;
            assert(signature.endsWith(")"), "Parentheses for argument names should match.");
            return signature.slice(0, argsIndex);
          };
          var __embind_register_class_function = function(rawClassType, methodName, argCount, rawArgTypesAddr, invokerSignature, rawInvoker, context, isPureVirtual, isAsync, isNonnullReturn) {
            rawClassType >>>= 0;
            methodName >>>= 0;
            rawArgTypesAddr >>>= 0;
            invokerSignature >>>= 0;
            rawInvoker >>>= 0;
            context >>>= 0;
            var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
            methodName = AsciiToString(methodName);
            methodName = getFunctionName(methodName);
            rawInvoker = embind__requireFunction(invokerSignature, rawInvoker, isAsync);
            whenDependentTypesAreResolved([], [rawClassType], (classType) => {
              classType = classType[0];
              var humanName = `${classType.name}.${methodName}`;
              if (methodName.startsWith("@@")) {
                methodName = Symbol[methodName.substring(2)];
              }
              if (isPureVirtual) {
                classType.registeredClass.pureVirtualFunctions.push(methodName);
              }
              function unboundTypesHandler() {
                throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`, rawArgTypes);
              }
              var proto = classType.registeredClass.instancePrototype;
              var method = proto[methodName];
              if (void 0 === method || void 0 === method.overloadTable && method.className !== classType.name && method.argCount === argCount - 2) {
                unboundTypesHandler.argCount = argCount - 2;
                unboundTypesHandler.className = classType.name;
                proto[methodName] = unboundTypesHandler;
              } else {
                ensureOverloadTable(proto, methodName, humanName);
                proto[methodName].overloadTable[argCount - 2] = unboundTypesHandler;
              }
              whenDependentTypesAreResolved([], rawArgTypes, (argTypes) => {
                var memberFunction = craftInvokerFunction(humanName, argTypes, classType, rawInvoker, context, isAsync);
                if (void 0 === proto[methodName].overloadTable) {
                  memberFunction.argCount = argCount - 2;
                  proto[methodName] = memberFunction;
                } else {
                  proto[methodName].overloadTable[argCount - 2] = memberFunction;
                }
                return [];
              });
              return [];
            });
          };
          var emval_freelist = [];
          var emval_handles = [0, 1, , 1, null, 1, true, 1, false, 1];
          function __emval_decref(handle) {
            handle >>>= 0;
            if (handle > 9 && 0 === --emval_handles[handle + 1]) {
              assert(emval_handles[handle] !== void 0, `Decref for unallocated handle.`);
              emval_handles[handle] = void 0;
              emval_freelist.push(handle);
            }
          }
          var Emval = { toValue: (handle) => {
            if (!handle) {
              throwBindingError(`Cannot use deleted val. handle = ${handle}`);
            }
            assert(handle === 2 || emval_handles[handle] !== void 0 && handle % 2 === 0, `invalid handle: ${handle}`);
            return emval_handles[handle];
          }, toHandle: (value) => {
            switch (value) {
              case void 0:
                return 2;
              case null:
                return 4;
              case true:
                return 6;
              case false:
                return 8;
              default: {
                const handle = emval_freelist.pop() || emval_handles.length;
                emval_handles[handle] = value;
                emval_handles[handle + 1] = 1;
                return handle;
              }
            }
          } };
          var EmValType = { name: "emscripten::val", fromWireType: (handle) => {
            var rv = Emval.toValue(handle);
            __emval_decref(handle);
            return rv;
          }, toWireType: (destructors, value) => Emval.toHandle(value), readValueFromPointer: readPointer, destructorFunction: null };
          function __embind_register_emval(rawType) {
            rawType >>>= 0;
            return registerType(rawType, EmValType);
          }
          var floatReadValueFromPointer = (name, width) => {
            switch (width) {
              case 4:
                return function(pointer) {
                  return this.fromWireType(HEAPF32[pointer >>> 2 >>> 0]);
                };
              case 8:
                return function(pointer) {
                  return this.fromWireType(HEAPF64[pointer >>> 3 >>> 0]);
                };
              default:
                throw new TypeError(`invalid float width (${width}): ${name}`);
            }
          };
          var __embind_register_float = function(rawType, name, size) {
            rawType >>>= 0;
            name >>>= 0;
            size >>>= 0;
            name = AsciiToString(name);
            registerType(rawType, { name, fromWireType: (value) => value, toWireType: (destructors, value) => {
              if (typeof value != "number" && typeof value != "boolean") {
                throw new TypeError(`Cannot convert ${embindRepr(value)} to ${this.name}`);
              }
              return value;
            }, readValueFromPointer: floatReadValueFromPointer(name, size), destructorFunction: null });
          };
          function __embind_register_function(name, argCount, rawArgTypesAddr, signature, rawInvoker, fn, isAsync, isNonnullReturn) {
            name >>>= 0;
            rawArgTypesAddr >>>= 0;
            signature >>>= 0;
            rawInvoker >>>= 0;
            fn >>>= 0;
            var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
            name = AsciiToString(name);
            name = getFunctionName(name);
            rawInvoker = embind__requireFunction(signature, rawInvoker, isAsync);
            exposePublicSymbol(name, function() {
              throwUnboundTypeError(`Cannot call ${name} due to unbound types`, argTypes);
            }, argCount - 1);
            whenDependentTypesAreResolved([], argTypes, (argTypes2) => {
              var invokerArgsArray = [argTypes2[0], null].concat(argTypes2.slice(1));
              replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null, rawInvoker, fn, isAsync), argCount - 1);
              return [];
            });
          }
          var __embind_register_integer = function(primitiveType, name, size, minRange, maxRange) {
            primitiveType >>>= 0;
            name >>>= 0;
            size >>>= 0;
            name = AsciiToString(name);
            const isUnsignedType = minRange === 0;
            let fromWireType = (value) => value;
            if (isUnsignedType) {
              var bitshift = 32 - 8 * size;
              fromWireType = (value) => value << bitshift >>> bitshift;
              maxRange = fromWireType(maxRange);
            }
            registerType(primitiveType, { name, fromWireType, toWireType: (destructors, value) => {
              if (typeof value != "number" && typeof value != "boolean") {
                throw new TypeError(`Cannot convert "${embindRepr(value)}" to ${name}`);
              }
              assertIntegerRange(name, value, minRange, maxRange);
              return value;
            }, readValueFromPointer: integerReadValueFromPointer(name, size, minRange !== 0), destructorFunction: null });
          };
          function __embind_register_memory_view(rawType, dataTypeIndex, name) {
            rawType >>>= 0;
            name >>>= 0;
            var typeMapping = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array, BigInt64Array, BigUint64Array];
            var TA = typeMapping[dataTypeIndex];
            function decodeMemoryView(handle) {
              var size = HEAPU32[handle >>> 2 >>> 0];
              var data = HEAPU32[handle + 4 >>> 2 >>> 0];
              return new TA(HEAP8.buffer, data, size);
            }
            name = AsciiToString(name);
            registerType(rawType, { name, fromWireType: decodeMemoryView, readValueFromPointer: decodeMemoryView }, { ignoreDuplicateRegistrations: true });
          }
          var EmValOptionalType = Object.assign({ optional: true }, EmValType);
          function __embind_register_optional(rawOptionalType, rawType) {
            rawOptionalType >>>= 0;
            rawType >>>= 0;
            registerType(rawOptionalType, EmValOptionalType);
          }
          var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => {
            outIdx >>>= 0;
            assert(typeof str === "string", `stringToUTF8Array expects a string (got ${typeof str})`);
            if (!(maxBytesToWrite > 0)) return 0;
            var startIdx = outIdx;
            var endIdx = outIdx + maxBytesToWrite - 1;
            for (var i = 0; i < str.length; ++i) {
              var u = str.codePointAt(i);
              if (u <= 127) {
                if (outIdx >= endIdx) break;
                heap[outIdx++ >>> 0] = u;
              } else if (u <= 2047) {
                if (outIdx + 1 >= endIdx) break;
                heap[outIdx++ >>> 0] = 192 | u >> 6;
                heap[outIdx++ >>> 0] = 128 | u & 63;
              } else if (u <= 65535) {
                if (outIdx + 2 >= endIdx) break;
                heap[outIdx++ >>> 0] = 224 | u >> 12;
                heap[outIdx++ >>> 0] = 128 | u >> 6 & 63;
                heap[outIdx++ >>> 0] = 128 | u & 63;
              } else {
                if (outIdx + 3 >= endIdx) break;
                if (u > 1114111) warnOnce("Invalid Unicode code point " + ptrToString(u) + " encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).");
                heap[outIdx++ >>> 0] = 240 | u >> 18;
                heap[outIdx++ >>> 0] = 128 | u >> 12 & 63;
                heap[outIdx++ >>> 0] = 128 | u >> 6 & 63;
                heap[outIdx++ >>> 0] = 128 | u & 63;
                i++;
              }
            }
            heap[outIdx >>> 0] = 0;
            return outIdx - startIdx;
          };
          var stringToUTF8 = (str, outPtr, maxBytesToWrite) => {
            assert(typeof maxBytesToWrite == "number", "stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");
            return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
          };
          var lengthBytesUTF8 = (str) => {
            var len = 0;
            for (var i = 0; i < str.length; ++i) {
              var c = str.charCodeAt(i);
              if (c <= 127) {
                len++;
              } else if (c <= 2047) {
                len += 2;
              } else if (c >= 55296 && c <= 57343) {
                len += 4;
                ++i;
              } else {
                len += 3;
              }
            }
            return len;
          };
          var UTF8Decoder = globalThis.TextDecoder && new TextDecoder();
          var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => {
            var maxIdx = idx + maxBytesToRead;
            if (ignoreNul) return maxIdx;
            while (heapOrArray[idx] && !(idx >= maxIdx)) ++idx;
            return idx;
          };
          var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead, ignoreNul) => {
            idx >>>= 0;
            var endPtr = findStringEnd(heapOrArray, idx, maxBytesToRead, ignoreNul);
            if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
              return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));
            }
            var str = "";
            while (idx < endPtr) {
              var u0 = heapOrArray[idx++];
              if (!(u0 & 128)) {
                str += String.fromCharCode(u0);
                continue;
              }
              var u1 = heapOrArray[idx++] & 63;
              if ((u0 & 224) == 192) {
                str += String.fromCharCode((u0 & 31) << 6 | u1);
                continue;
              }
              var u2 = heapOrArray[idx++] & 63;
              if ((u0 & 240) == 224) {
                u0 = (u0 & 15) << 12 | u1 << 6 | u2;
              } else {
                if ((u0 & 248) != 240) warnOnce("Invalid UTF-8 leading byte " + ptrToString(u0) + " encountered when deserializing a UTF-8 string in wasm memory to a JS string!");
                u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63;
              }
              if (u0 < 65536) {
                str += String.fromCharCode(u0);
              } else {
                var ch = u0 - 65536;
                str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
              }
            }
            return str;
          };
          var UTF8ToString = (ptr, maxBytesToRead, ignoreNul) => {
            assert(typeof ptr == "number", `UTF8ToString expects a number (got ${typeof ptr})`);
            ptr >>>= 0;
            return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead, ignoreNul) : "";
          };
          function __embind_register_std_string(rawType, name) {
            rawType >>>= 0;
            name >>>= 0;
            name = AsciiToString(name);
            var stdStringIsUTF8 = true;
            registerType(rawType, { name, fromWireType(value) {
              var length = HEAPU32[value >>> 2 >>> 0];
              var payload = value + 4;
              var str;
              if (stdStringIsUTF8) {
                str = UTF8ToString(payload, length, true);
              } else {
                str = "";
                for (var i = 0; i < length; ++i) {
                  str += String.fromCharCode(HEAPU8[payload + i >>> 0]);
                }
              }
              _free(value);
              return str;
            }, toWireType(destructors, value) {
              if (value instanceof ArrayBuffer) {
                value = new Uint8Array(value);
              }
              var length;
              var valueIsOfTypeString = typeof value == "string";
              if (!(valueIsOfTypeString || ArrayBuffer.isView(value) && value.BYTES_PER_ELEMENT == 1)) {
                throwBindingError("Cannot pass non-string to std::string");
              }
              if (stdStringIsUTF8 && valueIsOfTypeString) {
                length = lengthBytesUTF8(value);
              } else {
                length = value.length;
              }
              var base = _malloc(4 + length + 1);
              var ptr = base + 4;
              HEAPU32[base >>> 2 >>> 0] = length;
              if (valueIsOfTypeString) {
                if (stdStringIsUTF8) {
                  stringToUTF8(value, ptr, length + 1);
                } else {
                  for (var i = 0; i < length; ++i) {
                    var charCode = value.charCodeAt(i);
                    if (charCode > 255) {
                      _free(base);
                      throwBindingError("String has UTF-16 code units that do not fit in 8 bits");
                    }
                    HEAPU8[ptr + i >>> 0] = charCode;
                  }
                }
              } else {
                HEAPU8.set(value, ptr >>> 0);
              }
              if (destructors !== null) {
                destructors.push(_free, base);
              }
              return base;
            }, readValueFromPointer: readPointer, destructorFunction(ptr) {
              _free(ptr);
            } });
          }
          var UTF16Decoder = globalThis.TextDecoder ? new TextDecoder("utf-16le") : void 0;
          var UTF16ToString = (ptr, maxBytesToRead, ignoreNul) => {
            assert(ptr % 2 == 0, "Pointer passed to UTF16ToString must be aligned to two bytes!");
            var idx = ptr >>> 1;
            var endIdx = findStringEnd(HEAPU16, idx, maxBytesToRead / 2, ignoreNul);
            if (endIdx - idx > 16 && UTF16Decoder) return UTF16Decoder.decode(HEAPU16.subarray(idx >>> 0, endIdx >>> 0));
            var str = "";
            for (var i = idx; i < endIdx; ++i) {
              var codeUnit = HEAPU16[i >>> 0];
              str += String.fromCharCode(codeUnit);
            }
            return str;
          };
          var stringToUTF16 = (str, outPtr, maxBytesToWrite) => {
            assert(outPtr % 2 == 0, "Pointer passed to stringToUTF16 must be aligned to two bytes!");
            assert(typeof maxBytesToWrite == "number", "stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");
            maxBytesToWrite ??= 2147483647;
            if (maxBytesToWrite < 2) return 0;
            maxBytesToWrite -= 2;
            var startPtr = outPtr;
            var numCharsToWrite = maxBytesToWrite < str.length * 2 ? maxBytesToWrite / 2 : str.length;
            for (var i = 0; i < numCharsToWrite; ++i) {
              var codeUnit = str.charCodeAt(i);
              HEAP16[outPtr >>> 1 >>> 0] = codeUnit;
              outPtr += 2;
            }
            HEAP16[outPtr >>> 1 >>> 0] = 0;
            return outPtr - startPtr;
          };
          var lengthBytesUTF16 = (str) => str.length * 2;
          var UTF32ToString = (ptr, maxBytesToRead, ignoreNul) => {
            assert(ptr % 4 == 0, "Pointer passed to UTF32ToString must be aligned to four bytes!");
            var str = "";
            var startIdx = ptr >>> 2;
            for (var i = 0; !(i >= maxBytesToRead / 4); i++) {
              var utf32 = HEAPU32[startIdx + i >>> 0];
              if (!utf32 && !ignoreNul) break;
              str += String.fromCodePoint(utf32);
            }
            return str;
          };
          var stringToUTF32 = (str, outPtr, maxBytesToWrite) => {
            outPtr >>>= 0;
            assert(outPtr % 4 == 0, "Pointer passed to stringToUTF32 must be aligned to four bytes!");
            assert(typeof maxBytesToWrite == "number", "stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");
            maxBytesToWrite ??= 2147483647;
            if (maxBytesToWrite < 4) return 0;
            var startPtr = outPtr;
            var endPtr = startPtr + maxBytesToWrite - 4;
            for (var i = 0; i < str.length; ++i) {
              var codePoint = str.codePointAt(i);
              if (codePoint > 65535) {
                i++;
              }
              HEAP32[outPtr >>> 2 >>> 0] = codePoint;
              outPtr += 4;
              if (outPtr + 4 > endPtr) break;
            }
            HEAP32[outPtr >>> 2 >>> 0] = 0;
            return outPtr - startPtr;
          };
          var lengthBytesUTF32 = (str) => {
            var len = 0;
            for (var i = 0; i < str.length; ++i) {
              var codePoint = str.codePointAt(i);
              if (codePoint > 65535) {
                i++;
              }
              len += 4;
            }
            return len;
          };
          function __embind_register_std_wstring(rawType, charSize, name) {
            rawType >>>= 0;
            charSize >>>= 0;
            name >>>= 0;
            name = AsciiToString(name);
            var decodeString, encodeString, lengthBytesUTF;
            if (charSize === 2) {
              decodeString = UTF16ToString;
              encodeString = stringToUTF16;
              lengthBytesUTF = lengthBytesUTF16;
            } else {
              assert(charSize === 4, "only 2-byte and 4-byte strings are currently supported");
              decodeString = UTF32ToString;
              encodeString = stringToUTF32;
              lengthBytesUTF = lengthBytesUTF32;
            }
            registerType(rawType, { name, fromWireType: (value) => {
              var length = HEAPU32[value >>> 2 >>> 0];
              var str = decodeString(value + 4, length * charSize, true);
              _free(value);
              return str;
            }, toWireType: (destructors, value) => {
              if (!(typeof value == "string")) {
                throwBindingError(`Cannot pass non-string to C++ string type ${name}`);
              }
              var length = lengthBytesUTF(value);
              var ptr = _malloc(4 + length + charSize);
              HEAPU32[ptr >>> 2 >>> 0] = length / charSize;
              encodeString(value, ptr + 4, length + charSize);
              if (destructors !== null) {
                destructors.push(_free, ptr);
              }
              return ptr;
            }, readValueFromPointer: readPointer, destructorFunction(ptr) {
              _free(ptr);
            } });
          }
          function __embind_register_value_array(rawType, name, constructorSignature, rawConstructor, destructorSignature, rawDestructor) {
            rawType >>>= 0;
            name >>>= 0;
            constructorSignature >>>= 0;
            rawConstructor >>>= 0;
            destructorSignature >>>= 0;
            rawDestructor >>>= 0;
            tupleRegistrations[rawType] = { name: AsciiToString(name), rawConstructor: embind__requireFunction(constructorSignature, rawConstructor), rawDestructor: embind__requireFunction(destructorSignature, rawDestructor), elements: [] };
          }
          function __embind_register_value_array_element(rawTupleType, getterReturnType, getterSignature, getter, getterContext, setterArgumentType, setterSignature, setter, setterContext) {
            rawTupleType >>>= 0;
            getterReturnType >>>= 0;
            getterSignature >>>= 0;
            getter >>>= 0;
            getterContext >>>= 0;
            setterArgumentType >>>= 0;
            setterSignature >>>= 0;
            setter >>>= 0;
            setterContext >>>= 0;
            tupleRegistrations[rawTupleType].elements.push({ getterReturnType, getter: embind__requireFunction(getterSignature, getter), getterContext, setterArgumentType, setter: embind__requireFunction(setterSignature, setter), setterContext });
          }
          function __embind_register_value_object(rawType, name, constructorSignature, rawConstructor, destructorSignature, rawDestructor) {
            rawType >>>= 0;
            name >>>= 0;
            constructorSignature >>>= 0;
            rawConstructor >>>= 0;
            destructorSignature >>>= 0;
            rawDestructor >>>= 0;
            structRegistrations[rawType] = { name: AsciiToString(name), rawConstructor: embind__requireFunction(constructorSignature, rawConstructor), rawDestructor: embind__requireFunction(destructorSignature, rawDestructor), fields: [] };
          }
          function __embind_register_value_object_field(structType, fieldName, getterReturnType, getterSignature, getter, getterContext, setterArgumentType, setterSignature, setter, setterContext) {
            structType >>>= 0;
            fieldName >>>= 0;
            getterReturnType >>>= 0;
            getterSignature >>>= 0;
            getter >>>= 0;
            getterContext >>>= 0;
            setterArgumentType >>>= 0;
            setterSignature >>>= 0;
            setter >>>= 0;
            setterContext >>>= 0;
            structRegistrations[structType].fields.push({ fieldName: AsciiToString(fieldName), getterReturnType, getter: embind__requireFunction(getterSignature, getter), getterContext, setterArgumentType, setter: embind__requireFunction(setterSignature, setter), setterContext });
          }
          var __embind_register_void = function(rawType, name) {
            rawType >>>= 0;
            name >>>= 0;
            name = AsciiToString(name);
            registerType(rawType, { isVoid: true, name, fromWireType: () => void 0, toWireType: (destructors, o) => void 0 });
          };
          var runtimeKeepaliveCounter = 0;
          var __emscripten_runtime_keepalive_clear = () => {
            noExitRuntime = false;
            runtimeKeepaliveCounter = 0;
          };
          var emval_methodCallers = [];
          var emval_addMethodCaller = (caller) => {
            var id = emval_methodCallers.length;
            emval_methodCallers.push(caller);
            return id;
          };
          var requireRegisteredType = (rawType, humanName) => {
            var impl = registeredTypes[rawType];
            if (void 0 === impl) {
              throwBindingError(`${humanName} has unknown type ${getTypeName(rawType)}`);
            }
            return impl;
          };
          var emval_lookupTypes = (argCount, argTypes) => {
            var a = new Array(argCount);
            for (var i = 0; i < argCount; ++i) {
              a[i] = requireRegisteredType(HEAPU32[argTypes + i * 4 >>> 2 >>> 0], `parameter ${i}`);
            }
            return a;
          };
          var emval_returnValue = (toReturnWire, destructorsRef, handle) => {
            var destructors = [];
            var result = toReturnWire(destructors, handle);
            if (destructors.length) {
              HEAPU32[destructorsRef >>> 2 >>> 0] = Emval.toHandle(destructors);
            }
            return result;
          };
          var emval_symbols = {};
          var getStringOrSymbol = (address) => {
            var symbol = emval_symbols[address];
            if (symbol === void 0) {
              return AsciiToString(address);
            }
            return symbol;
          };
          var __emval_create_invoker = function(argCount, argTypesPtr, kind) {
            argTypesPtr >>>= 0;
            var GenericWireTypeSize = 8;
            var [retType, ...argTypes] = emval_lookupTypes(argCount, argTypesPtr);
            var toReturnWire = retType.toWireType.bind(retType);
            var argFromPtr = argTypes.map((type) => type.readValueFromPointer.bind(type));
            argCount--;
            var argN = new Array(argCount);
            var invokerFunction = (handle, methodName, destructorsRef, args) => {
              var offset = 0;
              for (var i = 0; i < argCount; ++i) {
                argN[i] = argFromPtr[i](args + offset);
                offset += GenericWireTypeSize;
              }
              var rv;
              switch (kind) {
                case 0:
                  rv = Emval.toValue(handle).apply(null, argN);
                  break;
                case 2:
                  rv = Reflect.construct(Emval.toValue(handle), argN);
                  break;
                case 3:
                  rv = argN[0];
                  break;
                case 1:
                  rv = Emval.toValue(handle)[getStringOrSymbol(methodName)](...argN);
                  break;
              }
              return emval_returnValue(toReturnWire, destructorsRef, rv);
            };
            var functionName = `methodCaller<(${argTypes.map((t) => t.name)}) => ${retType.name}>`;
            return emval_addMethodCaller(createNamedFunction(functionName, invokerFunction));
          };
          function __emval_get_global(name) {
            name >>>= 0;
            if (!name) {
              return Emval.toHandle(globalThis);
            }
            name = getStringOrSymbol(name);
            return Emval.toHandle(globalThis[name]);
          }
          function __emval_get_property(handle, key) {
            handle >>>= 0;
            key >>>= 0;
            handle = Emval.toValue(handle);
            key = Emval.toValue(key);
            return Emval.toHandle(handle[key]);
          }
          function __emval_incref(handle) {
            handle >>>= 0;
            if (handle > 9) {
              emval_handles[handle + 1] += 1;
            }
          }
          function __emval_instanceof(object, constructor) {
            object >>>= 0;
            constructor >>>= 0;
            object = Emval.toValue(object);
            constructor = Emval.toValue(constructor);
            return object instanceof constructor;
          }
          function __emval_invoke(caller, handle, methodName, destructorsRef, args) {
            caller >>>= 0;
            handle >>>= 0;
            methodName >>>= 0;
            destructorsRef >>>= 0;
            args >>>= 0;
            return emval_methodCallers[caller](handle, methodName, destructorsRef, args);
          }
          function __emval_is_number(handle) {
            handle >>>= 0;
            handle = Emval.toValue(handle);
            return typeof handle == "number";
          }
          function __emval_is_string(handle) {
            handle >>>= 0;
            handle = Emval.toValue(handle);
            return typeof handle == "string";
          }
          function __emval_new_array() {
            return Emval.toHandle([]);
          }
          function __emval_new_cstring(v) {
            v >>>= 0;
            return Emval.toHandle(getStringOrSymbol(v));
          }
          function __emval_new_object() {
            return Emval.toHandle({});
          }
          function __emval_run_destructors(handle) {
            handle >>>= 0;
            var destructors = Emval.toValue(handle);
            runDestructors(destructors);
            __emval_decref(handle);
          }
          function __emval_set_property(handle, key, value) {
            handle >>>= 0;
            key >>>= 0;
            value >>>= 0;
            handle = Emval.toValue(handle);
            key = Emval.toValue(key);
            value = Emval.toValue(value);
            handle[key] = value;
          }
          function __gmtime_js(time, tmPtr) {
            time = bigintToI53Checked(time);
            tmPtr >>>= 0;
            var date = new Date(time * 1e3);
            HEAP32[tmPtr >>> 2 >>> 0] = date.getUTCSeconds();
            HEAP32[tmPtr + 4 >>> 2 >>> 0] = date.getUTCMinutes();
            HEAP32[tmPtr + 8 >>> 2 >>> 0] = date.getUTCHours();
            HEAP32[tmPtr + 12 >>> 2 >>> 0] = date.getUTCDate();
            HEAP32[tmPtr + 16 >>> 2 >>> 0] = date.getUTCMonth();
            HEAP32[tmPtr + 20 >>> 2 >>> 0] = date.getUTCFullYear() - 1900;
            HEAP32[tmPtr + 24 >>> 2 >>> 0] = date.getUTCDay();
            var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);
            var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0;
            HEAP32[tmPtr + 28 >>> 2 >>> 0] = yday;
          }
          var isLeapYear = (year) => year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
          var MONTH_DAYS_LEAP_CUMULATIVE = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335];
          var MONTH_DAYS_REGULAR_CUMULATIVE = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];
          var ydayFromDate = (date) => {
            var leap = isLeapYear(date.getFullYear());
            var monthDaysCumulative = leap ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE;
            var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;
            return yday;
          };
          function __localtime_js(time, tmPtr) {
            time = bigintToI53Checked(time);
            tmPtr >>>= 0;
            var date = new Date(time * 1e3);
            HEAP32[tmPtr >>> 2 >>> 0] = date.getSeconds();
            HEAP32[tmPtr + 4 >>> 2 >>> 0] = date.getMinutes();
            HEAP32[tmPtr + 8 >>> 2 >>> 0] = date.getHours();
            HEAP32[tmPtr + 12 >>> 2 >>> 0] = date.getDate();
            HEAP32[tmPtr + 16 >>> 2 >>> 0] = date.getMonth();
            HEAP32[tmPtr + 20 >>> 2 >>> 0] = date.getFullYear() - 1900;
            HEAP32[tmPtr + 24 >>> 2 >>> 0] = date.getDay();
            var yday = ydayFromDate(date) | 0;
            HEAP32[tmPtr + 28 >>> 2 >>> 0] = yday;
            HEAP32[tmPtr + 36 >>> 2 >>> 0] = -(date.getTimezoneOffset() * 60);
            var start = new Date(date.getFullYear(), 0, 1);
            var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();
            var winterOffset = start.getTimezoneOffset();
            var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;
            HEAP32[tmPtr + 32 >>> 2 >>> 0] = dst;
          }
          var timers = {};
          var handleException = (e) => {
            if (e instanceof ExitStatus || e == "unwind") {
              return EXITSTATUS;
            }
            checkStackCookie();
            if (e instanceof WebAssembly.RuntimeError) {
              if (_emscripten_stack_get_current() <= 0) {
                err("Stack overflow detected.  You can try increasing -sSTACK_SIZE (currently set to 5242880)");
              }
            }
            quit_(1, e);
          };
          var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0;
          var _proc_exit = (code) => {
            EXITSTATUS = code;
            if (!keepRuntimeAlive()) {
              Module["onExit"]?.(code);
              ABORT = true;
            }
            quit_(code, new ExitStatus(code));
          };
          var exitJS = (status, implicit) => {
            EXITSTATUS = status;
            checkUnflushedContent();
            if (keepRuntimeAlive() && !implicit) {
              var msg = `program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`;
              readyPromiseReject?.(msg);
              err(msg);
            }
            _proc_exit(status);
          };
          var _exit = exitJS;
          var maybeExit = () => {
            if (!keepRuntimeAlive()) {
              try {
                _exit(EXITSTATUS);
              } catch (e) {
                handleException(e);
              }
            }
          };
          var callUserCallback = (func) => {
            if (ABORT) {
              err("user callback triggered after runtime exited or application aborted.  Ignoring.");
              return;
            }
            try {
              func();
              maybeExit();
            } catch (e) {
              handleException(e);
            }
          };
          var _emscripten_get_now = () => performance.now();
          var __setitimer_js = (which, timeout_ms) => {
            if (timers[which]) {
              clearTimeout(timers[which].id);
              delete timers[which];
            }
            if (!timeout_ms) return 0;
            var id = setTimeout(() => {
              assert(which in timers);
              delete timers[which];
              callUserCallback(() => __emscripten_timeout(which, _emscripten_get_now()));
            }, timeout_ms);
            timers[which] = { id, timeout_ms };
            return 0;
          };
          var __tzset_js = function(timezone, daylight, std_name, dst_name) {
            timezone >>>= 0;
            daylight >>>= 0;
            std_name >>>= 0;
            dst_name >>>= 0;
            var currentYear = (/* @__PURE__ */ new Date()).getFullYear();
            var winter = new Date(currentYear, 0, 1);
            var summer = new Date(currentYear, 6, 1);
            var winterOffset = winter.getTimezoneOffset();
            var summerOffset = summer.getTimezoneOffset();
            var stdTimezoneOffset = Math.max(winterOffset, summerOffset);
            HEAPU32[timezone >>> 2 >>> 0] = stdTimezoneOffset * 60;
            HEAP32[daylight >>> 2 >>> 0] = Number(winterOffset != summerOffset);
            var extractZone = (timezoneOffset) => {
              var sign = timezoneOffset >= 0 ? "-" : "+";
              var absOffset = Math.abs(timezoneOffset);
              var hours = String(Math.floor(absOffset / 60)).padStart(2, "0");
              var minutes = String(absOffset % 60).padStart(2, "0");
              return `UTC${sign}${hours}${minutes}`;
            };
            var winterName = extractZone(winterOffset);
            var summerName = extractZone(summerOffset);
            assert(winterName);
            assert(summerName);
            assert(lengthBytesUTF8(winterName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${winterName})`);
            assert(lengthBytesUTF8(summerName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${summerName})`);
            if (summerOffset < winterOffset) {
              stringToUTF8(winterName, std_name, 17);
              stringToUTF8(summerName, dst_name, 17);
            } else {
              stringToUTF8(winterName, dst_name, 17);
              stringToUTF8(summerName, std_name, 17);
            }
          };
          var _emscripten_date_now = () => Date.now();
          var nowIsMonotonic = 1;
          var checkWasiClock = (clock_id) => clock_id >= 0 && clock_id <= 3;
          function _clock_time_get(clk_id, ignored_precision, ptime) {
            ignored_precision = bigintToI53Checked(ignored_precision);
            ptime >>>= 0;
            if (!checkWasiClock(clk_id)) {
              return 28;
            }
            var now;
            if (clk_id === 0) {
              now = _emscripten_date_now();
            } else if (nowIsMonotonic) {
              now = _emscripten_get_now();
            } else {
              return 52;
            }
            var nsec = Math.round(now * 1e3 * 1e3);
            HEAP64[ptime >>> 3 >>> 0] = BigInt(nsec);
            return 0;
          }
          var getHeapMax = () => 4294901760;
          var alignMemory = (size, alignment) => {
            assert(alignment, "alignment argument is required");
            return Math.ceil(size / alignment) * alignment;
          };
          var growMemory = (size) => {
            var oldHeapSize = wasmMemory.buffer.byteLength;
            var pages = (size - oldHeapSize + 65535) / 65536 | 0;
            try {
              wasmMemory.grow(pages);
              updateMemoryViews();
              return 1;
            } catch (e) {
              err(`growMemory: Attempted to grow heap from ${oldHeapSize} bytes to ${size} bytes, but got error: ${e}`);
            }
          };
          function _emscripten_resize_heap(requestedSize) {
            requestedSize >>>= 0;
            var oldSize = HEAPU8.length;
            assert(requestedSize > oldSize);
            var maxHeapSize = getHeapMax();
            if (requestedSize > maxHeapSize) {
              err(`Cannot enlarge memory, requested ${requestedSize} bytes, but the limit is ${maxHeapSize} bytes!`);
              return false;
            }
            for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
              var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);
              overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);
              var newSize = Math.min(maxHeapSize, alignMemory(Math.max(requestedSize, overGrownHeapSize), 65536));
              var replacement = growMemory(newSize);
              if (replacement) {
                return true;
              }
            }
            err(`Failed to grow the heap from ${oldSize} bytes to ${newSize} bytes, not enough memory!`);
            return false;
          }
          var ENV = {};
          var getExecutableName = () => thisProgram || "./this.program";
          var getEnvStrings = () => {
            if (!getEnvStrings.strings) {
              var lang = (globalThis.navigator?.language ?? "C").replace("-", "_") + ".UTF-8";
              var env = { USER: "web_user", LOGNAME: "web_user", PATH: "/", PWD: "/", HOME: "/home/web_user", LANG: lang, _: getExecutableName() };
              for (var x in ENV) {
                if (ENV[x] === void 0) delete env[x];
                else env[x] = ENV[x];
              }
              var strings = [];
              for (var x in env) {
                strings.push(`${x}=${env[x]}`);
              }
              getEnvStrings.strings = strings;
            }
            return getEnvStrings.strings;
          };
          function _environ_get(__environ, environ_buf) {
            __environ >>>= 0;
            environ_buf >>>= 0;
            var bufSize = 0;
            var envp = 0;
            for (var string of getEnvStrings()) {
              var ptr = environ_buf + bufSize;
              HEAPU32[__environ + envp >>> 2 >>> 0] = ptr;
              bufSize += stringToUTF8(string, ptr, Infinity) + 1;
              envp += 4;
            }
            return 0;
          }
          function _environ_sizes_get(penviron_count, penviron_buf_size) {
            penviron_count >>>= 0;
            penviron_buf_size >>>= 0;
            var strings = getEnvStrings();
            HEAPU32[penviron_count >>> 2 >>> 0] = strings.length;
            var bufSize = 0;
            for (var string of strings) {
              bufSize += lengthBytesUTF8(string) + 1;
            }
            HEAPU32[penviron_buf_size >>> 2 >>> 0] = bufSize;
            return 0;
          }
          var PATH = { isAbs: (path) => path.charAt(0) === "/", splitPath: (filename) => {
            var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
            return splitPathRe.exec(filename).slice(1);
          }, normalizeArray: (parts, allowAboveRoot) => {
            var up = 0;
            for (var i = parts.length - 1; i >= 0; i--) {
              var last = parts[i];
              if (last === ".") {
                parts.splice(i, 1);
              } else if (last === "..") {
                parts.splice(i, 1);
                up++;
              } else if (up) {
                parts.splice(i, 1);
                up--;
              }
            }
            if (allowAboveRoot) {
              for (; up; up--) {
                parts.unshift("..");
              }
            }
            return parts;
          }, normalize: (path) => {
            var isAbsolute = PATH.isAbs(path), trailingSlash = path.slice(-1) === "/";
            path = PATH.normalizeArray(path.split("/").filter((p) => !!p), !isAbsolute).join("/");
            if (!path && !isAbsolute) {
              path = ".";
            }
            if (path && trailingSlash) {
              path += "/";
            }
            return (isAbsolute ? "/" : "") + path;
          }, dirname: (path) => {
            var result = PATH.splitPath(path), root = result[0], dir = result[1];
            if (!root && !dir) {
              return ".";
            }
            if (dir) {
              dir = dir.slice(0, -1);
            }
            return root + dir;
          }, basename: (path) => path && path.match(/([^\/]+|\/)\/*$/)[1], join: (...paths) => PATH.normalize(paths.join("/")), join2: (l, r) => PATH.normalize(l + "/" + r) };
          var initRandomFill = () => (view) => crypto.getRandomValues(view);
          var randomFill = (view) => {
            (randomFill = initRandomFill())(view);
          };
          var PATH_FS = { resolve: (...args) => {
            var resolvedPath = "", resolvedAbsolute = false;
            for (var i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) {
              var path = i >= 0 ? args[i] : FS.cwd();
              if (typeof path != "string") {
                throw new TypeError("Arguments to path.resolve must be strings");
              } else if (!path) {
                return "";
              }
              resolvedPath = path + "/" + resolvedPath;
              resolvedAbsolute = PATH.isAbs(path);
            }
            resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter((p) => !!p), !resolvedAbsolute).join("/");
            return (resolvedAbsolute ? "/" : "") + resolvedPath || ".";
          }, relative: (from, to) => {
            from = PATH_FS.resolve(from).slice(1);
            to = PATH_FS.resolve(to).slice(1);
            function trim(arr) {
              var start = 0;
              for (; start < arr.length; start++) {
                if (arr[start] !== "") break;
              }
              var end = arr.length - 1;
              for (; end >= 0; end--) {
                if (arr[end] !== "") break;
              }
              if (start > end) return [];
              return arr.slice(start, end - start + 1);
            }
            var fromParts = trim(from.split("/"));
            var toParts = trim(to.split("/"));
            var length = Math.min(fromParts.length, toParts.length);
            var samePartsLength = length;
            for (var i = 0; i < length; i++) {
              if (fromParts[i] !== toParts[i]) {
                samePartsLength = i;
                break;
              }
            }
            var outputParts = [];
            for (var i = samePartsLength; i < fromParts.length; i++) {
              outputParts.push("..");
            }
            outputParts = outputParts.concat(toParts.slice(samePartsLength));
            return outputParts.join("/");
          } };
          var FS_stdin_getChar_buffer = [];
          var intArrayFromString = (stringy, dontAddNull, length) => {
            var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;
            var u8array = new Array(len);
            var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
            if (dontAddNull) u8array.length = numBytesWritten;
            return u8array;
          };
          var FS_stdin_getChar = () => {
            if (!FS_stdin_getChar_buffer.length) {
              var result = null;
              if (globalThis.window?.prompt) {
                result = window.prompt("Input: ");
                if (result !== null) {
                  result += "\n";
                }
              } else {
              }
              if (!result) {
                return null;
              }
              FS_stdin_getChar_buffer = intArrayFromString(result, true);
            }
            return FS_stdin_getChar_buffer.shift();
          };
          var TTY = { ttys: [], init() {
          }, shutdown() {
          }, register(dev, ops) {
            TTY.ttys[dev] = { input: [], output: [], ops };
            FS.registerDevice(dev, TTY.stream_ops);
          }, stream_ops: { open(stream) {
            var tty = TTY.ttys[stream.node.rdev];
            if (!tty) {
              throw new FS.ErrnoError(43);
            }
            stream.tty = tty;
            stream.seekable = false;
          }, close(stream) {
            stream.tty.ops.fsync(stream.tty);
          }, fsync(stream) {
            stream.tty.ops.fsync(stream.tty);
          }, read(stream, buffer, offset, length, pos) {
            if (!stream.tty || !stream.tty.ops.get_char) {
              throw new FS.ErrnoError(60);
            }
            var bytesRead = 0;
            for (var i = 0; i < length; i++) {
              var result;
              try {
                result = stream.tty.ops.get_char(stream.tty);
              } catch (e) {
                throw new FS.ErrnoError(29);
              }
              if (result === void 0 && bytesRead === 0) {
                throw new FS.ErrnoError(6);
              }
              if (result === null || result === void 0) break;
              bytesRead++;
              buffer[offset + i] = result;
            }
            if (bytesRead) {
              stream.node.atime = Date.now();
            }
            return bytesRead;
          }, write(stream, buffer, offset, length, pos) {
            if (!stream.tty || !stream.tty.ops.put_char) {
              throw new FS.ErrnoError(60);
            }
            try {
              for (var i = 0; i < length; i++) {
                stream.tty.ops.put_char(stream.tty, buffer[offset + i]);
              }
            } catch (e) {
              throw new FS.ErrnoError(29);
            }
            if (length) {
              stream.node.mtime = stream.node.ctime = Date.now();
            }
            return i;
          } }, default_tty_ops: { get_char(tty) {
            return FS_stdin_getChar();
          }, put_char(tty, val) {
            if (val === null || val === 10) {
              out(UTF8ArrayToString(tty.output));
              tty.output = [];
            } else {
              if (val != 0) tty.output.push(val);
            }
          }, fsync(tty) {
            if (tty.output?.length > 0) {
              out(UTF8ArrayToString(tty.output));
              tty.output = [];
            }
          }, ioctl_tcgets(tty) {
            return { c_iflag: 25856, c_oflag: 5, c_cflag: 191, c_lflag: 35387, c_cc: [3, 28, 127, 21, 4, 0, 1, 0, 17, 19, 26, 0, 18, 15, 23, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] };
          }, ioctl_tcsets(tty, optional_actions, data) {
            return 0;
          }, ioctl_tiocgwinsz(tty) {
            return [24, 80];
          } }, default_tty1_ops: { put_char(tty, val) {
            if (val === null || val === 10) {
              err(UTF8ArrayToString(tty.output));
              tty.output = [];
            } else {
              if (val != 0) tty.output.push(val);
            }
          }, fsync(tty) {
            if (tty.output?.length > 0) {
              err(UTF8ArrayToString(tty.output));
              tty.output = [];
            }
          } } };
          var mmapAlloc = (size) => {
            abort("internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported");
          };
          var MEMFS = { ops_table: null, mount(mount) {
            return MEMFS.createNode(null, "/", 16895, 0);
          }, createNode(parent, name, mode, dev) {
            if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
              throw new FS.ErrnoError(63);
            }
            MEMFS.ops_table ||= { dir: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, lookup: MEMFS.node_ops.lookup, mknod: MEMFS.node_ops.mknod, rename: MEMFS.node_ops.rename, unlink: MEMFS.node_ops.unlink, rmdir: MEMFS.node_ops.rmdir, readdir: MEMFS.node_ops.readdir, symlink: MEMFS.node_ops.symlink }, stream: { llseek: MEMFS.stream_ops.llseek } }, file: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: { llseek: MEMFS.stream_ops.llseek, read: MEMFS.stream_ops.read, write: MEMFS.stream_ops.write, mmap: MEMFS.stream_ops.mmap, msync: MEMFS.stream_ops.msync } }, link: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, readlink: MEMFS.node_ops.readlink }, stream: {} }, chrdev: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: FS.chrdev_stream_ops } };
            var node = FS.createNode(parent, name, mode, dev);
            if (FS.isDir(node.mode)) {
              node.node_ops = MEMFS.ops_table.dir.node;
              node.stream_ops = MEMFS.ops_table.dir.stream;
              node.contents = {};
            } else if (FS.isFile(node.mode)) {
              node.node_ops = MEMFS.ops_table.file.node;
              node.stream_ops = MEMFS.ops_table.file.stream;
              node.usedBytes = 0;
              node.contents = null;
            } else if (FS.isLink(node.mode)) {
              node.node_ops = MEMFS.ops_table.link.node;
              node.stream_ops = MEMFS.ops_table.link.stream;
            } else if (FS.isChrdev(node.mode)) {
              node.node_ops = MEMFS.ops_table.chrdev.node;
              node.stream_ops = MEMFS.ops_table.chrdev.stream;
            }
            node.atime = node.mtime = node.ctime = Date.now();
            if (parent) {
              parent.contents[name] = node;
              parent.atime = parent.mtime = parent.ctime = node.atime;
            }
            return node;
          }, getFileDataAsTypedArray(node) {
            if (!node.contents) return new Uint8Array(0);
            if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);
            return new Uint8Array(node.contents);
          }, expandFileStorage(node, newCapacity) {
            var prevCapacity = node.contents ? node.contents.length : 0;
            if (prevCapacity >= newCapacity) return;
            var CAPACITY_DOUBLING_MAX = 1024 * 1024;
            newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);
            if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);
            var oldContents = node.contents;
            node.contents = new Uint8Array(newCapacity);
            if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);
          }, resizeFileStorage(node, newSize) {
            if (node.usedBytes == newSize) return;
            if (newSize == 0) {
              node.contents = null;
              node.usedBytes = 0;
            } else {
              var oldContents = node.contents;
              node.contents = new Uint8Array(newSize);
              if (oldContents) {
                node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));
              }
              node.usedBytes = newSize;
            }
          }, node_ops: { getattr(node) {
            var attr = {};
            attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
            attr.ino = node.id;
            attr.mode = node.mode;
            attr.nlink = 1;
            attr.uid = 0;
            attr.gid = 0;
            attr.rdev = node.rdev;
            if (FS.isDir(node.mode)) {
              attr.size = 4096;
            } else if (FS.isFile(node.mode)) {
              attr.size = node.usedBytes;
            } else if (FS.isLink(node.mode)) {
              attr.size = node.link.length;
            } else {
              attr.size = 0;
            }
            attr.atime = new Date(node.atime);
            attr.mtime = new Date(node.mtime);
            attr.ctime = new Date(node.ctime);
            attr.blksize = 4096;
            attr.blocks = Math.ceil(attr.size / attr.blksize);
            return attr;
          }, setattr(node, attr) {
            for (const key of ["mode", "atime", "mtime", "ctime"]) {
              if (attr[key] != null) {
                node[key] = attr[key];
              }
            }
            if (attr.size !== void 0) {
              MEMFS.resizeFileStorage(node, attr.size);
            }
          }, lookup(parent, name) {
            throw new FS.ErrnoError(44);
          }, mknod(parent, name, mode, dev) {
            return MEMFS.createNode(parent, name, mode, dev);
          }, rename(old_node, new_dir, new_name) {
            var new_node;
            try {
              new_node = FS.lookupNode(new_dir, new_name);
            } catch (e) {
            }
            if (new_node) {
              if (FS.isDir(old_node.mode)) {
                for (var i in new_node.contents) {
                  throw new FS.ErrnoError(55);
                }
              }
              FS.hashRemoveNode(new_node);
            }
            delete old_node.parent.contents[old_node.name];
            new_dir.contents[new_name] = old_node;
            old_node.name = new_name;
            new_dir.ctime = new_dir.mtime = old_node.parent.ctime = old_node.parent.mtime = Date.now();
          }, unlink(parent, name) {
            delete parent.contents[name];
            parent.ctime = parent.mtime = Date.now();
          }, rmdir(parent, name) {
            var node = FS.lookupNode(parent, name);
            for (var i in node.contents) {
              throw new FS.ErrnoError(55);
            }
            delete parent.contents[name];
            parent.ctime = parent.mtime = Date.now();
          }, readdir(node) {
            return [".", "..", ...Object.keys(node.contents)];
          }, symlink(parent, newname, oldpath) {
            var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);
            node.link = oldpath;
            return node;
          }, readlink(node) {
            if (!FS.isLink(node.mode)) {
              throw new FS.ErrnoError(28);
            }
            return node.link;
          } }, stream_ops: { read(stream, buffer, offset, length, position) {
            var contents = stream.node.contents;
            if (position >= stream.node.usedBytes) return 0;
            var size = Math.min(stream.node.usedBytes - position, length);
            assert(size >= 0);
            if (size > 8 && contents.subarray) {
              buffer.set(contents.subarray(position, position + size), offset);
            } else {
              for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];
            }
            return size;
          }, write(stream, buffer, offset, length, position, canOwn) {
            assert(!(buffer instanceof ArrayBuffer));
            if (buffer.buffer === HEAP8.buffer) {
              canOwn = false;
            }
            if (!length) return 0;
            var node = stream.node;
            node.mtime = node.ctime = Date.now();
            if (buffer.subarray && (!node.contents || node.contents.subarray)) {
              if (canOwn) {
                assert(position === 0, "canOwn must imply no weird position inside the file");
                node.contents = buffer.subarray(offset, offset + length);
                node.usedBytes = length;
                return length;
              } else if (node.usedBytes === 0 && position === 0) {
                node.contents = buffer.slice(offset, offset + length);
                node.usedBytes = length;
                return length;
              } else if (position + length <= node.usedBytes) {
                node.contents.set(buffer.subarray(offset, offset + length), position);
                return length;
              }
            }
            MEMFS.expandFileStorage(node, position + length);
            if (node.contents.subarray && buffer.subarray) {
              node.contents.set(buffer.subarray(offset, offset + length), position);
            } else {
              for (var i = 0; i < length; i++) {
                node.contents[position + i] = buffer[offset + i];
              }
            }
            node.usedBytes = Math.max(node.usedBytes, position + length);
            return length;
          }, llseek(stream, offset, whence) {
            var position = offset;
            if (whence === 1) {
              position += stream.position;
            } else if (whence === 2) {
              if (FS.isFile(stream.node.mode)) {
                position += stream.node.usedBytes;
              }
            }
            if (position < 0) {
              throw new FS.ErrnoError(28);
            }
            return position;
          }, mmap(stream, length, position, prot, flags) {
            if (!FS.isFile(stream.node.mode)) {
              throw new FS.ErrnoError(43);
            }
            var ptr;
            var allocated;
            var contents = stream.node.contents;
            if (!(flags & 2) && contents && contents.buffer === HEAP8.buffer) {
              allocated = false;
              ptr = contents.byteOffset;
            } else {
              allocated = true;
              ptr = mmapAlloc(length);
              if (!ptr) {
                throw new FS.ErrnoError(48);
              }
              if (contents) {
                if (position > 0 || position + length < contents.length) {
                  if (contents.subarray) {
                    contents = contents.subarray(position, position + length);
                  } else {
                    contents = Array.prototype.slice.call(contents, position, position + length);
                  }
                }
                HEAP8.set(contents, ptr >>> 0);
              }
            }
            return { ptr, allocated };
          }, msync(stream, buffer, offset, length, mmapFlags) {
            MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);
            return 0;
          } } };
          var FS_modeStringToFlags = (str) => {
            var flagModes = { r: 0, "r+": 2, w: 512 | 64 | 1, "w+": 512 | 64 | 2, a: 1024 | 64 | 1, "a+": 1024 | 64 | 2 };
            var flags = flagModes[str];
            if (typeof flags == "undefined") {
              throw new Error(`Unknown file open mode: ${str}`);
            }
            return flags;
          };
          var FS_getMode = (canRead, canWrite) => {
            var mode = 0;
            if (canRead) mode |= 292 | 73;
            if (canWrite) mode |= 146;
            return mode;
          };
          var strError = (errno) => UTF8ToString(_strerror(errno));
          var ERRNO_CODES = { EPERM: 63, ENOENT: 44, ESRCH: 71, EINTR: 27, EIO: 29, ENXIO: 60, E2BIG: 1, ENOEXEC: 45, EBADF: 8, ECHILD: 12, EAGAIN: 6, EWOULDBLOCK: 6, ENOMEM: 48, EACCES: 2, EFAULT: 21, ENOTBLK: 105, EBUSY: 10, EEXIST: 20, EXDEV: 75, ENODEV: 43, ENOTDIR: 54, EISDIR: 31, EINVAL: 28, ENFILE: 41, EMFILE: 33, ENOTTY: 59, ETXTBSY: 74, EFBIG: 22, ENOSPC: 51, ESPIPE: 70, EROFS: 69, EMLINK: 34, EPIPE: 64, EDOM: 18, ERANGE: 68, ENOMSG: 49, EIDRM: 24, ECHRNG: 106, EL2NSYNC: 156, EL3HLT: 107, EL3RST: 108, ELNRNG: 109, EUNATCH: 110, ENOCSI: 111, EL2HLT: 112, EDEADLK: 16, ENOLCK: 46, EBADE: 113, EBADR: 114, EXFULL: 115, ENOANO: 104, EBADRQC: 103, EBADSLT: 102, EDEADLOCK: 16, EBFONT: 101, ENOSTR: 100, ENODATA: 116, ETIME: 117, ENOSR: 118, ENONET: 119, ENOPKG: 120, EREMOTE: 121, ENOLINK: 47, EADV: 122, ESRMNT: 123, ECOMM: 124, EPROTO: 65, EMULTIHOP: 36, EDOTDOT: 125, EBADMSG: 9, ENOTUNIQ: 126, EBADFD: 127, EREMCHG: 128, ELIBACC: 129, ELIBBAD: 130, ELIBSCN: 131, ELIBMAX: 132, ELIBEXEC: 133, ENOSYS: 52, ENOTEMPTY: 55, ENAMETOOLONG: 37, ELOOP: 32, EOPNOTSUPP: 138, EPFNOSUPPORT: 139, ECONNRESET: 15, ENOBUFS: 42, EAFNOSUPPORT: 5, EPROTOTYPE: 67, ENOTSOCK: 57, ENOPROTOOPT: 50, ESHUTDOWN: 140, ECONNREFUSED: 14, EADDRINUSE: 3, ECONNABORTED: 13, ENETUNREACH: 40, ENETDOWN: 38, ETIMEDOUT: 73, EHOSTDOWN: 142, EHOSTUNREACH: 23, EINPROGRESS: 26, EALREADY: 7, EDESTADDRREQ: 17, EMSGSIZE: 35, EPROTONOSUPPORT: 66, ESOCKTNOSUPPORT: 137, EADDRNOTAVAIL: 4, ENETRESET: 39, EISCONN: 30, ENOTCONN: 53, ETOOMANYREFS: 141, EUSERS: 136, EDQUOT: 19, ESTALE: 72, ENOTSUP: 138, ENOMEDIUM: 148, EILSEQ: 25, EOVERFLOW: 61, ECANCELED: 11, ENOTRECOVERABLE: 56, EOWNERDEAD: 62, ESTRPIPE: 135 };
          var asyncLoad = async (url) => {
            var arrayBuffer = await readAsync(url);
            assert(arrayBuffer, `Loading data file "${url}" failed (no arrayBuffer).`);
            return new Uint8Array(arrayBuffer);
          };
          var FS_createDataFile = (...args) => FS.createDataFile(...args);
          var getUniqueRunDependency = (id) => {
            var orig = id;
            while (1) {
              if (!runDependencyTracking[id]) return id;
              id = orig + Math.random();
            }
          };
          var runDependencies = 0;
          var dependenciesFulfilled = null;
          var runDependencyTracking = {};
          var runDependencyWatcher = null;
          var removeRunDependency = (id) => {
            runDependencies--;
            Module["monitorRunDependencies"]?.(runDependencies);
            assert(id, "removeRunDependency requires an ID");
            assert(runDependencyTracking[id]);
            delete runDependencyTracking[id];
            if (runDependencies == 0) {
              if (runDependencyWatcher !== null) {
                clearInterval(runDependencyWatcher);
                runDependencyWatcher = null;
              }
              if (dependenciesFulfilled) {
                var callback = dependenciesFulfilled;
                dependenciesFulfilled = null;
                callback();
              }
            }
          };
          var addRunDependency = (id) => {
            runDependencies++;
            Module["monitorRunDependencies"]?.(runDependencies);
            assert(id, "addRunDependency requires an ID");
            assert(!runDependencyTracking[id]);
            runDependencyTracking[id] = 1;
            if (runDependencyWatcher === null && globalThis.setInterval) {
              runDependencyWatcher = setInterval(() => {
                if (ABORT) {
                  clearInterval(runDependencyWatcher);
                  runDependencyWatcher = null;
                  return;
                }
                var shown = false;
                for (var dep in runDependencyTracking) {
                  if (!shown) {
                    shown = true;
                    err("still waiting on run dependencies:");
                  }
                  err(`dependency: ${dep}`);
                }
                if (shown) {
                  err("(end of list)");
                }
              }, 1e4);
            }
          };
          var preloadPlugins = [];
          var FS_handledByPreloadPlugin = async (byteArray, fullname) => {
            if (typeof Browser != "undefined") Browser.init();
            for (var plugin of preloadPlugins) {
              if (plugin["canHandle"](fullname)) {
                assert(plugin["handle"].constructor.name === "AsyncFunction", "Filesystem plugin handlers must be async functions (See #24914)");
                return plugin["handle"](byteArray, fullname);
              }
            }
            return byteArray;
          };
          var FS_preloadFile = async (parent, name, url, canRead, canWrite, dontCreateFile, canOwn, preFinish) => {
            var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;
            var dep = getUniqueRunDependency(`cp ${fullname}`);
            addRunDependency(dep);
            try {
              var byteArray = url;
              if (typeof url == "string") {
                byteArray = await asyncLoad(url);
              }
              byteArray = await FS_handledByPreloadPlugin(byteArray, fullname);
              preFinish?.();
              if (!dontCreateFile) {
                FS_createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);
              }
            } finally {
              removeRunDependency(dep);
            }
          };
          var FS_createPreloadedFile = (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => {
            FS_preloadFile(parent, name, url, canRead, canWrite, dontCreateFile, canOwn, preFinish).then(onload).catch(onerror);
          };
          var FS = { root: null, mounts: [], devices: {}, streams: [], nextInode: 1, nameTable: null, currentPath: "/", initialized: false, ignorePermissions: true, filesystems: null, syncFSRequests: 0, readFiles: {}, ErrnoError: class extends Error {
            name = "ErrnoError";
            constructor(errno) {
              super(runtimeInitialized ? strError(errno) : "");
              this.errno = errno;
              for (var key in ERRNO_CODES) {
                if (ERRNO_CODES[key] === errno) {
                  this.code = key;
                  break;
                }
              }
            }
          }, FSStream: class {
            shared = {};
            get object() {
              return this.node;
            }
            set object(val) {
              this.node = val;
            }
            get isRead() {
              return (this.flags & 2097155) !== 1;
            }
            get isWrite() {
              return (this.flags & 2097155) !== 0;
            }
            get isAppend() {
              return this.flags & 1024;
            }
            get flags() {
              return this.shared.flags;
            }
            set flags(val) {
              this.shared.flags = val;
            }
            get position() {
              return this.shared.position;
            }
            set position(val) {
              this.shared.position = val;
            }
          }, FSNode: class {
            node_ops = {};
            stream_ops = {};
            readMode = 292 | 73;
            writeMode = 146;
            mounted = null;
            constructor(parent, name, mode, rdev) {
              if (!parent) {
                parent = this;
              }
              this.parent = parent;
              this.mount = parent.mount;
              this.id = FS.nextInode++;
              this.name = name;
              this.mode = mode;
              this.rdev = rdev;
              this.atime = this.mtime = this.ctime = Date.now();
            }
            get read() {
              return (this.mode & this.readMode) === this.readMode;
            }
            set read(val) {
              val ? this.mode |= this.readMode : this.mode &= ~this.readMode;
            }
            get write() {
              return (this.mode & this.writeMode) === this.writeMode;
            }
            set write(val) {
              val ? this.mode |= this.writeMode : this.mode &= ~this.writeMode;
            }
            get isFolder() {
              return FS.isDir(this.mode);
            }
            get isDevice() {
              return FS.isChrdev(this.mode);
            }
          }, lookupPath(path, opts = {}) {
            if (!path) {
              throw new FS.ErrnoError(44);
            }
            opts.follow_mount ??= true;
            if (!PATH.isAbs(path)) {
              path = FS.cwd() + "/" + path;
            }
            linkloop: for (var nlinks = 0; nlinks < 40; nlinks++) {
              var parts = path.split("/").filter((p) => !!p);
              var current = FS.root;
              var current_path = "/";
              for (var i = 0; i < parts.length; i++) {
                var islast = i === parts.length - 1;
                if (islast && opts.parent) {
                  break;
                }
                if (parts[i] === ".") {
                  continue;
                }
                if (parts[i] === "..") {
                  current_path = PATH.dirname(current_path);
                  if (FS.isRoot(current)) {
                    path = current_path + "/" + parts.slice(i + 1).join("/");
                    nlinks--;
                    continue linkloop;
                  } else {
                    current = current.parent;
                  }
                  continue;
                }
                current_path = PATH.join2(current_path, parts[i]);
                try {
                  current = FS.lookupNode(current, parts[i]);
                } catch (e) {
                  if (e?.errno === 44 && islast && opts.noent_okay) {
                    return { path: current_path };
                  }
                  throw e;
                }
                if (FS.isMountpoint(current) && (!islast || opts.follow_mount)) {
                  current = current.mounted.root;
                }
                if (FS.isLink(current.mode) && (!islast || opts.follow)) {
                  if (!current.node_ops.readlink) {
                    throw new FS.ErrnoError(52);
                  }
                  var link = current.node_ops.readlink(current);
                  if (!PATH.isAbs(link)) {
                    link = PATH.dirname(current_path) + "/" + link;
                  }
                  path = link + "/" + parts.slice(i + 1).join("/");
                  continue linkloop;
                }
              }
              return { path: current_path, node: current };
            }
            throw new FS.ErrnoError(32);
          }, getPath(node) {
            var path;
            while (true) {
              if (FS.isRoot(node)) {
                var mount = node.mount.mountpoint;
                if (!path) return mount;
                return mount[mount.length - 1] !== "/" ? `${mount}/${path}` : mount + path;
              }
              path = path ? `${node.name}/${path}` : node.name;
              node = node.parent;
            }
          }, hashName(parentid, name) {
            var hash = 0;
            for (var i = 0; i < name.length; i++) {
              hash = (hash << 5) - hash + name.charCodeAt(i) | 0;
            }
            return (parentid + hash >>> 0) % FS.nameTable.length;
          }, hashAddNode(node) {
            var hash = FS.hashName(node.parent.id, node.name);
            node.name_next = FS.nameTable[hash];
            FS.nameTable[hash] = node;
          }, hashRemoveNode(node) {
            var hash = FS.hashName(node.parent.id, node.name);
            if (FS.nameTable[hash] === node) {
              FS.nameTable[hash] = node.name_next;
            } else {
              var current = FS.nameTable[hash];
              while (current) {
                if (current.name_next === node) {
                  current.name_next = node.name_next;
                  break;
                }
                current = current.name_next;
              }
            }
          }, lookupNode(parent, name) {
            var errCode = FS.mayLookup(parent);
            if (errCode) {
              throw new FS.ErrnoError(errCode);
            }
            var hash = FS.hashName(parent.id, name);
            for (var node = FS.nameTable[hash]; node; node = node.name_next) {
              var nodeName = node.name;
              if (node.parent.id === parent.id && nodeName === name) {
                return node;
              }
            }
            return FS.lookup(parent, name);
          }, createNode(parent, name, mode, rdev) {
            assert(typeof parent == "object");
            var node = new FS.FSNode(parent, name, mode, rdev);
            FS.hashAddNode(node);
            return node;
          }, destroyNode(node) {
            FS.hashRemoveNode(node);
          }, isRoot(node) {
            return node === node.parent;
          }, isMountpoint(node) {
            return !!node.mounted;
          }, isFile(mode) {
            return (mode & 61440) === 32768;
          }, isDir(mode) {
            return (mode & 61440) === 16384;
          }, isLink(mode) {
            return (mode & 61440) === 40960;
          }, isChrdev(mode) {
            return (mode & 61440) === 8192;
          }, isBlkdev(mode) {
            return (mode & 61440) === 24576;
          }, isFIFO(mode) {
            return (mode & 61440) === 4096;
          }, isSocket(mode) {
            return (mode & 49152) === 49152;
          }, flagsToPermissionString(flag) {
            var perms = ["r", "w", "rw"][flag & 3];
            if (flag & 512) {
              perms += "w";
            }
            return perms;
          }, nodePermissions(node, perms) {
            if (FS.ignorePermissions) {
              return 0;
            }
            if (perms.includes("r") && !(node.mode & 292)) {
              return 2;
            } else if (perms.includes("w") && !(node.mode & 146)) {
              return 2;
            } else if (perms.includes("x") && !(node.mode & 73)) {
              return 2;
            }
            return 0;
          }, mayLookup(dir) {
            if (!FS.isDir(dir.mode)) return 54;
            var errCode = FS.nodePermissions(dir, "x");
            if (errCode) return errCode;
            if (!dir.node_ops.lookup) return 2;
            return 0;
          }, mayCreate(dir, name) {
            if (!FS.isDir(dir.mode)) {
              return 54;
            }
            try {
              var node = FS.lookupNode(dir, name);
              return 20;
            } catch (e) {
            }
            return FS.nodePermissions(dir, "wx");
          }, mayDelete(dir, name, isdir) {
            var node;
            try {
              node = FS.lookupNode(dir, name);
            } catch (e) {
              return e.errno;
            }
            var errCode = FS.nodePermissions(dir, "wx");
            if (errCode) {
              return errCode;
            }
            if (isdir) {
              if (!FS.isDir(node.mode)) {
                return 54;
              }
              if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
                return 10;
              }
            } else {
              if (FS.isDir(node.mode)) {
                return 31;
              }
            }
            return 0;
          }, mayOpen(node, flags) {
            if (!node) {
              return 44;
            }
            if (FS.isLink(node.mode)) {
              return 32;
            } else if (FS.isDir(node.mode)) {
              if (FS.flagsToPermissionString(flags) !== "r" || flags & (512 | 64)) {
                return 31;
              }
            }
            return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
          }, checkOpExists(op, err2) {
            if (!op) {
              throw new FS.ErrnoError(err2);
            }
            return op;
          }, MAX_OPEN_FDS: 4096, nextfd() {
            for (var fd = 0; fd <= FS.MAX_OPEN_FDS; fd++) {
              if (!FS.streams[fd]) {
                return fd;
              }
            }
            throw new FS.ErrnoError(33);
          }, getStreamChecked(fd) {
            var stream = FS.getStream(fd);
            if (!stream) {
              throw new FS.ErrnoError(8);
            }
            return stream;
          }, getStream: (fd) => FS.streams[fd], createStream(stream, fd = -1) {
            assert(fd >= -1);
            stream = Object.assign(new FS.FSStream(), stream);
            if (fd == -1) {
              fd = FS.nextfd();
            }
            stream.fd = fd;
            FS.streams[fd] = stream;
            return stream;
          }, closeStream(fd) {
            FS.streams[fd] = null;
          }, dupStream(origStream, fd = -1) {
            var stream = FS.createStream(origStream, fd);
            stream.stream_ops?.dup?.(stream);
            return stream;
          }, doSetAttr(stream, node, attr) {
            var setattr = stream?.stream_ops.setattr;
            var arg = setattr ? stream : node;
            setattr ??= node.node_ops.setattr;
            FS.checkOpExists(setattr, 63);
            setattr(arg, attr);
          }, chrdev_stream_ops: { open(stream) {
            var device = FS.getDevice(stream.node.rdev);
            stream.stream_ops = device.stream_ops;
            stream.stream_ops.open?.(stream);
          }, llseek() {
            throw new FS.ErrnoError(70);
          } }, major: (dev) => dev >> 8, minor: (dev) => dev & 255, makedev: (ma, mi) => ma << 8 | mi, registerDevice(dev, ops) {
            FS.devices[dev] = { stream_ops: ops };
          }, getDevice: (dev) => FS.devices[dev], getMounts(mount) {
            var mounts = [];
            var check = [mount];
            while (check.length) {
              var m = check.pop();
              mounts.push(m);
              check.push(...m.mounts);
            }
            return mounts;
          }, syncfs(populate, callback) {
            if (typeof populate == "function") {
              callback = populate;
              populate = false;
            }
            FS.syncFSRequests++;
            if (FS.syncFSRequests > 1) {
              err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);
            }
            var mounts = FS.getMounts(FS.root.mount);
            var completed = 0;
            function doCallback(errCode) {
              assert(FS.syncFSRequests > 0);
              FS.syncFSRequests--;
              return callback(errCode);
            }
            function done(errCode) {
              if (errCode) {
                if (!done.errored) {
                  done.errored = true;
                  return doCallback(errCode);
                }
                return;
              }
              if (++completed >= mounts.length) {
                doCallback(null);
              }
            }
            for (var mount of mounts) {
              if (mount.type.syncfs) {
                mount.type.syncfs(mount, populate, done);
              } else {
                done(null);
              }
            }
          }, mount(type, opts, mountpoint) {
            if (typeof type == "string") {
              throw type;
            }
            var root = mountpoint === "/";
            var pseudo = !mountpoint;
            var node;
            if (root && FS.root) {
              throw new FS.ErrnoError(10);
            } else if (!root && !pseudo) {
              var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
              mountpoint = lookup.path;
              node = lookup.node;
              if (FS.isMountpoint(node)) {
                throw new FS.ErrnoError(10);
              }
              if (!FS.isDir(node.mode)) {
                throw new FS.ErrnoError(54);
              }
            }
            var mount = { type, opts, mountpoint, mounts: [] };
            var mountRoot = type.mount(mount);
            mountRoot.mount = mount;
            mount.root = mountRoot;
            if (root) {
              FS.root = mountRoot;
            } else if (node) {
              node.mounted = mount;
              if (node.mount) {
                node.mount.mounts.push(mount);
              }
            }
            return mountRoot;
          }, unmount(mountpoint) {
            var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
            if (!FS.isMountpoint(lookup.node)) {
              throw new FS.ErrnoError(28);
            }
            var node = lookup.node;
            var mount = node.mounted;
            var mounts = FS.getMounts(mount);
            for (var [hash, current] of Object.entries(FS.nameTable)) {
              while (current) {
                var next = current.name_next;
                if (mounts.includes(current.mount)) {
                  FS.destroyNode(current);
                }
                current = next;
              }
            }
            node.mounted = null;
            var idx = node.mount.mounts.indexOf(mount);
            assert(idx !== -1);
            node.mount.mounts.splice(idx, 1);
          }, lookup(parent, name) {
            return parent.node_ops.lookup(parent, name);
          }, mknod(path, mode, dev) {
            var lookup = FS.lookupPath(path, { parent: true });
            var parent = lookup.node;
            var name = PATH.basename(path);
            if (!name) {
              throw new FS.ErrnoError(28);
            }
            if (name === "." || name === "..") {
              throw new FS.ErrnoError(20);
            }
            var errCode = FS.mayCreate(parent, name);
            if (errCode) {
              throw new FS.ErrnoError(errCode);
            }
            if (!parent.node_ops.mknod) {
              throw new FS.ErrnoError(63);
            }
            return parent.node_ops.mknod(parent, name, mode, dev);
          }, statfs(path) {
            return FS.statfsNode(FS.lookupPath(path, { follow: true }).node);
          }, statfsStream(stream) {
            return FS.statfsNode(stream.node);
          }, statfsNode(node) {
            var rtn = { bsize: 4096, frsize: 4096, blocks: 1e6, bfree: 5e5, bavail: 5e5, files: FS.nextInode, ffree: FS.nextInode - 1, fsid: 42, flags: 2, namelen: 255 };
            if (node.node_ops.statfs) {
              Object.assign(rtn, node.node_ops.statfs(node.mount.opts.root));
            }
            return rtn;
          }, create(path, mode = 438) {
            mode &= 4095;
            mode |= 32768;
            return FS.mknod(path, mode, 0);
          }, mkdir(path, mode = 511) {
            mode &= 511 | 512;
            mode |= 16384;
            return FS.mknod(path, mode, 0);
          }, mkdirTree(path, mode) {
            var dirs = path.split("/");
            var d = "";
            for (var dir of dirs) {
              if (!dir) continue;
              if (d || PATH.isAbs(path)) d += "/";
              d += dir;
              try {
                FS.mkdir(d, mode);
              } catch (e) {
                if (e.errno != 20) throw e;
              }
            }
          }, mkdev(path, mode, dev) {
            if (typeof dev == "undefined") {
              dev = mode;
              mode = 438;
            }
            mode |= 8192;
            return FS.mknod(path, mode, dev);
          }, symlink(oldpath, newpath) {
            if (!PATH_FS.resolve(oldpath)) {
              throw new FS.ErrnoError(44);
            }
            var lookup = FS.lookupPath(newpath, { parent: true });
            var parent = lookup.node;
            if (!parent) {
              throw new FS.ErrnoError(44);
            }
            var newname = PATH.basename(newpath);
            var errCode = FS.mayCreate(parent, newname);
            if (errCode) {
              throw new FS.ErrnoError(errCode);
            }
            if (!parent.node_ops.symlink) {
              throw new FS.ErrnoError(63);
            }
            return parent.node_ops.symlink(parent, newname, oldpath);
          }, rename(old_path, new_path) {
            var old_dirname = PATH.dirname(old_path);
            var new_dirname = PATH.dirname(new_path);
            var old_name = PATH.basename(old_path);
            var new_name = PATH.basename(new_path);
            var lookup, old_dir, new_dir;
            lookup = FS.lookupPath(old_path, { parent: true });
            old_dir = lookup.node;
            lookup = FS.lookupPath(new_path, { parent: true });
            new_dir = lookup.node;
            if (!old_dir || !new_dir) throw new FS.ErrnoError(44);
            if (old_dir.mount !== new_dir.mount) {
              throw new FS.ErrnoError(75);
            }
            var old_node = FS.lookupNode(old_dir, old_name);
            var relative = PATH_FS.relative(old_path, new_dirname);
            if (relative.charAt(0) !== ".") {
              throw new FS.ErrnoError(28);
            }
            relative = PATH_FS.relative(new_path, old_dirname);
            if (relative.charAt(0) !== ".") {
              throw new FS.ErrnoError(55);
            }
            var new_node;
            try {
              new_node = FS.lookupNode(new_dir, new_name);
            } catch (e) {
            }
            if (old_node === new_node) {
              return;
            }
            var isdir = FS.isDir(old_node.mode);
            var errCode = FS.mayDelete(old_dir, old_name, isdir);
            if (errCode) {
              throw new FS.ErrnoError(errCode);
            }
            errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);
            if (errCode) {
              throw new FS.ErrnoError(errCode);
            }
            if (!old_dir.node_ops.rename) {
              throw new FS.ErrnoError(63);
            }
            if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) {
              throw new FS.ErrnoError(10);
            }
            if (new_dir !== old_dir) {
              errCode = FS.nodePermissions(old_dir, "w");
              if (errCode) {
                throw new FS.ErrnoError(errCode);
              }
            }
            FS.hashRemoveNode(old_node);
            try {
              old_dir.node_ops.rename(old_node, new_dir, new_name);
              old_node.parent = new_dir;
            } catch (e) {
              throw e;
            } finally {
              FS.hashAddNode(old_node);
            }
          }, rmdir(path) {
            var lookup = FS.lookupPath(path, { parent: true });
            var parent = lookup.node;
            var name = PATH.basename(path);
            var node = FS.lookupNode(parent, name);
            var errCode = FS.mayDelete(parent, name, true);
            if (errCode) {
              throw new FS.ErrnoError(errCode);
            }
            if (!parent.node_ops.rmdir) {
              throw new FS.ErrnoError(63);
            }
            if (FS.isMountpoint(node)) {
              throw new FS.ErrnoError(10);
            }
            parent.node_ops.rmdir(parent, name);
            FS.destroyNode(node);
          }, readdir(path) {
            var lookup = FS.lookupPath(path, { follow: true });
            var node = lookup.node;
            var readdir = FS.checkOpExists(node.node_ops.readdir, 54);
            return readdir(node);
          }, unlink(path) {
            var lookup = FS.lookupPath(path, { parent: true });
            var parent = lookup.node;
            if (!parent) {
              throw new FS.ErrnoError(44);
            }
            var name = PATH.basename(path);
            var node = FS.lookupNode(parent, name);
            var errCode = FS.mayDelete(parent, name, false);
            if (errCode) {
              throw new FS.ErrnoError(errCode);
            }
            if (!parent.node_ops.unlink) {
              throw new FS.ErrnoError(63);
            }
            if (FS.isMountpoint(node)) {
              throw new FS.ErrnoError(10);
            }
            parent.node_ops.unlink(parent, name);
            FS.destroyNode(node);
          }, readlink(path) {
            var lookup = FS.lookupPath(path);
            var link = lookup.node;
            if (!link) {
              throw new FS.ErrnoError(44);
            }
            if (!link.node_ops.readlink) {
              throw new FS.ErrnoError(28);
            }
            return link.node_ops.readlink(link);
          }, stat(path, dontFollow) {
            var lookup = FS.lookupPath(path, { follow: !dontFollow });
            var node = lookup.node;
            var getattr = FS.checkOpExists(node.node_ops.getattr, 63);
            return getattr(node);
          }, fstat(fd) {
            var stream = FS.getStreamChecked(fd);
            var node = stream.node;
            var getattr = stream.stream_ops.getattr;
            var arg = getattr ? stream : node;
            getattr ??= node.node_ops.getattr;
            FS.checkOpExists(getattr, 63);
            return getattr(arg);
          }, lstat(path) {
            return FS.stat(path, true);
          }, doChmod(stream, node, mode, dontFollow) {
            FS.doSetAttr(stream, node, { mode: mode & 4095 | node.mode & ~4095, ctime: Date.now(), dontFollow });
          }, chmod(path, mode, dontFollow) {
            var node;
            if (typeof path == "string") {
              var lookup = FS.lookupPath(path, { follow: !dontFollow });
              node = lookup.node;
            } else {
              node = path;
            }
            FS.doChmod(null, node, mode, dontFollow);
          }, lchmod(path, mode) {
            FS.chmod(path, mode, true);
          }, fchmod(fd, mode) {
            var stream = FS.getStreamChecked(fd);
            FS.doChmod(stream, stream.node, mode, false);
          }, doChown(stream, node, dontFollow) {
            FS.doSetAttr(stream, node, { timestamp: Date.now(), dontFollow });
          }, chown(path, uid, gid, dontFollow) {
            var node;
            if (typeof path == "string") {
              var lookup = FS.lookupPath(path, { follow: !dontFollow });
              node = lookup.node;
            } else {
              node = path;
            }
            FS.doChown(null, node, dontFollow);
          }, lchown(path, uid, gid) {
            FS.chown(path, uid, gid, true);
          }, fchown(fd, uid, gid) {
            var stream = FS.getStreamChecked(fd);
            FS.doChown(stream, stream.node, false);
          }, doTruncate(stream, node, len) {
            if (FS.isDir(node.mode)) {
              throw new FS.ErrnoError(31);
            }
            if (!FS.isFile(node.mode)) {
              throw new FS.ErrnoError(28);
            }
            var errCode = FS.nodePermissions(node, "w");
            if (errCode) {
              throw new FS.ErrnoError(errCode);
            }
            FS.doSetAttr(stream, node, { size: len, timestamp: Date.now() });
          }, truncate(path, len) {
            if (len < 0) {
              throw new FS.ErrnoError(28);
            }
            var node;
            if (typeof path == "string") {
              var lookup = FS.lookupPath(path, { follow: true });
              node = lookup.node;
            } else {
              node = path;
            }
            FS.doTruncate(null, node, len);
          }, ftruncate(fd, len) {
            var stream = FS.getStreamChecked(fd);
            if (len < 0 || (stream.flags & 2097155) === 0) {
              throw new FS.ErrnoError(28);
            }
            FS.doTruncate(stream, stream.node, len);
          }, utime(path, atime, mtime) {
            var lookup = FS.lookupPath(path, { follow: true });
            var node = lookup.node;
            var setattr = FS.checkOpExists(node.node_ops.setattr, 63);
            setattr(node, { atime, mtime });
          }, open(path, flags, mode = 438) {
            if (path === "") {
              throw new FS.ErrnoError(44);
            }
            flags = typeof flags == "string" ? FS_modeStringToFlags(flags) : flags;
            if (flags & 64) {
              mode = mode & 4095 | 32768;
            } else {
              mode = 0;
            }
            var node;
            var isDirPath;
            if (typeof path == "object") {
              node = path;
            } else {
              isDirPath = path.endsWith("/");
              var lookup = FS.lookupPath(path, { follow: !(flags & 131072), noent_okay: true });
              node = lookup.node;
              path = lookup.path;
            }
            var created = false;
            if (flags & 64) {
              if (node) {
                if (flags & 128) {
                  throw new FS.ErrnoError(20);
                }
              } else if (isDirPath) {
                throw new FS.ErrnoError(31);
              } else {
                node = FS.mknod(path, mode | 511, 0);
                created = true;
              }
            }
            if (!node) {
              throw new FS.ErrnoError(44);
            }
            if (FS.isChrdev(node.mode)) {
              flags &= ~512;
            }
            if (flags & 65536 && !FS.isDir(node.mode)) {
              throw new FS.ErrnoError(54);
            }
            if (!created) {
              var errCode = FS.mayOpen(node, flags);
              if (errCode) {
                throw new FS.ErrnoError(errCode);
              }
            }
            if (flags & 512 && !created) {
              FS.truncate(node, 0);
            }
            flags &= ~(128 | 512 | 131072);
            var stream = FS.createStream({ node, path: FS.getPath(node), flags, seekable: true, position: 0, stream_ops: node.stream_ops, ungotten: [], error: false });
            if (stream.stream_ops.open) {
              stream.stream_ops.open(stream);
            }
            if (created) {
              FS.chmod(node, mode & 511);
            }
            if (Module["logReadFiles"] && !(flags & 1)) {
              if (!(path in FS.readFiles)) {
                FS.readFiles[path] = 1;
              }
            }
            return stream;
          }, close(stream) {
            if (FS.isClosed(stream)) {
              throw new FS.ErrnoError(8);
            }
            if (stream.getdents) stream.getdents = null;
            try {
              if (stream.stream_ops.close) {
                stream.stream_ops.close(stream);
              }
            } catch (e) {
              throw e;
            } finally {
              FS.closeStream(stream.fd);
            }
            stream.fd = null;
          }, isClosed(stream) {
            return stream.fd === null;
          }, llseek(stream, offset, whence) {
            if (FS.isClosed(stream)) {
              throw new FS.ErrnoError(8);
            }
            if (!stream.seekable || !stream.stream_ops.llseek) {
              throw new FS.ErrnoError(70);
            }
            if (whence != 0 && whence != 1 && whence != 2) {
              throw new FS.ErrnoError(28);
            }
            stream.position = stream.stream_ops.llseek(stream, offset, whence);
            stream.ungotten = [];
            return stream.position;
          }, read(stream, buffer, offset, length, position) {
            assert(offset >= 0);
            if (length < 0 || position < 0) {
              throw new FS.ErrnoError(28);
            }
            if (FS.isClosed(stream)) {
              throw new FS.ErrnoError(8);
            }
            if ((stream.flags & 2097155) === 1) {
              throw new FS.ErrnoError(8);
            }
            if (FS.isDir(stream.node.mode)) {
              throw new FS.ErrnoError(31);
            }
            if (!stream.stream_ops.read) {
              throw new FS.ErrnoError(28);
            }
            var seeking = typeof position != "undefined";
            if (!seeking) {
              position = stream.position;
            } else if (!stream.seekable) {
              throw new FS.ErrnoError(70);
            }
            var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);
            if (!seeking) stream.position += bytesRead;
            return bytesRead;
          }, write(stream, buffer, offset, length, position, canOwn) {
            assert(offset >= 0);
            if (length < 0 || position < 0) {
              throw new FS.ErrnoError(28);
            }
            if (FS.isClosed(stream)) {
              throw new FS.ErrnoError(8);
            }
            if ((stream.flags & 2097155) === 0) {
              throw new FS.ErrnoError(8);
            }
            if (FS.isDir(stream.node.mode)) {
              throw new FS.ErrnoError(31);
            }
            if (!stream.stream_ops.write) {
              throw new FS.ErrnoError(28);
            }
            if (stream.seekable && stream.flags & 1024) {
              FS.llseek(stream, 0, 2);
            }
            var seeking = typeof position != "undefined";
            if (!seeking) {
              position = stream.position;
            } else if (!stream.seekable) {
              throw new FS.ErrnoError(70);
            }
            var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);
            if (!seeking) stream.position += bytesWritten;
            return bytesWritten;
          }, mmap(stream, length, position, prot, flags) {
            if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) {
              throw new FS.ErrnoError(2);
            }
            if ((stream.flags & 2097155) === 1) {
              throw new FS.ErrnoError(2);
            }
            if (!stream.stream_ops.mmap) {
              throw new FS.ErrnoError(43);
            }
            if (!length) {
              throw new FS.ErrnoError(28);
            }
            return stream.stream_ops.mmap(stream, length, position, prot, flags);
          }, msync(stream, buffer, offset, length, mmapFlags) {
            assert(offset >= 0);
            if (!stream.stream_ops.msync) {
              return 0;
            }
            return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);
          }, ioctl(stream, cmd, arg) {
            if (!stream.stream_ops.ioctl) {
              throw new FS.ErrnoError(59);
            }
            return stream.stream_ops.ioctl(stream, cmd, arg);
          }, readFile(path, opts = {}) {
            opts.flags = opts.flags || 0;
            opts.encoding = opts.encoding || "binary";
            if (opts.encoding !== "utf8" && opts.encoding !== "binary") {
              abort(`Invalid encoding type "${opts.encoding}"`);
            }
            var stream = FS.open(path, opts.flags);
            var stat = FS.stat(path);
            var length = stat.size;
            var buf = new Uint8Array(length);
            FS.read(stream, buf, 0, length, 0);
            if (opts.encoding === "utf8") {
              buf = UTF8ArrayToString(buf);
            }
            FS.close(stream);
            return buf;
          }, writeFile(path, data, opts = {}) {
            opts.flags = opts.flags || 577;
            var stream = FS.open(path, opts.flags, opts.mode);
            if (typeof data == "string") {
              data = new Uint8Array(intArrayFromString(data, true));
            }
            if (ArrayBuffer.isView(data)) {
              FS.write(stream, data, 0, data.byteLength, void 0, opts.canOwn);
            } else {
              abort("Unsupported data type");
            }
            FS.close(stream);
          }, cwd: () => FS.currentPath, chdir(path) {
            var lookup = FS.lookupPath(path, { follow: true });
            if (lookup.node === null) {
              throw new FS.ErrnoError(44);
            }
            if (!FS.isDir(lookup.node.mode)) {
              throw new FS.ErrnoError(54);
            }
            var errCode = FS.nodePermissions(lookup.node, "x");
            if (errCode) {
              throw new FS.ErrnoError(errCode);
            }
            FS.currentPath = lookup.path;
          }, createDefaultDirectories() {
            FS.mkdir("/tmp");
            FS.mkdir("/home");
            FS.mkdir("/home/web_user");
          }, createDefaultDevices() {
            FS.mkdir("/dev");
            FS.registerDevice(FS.makedev(1, 3), { read: () => 0, write: (stream, buffer, offset, length, pos) => length, llseek: () => 0 });
            FS.mkdev("/dev/null", FS.makedev(1, 3));
            TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
            TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
            FS.mkdev("/dev/tty", FS.makedev(5, 0));
            FS.mkdev("/dev/tty1", FS.makedev(6, 0));
            var randomBuffer = new Uint8Array(1024), randomLeft = 0;
            var randomByte = () => {
              if (randomLeft === 0) {
                randomFill(randomBuffer);
                randomLeft = randomBuffer.byteLength;
              }
              return randomBuffer[--randomLeft];
            };
            FS.createDevice("/dev", "random", randomByte);
            FS.createDevice("/dev", "urandom", randomByte);
            FS.mkdir("/dev/shm");
            FS.mkdir("/dev/shm/tmp");
          }, createSpecialDirectories() {
            FS.mkdir("/proc");
            var proc_self = FS.mkdir("/proc/self");
            FS.mkdir("/proc/self/fd");
            FS.mount({ mount() {
              var node = FS.createNode(proc_self, "fd", 16895, 73);
              node.stream_ops = { llseek: MEMFS.stream_ops.llseek };
              node.node_ops = { lookup(parent, name) {
                var fd = +name;
                var stream = FS.getStreamChecked(fd);
                var ret = { parent: null, mount: { mountpoint: "fake" }, node_ops: { readlink: () => stream.path }, id: fd + 1 };
                ret.parent = ret;
                return ret;
              }, readdir() {
                return Array.from(FS.streams.entries()).filter(([k, v]) => v).map(([k, v]) => k.toString());
              } };
              return node;
            } }, {}, "/proc/self/fd");
          }, createStandardStreams(input, output, error) {
            if (input) {
              FS.createDevice("/dev", "stdin", input);
            } else {
              FS.symlink("/dev/tty", "/dev/stdin");
            }
            if (output) {
              FS.createDevice("/dev", "stdout", null, output);
            } else {
              FS.symlink("/dev/tty", "/dev/stdout");
            }
            if (error) {
              FS.createDevice("/dev", "stderr", null, error);
            } else {
              FS.symlink("/dev/tty1", "/dev/stderr");
            }
            var stdin = FS.open("/dev/stdin", 0);
            var stdout = FS.open("/dev/stdout", 1);
            var stderr = FS.open("/dev/stderr", 1);
            assert(stdin.fd === 0, `invalid handle for stdin (${stdin.fd})`);
            assert(stdout.fd === 1, `invalid handle for stdout (${stdout.fd})`);
            assert(stderr.fd === 2, `invalid handle for stderr (${stderr.fd})`);
          }, staticInit() {
            FS.nameTable = new Array(4096);
            FS.mount(MEMFS, {}, "/");
            FS.createDefaultDirectories();
            FS.createDefaultDevices();
            FS.createSpecialDirectories();
            FS.filesystems = { MEMFS };
          }, init(input, output, error) {
            assert(!FS.initialized, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");
            FS.initialized = true;
            input ??= Module["stdin"];
            output ??= Module["stdout"];
            error ??= Module["stderr"];
            FS.createStandardStreams(input, output, error);
          }, quit() {
            FS.initialized = false;
            _fflush(0);
            for (var stream of FS.streams) {
              if (stream) {
                FS.close(stream);
              }
            }
          }, findObject(path, dontResolveLastLink) {
            var ret = FS.analyzePath(path, dontResolveLastLink);
            if (!ret.exists) {
              return null;
            }
            return ret.object;
          }, analyzePath(path, dontResolveLastLink) {
            try {
              var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
              path = lookup.path;
            } catch (e) {
            }
            var ret = { isRoot: false, exists: false, error: 0, name: null, path: null, object: null, parentExists: false, parentPath: null, parentObject: null };
            try {
              var lookup = FS.lookupPath(path, { parent: true });
              ret.parentExists = true;
              ret.parentPath = lookup.path;
              ret.parentObject = lookup.node;
              ret.name = PATH.basename(path);
              lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
              ret.exists = true;
              ret.path = lookup.path;
              ret.object = lookup.node;
              ret.name = lookup.node.name;
              ret.isRoot = lookup.path === "/";
            } catch (e) {
              ret.error = e.errno;
            }
            return ret;
          }, createPath(parent, path, canRead, canWrite) {
            parent = typeof parent == "string" ? parent : FS.getPath(parent);
            var parts = path.split("/").reverse();
            while (parts.length) {
              var part = parts.pop();
              if (!part) continue;
              var current = PATH.join2(parent, part);
              try {
                FS.mkdir(current);
              } catch (e) {
                if (e.errno != 20) throw e;
              }
              parent = current;
            }
            return current;
          }, createFile(parent, name, properties, canRead, canWrite) {
            var path = PATH.join2(typeof parent == "string" ? parent : FS.getPath(parent), name);
            var mode = FS_getMode(canRead, canWrite);
            return FS.create(path, mode);
          }, createDataFile(parent, name, data, canRead, canWrite, canOwn) {
            var path = name;
            if (parent) {
              parent = typeof parent == "string" ? parent : FS.getPath(parent);
              path = name ? PATH.join2(parent, name) : parent;
            }
            var mode = FS_getMode(canRead, canWrite);
            var node = FS.create(path, mode);
            if (data) {
              if (typeof data == "string") {
                var arr = new Array(data.length);
                for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);
                data = arr;
              }
              FS.chmod(node, mode | 146);
              var stream = FS.open(node, 577);
              FS.write(stream, data, 0, data.length, 0, canOwn);
              FS.close(stream);
              FS.chmod(node, mode);
            }
          }, createDevice(parent, name, input, output) {
            var path = PATH.join2(typeof parent == "string" ? parent : FS.getPath(parent), name);
            var mode = FS_getMode(!!input, !!output);
            FS.createDevice.major ??= 64;
            var dev = FS.makedev(FS.createDevice.major++, 0);
            FS.registerDevice(dev, { open(stream) {
              stream.seekable = false;
            }, close(stream) {
              if (output?.buffer?.length) {
                output(10);
              }
            }, read(stream, buffer, offset, length, pos) {
              var bytesRead = 0;
              for (var i = 0; i < length; i++) {
                var result;
                try {
                  result = input();
                } catch (e) {
                  throw new FS.ErrnoError(29);
                }
                if (result === void 0 && bytesRead === 0) {
                  throw new FS.ErrnoError(6);
                }
                if (result === null || result === void 0) break;
                bytesRead++;
                buffer[offset + i] = result;
              }
              if (bytesRead) {
                stream.node.atime = Date.now();
              }
              return bytesRead;
            }, write(stream, buffer, offset, length, pos) {
              for (var i = 0; i < length; i++) {
                try {
                  output(buffer[offset + i]);
                } catch (e) {
                  throw new FS.ErrnoError(29);
                }
              }
              if (length) {
                stream.node.mtime = stream.node.ctime = Date.now();
              }
              return i;
            } });
            return FS.mkdev(path, mode, dev);
          }, forceLoadFile(obj) {
            if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
            if (globalThis.XMLHttpRequest) {
              abort("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
            } else {
              try {
                obj.contents = readBinary(obj.url);
              } catch (e) {
                throw new FS.ErrnoError(29);
              }
            }
          }, createLazyFile(parent, name, url, canRead, canWrite) {
            class LazyUint8Array {
              lengthKnown = false;
              chunks = [];
              get(idx) {
                if (idx > this.length - 1 || idx < 0) {
                  return void 0;
                }
                var chunkOffset = idx % this.chunkSize;
                var chunkNum = idx / this.chunkSize | 0;
                return this.getter(chunkNum)[chunkOffset];
              }
              setDataGetter(getter) {
                this.getter = getter;
              }
              cacheLength() {
                var xhr = new XMLHttpRequest();
                xhr.open("HEAD", url, false);
                xhr.send(null);
                if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) abort("Couldn't load " + url + ". Status: " + xhr.status);
                var datalength = Number(xhr.getResponseHeader("Content-length"));
                var header;
                var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
                var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip";
                var chunkSize = 1024 * 1024;
                if (!hasByteServing) chunkSize = datalength;
                var doXHR = (from, to) => {
                  if (from > to) abort("invalid range (" + from + ", " + to + ") or no bytes requested!");
                  if (to > datalength - 1) abort("only " + datalength + " bytes available! programmer error!");
                  var xhr2 = new XMLHttpRequest();
                  xhr2.open("GET", url, false);
                  if (datalength !== chunkSize) xhr2.setRequestHeader("Range", "bytes=" + from + "-" + to);
                  xhr2.responseType = "arraybuffer";
                  if (xhr2.overrideMimeType) {
                    xhr2.overrideMimeType("text/plain; charset=x-user-defined");
                  }
                  xhr2.send(null);
                  if (!(xhr2.status >= 200 && xhr2.status < 300 || xhr2.status === 304)) abort("Couldn't load " + url + ". Status: " + xhr2.status);
                  if (xhr2.response !== void 0) {
                    return new Uint8Array(xhr2.response || []);
                  }
                  return intArrayFromString(xhr2.responseText || "", true);
                };
                var lazyArray2 = this;
                lazyArray2.setDataGetter((chunkNum) => {
                  var start = chunkNum * chunkSize;
                  var end = (chunkNum + 1) * chunkSize - 1;
                  end = Math.min(end, datalength - 1);
                  if (typeof lazyArray2.chunks[chunkNum] == "undefined") {
                    lazyArray2.chunks[chunkNum] = doXHR(start, end);
                  }
                  if (typeof lazyArray2.chunks[chunkNum] == "undefined") abort("doXHR failed!");
                  return lazyArray2.chunks[chunkNum];
                });
                if (usesGzip || !datalength) {
                  chunkSize = datalength = 1;
                  datalength = this.getter(0).length;
                  chunkSize = datalength;
                  out("LazyFiles on gzip forces download of the whole file when length is accessed");
                }
                this._length = datalength;
                this._chunkSize = chunkSize;
                this.lengthKnown = true;
              }
              get length() {
                if (!this.lengthKnown) {
                  this.cacheLength();
                }
                return this._length;
              }
              get chunkSize() {
                if (!this.lengthKnown) {
                  this.cacheLength();
                }
                return this._chunkSize;
              }
            }
            if (globalThis.XMLHttpRequest) {
              if (!ENVIRONMENT_IS_WORKER) abort("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");
              var lazyArray = new LazyUint8Array();
              var properties = { isDevice: false, contents: lazyArray };
            } else {
              var properties = { isDevice: false, url };
            }
            var node = FS.createFile(parent, name, properties, canRead, canWrite);
            if (properties.contents) {
              node.contents = properties.contents;
            } else if (properties.url) {
              node.contents = null;
              node.url = properties.url;
            }
            Object.defineProperties(node, { usedBytes: { get: function() {
              return this.contents.length;
            } } });
            var stream_ops = {};
            for (const [key, fn] of Object.entries(node.stream_ops)) {
              stream_ops[key] = (...args) => {
                FS.forceLoadFile(node);
                return fn(...args);
              };
            }
            function writeChunks(stream, buffer, offset, length, position) {
              var contents = stream.node.contents;
              if (position >= contents.length) return 0;
              var size = Math.min(contents.length - position, length);
              assert(size >= 0);
              if (contents.slice) {
                for (var i = 0; i < size; i++) {
                  buffer[offset + i] = contents[position + i];
                }
              } else {
                for (var i = 0; i < size; i++) {
                  buffer[offset + i] = contents.get(position + i);
                }
              }
              return size;
            }
            stream_ops.read = (stream, buffer, offset, length, position) => {
              FS.forceLoadFile(node);
              return writeChunks(stream, buffer, offset, length, position);
            };
            stream_ops.mmap = (stream, length, position, prot, flags) => {
              FS.forceLoadFile(node);
              var ptr = mmapAlloc(length);
              if (!ptr) {
                throw new FS.ErrnoError(48);
              }
              writeChunks(stream, HEAP8, ptr, length, position);
              return { ptr, allocated: true };
            };
            node.stream_ops = stream_ops;
            return node;
          }, absolutePath() {
            abort("FS.absolutePath has been removed; use PATH_FS.resolve instead");
          }, createFolder() {
            abort("FS.createFolder has been removed; use FS.mkdir instead");
          }, createLink() {
            abort("FS.createLink has been removed; use FS.symlink instead");
          }, joinPath() {
            abort("FS.joinPath has been removed; use PATH.join instead");
          }, mmapAlloc() {
            abort("FS.mmapAlloc has been replaced by the top level function mmapAlloc");
          }, standardizePath() {
            abort("FS.standardizePath has been removed; use PATH.normalize instead");
          } };
          var SYSCALLS = { calculateAt(dirfd, path, allowEmpty) {
            if (PATH.isAbs(path)) {
              return path;
            }
            var dir;
            if (dirfd === -100) {
              dir = FS.cwd();
            } else {
              var dirstream = SYSCALLS.getStreamFromFD(dirfd);
              dir = dirstream.path;
            }
            if (path.length == 0) {
              if (!allowEmpty) {
                throw new FS.ErrnoError(44);
              }
              return dir;
            }
            return dir + "/" + path;
          }, writeStat(buf, stat) {
            HEAPU32[buf >>> 2 >>> 0] = stat.dev;
            HEAPU32[buf + 4 >>> 2 >>> 0] = stat.mode;
            HEAPU32[buf + 8 >>> 2 >>> 0] = stat.nlink;
            HEAPU32[buf + 12 >>> 2 >>> 0] = stat.uid;
            HEAPU32[buf + 16 >>> 2 >>> 0] = stat.gid;
            HEAPU32[buf + 20 >>> 2 >>> 0] = stat.rdev;
            HEAP64[buf + 24 >>> 3 >>> 0] = BigInt(stat.size);
            HEAP32[buf + 32 >>> 2 >>> 0] = 4096;
            HEAP32[buf + 36 >>> 2 >>> 0] = stat.blocks;
            var atime = stat.atime.getTime();
            var mtime = stat.mtime.getTime();
            var ctime = stat.ctime.getTime();
            HEAP64[buf + 40 >>> 3 >>> 0] = BigInt(Math.floor(atime / 1e3));
            HEAPU32[buf + 48 >>> 2 >>> 0] = atime % 1e3 * 1e3 * 1e3;
            HEAP64[buf + 56 >>> 3 >>> 0] = BigInt(Math.floor(mtime / 1e3));
            HEAPU32[buf + 64 >>> 2 >>> 0] = mtime % 1e3 * 1e3 * 1e3;
            HEAP64[buf + 72 >>> 3 >>> 0] = BigInt(Math.floor(ctime / 1e3));
            HEAPU32[buf + 80 >>> 2 >>> 0] = ctime % 1e3 * 1e3 * 1e3;
            HEAP64[buf + 88 >>> 3 >>> 0] = BigInt(stat.ino);
            return 0;
          }, writeStatFs(buf, stats) {
            HEAPU32[buf + 4 >>> 2 >>> 0] = stats.bsize;
            HEAPU32[buf + 60 >>> 2 >>> 0] = stats.bsize;
            HEAP64[buf + 8 >>> 3 >>> 0] = BigInt(stats.blocks);
            HEAP64[buf + 16 >>> 3 >>> 0] = BigInt(stats.bfree);
            HEAP64[buf + 24 >>> 3 >>> 0] = BigInt(stats.bavail);
            HEAP64[buf + 32 >>> 3 >>> 0] = BigInt(stats.files);
            HEAP64[buf + 40 >>> 3 >>> 0] = BigInt(stats.ffree);
            HEAPU32[buf + 48 >>> 2 >>> 0] = stats.fsid;
            HEAPU32[buf + 64 >>> 2 >>> 0] = stats.flags;
            HEAPU32[buf + 56 >>> 2 >>> 0] = stats.namelen;
          }, doMsync(addr, stream, len, flags, offset) {
            if (!FS.isFile(stream.node.mode)) {
              throw new FS.ErrnoError(43);
            }
            if (flags & 2) {
              return 0;
            }
            var buffer = HEAPU8.slice(addr, addr + len);
            FS.msync(stream, buffer, offset, len, flags);
          }, getStreamFromFD(fd) {
            var stream = FS.getStreamChecked(fd);
            return stream;
          }, varargs: void 0, getStr(ptr) {
            var ret = UTF8ToString(ptr);
            return ret;
          } };
          function _fd_close(fd) {
            try {
              var stream = SYSCALLS.getStreamFromFD(fd);
              FS.close(stream);
              return 0;
            } catch (e) {
              if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
              return e.errno;
            }
          }
          function _fd_fdstat_get(fd, pbuf) {
            pbuf >>>= 0;
            try {
              var rightsBase = 0;
              var rightsInheriting = 0;
              var flags = 0;
              {
                var stream = SYSCALLS.getStreamFromFD(fd);
                var type = stream.tty ? 2 : FS.isDir(stream.mode) ? 3 : FS.isLink(stream.mode) ? 7 : 4;
              }
              HEAP8[pbuf >>> 0] = type;
              HEAP16[pbuf + 2 >>> 1 >>> 0] = flags;
              HEAP64[pbuf + 8 >>> 3 >>> 0] = BigInt(rightsBase);
              HEAP64[pbuf + 16 >>> 3 >>> 0] = BigInt(rightsInheriting);
              return 0;
            } catch (e) {
              if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
              return e.errno;
            }
          }
          var doReadv = (stream, iov, iovcnt, offset) => {
            var ret = 0;
            for (var i = 0; i < iovcnt; i++) {
              var ptr = HEAPU32[iov >>> 2 >>> 0];
              var len = HEAPU32[iov + 4 >>> 2 >>> 0];
              iov += 8;
              var curr = FS.read(stream, HEAP8, ptr, len, offset);
              if (curr < 0) return -1;
              ret += curr;
              if (curr < len) break;
              if (typeof offset != "undefined") {
                offset += curr;
              }
            }
            return ret;
          };
          function _fd_read(fd, iov, iovcnt, pnum) {
            iov >>>= 0;
            iovcnt >>>= 0;
            pnum >>>= 0;
            try {
              var stream = SYSCALLS.getStreamFromFD(fd);
              var num = doReadv(stream, iov, iovcnt);
              HEAPU32[pnum >>> 2 >>> 0] = num;
              return 0;
            } catch (e) {
              if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
              return e.errno;
            }
          }
          function _fd_seek(fd, offset, whence, newOffset) {
            offset = bigintToI53Checked(offset);
            newOffset >>>= 0;
            try {
              if (isNaN(offset)) return 61;
              var stream = SYSCALLS.getStreamFromFD(fd);
              FS.llseek(stream, offset, whence);
              HEAP64[newOffset >>> 3 >>> 0] = BigInt(stream.position);
              if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;
              return 0;
            } catch (e) {
              if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
              return e.errno;
            }
          }
          var doWritev = (stream, iov, iovcnt, offset) => {
            var ret = 0;
            for (var i = 0; i < iovcnt; i++) {
              var ptr = HEAPU32[iov >>> 2 >>> 0];
              var len = HEAPU32[iov + 4 >>> 2 >>> 0];
              iov += 8;
              var curr = FS.write(stream, HEAP8, ptr, len, offset);
              if (curr < 0) return -1;
              ret += curr;
              if (curr < len) {
                break;
              }
              if (typeof offset != "undefined") {
                offset += curr;
              }
            }
            return ret;
          };
          function _fd_write(fd, iov, iovcnt, pnum) {
            iov >>>= 0;
            iovcnt >>>= 0;
            pnum >>>= 0;
            try {
              var stream = SYSCALLS.getStreamFromFD(fd);
              var num = doWritev(stream, iov, iovcnt);
              HEAPU32[pnum >>> 2 >>> 0] = num;
              return 0;
            } catch (e) {
              if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
              return e.errno;
            }
          }
          function _random_get(buffer, size) {
            buffer >>>= 0;
            size >>>= 0;
            try {
              randomFill(HEAPU8.subarray(buffer >>> 0, buffer + size >>> 0));
              return 0;
            } catch (e) {
              if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
              return e.errno;
            }
          }
          init_ClassHandle();
          init_RegisteredPointer();
          assert(emval_handles.length === 5 * 2);
          FS.createPreloadedFile = FS_createPreloadedFile;
          FS.preloadFile = FS_preloadFile;
          FS.staticInit();
          {
            if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"];
            if (Module["preloadPlugins"]) preloadPlugins = Module["preloadPlugins"];
            if (Module["print"]) out = Module["print"];
            if (Module["printErr"]) err = Module["printErr"];
            if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"];
            checkIncomingModuleAPI();
            if (Module["arguments"]) arguments_ = Module["arguments"];
            if (Module["thisProgram"]) thisProgram = Module["thisProgram"];
            assert(typeof Module["memoryInitializerPrefixURL"] == "undefined", "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");
            assert(typeof Module["pthreadMainPrefixURL"] == "undefined", "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");
            assert(typeof Module["cdInitializerPrefixURL"] == "undefined", "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");
            assert(typeof Module["filePackagePrefixURL"] == "undefined", "Module.filePackagePrefixURL option was removed, use Module.locateFile instead");
            assert(typeof Module["read"] == "undefined", "Module.read option was removed");
            assert(typeof Module["readAsync"] == "undefined", "Module.readAsync option was removed (modify readAsync in JS)");
            assert(typeof Module["readBinary"] == "undefined", "Module.readBinary option was removed (modify readBinary in JS)");
            assert(typeof Module["setWindowTitle"] == "undefined", "Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)");
            assert(typeof Module["TOTAL_MEMORY"] == "undefined", "Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY");
            assert(typeof Module["ENVIRONMENT"] == "undefined", "Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)");
            assert(typeof Module["STACK_SIZE"] == "undefined", "STACK_SIZE can no longer be set at runtime.  Use -sSTACK_SIZE at link time");
            assert(typeof Module["wasmMemory"] == "undefined", "Use of `wasmMemory` detected.  Use -sIMPORTED_MEMORY to define wasmMemory externally");
            assert(typeof Module["INITIAL_MEMORY"] == "undefined", "Detected runtime INITIAL_MEMORY setting.  Use -sIMPORTED_MEMORY to define wasmMemory dynamically");
            if (Module["preInit"]) {
              if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]];
              while (Module["preInit"].length > 0) {
                Module["preInit"].shift()();
              }
            }
            consumedModuleProp("preInit");
          }
          var missingLibrarySymbols = ["writeI53ToI64", "writeI53ToI64Clamped", "writeI53ToI64Signaling", "writeI53ToU64Clamped", "writeI53ToU64Signaling", "readI53FromI64", "readI53FromU64", "convertI32PairToI53", "convertI32PairToI53Checked", "convertU32PairToI53", "stackAlloc", "getTempRet0", "setTempRet0", "zeroMemory", "withStackSave", "inetPton4", "inetNtop4", "inetPton6", "inetNtop6", "readSockaddr", "writeSockaddr", "readEmAsmArgs", "jstoi_q", "autoResumeAudioContext", "runtimeKeepalivePush", "runtimeKeepalivePop", "asmjsMangle", "HandleAllocator", "addOnInit", "addOnPostCtor", "addOnPreMain", "addOnExit", "STACK_SIZE", "STACK_ALIGN", "POINTER_SIZE", "ASSERTIONS", "ccall", "cwrap", "convertJsFunctionToWasm", "getEmptyTableSlot", "updateTableMap", "getFunctionAddress", "addFunction", "removeFunction", "intArrayToString", "stringToAscii", "stringToNewUTF8", "stringToUTF8OnStack", "writeArrayToMemory", "registerKeyEventCallback", "maybeCStringToJsString", "findEventTarget", "getBoundingClientRect", "fillMouseEventData", "registerMouseEventCallback", "registerWheelEventCallback", "registerUiEventCallback", "registerFocusEventCallback", "fillDeviceOrientationEventData", "registerDeviceOrientationEventCallback", "fillDeviceMotionEventData", "registerDeviceMotionEventCallback", "screenOrientation", "fillOrientationChangeEventData", "registerOrientationChangeEventCallback", "fillFullscreenChangeEventData", "registerFullscreenChangeEventCallback", "JSEvents_requestFullscreen", "JSEvents_resizeCanvasForFullscreen", "registerRestoreOldStyle", "hideEverythingExceptGivenElement", "restoreHiddenElements", "setLetterbox", "softFullscreenResizeWebGLRenderTarget", "doRequestFullscreen", "fillPointerlockChangeEventData", "registerPointerlockChangeEventCallback", "registerPointerlockErrorEventCallback", "requestPointerLock", "fillVisibilityChangeEventData", "registerVisibilityChangeEventCallback", "registerTouchEventCallback", "fillGamepadEventData", "registerGamepadEventCallback", "registerBeforeUnloadEventCallback", "fillBatteryEventData", "registerBatteryEventCallback", "setCanvasElementSize", "getCanvasElementSize", "jsStackTrace", "getCallstack", "convertPCtoSourceLocation", "wasiRightsToMuslOFlags", "wasiOFlagsToMuslOFlags", "safeSetTimeout", "setImmediateWrapped", "safeRequestAnimationFrame", "clearImmediateWrapped", "registerPostMainLoop", "registerPreMainLoop", "getPromise", "makePromise", "idsToPromises", "makePromiseCallback", "findMatchingCatch", "Browser_asyncPrepareDataCounter", "arraySum", "addDays", "getSocketFromFD", "getSocketAddress", "FS_mkdirTree", "_setNetworkCallback", "heapObjectForWebGLType", "toTypedArrayIndex", "webgl_enable_ANGLE_instanced_arrays", "webgl_enable_OES_vertex_array_object", "webgl_enable_WEBGL_draw_buffers", "webgl_enable_WEBGL_multi_draw", "webgl_enable_EXT_polygon_offset_clamp", "webgl_enable_EXT_clip_control", "webgl_enable_WEBGL_polygon_mode", "emscriptenWebGLGet", "computeUnpackAlignedImageSize", "colorChannelsInGlTextureFormat", "emscriptenWebGLGetTexPixelData", "emscriptenWebGLGetUniform", "webglGetUniformLocation", "webglPrepareUniformLocationsBeforeFirstUse", "webglGetLeftBracePos", "emscriptenWebGLGetVertexAttrib", "__glGetActiveAttribOrUniform", "writeGLArray", "registerWebGlEventCallback", "runAndAbortIfError", "ALLOC_NORMAL", "ALLOC_STACK", "allocate", "writeStringToMemory", "writeAsciiToMemory", "allocateUTF8", "allocateUTF8OnStack", "demangle", "stackTrace", "getNativeTypeSize", "getFunctionArgsName", "createJsInvokerSignature", "getEnumValueType", "createJsInvoker", "PureVirtualError", "registerInheritedInstance", "unregisterInheritedInstance", "getInheritedInstanceCount", "getLiveInheritedInstances", "enumReadValueFromPointer", "setDelayFunction", "validateThis", "count_emval_handles"];
          missingLibrarySymbols.forEach(missingLibrarySymbol);
          var unexportedSymbols = ["run", "out", "err", "callMain", "abort", "wasmExports", "HEAPF64", "HEAP8", "HEAP16", "HEAPU16", "HEAP32", "HEAP64", "HEAPU64", "writeStackCookie", "checkStackCookie", "INT53_MAX", "INT53_MIN", "bigintToI53Checked", "stackSave", "stackRestore", "createNamedFunction", "ptrToString", "exitJS", "getHeapMax", "growMemory", "ENV", "ERRNO_CODES", "strError", "DNS", "Protocols", "Sockets", "timers", "warnOnce", "readEmAsmArgsArray", "getExecutableName", "getDynCaller", "dynCall", "handleException", "keepRuntimeAlive", "callUserCallback", "maybeExit", "asyncLoad", "alignMemory", "mmapAlloc", "wasmTable", "wasmMemory", "getUniqueRunDependency", "noExitRuntime", "addRunDependency", "removeRunDependency", "addOnPreRun", "addOnPostRun", "freeTableIndexes", "functionsInTableMap", "setValue", "getValue", "PATH", "PATH_FS", "UTF8Decoder", "UTF8ArrayToString", "UTF8ToString", "stringToUTF8Array", "stringToUTF8", "lengthBytesUTF8", "intArrayFromString", "AsciiToString", "UTF16Decoder", "UTF16ToString", "stringToUTF16", "lengthBytesUTF16", "UTF32ToString", "stringToUTF32", "lengthBytesUTF32", "JSEvents", "specialHTMLTargets", "findCanvasEventTarget", "currentFullscreenStrategy", "restoreOldWindowedStyle", "UNWIND_CACHE", "ExitStatus", "getEnvStrings", "checkWasiClock", "doReadv", "doWritev", "initRandomFill", "randomFill", "emSetImmediate", "emClearImmediate_deps", "emClearImmediate", "promiseMap", "uncaughtExceptionCount", "exceptionLast", "exceptionCaught", "ExceptionInfo", "Browser", "requestFullscreen", "requestFullScreen", "setCanvasSize", "getUserMedia", "createContext", "getPreloadedImageData__data", "wget", "MONTH_DAYS_REGULAR", "MONTH_DAYS_LEAP", "MONTH_DAYS_REGULAR_CUMULATIVE", "MONTH_DAYS_LEAP_CUMULATIVE", "isLeapYear", "ydayFromDate", "SYSCALLS", "preloadPlugins", "FS_createPreloadedFile", "FS_preloadFile", "FS_modeStringToFlags", "FS_getMode", "FS_stdin_getChar_buffer", "FS_stdin_getChar", "FS_unlink", "FS_createPath", "FS_createDevice", "FS_readFile", "FS", "FS_root", "FS_mounts", "FS_devices", "FS_streams", "FS_nextInode", "FS_nameTable", "FS_currentPath", "FS_initialized", "FS_ignorePermissions", "FS_filesystems", "FS_syncFSRequests", "FS_readFiles", "FS_lookupPath", "FS_getPath", "FS_hashName", "FS_hashAddNode", "FS_hashRemoveNode", "FS_lookupNode", "FS_createNode", "FS_destroyNode", "FS_isRoot", "FS_isMountpoint", "FS_isFile", "FS_isDir", "FS_isLink", "FS_isChrdev", "FS_isBlkdev", "FS_isFIFO", "FS_isSocket", "FS_flagsToPermissionString", "FS_nodePermissions", "FS_mayLookup", "FS_mayCreate", "FS_mayDelete", "FS_mayOpen", "FS_checkOpExists", "FS_nextfd", "FS_getStreamChecked", "FS_getStream", "FS_createStream", "FS_closeStream", "FS_dupStream", "FS_doSetAttr", "FS_chrdev_stream_ops", "FS_major", "FS_minor", "FS_makedev", "FS_registerDevice", "FS_getDevice", "FS_getMounts", "FS_syncfs", "FS_mount", "FS_unmount", "FS_lookup", "FS_mknod", "FS_statfs", "FS_statfsStream", "FS_statfsNode", "FS_create", "FS_mkdir", "FS_mkdev", "FS_symlink", "FS_rename", "FS_rmdir", "FS_readdir", "FS_readlink", "FS_stat", "FS_fstat", "FS_lstat", "FS_doChmod", "FS_chmod", "FS_lchmod", "FS_fchmod", "FS_doChown", "FS_chown", "FS_lchown", "FS_fchown", "FS_doTruncate", "FS_truncate", "FS_ftruncate", "FS_utime", "FS_open", "FS_close", "FS_isClosed", "FS_llseek", "FS_read", "FS_write", "FS_mmap", "FS_msync", "FS_ioctl", "FS_writeFile", "FS_cwd", "FS_chdir", "FS_createDefaultDirectories", "FS_createDefaultDevices", "FS_createSpecialDirectories", "FS_createStandardStreams", "FS_staticInit", "FS_init", "FS_quit", "FS_findObject", "FS_analyzePath", "FS_createFile", "FS_createDataFile", "FS_forceLoadFile", "FS_createLazyFile", "FS_absolutePath", "FS_createFolder", "FS_createLink", "FS_joinPath", "FS_mmapAlloc", "FS_standardizePath", "MEMFS", "TTY", "PIPEFS", "SOCKFS", "tempFixedLengthArray", "miniTempWebGLFloatBuffers", "miniTempWebGLIntBuffers", "GL", "AL", "GLUT", "EGL", "GLEW", "IDBStore", "SDL", "SDL_gfx", "print", "printErr", "jstoi_s", "InternalError", "BindingError", "throwInternalError", "throwBindingError", "registeredTypes", "awaitingDependencies", "typeDependencies", "tupleRegistrations", "structRegistrations", "sharedRegisterType", "whenDependentTypesAreResolved", "getTypeName", "getFunctionName", "heap32VectorToArray", "requireRegisteredType", "usesDestructorStack", "checkArgCount", "getRequiredArgCount", "UnboundTypeError", "EmValType", "EmValOptionalType", "throwUnboundTypeError", "ensureOverloadTable", "exposePublicSymbol", "replacePublicSymbol", "embindRepr", "registeredInstances", "getBasestPointer", "getInheritedInstance", "registeredPointers", "registerType", "integerReadValueFromPointer", "floatReadValueFromPointer", "assertIntegerRange", "readPointer", "runDestructors", "craftInvokerFunction", "embind__requireFunction", "genericPointerToWireType", "constNoSmartPtrRawPointerToWireType", "nonConstNoSmartPtrRawPointerToWireType", "init_RegisteredPointer", "RegisteredPointer", "RegisteredPointer_fromWireType", "runDestructor", "releaseClassHandle", "finalizationRegistry", "detachFinalizer_deps", "detachFinalizer", "attachFinalizer", "makeClassHandle", "init_ClassHandle", "ClassHandle", "throwInstanceAlreadyDeleted", "deletionQueue", "flushPendingDeletes", "delayFunction", "RegisteredClass", "shallowCopyInternalPointer", "downcastPointer", "upcastPointer", "char_0", "char_9", "makeLegalFunctionName", "emval_freelist", "emval_handles", "emval_symbols", "getStringOrSymbol", "Emval", "emval_returnValue", "emval_lookupTypes", "emval_methodCallers", "emval_addMethodCaller"];
          unexportedSymbols.forEach(unexportedRuntimeSymbol);
          function checkIncomingModuleAPI() {
            ignoredModuleProp("fetchSettings");
          }
          var ___getTypeName = makeInvalidEarlyAccess("___getTypeName");
          var _free = makeInvalidEarlyAccess("_free");
          var _malloc = makeInvalidEarlyAccess("_malloc");
          var _fflush = makeInvalidEarlyAccess("_fflush");
          var _emscripten_stack_get_end = makeInvalidEarlyAccess("_emscripten_stack_get_end");
          var _emscripten_stack_get_base = makeInvalidEarlyAccess("_emscripten_stack_get_base");
          var __emscripten_timeout = makeInvalidEarlyAccess("__emscripten_timeout");
          var _strerror = makeInvalidEarlyAccess("_strerror");
          var _emscripten_stack_init = makeInvalidEarlyAccess("_emscripten_stack_init");
          var _emscripten_stack_get_free = makeInvalidEarlyAccess("_emscripten_stack_get_free");
          var __emscripten_stack_restore = makeInvalidEarlyAccess("__emscripten_stack_restore");
          var __emscripten_stack_alloc = makeInvalidEarlyAccess("__emscripten_stack_alloc");
          var _emscripten_stack_get_current = makeInvalidEarlyAccess("_emscripten_stack_get_current");
          var memory = makeInvalidEarlyAccess("memory");
          var __indirect_function_table = makeInvalidEarlyAccess("__indirect_function_table");
          var wasmMemory = makeInvalidEarlyAccess("wasmMemory");
          var wasmTable = makeInvalidEarlyAccess("wasmTable");
          function assignWasmExports(wasmExports2) {
            assert(typeof wasmExports2["__getTypeName"] != "undefined", "missing Wasm export: __getTypeName");
            assert(typeof wasmExports2["free"] != "undefined", "missing Wasm export: free");
            assert(typeof wasmExports2["malloc"] != "undefined", "missing Wasm export: malloc");
            assert(typeof wasmExports2["fflush"] != "undefined", "missing Wasm export: fflush");
            assert(typeof wasmExports2["emscripten_stack_get_end"] != "undefined", "missing Wasm export: emscripten_stack_get_end");
            assert(typeof wasmExports2["emscripten_stack_get_base"] != "undefined", "missing Wasm export: emscripten_stack_get_base");
            assert(typeof wasmExports2["_emscripten_timeout"] != "undefined", "missing Wasm export: _emscripten_timeout");
            assert(typeof wasmExports2["strerror"] != "undefined", "missing Wasm export: strerror");
            assert(typeof wasmExports2["emscripten_stack_init"] != "undefined", "missing Wasm export: emscripten_stack_init");
            assert(typeof wasmExports2["emscripten_stack_get_free"] != "undefined", "missing Wasm export: emscripten_stack_get_free");
            assert(typeof wasmExports2["_emscripten_stack_restore"] != "undefined", "missing Wasm export: _emscripten_stack_restore");
            assert(typeof wasmExports2["_emscripten_stack_alloc"] != "undefined", "missing Wasm export: _emscripten_stack_alloc");
            assert(typeof wasmExports2["emscripten_stack_get_current"] != "undefined", "missing Wasm export: emscripten_stack_get_current");
            assert(typeof wasmExports2["memory"] != "undefined", "missing Wasm export: memory");
            assert(typeof wasmExports2["__indirect_function_table"] != "undefined", "missing Wasm export: __indirect_function_table");
            ___getTypeName = createExportWrapper("__getTypeName", 1);
            _free = createExportWrapper("free", 1);
            _malloc = createExportWrapper("malloc", 1);
            _fflush = createExportWrapper("fflush", 1);
            _emscripten_stack_get_end = wasmExports2["emscripten_stack_get_end"];
            _emscripten_stack_get_base = wasmExports2["emscripten_stack_get_base"];
            __emscripten_timeout = createExportWrapper("_emscripten_timeout", 2);
            _strerror = createExportWrapper("strerror", 1);
            _emscripten_stack_init = wasmExports2["emscripten_stack_init"];
            _emscripten_stack_get_free = wasmExports2["emscripten_stack_get_free"];
            __emscripten_stack_restore = wasmExports2["_emscripten_stack_restore"];
            __emscripten_stack_alloc = wasmExports2["_emscripten_stack_alloc"];
            _emscripten_stack_get_current = wasmExports2["emscripten_stack_get_current"];
            memory = wasmMemory = wasmExports2["memory"];
            __indirect_function_table = wasmTable = wasmExports2["__indirect_function_table"];
          }
          var wasmImports = { __cxa_throw: ___cxa_throw, _abort_js: __abort_js, _embind_finalize_value_array: __embind_finalize_value_array, _embind_finalize_value_object: __embind_finalize_value_object, _embind_register_bigint: __embind_register_bigint, _embind_register_bool: __embind_register_bool, _embind_register_class: __embind_register_class, _embind_register_class_constructor: __embind_register_class_constructor, _embind_register_class_function: __embind_register_class_function, _embind_register_emval: __embind_register_emval, _embind_register_float: __embind_register_float, _embind_register_function: __embind_register_function, _embind_register_integer: __embind_register_integer, _embind_register_memory_view: __embind_register_memory_view, _embind_register_optional: __embind_register_optional, _embind_register_std_string: __embind_register_std_string, _embind_register_std_wstring: __embind_register_std_wstring, _embind_register_value_array: __embind_register_value_array, _embind_register_value_array_element: __embind_register_value_array_element, _embind_register_value_object: __embind_register_value_object, _embind_register_value_object_field: __embind_register_value_object_field, _embind_register_void: __embind_register_void, _emscripten_runtime_keepalive_clear: __emscripten_runtime_keepalive_clear, _emval_create_invoker: __emval_create_invoker, _emval_decref: __emval_decref, _emval_get_global: __emval_get_global, _emval_get_property: __emval_get_property, _emval_incref: __emval_incref, _emval_instanceof: __emval_instanceof, _emval_invoke: __emval_invoke, _emval_is_number: __emval_is_number, _emval_is_string: __emval_is_string, _emval_new_array: __emval_new_array, _emval_new_cstring: __emval_new_cstring, _emval_new_object: __emval_new_object, _emval_run_destructors: __emval_run_destructors, _emval_set_property: __emval_set_property, _gmtime_js: __gmtime_js, _localtime_js: __localtime_js, _setitimer_js: __setitimer_js, _tzset_js: __tzset_js, clock_time_get: _clock_time_get, emscripten_resize_heap: _emscripten_resize_heap, environ_get: _environ_get, environ_sizes_get: _environ_sizes_get, fd_close: _fd_close, fd_fdstat_get: _fd_fdstat_get, fd_read: _fd_read, fd_seek: _fd_seek, fd_write: _fd_write, proc_exit: _proc_exit, random_get: _random_get };
          function applySignatureConversions(wasmExports2) {
            wasmExports2 = Object.assign({}, wasmExports2);
            var makeWrapper_pp = (f) => (a0) => f(a0) >>> 0;
            var makeWrapper_p = (f) => () => f() >>> 0;
            var makeWrapper_p_ = (f) => (a0) => f(a0) >>> 0;
            wasmExports2["__getTypeName"] = makeWrapper_pp(wasmExports2["__getTypeName"]);
            wasmExports2["malloc"] = makeWrapper_pp(wasmExports2["malloc"]);
            wasmExports2["emscripten_stack_get_end"] = makeWrapper_p(wasmExports2["emscripten_stack_get_end"]);
            wasmExports2["emscripten_stack_get_base"] = makeWrapper_p(wasmExports2["emscripten_stack_get_base"]);
            wasmExports2["strerror"] = makeWrapper_p_(wasmExports2["strerror"]);
            wasmExports2["_emscripten_stack_alloc"] = makeWrapper_pp(wasmExports2["_emscripten_stack_alloc"]);
            wasmExports2["emscripten_stack_get_current"] = makeWrapper_p(wasmExports2["emscripten_stack_get_current"]);
            return wasmExports2;
          }
          var calledRun;
          function stackCheckInit() {
            _emscripten_stack_init();
            writeStackCookie();
          }
          function run() {
            if (runDependencies > 0) {
              dependenciesFulfilled = run;
              return;
            }
            stackCheckInit();
            preRun();
            if (runDependencies > 0) {
              dependenciesFulfilled = run;
              return;
            }
            function doRun() {
              assert(!calledRun);
              calledRun = true;
              Module["calledRun"] = true;
              if (ABORT) return;
              initRuntime();
              readyPromiseResolve?.(Module);
              Module["onRuntimeInitialized"]?.();
              consumedModuleProp("onRuntimeInitialized");
              assert(!Module["_main"], 'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]');
              postRun();
            }
            if (Module["setStatus"]) {
              Module["setStatus"]("Running...");
              setTimeout(() => {
                setTimeout(() => Module["setStatus"](""), 1);
                doRun();
              }, 1);
            } else {
              doRun();
            }
            checkStackCookie();
          }
          function checkUnflushedContent() {
            var oldOut = out;
            var oldErr = err;
            var has = false;
            out = err = (x) => {
              has = true;
            };
            try {
              _fflush(0);
              for (var name of ["stdout", "stderr"]) {
                var info = FS.analyzePath("/dev/" + name);
                if (!info) return;
                var stream = info.object;
                var rdev = stream.rdev;
                var tty = TTY.ttys[rdev];
                if (tty?.output?.length) {
                  has = true;
                }
              }
            } catch (e) {
            }
            out = oldOut;
            err = oldErr;
            if (has) {
              warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.");
            }
          }
          var wasmExports;
          wasmExports = await createWasm();
          run();
          if (runtimeInitialized) {
            moduleRtn = Module;
          } else {
            moduleRtn = new Promise((resolve, reject) => {
              readyPromiseResolve = resolve;
              readyPromiseReject = reject;
            });
          }
          for (const prop of Object.keys(Module)) {
            if (!(prop in moduleArg)) {
              Object.defineProperty(moduleArg, prop, { configurable: true, get() {
                abort(`Access to module property ('${prop}') is no longer possible via the module constructor argument; Instead, use the result of the module constructor.`);
              } });
            }
          }
          ;
          return moduleRtn;
        };
      })();
      if (typeof exports === "object" && typeof module === "object") {
        module.exports = WebIFCWasm2;
        module.exports.default = WebIFCWasm2;
      } else if (typeof define === "function" && define["amd"]) define([], () => WebIFCWasm2);
    }
  });

  // dist/web-ifc-api.ts
  var web_ifc_api_exports = {};
  __export(web_ifc_api_exports, {
    Constructors: () => Constructors,
    EMPTY: () => EMPTY,
    ENUM: () => ENUM,
    FILE_DESCRIPTION: () => FILE_DESCRIPTION,
    FILE_NAME: () => FILE_NAME,
    FILE_SCHEMA: () => FILE_SCHEMA,
    FromRawLineData: () => FromRawLineData,
    Handle: () => Handle,
    IFC2DCOMPOSITECURVE: () => IFC2DCOMPOSITECURVE,
    IFC2X3: () => IFC2X3,
    IFC4: () => IFC4,
    IFC4X3: () => IFC4X3,
    IFCABSORBEDDOSEMEASURE: () => IFCABSORBEDDOSEMEASURE,
    IFCACCELERATIONMEASURE: () => IFCACCELERATIONMEASURE,
    IFCACTIONREQUEST: () => IFCACTIONREQUEST,
    IFCACTOR: () => IFCACTOR,
    IFCACTORROLE: () => IFCACTORROLE,
    IFCACTUATOR: () => IFCACTUATOR,
    IFCACTUATORTYPE: () => IFCACTUATORTYPE,
    IFCADDRESS: () => IFCADDRESS,
    IFCADVANCEDBREP: () => IFCADVANCEDBREP,
    IFCADVANCEDBREPWITHVOIDS: () => IFCADVANCEDBREPWITHVOIDS,
    IFCADVANCEDFACE: () => IFCADVANCEDFACE,
    IFCAIRTERMINAL: () => IFCAIRTERMINAL,
    IFCAIRTERMINALBOX: () => IFCAIRTERMINALBOX,
    IFCAIRTERMINALBOXTYPE: () => IFCAIRTERMINALBOXTYPE,
    IFCAIRTERMINALTYPE: () => IFCAIRTERMINALTYPE,
    IFCAIRTOAIRHEATRECOVERY: () => IFCAIRTOAIRHEATRECOVERY,
    IFCAIRTOAIRHEATRECOVERYTYPE: () => IFCAIRTOAIRHEATRECOVERYTYPE,
    IFCALARM: () => IFCALARM,
    IFCALARMTYPE: () => IFCALARMTYPE,
    IFCALIGNMENT: () => IFCALIGNMENT,
    IFCALIGNMENTCANT: () => IFCALIGNMENTCANT,
    IFCALIGNMENTCANTSEGMENT: () => IFCALIGNMENTCANTSEGMENT,
    IFCALIGNMENTHORIZONTAL: () => IFCALIGNMENTHORIZONTAL,
    IFCALIGNMENTHORIZONTALSEGMENT: () => IFCALIGNMENTHORIZONTALSEGMENT,
    IFCALIGNMENTPARAMETERSEGMENT: () => IFCALIGNMENTPARAMETERSEGMENT,
    IFCALIGNMENTSEGMENT: () => IFCALIGNMENTSEGMENT,
    IFCALIGNMENTVERTICAL: () => IFCALIGNMENTVERTICAL,
    IFCALIGNMENTVERTICALSEGMENT: () => IFCALIGNMENTVERTICALSEGMENT,
    IFCAMOUNTOFSUBSTANCEMEASURE: () => IFCAMOUNTOFSUBSTANCEMEASURE,
    IFCANGULARDIMENSION: () => IFCANGULARDIMENSION,
    IFCANGULARVELOCITYMEASURE: () => IFCANGULARVELOCITYMEASURE,
    IFCANNOTATION: () => IFCANNOTATION,
    IFCANNOTATIONCURVEOCCURRENCE: () => IFCANNOTATIONCURVEOCCURRENCE,
    IFCANNOTATIONFILLAREA: () => IFCANNOTATIONFILLAREA,
    IFCANNOTATIONFILLAREAOCCURRENCE: () => IFCANNOTATIONFILLAREAOCCURRENCE,
    IFCANNOTATIONOCCURRENCE: () => IFCANNOTATIONOCCURRENCE,
    IFCANNOTATIONSURFACE: () => IFCANNOTATIONSURFACE,
    IFCANNOTATIONSURFACEOCCURRENCE: () => IFCANNOTATIONSURFACEOCCURRENCE,
    IFCANNOTATIONSYMBOLOCCURRENCE: () => IFCANNOTATIONSYMBOLOCCURRENCE,
    IFCANNOTATIONTEXTOCCURRENCE: () => IFCANNOTATIONTEXTOCCURRENCE,
    IFCAPPLICATION: () => IFCAPPLICATION,
    IFCAPPLIEDVALUE: () => IFCAPPLIEDVALUE,
    IFCAPPLIEDVALUERELATIONSHIP: () => IFCAPPLIEDVALUERELATIONSHIP,
    IFCAPPROVAL: () => IFCAPPROVAL,
    IFCAPPROVALACTORRELATIONSHIP: () => IFCAPPROVALACTORRELATIONSHIP,
    IFCAPPROVALPROPERTYRELATIONSHIP: () => IFCAPPROVALPROPERTYRELATIONSHIP,
    IFCAPPROVALRELATIONSHIP: () => IFCAPPROVALRELATIONSHIP,
    IFCARBITRARYCLOSEDPROFILEDEF: () => IFCARBITRARYCLOSEDPROFILEDEF,
    IFCARBITRARYOPENPROFILEDEF: () => IFCARBITRARYOPENPROFILEDEF,
    IFCARBITRARYPROFILEDEFWITHVOIDS: () => IFCARBITRARYPROFILEDEFWITHVOIDS,
    IFCARCINDEX: () => IFCARCINDEX,
    IFCAREADENSITYMEASURE: () => IFCAREADENSITYMEASURE,
    IFCAREAMEASURE: () => IFCAREAMEASURE,
    IFCASSET: () => IFCASSET,
    IFCASYMMETRICISHAPEPROFILEDEF: () => IFCASYMMETRICISHAPEPROFILEDEF,
    IFCAUDIOVISUALAPPLIANCE: () => IFCAUDIOVISUALAPPLIANCE,
    IFCAUDIOVISUALAPPLIANCETYPE: () => IFCAUDIOVISUALAPPLIANCETYPE,
    IFCAXIS1PLACEMENT: () => IFCAXIS1PLACEMENT,
    IFCAXIS2PLACEMENT2D: () => IFCAXIS2PLACEMENT2D,
    IFCAXIS2PLACEMENT3D: () => IFCAXIS2PLACEMENT3D,
    IFCAXIS2PLACEMENTLINEAR: () => IFCAXIS2PLACEMENTLINEAR,
    IFCBEAM: () => IFCBEAM,
    IFCBEAMSTANDARDCASE: () => IFCBEAMSTANDARDCASE,
    IFCBEAMTYPE: () => IFCBEAMTYPE,
    IFCBEARING: () => IFCBEARING,
    IFCBEARINGTYPE: () => IFCBEARINGTYPE,
    IFCBEZIERCURVE: () => IFCBEZIERCURVE,
    IFCBINARY: () => IFCBINARY,
    IFCBLOBTEXTURE: () => IFCBLOBTEXTURE,
    IFCBLOCK: () => IFCBLOCK,
    IFCBOILER: () => IFCBOILER,
    IFCBOILERTYPE: () => IFCBOILERTYPE,
    IFCBOOLEAN: () => IFCBOOLEAN,
    IFCBOOLEANCLIPPINGRESULT: () => IFCBOOLEANCLIPPINGRESULT,
    IFCBOOLEANRESULT: () => IFCBOOLEANRESULT,
    IFCBOREHOLE: () => IFCBOREHOLE,
    IFCBOUNDARYCONDITION: () => IFCBOUNDARYCONDITION,
    IFCBOUNDARYCURVE: () => IFCBOUNDARYCURVE,
    IFCBOUNDARYEDGECONDITION: () => IFCBOUNDARYEDGECONDITION,
    IFCBOUNDARYFACECONDITION: () => IFCBOUNDARYFACECONDITION,
    IFCBOUNDARYNODECONDITION: () => IFCBOUNDARYNODECONDITION,
    IFCBOUNDARYNODECONDITIONWARPING: () => IFCBOUNDARYNODECONDITIONWARPING,
    IFCBOUNDEDCURVE: () => IFCBOUNDEDCURVE,
    IFCBOUNDEDSURFACE: () => IFCBOUNDEDSURFACE,
    IFCBOUNDINGBOX: () => IFCBOUNDINGBOX,
    IFCBOXALIGNMENT: () => IFCBOXALIGNMENT,
    IFCBOXEDHALFSPACE: () => IFCBOXEDHALFSPACE,
    IFCBRIDGE: () => IFCBRIDGE,
    IFCBRIDGEPART: () => IFCBRIDGEPART,
    IFCBSPLINECURVE: () => IFCBSPLINECURVE,
    IFCBSPLINECURVEWITHKNOTS: () => IFCBSPLINECURVEWITHKNOTS,
    IFCBSPLINESURFACE: () => IFCBSPLINESURFACE,
    IFCBSPLINESURFACEWITHKNOTS: () => IFCBSPLINESURFACEWITHKNOTS,
    IFCBUILDING: () => IFCBUILDING,
    IFCBUILDINGELEMENT: () => IFCBUILDINGELEMENT,
    IFCBUILDINGELEMENTCOMPONENT: () => IFCBUILDINGELEMENTCOMPONENT,
    IFCBUILDINGELEMENTPART: () => IFCBUILDINGELEMENTPART,
    IFCBUILDINGELEMENTPARTTYPE: () => IFCBUILDINGELEMENTPARTTYPE,
    IFCBUILDINGELEMENTPROXY: () => IFCBUILDINGELEMENTPROXY,
    IFCBUILDINGELEMENTPROXYTYPE: () => IFCBUILDINGELEMENTPROXYTYPE,
    IFCBUILDINGELEMENTTYPE: () => IFCBUILDINGELEMENTTYPE,
    IFCBUILDINGSTOREY: () => IFCBUILDINGSTOREY,
    IFCBUILDINGSYSTEM: () => IFCBUILDINGSYSTEM,
    IFCBUILTELEMENT: () => IFCBUILTELEMENT,
    IFCBUILTELEMENTTYPE: () => IFCBUILTELEMENTTYPE,
    IFCBUILTSYSTEM: () => IFCBUILTSYSTEM,
    IFCBURNER: () => IFCBURNER,
    IFCBURNERTYPE: () => IFCBURNERTYPE,
    IFCCABLECARRIERFITTING: () => IFCCABLECARRIERFITTING,
    IFCCABLECARRIERFITTINGTYPE: () => IFCCABLECARRIERFITTINGTYPE,
    IFCCABLECARRIERSEGMENT: () => IFCCABLECARRIERSEGMENT,
    IFCCABLECARRIERSEGMENTTYPE: () => IFCCABLECARRIERSEGMENTTYPE,
    IFCCABLEFITTING: () => IFCCABLEFITTING,
    IFCCABLEFITTINGTYPE: () => IFCCABLEFITTINGTYPE,
    IFCCABLESEGMENT: () => IFCCABLESEGMENT,
    IFCCABLESEGMENTTYPE: () => IFCCABLESEGMENTTYPE,
    IFCCAISSONFOUNDATION: () => IFCCAISSONFOUNDATION,
    IFCCAISSONFOUNDATIONTYPE: () => IFCCAISSONFOUNDATIONTYPE,
    IFCCALENDARDATE: () => IFCCALENDARDATE,
    IFCCARDINALPOINTREFERENCE: () => IFCCARDINALPOINTREFERENCE,
    IFCCARTESIANPOINT: () => IFCCARTESIANPOINT,
    IFCCARTESIANPOINTLIST: () => IFCCARTESIANPOINTLIST,
    IFCCARTESIANPOINTLIST2D: () => IFCCARTESIANPOINTLIST2D,
    IFCCARTESIANPOINTLIST3D: () => IFCCARTESIANPOINTLIST3D,
    IFCCARTESIANTRANSFORMATIONOPERATOR: () => IFCCARTESIANTRANSFORMATIONOPERATOR,
    IFCCARTESIANTRANSFORMATIONOPERATOR2D: () => IFCCARTESIANTRANSFORMATIONOPERATOR2D,
    IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM: () => IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM,
    IFCCARTESIANTRANSFORMATIONOPERATOR3D: () => IFCCARTESIANTRANSFORMATIONOPERATOR3D,
    IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM: () => IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM,
    IFCCENTERLINEPROFILEDEF: () => IFCCENTERLINEPROFILEDEF,
    IFCCHAMFEREDGEFEATURE: () => IFCCHAMFEREDGEFEATURE,
    IFCCHILLER: () => IFCCHILLER,
    IFCCHILLERTYPE: () => IFCCHILLERTYPE,
    IFCCHIMNEY: () => IFCCHIMNEY,
    IFCCHIMNEYTYPE: () => IFCCHIMNEYTYPE,
    IFCCIRCLE: () => IFCCIRCLE,
    IFCCIRCLEHOLLOWPROFILEDEF: () => IFCCIRCLEHOLLOWPROFILEDEF,
    IFCCIRCLEPROFILEDEF: () => IFCCIRCLEPROFILEDEF,
    IFCCIVILELEMENT: () => IFCCIVILELEMENT,
    IFCCIVILELEMENTTYPE: () => IFCCIVILELEMENTTYPE,
    IFCCLASSIFICATION: () => IFCCLASSIFICATION,
    IFCCLASSIFICATIONITEM: () => IFCCLASSIFICATIONITEM,
    IFCCLASSIFICATIONITEMRELATIONSHIP: () => IFCCLASSIFICATIONITEMRELATIONSHIP,
    IFCCLASSIFICATIONNOTATION: () => IFCCLASSIFICATIONNOTATION,
    IFCCLASSIFICATIONNOTATIONFACET: () => IFCCLASSIFICATIONNOTATIONFACET,
    IFCCLASSIFICATIONREFERENCE: () => IFCCLASSIFICATIONREFERENCE,
    IFCCLOSEDSHELL: () => IFCCLOSEDSHELL,
    IFCCLOTHOID: () => IFCCLOTHOID,
    IFCCOIL: () => IFCCOIL,
    IFCCOILTYPE: () => IFCCOILTYPE,
    IFCCOLOURRGB: () => IFCCOLOURRGB,
    IFCCOLOURRGBLIST: () => IFCCOLOURRGBLIST,
    IFCCOLOURSPECIFICATION: () => IFCCOLOURSPECIFICATION,
    IFCCOLUMN: () => IFCCOLUMN,
    IFCCOLUMNSTANDARDCASE: () => IFCCOLUMNSTANDARDCASE,
    IFCCOLUMNTYPE: () => IFCCOLUMNTYPE,
    IFCCOMMUNICATIONSAPPLIANCE: () => IFCCOMMUNICATIONSAPPLIANCE,
    IFCCOMMUNICATIONSAPPLIANCETYPE: () => IFCCOMMUNICATIONSAPPLIANCETYPE,
    IFCCOMPLEXNUMBER: () => IFCCOMPLEXNUMBER,
    IFCCOMPLEXPROPERTY: () => IFCCOMPLEXPROPERTY,
    IFCCOMPLEXPROPERTYTEMPLATE: () => IFCCOMPLEXPROPERTYTEMPLATE,
    IFCCOMPOSITECURVE: () => IFCCOMPOSITECURVE,
    IFCCOMPOSITECURVEONSURFACE: () => IFCCOMPOSITECURVEONSURFACE,
    IFCCOMPOSITECURVESEGMENT: () => IFCCOMPOSITECURVESEGMENT,
    IFCCOMPOSITEPROFILEDEF: () => IFCCOMPOSITEPROFILEDEF,
    IFCCOMPOUNDPLANEANGLEMEASURE: () => IFCCOMPOUNDPLANEANGLEMEASURE,
    IFCCOMPRESSOR: () => IFCCOMPRESSOR,
    IFCCOMPRESSORTYPE: () => IFCCOMPRESSORTYPE,
    IFCCONDENSER: () => IFCCONDENSER,
    IFCCONDENSERTYPE: () => IFCCONDENSERTYPE,
    IFCCONDITION: () => IFCCONDITION,
    IFCCONDITIONCRITERION: () => IFCCONDITIONCRITERION,
    IFCCONIC: () => IFCCONIC,
    IFCCONNECTEDFACESET: () => IFCCONNECTEDFACESET,
    IFCCONNECTIONCURVEGEOMETRY: () => IFCCONNECTIONCURVEGEOMETRY,
    IFCCONNECTIONGEOMETRY: () => IFCCONNECTIONGEOMETRY,
    IFCCONNECTIONPOINTECCENTRICITY: () => IFCCONNECTIONPOINTECCENTRICITY,
    IFCCONNECTIONPOINTGEOMETRY: () => IFCCONNECTIONPOINTGEOMETRY,
    IFCCONNECTIONPORTGEOMETRY: () => IFCCONNECTIONPORTGEOMETRY,
    IFCCONNECTIONSURFACEGEOMETRY: () => IFCCONNECTIONSURFACEGEOMETRY,
    IFCCONNECTIONVOLUMEGEOMETRY: () => IFCCONNECTIONVOLUMEGEOMETRY,
    IFCCONSTRAINT: () => IFCCONSTRAINT,
    IFCCONSTRAINTAGGREGATIONRELATIONSHIP: () => IFCCONSTRAINTAGGREGATIONRELATIONSHIP,
    IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP: () => IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP,
    IFCCONSTRAINTRELATIONSHIP: () => IFCCONSTRAINTRELATIONSHIP,
    IFCCONSTRUCTIONEQUIPMENTRESOURCE: () => IFCCONSTRUCTIONEQUIPMENTRESOURCE,
    IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE: () => IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE,
    IFCCONSTRUCTIONMATERIALRESOURCE: () => IFCCONSTRUCTIONMATERIALRESOURCE,
    IFCCONSTRUCTIONMATERIALRESOURCETYPE: () => IFCCONSTRUCTIONMATERIALRESOURCETYPE,
    IFCCONSTRUCTIONPRODUCTRESOURCE: () => IFCCONSTRUCTIONPRODUCTRESOURCE,
    IFCCONSTRUCTIONPRODUCTRESOURCETYPE: () => IFCCONSTRUCTIONPRODUCTRESOURCETYPE,
    IFCCONSTRUCTIONRESOURCE: () => IFCCONSTRUCTIONRESOURCE,
    IFCCONSTRUCTIONRESOURCETYPE: () => IFCCONSTRUCTIONRESOURCETYPE,
    IFCCONTEXT: () => IFCCONTEXT,
    IFCCONTEXTDEPENDENTMEASURE: () => IFCCONTEXTDEPENDENTMEASURE,
    IFCCONTEXTDEPENDENTUNIT: () => IFCCONTEXTDEPENDENTUNIT,
    IFCCONTROL: () => IFCCONTROL,
    IFCCONTROLLER: () => IFCCONTROLLER,
    IFCCONTROLLERTYPE: () => IFCCONTROLLERTYPE,
    IFCCONVERSIONBASEDUNIT: () => IFCCONVERSIONBASEDUNIT,
    IFCCONVERSIONBASEDUNITWITHOFFSET: () => IFCCONVERSIONBASEDUNITWITHOFFSET,
    IFCCONVEYORSEGMENT: () => IFCCONVEYORSEGMENT,
    IFCCONVEYORSEGMENTTYPE: () => IFCCONVEYORSEGMENTTYPE,
    IFCCOOLEDBEAM: () => IFCCOOLEDBEAM,
    IFCCOOLEDBEAMTYPE: () => IFCCOOLEDBEAMTYPE,
    IFCCOOLINGTOWER: () => IFCCOOLINGTOWER,
    IFCCOOLINGTOWERTYPE: () => IFCCOOLINGTOWERTYPE,
    IFCCOORDINATEDUNIVERSALTIMEOFFSET: () => IFCCOORDINATEDUNIVERSALTIMEOFFSET,
    IFCCOORDINATEOPERATION: () => IFCCOORDINATEOPERATION,
    IFCCOORDINATEREFERENCESYSTEM: () => IFCCOORDINATEREFERENCESYSTEM,
    IFCCOSINESPIRAL: () => IFCCOSINESPIRAL,
    IFCCOSTITEM: () => IFCCOSTITEM,
    IFCCOSTSCHEDULE: () => IFCCOSTSCHEDULE,
    IFCCOSTVALUE: () => IFCCOSTVALUE,
    IFCCOUNTMEASURE: () => IFCCOUNTMEASURE,
    IFCCOURSE: () => IFCCOURSE,
    IFCCOURSETYPE: () => IFCCOURSETYPE,
    IFCCOVERING: () => IFCCOVERING,
    IFCCOVERINGTYPE: () => IFCCOVERINGTYPE,
    IFCCRANERAILASHAPEPROFILEDEF: () => IFCCRANERAILASHAPEPROFILEDEF,
    IFCCRANERAILFSHAPEPROFILEDEF: () => IFCCRANERAILFSHAPEPROFILEDEF,
    IFCCREWRESOURCE: () => IFCCREWRESOURCE,
    IFCCREWRESOURCETYPE: () => IFCCREWRESOURCETYPE,
    IFCCSGPRIMITIVE3D: () => IFCCSGPRIMITIVE3D,
    IFCCSGSOLID: () => IFCCSGSOLID,
    IFCCSHAPEPROFILEDEF: () => IFCCSHAPEPROFILEDEF,
    IFCCURRENCYRELATIONSHIP: () => IFCCURRENCYRELATIONSHIP,
    IFCCURTAINWALL: () => IFCCURTAINWALL,
    IFCCURTAINWALLTYPE: () => IFCCURTAINWALLTYPE,
    IFCCURVATUREMEASURE: () => IFCCURVATUREMEASURE,
    IFCCURVE: () => IFCCURVE,
    IFCCURVEBOUNDEDPLANE: () => IFCCURVEBOUNDEDPLANE,
    IFCCURVEBOUNDEDSURFACE: () => IFCCURVEBOUNDEDSURFACE,
    IFCCURVESEGMENT: () => IFCCURVESEGMENT,
    IFCCURVESTYLE: () => IFCCURVESTYLE,
    IFCCURVESTYLEFONT: () => IFCCURVESTYLEFONT,
    IFCCURVESTYLEFONTANDSCALING: () => IFCCURVESTYLEFONTANDSCALING,
    IFCCURVESTYLEFONTPATTERN: () => IFCCURVESTYLEFONTPATTERN,
    IFCCYLINDRICALSURFACE: () => IFCCYLINDRICALSURFACE,
    IFCDAMPER: () => IFCDAMPER,
    IFCDAMPERTYPE: () => IFCDAMPERTYPE,
    IFCDATE: () => IFCDATE,
    IFCDATEANDTIME: () => IFCDATEANDTIME,
    IFCDATETIME: () => IFCDATETIME,
    IFCDAYINMONTHNUMBER: () => IFCDAYINMONTHNUMBER,
    IFCDAYINWEEKNUMBER: () => IFCDAYINWEEKNUMBER,
    IFCDAYLIGHTSAVINGHOUR: () => IFCDAYLIGHTSAVINGHOUR,
    IFCDEEPFOUNDATION: () => IFCDEEPFOUNDATION,
    IFCDEEPFOUNDATIONTYPE: () => IFCDEEPFOUNDATIONTYPE,
    IFCDEFINEDSYMBOL: () => IFCDEFINEDSYMBOL,
    IFCDERIVEDPROFILEDEF: () => IFCDERIVEDPROFILEDEF,
    IFCDERIVEDUNIT: () => IFCDERIVEDUNIT,
    IFCDERIVEDUNITELEMENT: () => IFCDERIVEDUNITELEMENT,
    IFCDESCRIPTIVEMEASURE: () => IFCDESCRIPTIVEMEASURE,
    IFCDIAMETERDIMENSION: () => IFCDIAMETERDIMENSION,
    IFCDIMENSIONALEXPONENTS: () => IFCDIMENSIONALEXPONENTS,
    IFCDIMENSIONCALLOUTRELATIONSHIP: () => IFCDIMENSIONCALLOUTRELATIONSHIP,
    IFCDIMENSIONCOUNT: () => IFCDIMENSIONCOUNT,
    IFCDIMENSIONCURVE: () => IFCDIMENSIONCURVE,
    IFCDIMENSIONCURVEDIRECTEDCALLOUT: () => IFCDIMENSIONCURVEDIRECTEDCALLOUT,
    IFCDIMENSIONCURVETERMINATOR: () => IFCDIMENSIONCURVETERMINATOR,
    IFCDIMENSIONPAIR: () => IFCDIMENSIONPAIR,
    IFCDIRECTION: () => IFCDIRECTION,
    IFCDIRECTRIXCURVESWEPTAREASOLID: () => IFCDIRECTRIXCURVESWEPTAREASOLID,
    IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID: () => IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID,
    IFCDISCRETEACCESSORY: () => IFCDISCRETEACCESSORY,
    IFCDISCRETEACCESSORYTYPE: () => IFCDISCRETEACCESSORYTYPE,
    IFCDISTRIBUTIONBOARD: () => IFCDISTRIBUTIONBOARD,
    IFCDISTRIBUTIONBOARDTYPE: () => IFCDISTRIBUTIONBOARDTYPE,
    IFCDISTRIBUTIONCHAMBERELEMENT: () => IFCDISTRIBUTIONCHAMBERELEMENT,
    IFCDISTRIBUTIONCHAMBERELEMENTTYPE: () => IFCDISTRIBUTIONCHAMBERELEMENTTYPE,
    IFCDISTRIBUTIONCIRCUIT: () => IFCDISTRIBUTIONCIRCUIT,
    IFCDISTRIBUTIONCONTROLELEMENT: () => IFCDISTRIBUTIONCONTROLELEMENT,
    IFCDISTRIBUTIONCONTROLELEMENTTYPE: () => IFCDISTRIBUTIONCONTROLELEMENTTYPE,
    IFCDISTRIBUTIONELEMENT: () => IFCDISTRIBUTIONELEMENT,
    IFCDISTRIBUTIONELEMENTTYPE: () => IFCDISTRIBUTIONELEMENTTYPE,
    IFCDISTRIBUTIONFLOWELEMENT: () => IFCDISTRIBUTIONFLOWELEMENT,
    IFCDISTRIBUTIONFLOWELEMENTTYPE: () => IFCDISTRIBUTIONFLOWELEMENTTYPE,
    IFCDISTRIBUTIONPORT: () => IFCDISTRIBUTIONPORT,
    IFCDISTRIBUTIONSYSTEM: () => IFCDISTRIBUTIONSYSTEM,
    IFCDOCUMENTELECTRONICFORMAT: () => IFCDOCUMENTELECTRONICFORMAT,
    IFCDOCUMENTINFORMATION: () => IFCDOCUMENTINFORMATION,
    IFCDOCUMENTINFORMATIONRELATIONSHIP: () => IFCDOCUMENTINFORMATIONRELATIONSHIP,
    IFCDOCUMENTREFERENCE: () => IFCDOCUMENTREFERENCE,
    IFCDOOR: () => IFCDOOR,
    IFCDOORLININGPROPERTIES: () => IFCDOORLININGPROPERTIES,
    IFCDOORPANELPROPERTIES: () => IFCDOORPANELPROPERTIES,
    IFCDOORSTANDARDCASE: () => IFCDOORSTANDARDCASE,
    IFCDOORSTYLE: () => IFCDOORSTYLE,
    IFCDOORTYPE: () => IFCDOORTYPE,
    IFCDOSEEQUIVALENTMEASURE: () => IFCDOSEEQUIVALENTMEASURE,
    IFCDRAUGHTINGCALLOUT: () => IFCDRAUGHTINGCALLOUT,
    IFCDRAUGHTINGCALLOUTRELATIONSHIP: () => IFCDRAUGHTINGCALLOUTRELATIONSHIP,
    IFCDRAUGHTINGPREDEFINEDCOLOUR: () => IFCDRAUGHTINGPREDEFINEDCOLOUR,
    IFCDRAUGHTINGPREDEFINEDCURVEFONT: () => IFCDRAUGHTINGPREDEFINEDCURVEFONT,
    IFCDRAUGHTINGPREDEFINEDTEXTFONT: () => IFCDRAUGHTINGPREDEFINEDTEXTFONT,
    IFCDUCTFITTING: () => IFCDUCTFITTING,
    IFCDUCTFITTINGTYPE: () => IFCDUCTFITTINGTYPE,
    IFCDUCTSEGMENT: () => IFCDUCTSEGMENT,
    IFCDUCTSEGMENTTYPE: () => IFCDUCTSEGMENTTYPE,
    IFCDUCTSILENCER: () => IFCDUCTSILENCER,
    IFCDUCTSILENCERTYPE: () => IFCDUCTSILENCERTYPE,
    IFCDURATION: () => IFCDURATION,
    IFCDYNAMICVISCOSITYMEASURE: () => IFCDYNAMICVISCOSITYMEASURE,
    IFCEARTHWORKSCUT: () => IFCEARTHWORKSCUT,
    IFCEARTHWORKSELEMENT: () => IFCEARTHWORKSELEMENT,
    IFCEARTHWORKSFILL: () => IFCEARTHWORKSFILL,
    IFCEDGE: () => IFCEDGE,
    IFCEDGECURVE: () => IFCEDGECURVE,
    IFCEDGEFEATURE: () => IFCEDGEFEATURE,
    IFCEDGELOOP: () => IFCEDGELOOP,
    IFCELECTRICALBASEPROPERTIES: () => IFCELECTRICALBASEPROPERTIES,
    IFCELECTRICALCIRCUIT: () => IFCELECTRICALCIRCUIT,
    IFCELECTRICALELEMENT: () => IFCELECTRICALELEMENT,
    IFCELECTRICAPPLIANCE: () => IFCELECTRICAPPLIANCE,
    IFCELECTRICAPPLIANCETYPE: () => IFCELECTRICAPPLIANCETYPE,
    IFCELECTRICCAPACITANCEMEASURE: () => IFCELECTRICCAPACITANCEMEASURE,
    IFCELECTRICCHARGEMEASURE: () => IFCELECTRICCHARGEMEASURE,
    IFCELECTRICCONDUCTANCEMEASURE: () => IFCELECTRICCONDUCTANCEMEASURE,
    IFCELECTRICCURRENTMEASURE: () => IFCELECTRICCURRENTMEASURE,
    IFCELECTRICDISTRIBUTIONBOARD: () => IFCELECTRICDISTRIBUTIONBOARD,
    IFCELECTRICDISTRIBUTIONBOARDTYPE: () => IFCELECTRICDISTRIBUTIONBOARDTYPE,
    IFCELECTRICDISTRIBUTIONPOINT: () => IFCELECTRICDISTRIBUTIONPOINT,
    IFCELECTRICFLOWSTORAGEDEVICE: () => IFCELECTRICFLOWSTORAGEDEVICE,
    IFCELECTRICFLOWSTORAGEDEVICETYPE: () => IFCELECTRICFLOWSTORAGEDEVICETYPE,
    IFCELECTRICFLOWTREATMENTDEVICE: () => IFCELECTRICFLOWTREATMENTDEVICE,
    IFCELECTRICFLOWTREATMENTDEVICETYPE: () => IFCELECTRICFLOWTREATMENTDEVICETYPE,
    IFCELECTRICGENERATOR: () => IFCELECTRICGENERATOR,
    IFCELECTRICGENERATORTYPE: () => IFCELECTRICGENERATORTYPE,
    IFCELECTRICHEATERTYPE: () => IFCELECTRICHEATERTYPE,
    IFCELECTRICMOTOR: () => IFCELECTRICMOTOR,
    IFCELECTRICMOTORTYPE: () => IFCELECTRICMOTORTYPE,
    IFCELECTRICRESISTANCEMEASURE: () => IFCELECTRICRESISTANCEMEASURE,
    IFCELECTRICTIMECONTROL: () => IFCELECTRICTIMECONTROL,
    IFCELECTRICTIMECONTROLTYPE: () => IFCELECTRICTIMECONTROLTYPE,
    IFCELECTRICVOLTAGEMEASURE: () => IFCELECTRICVOLTAGEMEASURE,
    IFCELEMENT: () => IFCELEMENT,
    IFCELEMENTARYSURFACE: () => IFCELEMENTARYSURFACE,
    IFCELEMENTASSEMBLY: () => IFCELEMENTASSEMBLY,
    IFCELEMENTASSEMBLYTYPE: () => IFCELEMENTASSEMBLYTYPE,
    IFCELEMENTCOMPONENT: () => IFCELEMENTCOMPONENT,
    IFCELEMENTCOMPONENTTYPE: () => IFCELEMENTCOMPONENTTYPE,
    IFCELEMENTQUANTITY: () => IFCELEMENTQUANTITY,
    IFCELEMENTTYPE: () => IFCELEMENTTYPE,
    IFCELLIPSE: () => IFCELLIPSE,
    IFCELLIPSEPROFILEDEF: () => IFCELLIPSEPROFILEDEF,
    IFCENERGYCONVERSIONDEVICE: () => IFCENERGYCONVERSIONDEVICE,
    IFCENERGYCONVERSIONDEVICETYPE: () => IFCENERGYCONVERSIONDEVICETYPE,
    IFCENERGYMEASURE: () => IFCENERGYMEASURE,
    IFCENERGYPROPERTIES: () => IFCENERGYPROPERTIES,
    IFCENGINE: () => IFCENGINE,
    IFCENGINETYPE: () => IFCENGINETYPE,
    IFCENVIRONMENTALIMPACTVALUE: () => IFCENVIRONMENTALIMPACTVALUE,
    IFCEQUIPMENTELEMENT: () => IFCEQUIPMENTELEMENT,
    IFCEQUIPMENTSTANDARD: () => IFCEQUIPMENTSTANDARD,
    IFCEVAPORATIVECOOLER: () => IFCEVAPORATIVECOOLER,
    IFCEVAPORATIVECOOLERTYPE: () => IFCEVAPORATIVECOOLERTYPE,
    IFCEVAPORATOR: () => IFCEVAPORATOR,
    IFCEVAPORATORTYPE: () => IFCEVAPORATORTYPE,
    IFCEVENT: () => IFCEVENT,
    IFCEVENTTIME: () => IFCEVENTTIME,
    IFCEVENTTYPE: () => IFCEVENTTYPE,
    IFCEXTENDEDMATERIALPROPERTIES: () => IFCEXTENDEDMATERIALPROPERTIES,
    IFCEXTENDEDPROPERTIES: () => IFCEXTENDEDPROPERTIES,
    IFCEXTERNALINFORMATION: () => IFCEXTERNALINFORMATION,
    IFCEXTERNALLYDEFINEDHATCHSTYLE: () => IFCEXTERNALLYDEFINEDHATCHSTYLE,
    IFCEXTERNALLYDEFINEDSURFACESTYLE: () => IFCEXTERNALLYDEFINEDSURFACESTYLE,
    IFCEXTERNALLYDEFINEDSYMBOL: () => IFCEXTERNALLYDEFINEDSYMBOL,
    IFCEXTERNALLYDEFINEDTEXTFONT: () => IFCEXTERNALLYDEFINEDTEXTFONT,
    IFCEXTERNALREFERENCE: () => IFCEXTERNALREFERENCE,
    IFCEXTERNALREFERENCERELATIONSHIP: () => IFCEXTERNALREFERENCERELATIONSHIP,
    IFCEXTERNALSPATIALELEMENT: () => IFCEXTERNALSPATIALELEMENT,
    IFCEXTERNALSPATIALSTRUCTUREELEMENT: () => IFCEXTERNALSPATIALSTRUCTUREELEMENT,
    IFCEXTRUDEDAREASOLID: () => IFCEXTRUDEDAREASOLID,
    IFCEXTRUDEDAREASOLIDTAPERED: () => IFCEXTRUDEDAREASOLIDTAPERED,
    IFCFACE: () => IFCFACE,
    IFCFACEBASEDSURFACEMODEL: () => IFCFACEBASEDSURFACEMODEL,
    IFCFACEBOUND: () => IFCFACEBOUND,
    IFCFACEOUTERBOUND: () => IFCFACEOUTERBOUND,
    IFCFACESURFACE: () => IFCFACESURFACE,
    IFCFACETEDBREP: () => IFCFACETEDBREP,
    IFCFACETEDBREPWITHVOIDS: () => IFCFACETEDBREPWITHVOIDS,
    IFCFACILITY: () => IFCFACILITY,
    IFCFACILITYPART: () => IFCFACILITYPART,
    IFCFACILITYPARTCOMMON: () => IFCFACILITYPARTCOMMON,
    IFCFAILURECONNECTIONCONDITION: () => IFCFAILURECONNECTIONCONDITION,
    IFCFAN: () => IFCFAN,
    IFCFANTYPE: () => IFCFANTYPE,
    IFCFASTENER: () => IFCFASTENER,
    IFCFASTENERTYPE: () => IFCFASTENERTYPE,
    IFCFEATUREELEMENT: () => IFCFEATUREELEMENT,
    IFCFEATUREELEMENTADDITION: () => IFCFEATUREELEMENTADDITION,
    IFCFEATUREELEMENTSUBTRACTION: () => IFCFEATUREELEMENTSUBTRACTION,
    IFCFILLAREASTYLE: () => IFCFILLAREASTYLE,
    IFCFILLAREASTYLEHATCHING: () => IFCFILLAREASTYLEHATCHING,
    IFCFILLAREASTYLETILES: () => IFCFILLAREASTYLETILES,
    IFCFILLAREASTYLETILESYMBOLWITHSTYLE: () => IFCFILLAREASTYLETILESYMBOLWITHSTYLE,
    IFCFILTER: () => IFCFILTER,
    IFCFILTERTYPE: () => IFCFILTERTYPE,
    IFCFIRESUPPRESSIONTERMINAL: () => IFCFIRESUPPRESSIONTERMINAL,
    IFCFIRESUPPRESSIONTERMINALTYPE: () => IFCFIRESUPPRESSIONTERMINALTYPE,
    IFCFIXEDREFERENCESWEPTAREASOLID: () => IFCFIXEDREFERENCESWEPTAREASOLID,
    IFCFLOWCONTROLLER: () => IFCFLOWCONTROLLER,
    IFCFLOWCONTROLLERTYPE: () => IFCFLOWCONTROLLERTYPE,
    IFCFLOWFITTING: () => IFCFLOWFITTING,
    IFCFLOWFITTINGTYPE: () => IFCFLOWFITTINGTYPE,
    IFCFLOWINSTRUMENT: () => IFCFLOWINSTRUMENT,
    IFCFLOWINSTRUMENTTYPE: () => IFCFLOWINSTRUMENTTYPE,
    IFCFLOWMETER: () => IFCFLOWMETER,
    IFCFLOWMETERTYPE: () => IFCFLOWMETERTYPE,
    IFCFLOWMOVINGDEVICE: () => IFCFLOWMOVINGDEVICE,
    IFCFLOWMOVINGDEVICETYPE: () => IFCFLOWMOVINGDEVICETYPE,
    IFCFLOWSEGMENT: () => IFCFLOWSEGMENT,
    IFCFLOWSEGMENTTYPE: () => IFCFLOWSEGMENTTYPE,
    IFCFLOWSTORAGEDEVICE: () => IFCFLOWSTORAGEDEVICE,
    IFCFLOWSTORAGEDEVICETYPE: () => IFCFLOWSTORAGEDEVICETYPE,
    IFCFLOWTERMINAL: () => IFCFLOWTERMINAL,
    IFCFLOWTERMINALTYPE: () => IFCFLOWTERMINALTYPE,
    IFCFLOWTREATMENTDEVICE: () => IFCFLOWTREATMENTDEVICE,
    IFCFLOWTREATMENTDEVICETYPE: () => IFCFLOWTREATMENTDEVICETYPE,
    IFCFLUIDFLOWPROPERTIES: () => IFCFLUIDFLOWPROPERTIES,
    IFCFONTSTYLE: () => IFCFONTSTYLE,
    IFCFONTVARIANT: () => IFCFONTVARIANT,
    IFCFONTWEIGHT: () => IFCFONTWEIGHT,
    IFCFOOTING: () => IFCFOOTING,
    IFCFOOTINGTYPE: () => IFCFOOTINGTYPE,
    IFCFORCEMEASURE: () => IFCFORCEMEASURE,
    IFCFREQUENCYMEASURE: () => IFCFREQUENCYMEASURE,
    IFCFUELPROPERTIES: () => IFCFUELPROPERTIES,
    IFCFURNISHINGELEMENT: () => IFCFURNISHINGELEMENT,
    IFCFURNISHINGELEMENTTYPE: () => IFCFURNISHINGELEMENTTYPE,
    IFCFURNITURE: () => IFCFURNITURE,
    IFCFURNITURESTANDARD: () => IFCFURNITURESTANDARD,
    IFCFURNITURETYPE: () => IFCFURNITURETYPE,
    IFCGASTERMINALTYPE: () => IFCGASTERMINALTYPE,
    IFCGENERALMATERIALPROPERTIES: () => IFCGENERALMATERIALPROPERTIES,
    IFCGENERALPROFILEPROPERTIES: () => IFCGENERALPROFILEPROPERTIES,
    IFCGEOGRAPHICCRS: () => IFCGEOGRAPHICCRS,
    IFCGEOGRAPHICELEMENT: () => IFCGEOGRAPHICELEMENT,
    IFCGEOGRAPHICELEMENTTYPE: () => IFCGEOGRAPHICELEMENTTYPE,
    IFCGEOMETRICCURVESET: () => IFCGEOMETRICCURVESET,
    IFCGEOMETRICREPRESENTATIONCONTEXT: () => IFCGEOMETRICREPRESENTATIONCONTEXT,
    IFCGEOMETRICREPRESENTATIONITEM: () => IFCGEOMETRICREPRESENTATIONITEM,
    IFCGEOMETRICREPRESENTATIONSUBCONTEXT: () => IFCGEOMETRICREPRESENTATIONSUBCONTEXT,
    IFCGEOMETRICSET: () => IFCGEOMETRICSET,
    IFCGEOMODEL: () => IFCGEOMODEL,
    IFCGEOSLICE: () => IFCGEOSLICE,
    IFCGEOTECHNICALASSEMBLY: () => IFCGEOTECHNICALASSEMBLY,
    IFCGEOTECHNICALELEMENT: () => IFCGEOTECHNICALELEMENT,
    IFCGEOTECHNICALSTRATUM: () => IFCGEOTECHNICALSTRATUM,
    IFCGLOBALLYUNIQUEID: () => IFCGLOBALLYUNIQUEID,
    IFCGRADIENTCURVE: () => IFCGRADIENTCURVE,
    IFCGRID: () => IFCGRID,
    IFCGRIDAXIS: () => IFCGRIDAXIS,
    IFCGRIDPLACEMENT: () => IFCGRIDPLACEMENT,
    IFCGROUP: () => IFCGROUP,
    IFCHALFSPACESOLID: () => IFCHALFSPACESOLID,
    IFCHEATEXCHANGER: () => IFCHEATEXCHANGER,
    IFCHEATEXCHANGERTYPE: () => IFCHEATEXCHANGERTYPE,
    IFCHEATFLUXDENSITYMEASURE: () => IFCHEATFLUXDENSITYMEASURE,
    IFCHEATINGVALUEMEASURE: () => IFCHEATINGVALUEMEASURE,
    IFCHOURINDAY: () => IFCHOURINDAY,
    IFCHUMIDIFIER: () => IFCHUMIDIFIER,
    IFCHUMIDIFIERTYPE: () => IFCHUMIDIFIERTYPE,
    IFCHYGROSCOPICMATERIALPROPERTIES: () => IFCHYGROSCOPICMATERIALPROPERTIES,
    IFCIDENTIFIER: () => IFCIDENTIFIER,
    IFCILLUMINANCEMEASURE: () => IFCILLUMINANCEMEASURE,
    IFCIMAGETEXTURE: () => IFCIMAGETEXTURE,
    IFCIMPACTPROTECTIONDEVICE: () => IFCIMPACTPROTECTIONDEVICE,
    IFCIMPACTPROTECTIONDEVICETYPE: () => IFCIMPACTPROTECTIONDEVICETYPE,
    IFCINDEXEDCOLOURMAP: () => IFCINDEXEDCOLOURMAP,
    IFCINDEXEDPOLYCURVE: () => IFCINDEXEDPOLYCURVE,
    IFCINDEXEDPOLYGONALFACE: () => IFCINDEXEDPOLYGONALFACE,
    IFCINDEXEDPOLYGONALFACEWITHVOIDS: () => IFCINDEXEDPOLYGONALFACEWITHVOIDS,
    IFCINDEXEDPOLYGONALTEXTUREMAP: () => IFCINDEXEDPOLYGONALTEXTUREMAP,
    IFCINDEXEDTEXTUREMAP: () => IFCINDEXEDTEXTUREMAP,
    IFCINDEXEDTRIANGLETEXTUREMAP: () => IFCINDEXEDTRIANGLETEXTUREMAP,
    IFCINDUCTANCEMEASURE: () => IFCINDUCTANCEMEASURE,
    IFCINTEGER: () => IFCINTEGER,
    IFCINTEGERCOUNTRATEMEASURE: () => IFCINTEGERCOUNTRATEMEASURE,
    IFCINTERCEPTOR: () => IFCINTERCEPTOR,
    IFCINTERCEPTORTYPE: () => IFCINTERCEPTORTYPE,
    IFCINTERSECTIONCURVE: () => IFCINTERSECTIONCURVE,
    IFCINVENTORY: () => IFCINVENTORY,
    IFCIONCONCENTRATIONMEASURE: () => IFCIONCONCENTRATIONMEASURE,
    IFCIRREGULARTIMESERIES: () => IFCIRREGULARTIMESERIES,
    IFCIRREGULARTIMESERIESVALUE: () => IFCIRREGULARTIMESERIESVALUE,
    IFCISHAPEPROFILEDEF: () => IFCISHAPEPROFILEDEF,
    IFCISOTHERMALMOISTURECAPACITYMEASURE: () => IFCISOTHERMALMOISTURECAPACITYMEASURE,
    IFCJUNCTIONBOX: () => IFCJUNCTIONBOX,
    IFCJUNCTIONBOXTYPE: () => IFCJUNCTIONBOXTYPE,
    IFCKERB: () => IFCKERB,
    IFCKERBTYPE: () => IFCKERBTYPE,
    IFCKINEMATICVISCOSITYMEASURE: () => IFCKINEMATICVISCOSITYMEASURE,
    IFCLABEL: () => IFCLABEL,
    IFCLABORRESOURCE: () => IFCLABORRESOURCE,
    IFCLABORRESOURCETYPE: () => IFCLABORRESOURCETYPE,
    IFCLAGTIME: () => IFCLAGTIME,
    IFCLAMP: () => IFCLAMP,
    IFCLAMPTYPE: () => IFCLAMPTYPE,
    IFCLANGUAGEID: () => IFCLANGUAGEID,
    IFCLENGTHMEASURE: () => IFCLENGTHMEASURE,
    IFCLIBRARYINFORMATION: () => IFCLIBRARYINFORMATION,
    IFCLIBRARYREFERENCE: () => IFCLIBRARYREFERENCE,
    IFCLIGHTDISTRIBUTIONDATA: () => IFCLIGHTDISTRIBUTIONDATA,
    IFCLIGHTFIXTURE: () => IFCLIGHTFIXTURE,
    IFCLIGHTFIXTURETYPE: () => IFCLIGHTFIXTURETYPE,
    IFCLIGHTINTENSITYDISTRIBUTION: () => IFCLIGHTINTENSITYDISTRIBUTION,
    IFCLIGHTSOURCE: () => IFCLIGHTSOURCE,
    IFCLIGHTSOURCEAMBIENT: () => IFCLIGHTSOURCEAMBIENT,
    IFCLIGHTSOURCEDIRECTIONAL: () => IFCLIGHTSOURCEDIRECTIONAL,
    IFCLIGHTSOURCEGONIOMETRIC: () => IFCLIGHTSOURCEGONIOMETRIC,
    IFCLIGHTSOURCEPOSITIONAL: () => IFCLIGHTSOURCEPOSITIONAL,
    IFCLIGHTSOURCESPOT: () => IFCLIGHTSOURCESPOT,
    IFCLINE: () => IFCLINE,
    IFCLINEARDIMENSION: () => IFCLINEARDIMENSION,
    IFCLINEARELEMENT: () => IFCLINEARELEMENT,
    IFCLINEARFORCEMEASURE: () => IFCLINEARFORCEMEASURE,
    IFCLINEARMOMENTMEASURE: () => IFCLINEARMOMENTMEASURE,
    IFCLINEARPLACEMENT: () => IFCLINEARPLACEMENT,
    IFCLINEARPOSITIONINGELEMENT: () => IFCLINEARPOSITIONINGELEMENT,
    IFCLINEARSTIFFNESSMEASURE: () => IFCLINEARSTIFFNESSMEASURE,
    IFCLINEARVELOCITYMEASURE: () => IFCLINEARVELOCITYMEASURE,
    IFCLINEINDEX: () => IFCLINEINDEX,
    IFCLIQUIDTERMINAL: () => IFCLIQUIDTERMINAL,
    IFCLIQUIDTERMINALTYPE: () => IFCLIQUIDTERMINALTYPE,
    IFCLOCALPLACEMENT: () => IFCLOCALPLACEMENT,
    IFCLOCALTIME: () => IFCLOCALTIME,
    IFCLOGICAL: () => IFCLOGICAL,
    IFCLOOP: () => IFCLOOP,
    IFCLSHAPEPROFILEDEF: () => IFCLSHAPEPROFILEDEF,
    IFCLUMINOUSFLUXMEASURE: () => IFCLUMINOUSFLUXMEASURE,
    IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE: () => IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE,
    IFCLUMINOUSINTENSITYMEASURE: () => IFCLUMINOUSINTENSITYMEASURE,
    IFCMAGNETICFLUXDENSITYMEASURE: () => IFCMAGNETICFLUXDENSITYMEASURE,
    IFCMAGNETICFLUXMEASURE: () => IFCMAGNETICFLUXMEASURE,
    IFCMANIFOLDSOLIDBREP: () => IFCMANIFOLDSOLIDBREP,
    IFCMAPCONVERSION: () => IFCMAPCONVERSION,
    IFCMAPCONVERSIONSCALED: () => IFCMAPCONVERSIONSCALED,
    IFCMAPPEDITEM: () => IFCMAPPEDITEM,
    IFCMARINEFACILITY: () => IFCMARINEFACILITY,
    IFCMARINEPART: () => IFCMARINEPART,
    IFCMASSDENSITYMEASURE: () => IFCMASSDENSITYMEASURE,
    IFCMASSFLOWRATEMEASURE: () => IFCMASSFLOWRATEMEASURE,
    IFCMASSMEASURE: () => IFCMASSMEASURE,
    IFCMASSPERLENGTHMEASURE: () => IFCMASSPERLENGTHMEASURE,
    IFCMATERIAL: () => IFCMATERIAL,
    IFCMATERIALCLASSIFICATIONRELATIONSHIP: () => IFCMATERIALCLASSIFICATIONRELATIONSHIP,
    IFCMATERIALCONSTITUENT: () => IFCMATERIALCONSTITUENT,
    IFCMATERIALCONSTITUENTSET: () => IFCMATERIALCONSTITUENTSET,
    IFCMATERIALDEFINITION: () => IFCMATERIALDEFINITION,
    IFCMATERIALDEFINITIONREPRESENTATION: () => IFCMATERIALDEFINITIONREPRESENTATION,
    IFCMATERIALLAYER: () => IFCMATERIALLAYER,
    IFCMATERIALLAYERSET: () => IFCMATERIALLAYERSET,
    IFCMATERIALLAYERSETUSAGE: () => IFCMATERIALLAYERSETUSAGE,
    IFCMATERIALLAYERWITHOFFSETS: () => IFCMATERIALLAYERWITHOFFSETS,
    IFCMATERIALLIST: () => IFCMATERIALLIST,
    IFCMATERIALPROFILE: () => IFCMATERIALPROFILE,
    IFCMATERIALPROFILESET: () => IFCMATERIALPROFILESET,
    IFCMATERIALPROFILESETUSAGE: () => IFCMATERIALPROFILESETUSAGE,
    IFCMATERIALPROFILESETUSAGETAPERING: () => IFCMATERIALPROFILESETUSAGETAPERING,
    IFCMATERIALPROFILEWITHOFFSETS: () => IFCMATERIALPROFILEWITHOFFSETS,
    IFCMATERIALPROPERTIES: () => IFCMATERIALPROPERTIES,
    IFCMATERIALRELATIONSHIP: () => IFCMATERIALRELATIONSHIP,
    IFCMATERIALUSAGEDEFINITION: () => IFCMATERIALUSAGEDEFINITION,
    IFCMEASUREWITHUNIT: () => IFCMEASUREWITHUNIT,
    IFCMECHANICALCONCRETEMATERIALPROPERTIES: () => IFCMECHANICALCONCRETEMATERIALPROPERTIES,
    IFCMECHANICALFASTENER: () => IFCMECHANICALFASTENER,
    IFCMECHANICALFASTENERTYPE: () => IFCMECHANICALFASTENERTYPE,
    IFCMECHANICALMATERIALPROPERTIES: () => IFCMECHANICALMATERIALPROPERTIES,
    IFCMECHANICALSTEELMATERIALPROPERTIES: () => IFCMECHANICALSTEELMATERIALPROPERTIES,
    IFCMEDICALDEVICE: () => IFCMEDICALDEVICE,
    IFCMEDICALDEVICETYPE: () => IFCMEDICALDEVICETYPE,
    IFCMEMBER: () => IFCMEMBER,
    IFCMEMBERSTANDARDCASE: () => IFCMEMBERSTANDARDCASE,
    IFCMEMBERTYPE: () => IFCMEMBERTYPE,
    IFCMETRIC: () => IFCMETRIC,
    IFCMINUTEINHOUR: () => IFCMINUTEINHOUR,
    IFCMIRROREDPROFILEDEF: () => IFCMIRROREDPROFILEDEF,
    IFCMOBILETELECOMMUNICATIONSAPPLIANCE: () => IFCMOBILETELECOMMUNICATIONSAPPLIANCE,
    IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE: () => IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE,
    IFCMODULUSOFELASTICITYMEASURE: () => IFCMODULUSOFELASTICITYMEASURE,
    IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE: () => IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE,
    IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE: () => IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE,
    IFCMODULUSOFSUBGRADEREACTIONMEASURE: () => IFCMODULUSOFSUBGRADEREACTIONMEASURE,
    IFCMOISTUREDIFFUSIVITYMEASURE: () => IFCMOISTUREDIFFUSIVITYMEASURE,
    IFCMOLECULARWEIGHTMEASURE: () => IFCMOLECULARWEIGHTMEASURE,
    IFCMOMENTOFINERTIAMEASURE: () => IFCMOMENTOFINERTIAMEASURE,
    IFCMONETARYMEASURE: () => IFCMONETARYMEASURE,
    IFCMONETARYUNIT: () => IFCMONETARYUNIT,
    IFCMONTHINYEARNUMBER: () => IFCMONTHINYEARNUMBER,
    IFCMOORINGDEVICE: () => IFCMOORINGDEVICE,
    IFCMOORINGDEVICETYPE: () => IFCMOORINGDEVICETYPE,
    IFCMOTORCONNECTION: () => IFCMOTORCONNECTION,
    IFCMOTORCONNECTIONTYPE: () => IFCMOTORCONNECTIONTYPE,
    IFCMOVE: () => IFCMOVE,
    IFCNAMEDUNIT: () => IFCNAMEDUNIT,
    IFCNAVIGATIONELEMENT: () => IFCNAVIGATIONELEMENT,
    IFCNAVIGATIONELEMENTTYPE: () => IFCNAVIGATIONELEMENTTYPE,
    IFCNONNEGATIVELENGTHMEASURE: () => IFCNONNEGATIVELENGTHMEASURE,
    IFCNORMALISEDRATIOMEASURE: () => IFCNORMALISEDRATIOMEASURE,
    IFCNUMERICMEASURE: () => IFCNUMERICMEASURE,
    IFCOBJECT: () => IFCOBJECT,
    IFCOBJECTDEFINITION: () => IFCOBJECTDEFINITION,
    IFCOBJECTIVE: () => IFCOBJECTIVE,
    IFCOBJECTPLACEMENT: () => IFCOBJECTPLACEMENT,
    IFCOCCUPANT: () => IFCOCCUPANT,
    IFCOFFSETCURVE: () => IFCOFFSETCURVE,
    IFCOFFSETCURVE2D: () => IFCOFFSETCURVE2D,
    IFCOFFSETCURVE3D: () => IFCOFFSETCURVE3D,
    IFCOFFSETCURVEBYDISTANCES: () => IFCOFFSETCURVEBYDISTANCES,
    IFCONEDIRECTIONREPEATFACTOR: () => IFCONEDIRECTIONREPEATFACTOR,
    IFCOPENCROSSPROFILEDEF: () => IFCOPENCROSSPROFILEDEF,
    IFCOPENINGELEMENT: () => IFCOPENINGELEMENT,
    IFCOPENINGSTANDARDCASE: () => IFCOPENINGSTANDARDCASE,
    IFCOPENSHELL: () => IFCOPENSHELL,
    IFCOPTICALMATERIALPROPERTIES: () => IFCOPTICALMATERIALPROPERTIES,
    IFCORDERACTION: () => IFCORDERACTION,
    IFCORGANIZATION: () => IFCORGANIZATION,
    IFCORGANIZATIONRELATIONSHIP: () => IFCORGANIZATIONRELATIONSHIP,
    IFCORIENTEDEDGE: () => IFCORIENTEDEDGE,
    IFCOUTERBOUNDARYCURVE: () => IFCOUTERBOUNDARYCURVE,
    IFCOUTLET: () => IFCOUTLET,
    IFCOUTLETTYPE: () => IFCOUTLETTYPE,
    IFCOWNERHISTORY: () => IFCOWNERHISTORY,
    IFCPARAMETERIZEDPROFILEDEF: () => IFCPARAMETERIZEDPROFILEDEF,
    IFCPARAMETERVALUE: () => IFCPARAMETERVALUE,
    IFCPATH: () => IFCPATH,
    IFCPAVEMENT: () => IFCPAVEMENT,
    IFCPAVEMENTTYPE: () => IFCPAVEMENTTYPE,
    IFCPCURVE: () => IFCPCURVE,
    IFCPERFORMANCEHISTORY: () => IFCPERFORMANCEHISTORY,
    IFCPERMEABLECOVERINGPROPERTIES: () => IFCPERMEABLECOVERINGPROPERTIES,
    IFCPERMIT: () => IFCPERMIT,
    IFCPERSON: () => IFCPERSON,
    IFCPERSONANDORGANIZATION: () => IFCPERSONANDORGANIZATION,
    IFCPHMEASURE: () => IFCPHMEASURE,
    IFCPHYSICALCOMPLEXQUANTITY: () => IFCPHYSICALCOMPLEXQUANTITY,
    IFCPHYSICALQUANTITY: () => IFCPHYSICALQUANTITY,
    IFCPHYSICALSIMPLEQUANTITY: () => IFCPHYSICALSIMPLEQUANTITY,
    IFCPILE: () => IFCPILE,
    IFCPILETYPE: () => IFCPILETYPE,
    IFCPIPEFITTING: () => IFCPIPEFITTING,
    IFCPIPEFITTINGTYPE: () => IFCPIPEFITTINGTYPE,
    IFCPIPESEGMENT: () => IFCPIPESEGMENT,
    IFCPIPESEGMENTTYPE: () => IFCPIPESEGMENTTYPE,
    IFCPIXELTEXTURE: () => IFCPIXELTEXTURE,
    IFCPLACEMENT: () => IFCPLACEMENT,
    IFCPLANARBOX: () => IFCPLANARBOX,
    IFCPLANAREXTENT: () => IFCPLANAREXTENT,
    IFCPLANARFORCEMEASURE: () => IFCPLANARFORCEMEASURE,
    IFCPLANE: () => IFCPLANE,
    IFCPLANEANGLEMEASURE: () => IFCPLANEANGLEMEASURE,
    IFCPLATE: () => IFCPLATE,
    IFCPLATESTANDARDCASE: () => IFCPLATESTANDARDCASE,
    IFCPLATETYPE: () => IFCPLATETYPE,
    IFCPOINT: () => IFCPOINT,
    IFCPOINTBYDISTANCEEXPRESSION: () => IFCPOINTBYDISTANCEEXPRESSION,
    IFCPOINTONCURVE: () => IFCPOINTONCURVE,
    IFCPOINTONSURFACE: () => IFCPOINTONSURFACE,
    IFCPOLYGONALBOUNDEDHALFSPACE: () => IFCPOLYGONALBOUNDEDHALFSPACE,
    IFCPOLYGONALFACESET: () => IFCPOLYGONALFACESET,
    IFCPOLYLINE: () => IFCPOLYLINE,
    IFCPOLYLOOP: () => IFCPOLYLOOP,
    IFCPOLYNOMIALCURVE: () => IFCPOLYNOMIALCURVE,
    IFCPORT: () => IFCPORT,
    IFCPOSITIONINGELEMENT: () => IFCPOSITIONINGELEMENT,
    IFCPOSITIVEINTEGER: () => IFCPOSITIVEINTEGER,
    IFCPOSITIVELENGTHMEASURE: () => IFCPOSITIVELENGTHMEASURE,
    IFCPOSITIVEPLANEANGLEMEASURE: () => IFCPOSITIVEPLANEANGLEMEASURE,
    IFCPOSITIVERATIOMEASURE: () => IFCPOSITIVERATIOMEASURE,
    IFCPOSTALADDRESS: () => IFCPOSTALADDRESS,
    IFCPOWERMEASURE: () => IFCPOWERMEASURE,
    IFCPREDEFINEDCOLOUR: () => IFCPREDEFINEDCOLOUR,
    IFCPREDEFINEDCURVEFONT: () => IFCPREDEFINEDCURVEFONT,
    IFCPREDEFINEDDIMENSIONSYMBOL: () => IFCPREDEFINEDDIMENSIONSYMBOL,
    IFCPREDEFINEDITEM: () => IFCPREDEFINEDITEM,
    IFCPREDEFINEDPOINTMARKERSYMBOL: () => IFCPREDEFINEDPOINTMARKERSYMBOL,
    IFCPREDEFINEDPROPERTIES: () => IFCPREDEFINEDPROPERTIES,
    IFCPREDEFINEDPROPERTYSET: () => IFCPREDEFINEDPROPERTYSET,
    IFCPREDEFINEDSYMBOL: () => IFCPREDEFINEDSYMBOL,
    IFCPREDEFINEDTERMINATORSYMBOL: () => IFCPREDEFINEDTERMINATORSYMBOL,
    IFCPREDEFINEDTEXTFONT: () => IFCPREDEFINEDTEXTFONT,
    IFCPRESENTABLETEXT: () => IFCPRESENTABLETEXT,
    IFCPRESENTATIONITEM: () => IFCPRESENTATIONITEM,
    IFCPRESENTATIONLAYERASSIGNMENT: () => IFCPRESENTATIONLAYERASSIGNMENT,
    IFCPRESENTATIONLAYERWITHSTYLE: () => IFCPRESENTATIONLAYERWITHSTYLE,
    IFCPRESENTATIONSTYLE: () => IFCPRESENTATIONSTYLE,
    IFCPRESENTATIONSTYLEASSIGNMENT: () => IFCPRESENTATIONSTYLEASSIGNMENT,
    IFCPRESSUREMEASURE: () => IFCPRESSUREMEASURE,
    IFCPROCEDURE: () => IFCPROCEDURE,
    IFCPROCEDURETYPE: () => IFCPROCEDURETYPE,
    IFCPROCESS: () => IFCPROCESS,
    IFCPRODUCT: () => IFCPRODUCT,
    IFCPRODUCTDEFINITIONSHAPE: () => IFCPRODUCTDEFINITIONSHAPE,
    IFCPRODUCTREPRESENTATION: () => IFCPRODUCTREPRESENTATION,
    IFCPRODUCTSOFCOMBUSTIONPROPERTIES: () => IFCPRODUCTSOFCOMBUSTIONPROPERTIES,
    IFCPROFILEDEF: () => IFCPROFILEDEF,
    IFCPROFILEPROPERTIES: () => IFCPROFILEPROPERTIES,
    IFCPROJECT: () => IFCPROJECT,
    IFCPROJECTEDCRS: () => IFCPROJECTEDCRS,
    IFCPROJECTIONCURVE: () => IFCPROJECTIONCURVE,
    IFCPROJECTIONELEMENT: () => IFCPROJECTIONELEMENT,
    IFCPROJECTLIBRARY: () => IFCPROJECTLIBRARY,
    IFCPROJECTORDER: () => IFCPROJECTORDER,
    IFCPROJECTORDERRECORD: () => IFCPROJECTORDERRECORD,
    IFCPROPERTY: () => IFCPROPERTY,
    IFCPROPERTYABSTRACTION: () => IFCPROPERTYABSTRACTION,
    IFCPROPERTYBOUNDEDVALUE: () => IFCPROPERTYBOUNDEDVALUE,
    IFCPROPERTYCONSTRAINTRELATIONSHIP: () => IFCPROPERTYCONSTRAINTRELATIONSHIP,
    IFCPROPERTYDEFINITION: () => IFCPROPERTYDEFINITION,
    IFCPROPERTYDEPENDENCYRELATIONSHIP: () => IFCPROPERTYDEPENDENCYRELATIONSHIP,
    IFCPROPERTYENUMERATEDVALUE: () => IFCPROPERTYENUMERATEDVALUE,
    IFCPROPERTYENUMERATION: () => IFCPROPERTYENUMERATION,
    IFCPROPERTYLISTVALUE: () => IFCPROPERTYLISTVALUE,
    IFCPROPERTYREFERENCEVALUE: () => IFCPROPERTYREFERENCEVALUE,
    IFCPROPERTYSET: () => IFCPROPERTYSET,
    IFCPROPERTYSETDEFINITION: () => IFCPROPERTYSETDEFINITION,
    IFCPROPERTYSETDEFINITIONSET: () => IFCPROPERTYSETDEFINITIONSET,
    IFCPROPERTYSETTEMPLATE: () => IFCPROPERTYSETTEMPLATE,
    IFCPROPERTYSINGLEVALUE: () => IFCPROPERTYSINGLEVALUE,
    IFCPROPERTYTABLEVALUE: () => IFCPROPERTYTABLEVALUE,
    IFCPROPERTYTEMPLATE: () => IFCPROPERTYTEMPLATE,
    IFCPROPERTYTEMPLATEDEFINITION: () => IFCPROPERTYTEMPLATEDEFINITION,
    IFCPROTECTIVEDEVICE: () => IFCPROTECTIVEDEVICE,
    IFCPROTECTIVEDEVICETRIPPINGUNIT: () => IFCPROTECTIVEDEVICETRIPPINGUNIT,
    IFCPROTECTIVEDEVICETRIPPINGUNITTYPE: () => IFCPROTECTIVEDEVICETRIPPINGUNITTYPE,
    IFCPROTECTIVEDEVICETYPE: () => IFCPROTECTIVEDEVICETYPE,
    IFCPROXY: () => IFCPROXY,
    IFCPUMP: () => IFCPUMP,
    IFCPUMPTYPE: () => IFCPUMPTYPE,
    IFCQUANTITYAREA: () => IFCQUANTITYAREA,
    IFCQUANTITYCOUNT: () => IFCQUANTITYCOUNT,
    IFCQUANTITYLENGTH: () => IFCQUANTITYLENGTH,
    IFCQUANTITYNUMBER: () => IFCQUANTITYNUMBER,
    IFCQUANTITYSET: () => IFCQUANTITYSET,
    IFCQUANTITYTIME: () => IFCQUANTITYTIME,
    IFCQUANTITYVOLUME: () => IFCQUANTITYVOLUME,
    IFCQUANTITYWEIGHT: () => IFCQUANTITYWEIGHT,
    IFCRADIOACTIVITYMEASURE: () => IFCRADIOACTIVITYMEASURE,
    IFCRADIUSDIMENSION: () => IFCRADIUSDIMENSION,
    IFCRAIL: () => IFCRAIL,
    IFCRAILING: () => IFCRAILING,
    IFCRAILINGTYPE: () => IFCRAILINGTYPE,
    IFCRAILTYPE: () => IFCRAILTYPE,
    IFCRAILWAY: () => IFCRAILWAY,
    IFCRAILWAYPART: () => IFCRAILWAYPART,
    IFCRAMP: () => IFCRAMP,
    IFCRAMPFLIGHT: () => IFCRAMPFLIGHT,
    IFCRAMPFLIGHTTYPE: () => IFCRAMPFLIGHTTYPE,
    IFCRAMPTYPE: () => IFCRAMPTYPE,
    IFCRATIOMEASURE: () => IFCRATIOMEASURE,
    IFCRATIONALBEZIERCURVE: () => IFCRATIONALBEZIERCURVE,
    IFCRATIONALBSPLINECURVEWITHKNOTS: () => IFCRATIONALBSPLINECURVEWITHKNOTS,
    IFCRATIONALBSPLINESURFACEWITHKNOTS: () => IFCRATIONALBSPLINESURFACEWITHKNOTS,
    IFCREAL: () => IFCREAL,
    IFCRECTANGLEHOLLOWPROFILEDEF: () => IFCRECTANGLEHOLLOWPROFILEDEF,
    IFCRECTANGLEPROFILEDEF: () => IFCRECTANGLEPROFILEDEF,
    IFCRECTANGULARPYRAMID: () => IFCRECTANGULARPYRAMID,
    IFCRECTANGULARTRIMMEDSURFACE: () => IFCRECTANGULARTRIMMEDSURFACE,
    IFCRECURRENCEPATTERN: () => IFCRECURRENCEPATTERN,
    IFCREFERENCE: () => IFCREFERENCE,
    IFCREFERENCESVALUEDOCUMENT: () => IFCREFERENCESVALUEDOCUMENT,
    IFCREFERENT: () => IFCREFERENT,
    IFCREGULARTIMESERIES: () => IFCREGULARTIMESERIES,
    IFCREINFORCEDSOIL: () => IFCREINFORCEDSOIL,
    IFCREINFORCEMENTBARPROPERTIES: () => IFCREINFORCEMENTBARPROPERTIES,
    IFCREINFORCEMENTDEFINITIONPROPERTIES: () => IFCREINFORCEMENTDEFINITIONPROPERTIES,
    IFCREINFORCINGBAR: () => IFCREINFORCINGBAR,
    IFCREINFORCINGBARTYPE: () => IFCREINFORCINGBARTYPE,
    IFCREINFORCINGELEMENT: () => IFCREINFORCINGELEMENT,
    IFCREINFORCINGELEMENTTYPE: () => IFCREINFORCINGELEMENTTYPE,
    IFCREINFORCINGMESH: () => IFCREINFORCINGMESH,
    IFCREINFORCINGMESHTYPE: () => IFCREINFORCINGMESHTYPE,
    IFCRELADHERESTOELEMENT: () => IFCRELADHERESTOELEMENT,
    IFCRELAGGREGATES: () => IFCRELAGGREGATES,
    IFCRELASSIGNS: () => IFCRELASSIGNS,
    IFCRELASSIGNSTASKS: () => IFCRELASSIGNSTASKS,
    IFCRELASSIGNSTOACTOR: () => IFCRELASSIGNSTOACTOR,
    IFCRELASSIGNSTOCONTROL: () => IFCRELASSIGNSTOCONTROL,
    IFCRELASSIGNSTOGROUP: () => IFCRELASSIGNSTOGROUP,
    IFCRELASSIGNSTOGROUPBYFACTOR: () => IFCRELASSIGNSTOGROUPBYFACTOR,
    IFCRELASSIGNSTOPROCESS: () => IFCRELASSIGNSTOPROCESS,
    IFCRELASSIGNSTOPRODUCT: () => IFCRELASSIGNSTOPRODUCT,
    IFCRELASSIGNSTOPROJECTORDER: () => IFCRELASSIGNSTOPROJECTORDER,
    IFCRELASSIGNSTORESOURCE: () => IFCRELASSIGNSTORESOURCE,
    IFCRELASSOCIATES: () => IFCRELASSOCIATES,
    IFCRELASSOCIATESAPPLIEDVALUE: () => IFCRELASSOCIATESAPPLIEDVALUE,
    IFCRELASSOCIATESAPPROVAL: () => IFCRELASSOCIATESAPPROVAL,
    IFCRELASSOCIATESCLASSIFICATION: () => IFCRELASSOCIATESCLASSIFICATION,
    IFCRELASSOCIATESCONSTRAINT: () => IFCRELASSOCIATESCONSTRAINT,
    IFCRELASSOCIATESDOCUMENT: () => IFCRELASSOCIATESDOCUMENT,
    IFCRELASSOCIATESLIBRARY: () => IFCRELASSOCIATESLIBRARY,
    IFCRELASSOCIATESMATERIAL: () => IFCRELASSOCIATESMATERIAL,
    IFCRELASSOCIATESPROFILEDEF: () => IFCRELASSOCIATESPROFILEDEF,
    IFCRELASSOCIATESPROFILEPROPERTIES: () => IFCRELASSOCIATESPROFILEPROPERTIES,
    IFCRELATIONSHIP: () => IFCRELATIONSHIP,
    IFCRELAXATION: () => IFCRELAXATION,
    IFCRELCONNECTS: () => IFCRELCONNECTS,
    IFCRELCONNECTSELEMENTS: () => IFCRELCONNECTSELEMENTS,
    IFCRELCONNECTSPATHELEMENTS: () => IFCRELCONNECTSPATHELEMENTS,
    IFCRELCONNECTSPORTS: () => IFCRELCONNECTSPORTS,
    IFCRELCONNECTSPORTTOELEMENT: () => IFCRELCONNECTSPORTTOELEMENT,
    IFCRELCONNECTSSTRUCTURALACTIVITY: () => IFCRELCONNECTSSTRUCTURALACTIVITY,
    IFCRELCONNECTSSTRUCTURALELEMENT: () => IFCRELCONNECTSSTRUCTURALELEMENT,
    IFCRELCONNECTSSTRUCTURALMEMBER: () => IFCRELCONNECTSSTRUCTURALMEMBER,
    IFCRELCONNECTSWITHECCENTRICITY: () => IFCRELCONNECTSWITHECCENTRICITY,
    IFCRELCONNECTSWITHREALIZINGELEMENTS: () => IFCRELCONNECTSWITHREALIZINGELEMENTS,
    IFCRELCONTAINEDINSPATIALSTRUCTURE: () => IFCRELCONTAINEDINSPATIALSTRUCTURE,
    IFCRELCOVERSBLDGELEMENTS: () => IFCRELCOVERSBLDGELEMENTS,
    IFCRELCOVERSSPACES: () => IFCRELCOVERSSPACES,
    IFCRELDECLARES: () => IFCRELDECLARES,
    IFCRELDECOMPOSES: () => IFCRELDECOMPOSES,
    IFCRELDEFINES: () => IFCRELDEFINES,
    IFCRELDEFINESBYOBJECT: () => IFCRELDEFINESBYOBJECT,
    IFCRELDEFINESBYPROPERTIES: () => IFCRELDEFINESBYPROPERTIES,
    IFCRELDEFINESBYTEMPLATE: () => IFCRELDEFINESBYTEMPLATE,
    IFCRELDEFINESBYTYPE: () => IFCRELDEFINESBYTYPE,
    IFCRELFILLSELEMENT: () => IFCRELFILLSELEMENT,
    IFCRELFLOWCONTROLELEMENTS: () => IFCRELFLOWCONTROLELEMENTS,
    IFCRELINTERACTIONREQUIREMENTS: () => IFCRELINTERACTIONREQUIREMENTS,
    IFCRELINTERFERESELEMENTS: () => IFCRELINTERFERESELEMENTS,
    IFCRELNESTS: () => IFCRELNESTS,
    IFCRELOCCUPIESSPACES: () => IFCRELOCCUPIESSPACES,
    IFCRELOVERRIDESPROPERTIES: () => IFCRELOVERRIDESPROPERTIES,
    IFCRELPOSITIONS: () => IFCRELPOSITIONS,
    IFCRELPROJECTSELEMENT: () => IFCRELPROJECTSELEMENT,
    IFCRELREFERENCEDINSPATIALSTRUCTURE: () => IFCRELREFERENCEDINSPATIALSTRUCTURE,
    IFCRELSCHEDULESCOSTITEMS: () => IFCRELSCHEDULESCOSTITEMS,
    IFCRELSEQUENCE: () => IFCRELSEQUENCE,
    IFCRELSERVICESBUILDINGS: () => IFCRELSERVICESBUILDINGS,
    IFCRELSPACEBOUNDARY: () => IFCRELSPACEBOUNDARY,
    IFCRELSPACEBOUNDARY1STLEVEL: () => IFCRELSPACEBOUNDARY1STLEVEL,
    IFCRELSPACEBOUNDARY2NDLEVEL: () => IFCRELSPACEBOUNDARY2NDLEVEL,
    IFCRELVOIDSELEMENT: () => IFCRELVOIDSELEMENT,
    IFCREPARAMETRISEDCOMPOSITECURVESEGMENT: () => IFCREPARAMETRISEDCOMPOSITECURVESEGMENT,
    IFCREPRESENTATION: () => IFCREPRESENTATION,
    IFCREPRESENTATIONCONTEXT: () => IFCREPRESENTATIONCONTEXT,
    IFCREPRESENTATIONITEM: () => IFCREPRESENTATIONITEM,
    IFCREPRESENTATIONMAP: () => IFCREPRESENTATIONMAP,
    IFCRESOURCE: () => IFCRESOURCE,
    IFCRESOURCEAPPROVALRELATIONSHIP: () => IFCRESOURCEAPPROVALRELATIONSHIP,
    IFCRESOURCECONSTRAINTRELATIONSHIP: () => IFCRESOURCECONSTRAINTRELATIONSHIP,
    IFCRESOURCELEVELRELATIONSHIP: () => IFCRESOURCELEVELRELATIONSHIP,
    IFCRESOURCETIME: () => IFCRESOURCETIME,
    IFCREVOLVEDAREASOLID: () => IFCREVOLVEDAREASOLID,
    IFCREVOLVEDAREASOLIDTAPERED: () => IFCREVOLVEDAREASOLIDTAPERED,
    IFCRIBPLATEPROFILEPROPERTIES: () => IFCRIBPLATEPROFILEPROPERTIES,
    IFCRIGHTCIRCULARCONE: () => IFCRIGHTCIRCULARCONE,
    IFCRIGHTCIRCULARCYLINDER: () => IFCRIGHTCIRCULARCYLINDER,
    IFCRIGIDOPERATION: () => IFCRIGIDOPERATION,
    IFCROAD: () => IFCROAD,
    IFCROADPART: () => IFCROADPART,
    IFCROOF: () => IFCROOF,
    IFCROOFTYPE: () => IFCROOFTYPE,
    IFCROOT: () => IFCROOT,
    IFCROTATIONALFREQUENCYMEASURE: () => IFCROTATIONALFREQUENCYMEASURE,
    IFCROTATIONALMASSMEASURE: () => IFCROTATIONALMASSMEASURE,
    IFCROTATIONALSTIFFNESSMEASURE: () => IFCROTATIONALSTIFFNESSMEASURE,
    IFCROUNDEDEDGEFEATURE: () => IFCROUNDEDEDGEFEATURE,
    IFCROUNDEDRECTANGLEPROFILEDEF: () => IFCROUNDEDRECTANGLEPROFILEDEF,
    IFCSANITARYTERMINAL: () => IFCSANITARYTERMINAL,
    IFCSANITARYTERMINALTYPE: () => IFCSANITARYTERMINALTYPE,
    IFCSCHEDULETIMECONTROL: () => IFCSCHEDULETIMECONTROL,
    IFCSCHEDULINGTIME: () => IFCSCHEDULINGTIME,
    IFCSEAMCURVE: () => IFCSEAMCURVE,
    IFCSECONDINMINUTE: () => IFCSECONDINMINUTE,
    IFCSECONDORDERPOLYNOMIALSPIRAL: () => IFCSECONDORDERPOLYNOMIALSPIRAL,
    IFCSECTIONALAREAINTEGRALMEASURE: () => IFCSECTIONALAREAINTEGRALMEASURE,
    IFCSECTIONEDSOLID: () => IFCSECTIONEDSOLID,
    IFCSECTIONEDSOLIDHORIZONTAL: () => IFCSECTIONEDSOLIDHORIZONTAL,
    IFCSECTIONEDSPINE: () => IFCSECTIONEDSPINE,
    IFCSECTIONEDSURFACE: () => IFCSECTIONEDSURFACE,
    IFCSECTIONMODULUSMEASURE: () => IFCSECTIONMODULUSMEASURE,
    IFCSECTIONPROPERTIES: () => IFCSECTIONPROPERTIES,
    IFCSECTIONREINFORCEMENTPROPERTIES: () => IFCSECTIONREINFORCEMENTPROPERTIES,
    IFCSEGMENT: () => IFCSEGMENT,
    IFCSEGMENTEDREFERENCECURVE: () => IFCSEGMENTEDREFERENCECURVE,
    IFCSENSOR: () => IFCSENSOR,
    IFCSENSORTYPE: () => IFCSENSORTYPE,
    IFCSERVICELIFE: () => IFCSERVICELIFE,
    IFCSERVICELIFEFACTOR: () => IFCSERVICELIFEFACTOR,
    IFCSEVENTHORDERPOLYNOMIALSPIRAL: () => IFCSEVENTHORDERPOLYNOMIALSPIRAL,
    IFCSHADINGDEVICE: () => IFCSHADINGDEVICE,
    IFCSHADINGDEVICETYPE: () => IFCSHADINGDEVICETYPE,
    IFCSHAPEASPECT: () => IFCSHAPEASPECT,
    IFCSHAPEMODEL: () => IFCSHAPEMODEL,
    IFCSHAPEREPRESENTATION: () => IFCSHAPEREPRESENTATION,
    IFCSHEARMODULUSMEASURE: () => IFCSHEARMODULUSMEASURE,
    IFCSHELLBASEDSURFACEMODEL: () => IFCSHELLBASEDSURFACEMODEL,
    IFCSIGN: () => IFCSIGN,
    IFCSIGNAL: () => IFCSIGNAL,
    IFCSIGNALTYPE: () => IFCSIGNALTYPE,
    IFCSIGNTYPE: () => IFCSIGNTYPE,
    IFCSIMPLEPROPERTY: () => IFCSIMPLEPROPERTY,
    IFCSIMPLEPROPERTYTEMPLATE: () => IFCSIMPLEPROPERTYTEMPLATE,
    IFCSINESPIRAL: () => IFCSINESPIRAL,
    IFCSITE: () => IFCSITE,
    IFCSIUNIT: () => IFCSIUNIT,
    IFCSLAB: () => IFCSLAB,
    IFCSLABELEMENTEDCASE: () => IFCSLABELEMENTEDCASE,
    IFCSLABSTANDARDCASE: () => IFCSLABSTANDARDCASE,
    IFCSLABTYPE: () => IFCSLABTYPE,
    IFCSLIPPAGECONNECTIONCONDITION: () => IFCSLIPPAGECONNECTIONCONDITION,
    IFCSOLARDEVICE: () => IFCSOLARDEVICE,
    IFCSOLARDEVICETYPE: () => IFCSOLARDEVICETYPE,
    IFCSOLIDANGLEMEASURE: () => IFCSOLIDANGLEMEASURE,
    IFCSOLIDMODEL: () => IFCSOLIDMODEL,
    IFCSOUNDPOWERLEVELMEASURE: () => IFCSOUNDPOWERLEVELMEASURE,
    IFCSOUNDPOWERMEASURE: () => IFCSOUNDPOWERMEASURE,
    IFCSOUNDPRESSURELEVELMEASURE: () => IFCSOUNDPRESSURELEVELMEASURE,
    IFCSOUNDPRESSUREMEASURE: () => IFCSOUNDPRESSUREMEASURE,
    IFCSOUNDPROPERTIES: () => IFCSOUNDPROPERTIES,
    IFCSOUNDVALUE: () => IFCSOUNDVALUE,
    IFCSPACE: () => IFCSPACE,
    IFCSPACEHEATER: () => IFCSPACEHEATER,
    IFCSPACEHEATERTYPE: () => IFCSPACEHEATERTYPE,
    IFCSPACEPROGRAM: () => IFCSPACEPROGRAM,
    IFCSPACETHERMALLOADPROPERTIES: () => IFCSPACETHERMALLOADPROPERTIES,
    IFCSPACETYPE: () => IFCSPACETYPE,
    IFCSPATIALELEMENT: () => IFCSPATIALELEMENT,
    IFCSPATIALELEMENTTYPE: () => IFCSPATIALELEMENTTYPE,
    IFCSPATIALSTRUCTUREELEMENT: () => IFCSPATIALSTRUCTUREELEMENT,
    IFCSPATIALSTRUCTUREELEMENTTYPE: () => IFCSPATIALSTRUCTUREELEMENTTYPE,
    IFCSPATIALZONE: () => IFCSPATIALZONE,
    IFCSPATIALZONETYPE: () => IFCSPATIALZONETYPE,
    IFCSPECIFICHEATCAPACITYMEASURE: () => IFCSPECIFICHEATCAPACITYMEASURE,
    IFCSPECULAREXPONENT: () => IFCSPECULAREXPONENT,
    IFCSPECULARROUGHNESS: () => IFCSPECULARROUGHNESS,
    IFCSPHERE: () => IFCSPHERE,
    IFCSPHERICALSURFACE: () => IFCSPHERICALSURFACE,
    IFCSPIRAL: () => IFCSPIRAL,
    IFCSTACKTERMINAL: () => IFCSTACKTERMINAL,
    IFCSTACKTERMINALTYPE: () => IFCSTACKTERMINALTYPE,
    IFCSTAIR: () => IFCSTAIR,
    IFCSTAIRFLIGHT: () => IFCSTAIRFLIGHT,
    IFCSTAIRFLIGHTTYPE: () => IFCSTAIRFLIGHTTYPE,
    IFCSTAIRTYPE: () => IFCSTAIRTYPE,
    IFCSTRIPPEDOPTIONAL: () => IFCSTRIPPEDOPTIONAL,
    IFCSTRUCTURALACTION: () => IFCSTRUCTURALACTION,
    IFCSTRUCTURALACTIVITY: () => IFCSTRUCTURALACTIVITY,
    IFCSTRUCTURALANALYSISMODEL: () => IFCSTRUCTURALANALYSISMODEL,
    IFCSTRUCTURALCONNECTION: () => IFCSTRUCTURALCONNECTION,
    IFCSTRUCTURALCONNECTIONCONDITION: () => IFCSTRUCTURALCONNECTIONCONDITION,
    IFCSTRUCTURALCURVEACTION: () => IFCSTRUCTURALCURVEACTION,
    IFCSTRUCTURALCURVECONNECTION: () => IFCSTRUCTURALCURVECONNECTION,
    IFCSTRUCTURALCURVEMEMBER: () => IFCSTRUCTURALCURVEMEMBER,
    IFCSTRUCTURALCURVEMEMBERVARYING: () => IFCSTRUCTURALCURVEMEMBERVARYING,
    IFCSTRUCTURALCURVEREACTION: () => IFCSTRUCTURALCURVEREACTION,
    IFCSTRUCTURALITEM: () => IFCSTRUCTURALITEM,
    IFCSTRUCTURALLINEARACTION: () => IFCSTRUCTURALLINEARACTION,
    IFCSTRUCTURALLINEARACTIONVARYING: () => IFCSTRUCTURALLINEARACTIONVARYING,
    IFCSTRUCTURALLOAD: () => IFCSTRUCTURALLOAD,
    IFCSTRUCTURALLOADCASE: () => IFCSTRUCTURALLOADCASE,
    IFCSTRUCTURALLOADCONFIGURATION: () => IFCSTRUCTURALLOADCONFIGURATION,
    IFCSTRUCTURALLOADGROUP: () => IFCSTRUCTURALLOADGROUP,
    IFCSTRUCTURALLOADLINEARFORCE: () => IFCSTRUCTURALLOADLINEARFORCE,
    IFCSTRUCTURALLOADORRESULT: () => IFCSTRUCTURALLOADORRESULT,
    IFCSTRUCTURALLOADPLANARFORCE: () => IFCSTRUCTURALLOADPLANARFORCE,
    IFCSTRUCTURALLOADSINGLEDISPLACEMENT: () => IFCSTRUCTURALLOADSINGLEDISPLACEMENT,
    IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION: () => IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION,
    IFCSTRUCTURALLOADSINGLEFORCE: () => IFCSTRUCTURALLOADSINGLEFORCE,
    IFCSTRUCTURALLOADSINGLEFORCEWARPING: () => IFCSTRUCTURALLOADSINGLEFORCEWARPING,
    IFCSTRUCTURALLOADSTATIC: () => IFCSTRUCTURALLOADSTATIC,
    IFCSTRUCTURALLOADTEMPERATURE: () => IFCSTRUCTURALLOADTEMPERATURE,
    IFCSTRUCTURALMEMBER: () => IFCSTRUCTURALMEMBER,
    IFCSTRUCTURALPLANARACTION: () => IFCSTRUCTURALPLANARACTION,
    IFCSTRUCTURALPLANARACTIONVARYING: () => IFCSTRUCTURALPLANARACTIONVARYING,
    IFCSTRUCTURALPOINTACTION: () => IFCSTRUCTURALPOINTACTION,
    IFCSTRUCTURALPOINTCONNECTION: () => IFCSTRUCTURALPOINTCONNECTION,
    IFCSTRUCTURALPOINTREACTION: () => IFCSTRUCTURALPOINTREACTION,
    IFCSTRUCTURALPROFILEPROPERTIES: () => IFCSTRUCTURALPROFILEPROPERTIES,
    IFCSTRUCTURALREACTION: () => IFCSTRUCTURALREACTION,
    IFCSTRUCTURALRESULTGROUP: () => IFCSTRUCTURALRESULTGROUP,
    IFCSTRUCTURALSTEELPROFILEPROPERTIES: () => IFCSTRUCTURALSTEELPROFILEPROPERTIES,
    IFCSTRUCTURALSURFACEACTION: () => IFCSTRUCTURALSURFACEACTION,
    IFCSTRUCTURALSURFACECONNECTION: () => IFCSTRUCTURALSURFACECONNECTION,
    IFCSTRUCTURALSURFACEMEMBER: () => IFCSTRUCTURALSURFACEMEMBER,
    IFCSTRUCTURALSURFACEMEMBERVARYING: () => IFCSTRUCTURALSURFACEMEMBERVARYING,
    IFCSTRUCTURALSURFACEREACTION: () => IFCSTRUCTURALSURFACEREACTION,
    IFCSTRUCTUREDDIMENSIONCALLOUT: () => IFCSTRUCTUREDDIMENSIONCALLOUT,
    IFCSTYLEDITEM: () => IFCSTYLEDITEM,
    IFCSTYLEDREPRESENTATION: () => IFCSTYLEDREPRESENTATION,
    IFCSTYLEMODEL: () => IFCSTYLEMODEL,
    IFCSUBCONTRACTRESOURCE: () => IFCSUBCONTRACTRESOURCE,
    IFCSUBCONTRACTRESOURCETYPE: () => IFCSUBCONTRACTRESOURCETYPE,
    IFCSUBEDGE: () => IFCSUBEDGE,
    IFCSURFACE: () => IFCSURFACE,
    IFCSURFACECURVE: () => IFCSURFACECURVE,
    IFCSURFACECURVESWEPTAREASOLID: () => IFCSURFACECURVESWEPTAREASOLID,
    IFCSURFACEFEATURE: () => IFCSURFACEFEATURE,
    IFCSURFACEOFLINEAREXTRUSION: () => IFCSURFACEOFLINEAREXTRUSION,
    IFCSURFACEOFREVOLUTION: () => IFCSURFACEOFREVOLUTION,
    IFCSURFACEREINFORCEMENTAREA: () => IFCSURFACEREINFORCEMENTAREA,
    IFCSURFACESTYLE: () => IFCSURFACESTYLE,
    IFCSURFACESTYLELIGHTING: () => IFCSURFACESTYLELIGHTING,
    IFCSURFACESTYLEREFRACTION: () => IFCSURFACESTYLEREFRACTION,
    IFCSURFACESTYLERENDERING: () => IFCSURFACESTYLERENDERING,
    IFCSURFACESTYLESHADING: () => IFCSURFACESTYLESHADING,
    IFCSURFACESTYLEWITHTEXTURES: () => IFCSURFACESTYLEWITHTEXTURES,
    IFCSURFACETEXTURE: () => IFCSURFACETEXTURE,
    IFCSWEPTAREASOLID: () => IFCSWEPTAREASOLID,
    IFCSWEPTDISKSOLID: () => IFCSWEPTDISKSOLID,
    IFCSWEPTDISKSOLIDPOLYGONAL: () => IFCSWEPTDISKSOLIDPOLYGONAL,
    IFCSWEPTSURFACE: () => IFCSWEPTSURFACE,
    IFCSWITCHINGDEVICE: () => IFCSWITCHINGDEVICE,
    IFCSWITCHINGDEVICETYPE: () => IFCSWITCHINGDEVICETYPE,
    IFCSYMBOLSTYLE: () => IFCSYMBOLSTYLE,
    IFCSYSTEM: () => IFCSYSTEM,
    IFCSYSTEMFURNITUREELEMENT: () => IFCSYSTEMFURNITUREELEMENT,
    IFCSYSTEMFURNITUREELEMENTTYPE: () => IFCSYSTEMFURNITUREELEMENTTYPE,
    IFCTABLE: () => IFCTABLE,
    IFCTABLECOLUMN: () => IFCTABLECOLUMN,
    IFCTABLEROW: () => IFCTABLEROW,
    IFCTANK: () => IFCTANK,
    IFCTANKTYPE: () => IFCTANKTYPE,
    IFCTASK: () => IFCTASK,
    IFCTASKTIME: () => IFCTASKTIME,
    IFCTASKTIMERECURRING: () => IFCTASKTIMERECURRING,
    IFCTASKTYPE: () => IFCTASKTYPE,
    IFCTELECOMADDRESS: () => IFCTELECOMADDRESS,
    IFCTEMPERATUREGRADIENTMEASURE: () => IFCTEMPERATUREGRADIENTMEASURE,
    IFCTEMPERATURERATEOFCHANGEMEASURE: () => IFCTEMPERATURERATEOFCHANGEMEASURE,
    IFCTENDON: () => IFCTENDON,
    IFCTENDONANCHOR: () => IFCTENDONANCHOR,
    IFCTENDONANCHORTYPE: () => IFCTENDONANCHORTYPE,
    IFCTENDONCONDUIT: () => IFCTENDONCONDUIT,
    IFCTENDONCONDUITTYPE: () => IFCTENDONCONDUITTYPE,
    IFCTENDONTYPE: () => IFCTENDONTYPE,
    IFCTERMINATORSYMBOL: () => IFCTERMINATORSYMBOL,
    IFCTESSELLATEDFACESET: () => IFCTESSELLATEDFACESET,
    IFCTESSELLATEDITEM: () => IFCTESSELLATEDITEM,
    IFCTEXT: () => IFCTEXT,
    IFCTEXTALIGNMENT: () => IFCTEXTALIGNMENT,
    IFCTEXTDECORATION: () => IFCTEXTDECORATION,
    IFCTEXTFONTNAME: () => IFCTEXTFONTNAME,
    IFCTEXTLITERAL: () => IFCTEXTLITERAL,
    IFCTEXTLITERALWITHEXTENT: () => IFCTEXTLITERALWITHEXTENT,
    IFCTEXTSTYLE: () => IFCTEXTSTYLE,
    IFCTEXTSTYLEFONTMODEL: () => IFCTEXTSTYLEFONTMODEL,
    IFCTEXTSTYLEFORDEFINEDFONT: () => IFCTEXTSTYLEFORDEFINEDFONT,
    IFCTEXTSTYLETEXTMODEL: () => IFCTEXTSTYLETEXTMODEL,
    IFCTEXTSTYLEWITHBOXCHARACTERISTICS: () => IFCTEXTSTYLEWITHBOXCHARACTERISTICS,
    IFCTEXTTRANSFORMATION: () => IFCTEXTTRANSFORMATION,
    IFCTEXTURECOORDINATE: () => IFCTEXTURECOORDINATE,
    IFCTEXTURECOORDINATEGENERATOR: () => IFCTEXTURECOORDINATEGENERATOR,
    IFCTEXTURECOORDINATEINDICES: () => IFCTEXTURECOORDINATEINDICES,
    IFCTEXTURECOORDINATEINDICESWITHVOIDS: () => IFCTEXTURECOORDINATEINDICESWITHVOIDS,
    IFCTEXTUREMAP: () => IFCTEXTUREMAP,
    IFCTEXTUREVERTEX: () => IFCTEXTUREVERTEX,
    IFCTEXTUREVERTEXLIST: () => IFCTEXTUREVERTEXLIST,
    IFCTHERMALADMITTANCEMEASURE: () => IFCTHERMALADMITTANCEMEASURE,
    IFCTHERMALCONDUCTIVITYMEASURE: () => IFCTHERMALCONDUCTIVITYMEASURE,
    IFCTHERMALEXPANSIONCOEFFICIENTMEASURE: () => IFCTHERMALEXPANSIONCOEFFICIENTMEASURE,
    IFCTHERMALMATERIALPROPERTIES: () => IFCTHERMALMATERIALPROPERTIES,
    IFCTHERMALRESISTANCEMEASURE: () => IFCTHERMALRESISTANCEMEASURE,
    IFCTHERMALTRANSMITTANCEMEASURE: () => IFCTHERMALTRANSMITTANCEMEASURE,
    IFCTHERMODYNAMICTEMPERATUREMEASURE: () => IFCTHERMODYNAMICTEMPERATUREMEASURE,
    IFCTHIRDORDERPOLYNOMIALSPIRAL: () => IFCTHIRDORDERPOLYNOMIALSPIRAL,
    IFCTIME: () => IFCTIME,
    IFCTIMEMEASURE: () => IFCTIMEMEASURE,
    IFCTIMEPERIOD: () => IFCTIMEPERIOD,
    IFCTIMESERIES: () => IFCTIMESERIES,
    IFCTIMESERIESREFERENCERELATIONSHIP: () => IFCTIMESERIESREFERENCERELATIONSHIP,
    IFCTIMESERIESSCHEDULE: () => IFCTIMESERIESSCHEDULE,
    IFCTIMESERIESVALUE: () => IFCTIMESERIESVALUE,
    IFCTIMESTAMP: () => IFCTIMESTAMP,
    IFCTOPOLOGICALREPRESENTATIONITEM: () => IFCTOPOLOGICALREPRESENTATIONITEM,
    IFCTOPOLOGYREPRESENTATION: () => IFCTOPOLOGYREPRESENTATION,
    IFCTOROIDALSURFACE: () => IFCTOROIDALSURFACE,
    IFCTORQUEMEASURE: () => IFCTORQUEMEASURE,
    IFCTRACKELEMENT: () => IFCTRACKELEMENT,
    IFCTRACKELEMENTTYPE: () => IFCTRACKELEMENTTYPE,
    IFCTRANSFORMER: () => IFCTRANSFORMER,
    IFCTRANSFORMERTYPE: () => IFCTRANSFORMERTYPE,
    IFCTRANSPORTATIONDEVICE: () => IFCTRANSPORTATIONDEVICE,
    IFCTRANSPORTATIONDEVICETYPE: () => IFCTRANSPORTATIONDEVICETYPE,
    IFCTRANSPORTELEMENT: () => IFCTRANSPORTELEMENT,
    IFCTRANSPORTELEMENTTYPE: () => IFCTRANSPORTELEMENTTYPE,
    IFCTRAPEZIUMPROFILEDEF: () => IFCTRAPEZIUMPROFILEDEF,
    IFCTRIANGULATEDFACESET: () => IFCTRIANGULATEDFACESET,
    IFCTRIANGULATEDIRREGULARNETWORK: () => IFCTRIANGULATEDIRREGULARNETWORK,
    IFCTRIMMEDCURVE: () => IFCTRIMMEDCURVE,
    IFCTSHAPEPROFILEDEF: () => IFCTSHAPEPROFILEDEF,
    IFCTUBEBUNDLE: () => IFCTUBEBUNDLE,
    IFCTUBEBUNDLETYPE: () => IFCTUBEBUNDLETYPE,
    IFCTWODIRECTIONREPEATFACTOR: () => IFCTWODIRECTIONREPEATFACTOR,
    IFCTYPEOBJECT: () => IFCTYPEOBJECT,
    IFCTYPEPROCESS: () => IFCTYPEPROCESS,
    IFCTYPEPRODUCT: () => IFCTYPEPRODUCT,
    IFCTYPERESOURCE: () => IFCTYPERESOURCE,
    IFCUNITARYCONTROLELEMENT: () => IFCUNITARYCONTROLELEMENT,
    IFCUNITARYCONTROLELEMENTTYPE: () => IFCUNITARYCONTROLELEMENTTYPE,
    IFCUNITARYEQUIPMENT: () => IFCUNITARYEQUIPMENT,
    IFCUNITARYEQUIPMENTTYPE: () => IFCUNITARYEQUIPMENTTYPE,
    IFCUNITASSIGNMENT: () => IFCUNITASSIGNMENT,
    IFCURIREFERENCE: () => IFCURIREFERENCE,
    IFCUSHAPEPROFILEDEF: () => IFCUSHAPEPROFILEDEF,
    IFCVALVE: () => IFCVALVE,
    IFCVALVETYPE: () => IFCVALVETYPE,
    IFCVAPORPERMEABILITYMEASURE: () => IFCVAPORPERMEABILITYMEASURE,
    IFCVECTOR: () => IFCVECTOR,
    IFCVEHICLE: () => IFCVEHICLE,
    IFCVEHICLETYPE: () => IFCVEHICLETYPE,
    IFCVERTEX: () => IFCVERTEX,
    IFCVERTEXBASEDTEXTUREMAP: () => IFCVERTEXBASEDTEXTUREMAP,
    IFCVERTEXLOOP: () => IFCVERTEXLOOP,
    IFCVERTEXPOINT: () => IFCVERTEXPOINT,
    IFCVIBRATIONDAMPER: () => IFCVIBRATIONDAMPER,
    IFCVIBRATIONDAMPERTYPE: () => IFCVIBRATIONDAMPERTYPE,
    IFCVIBRATIONISOLATOR: () => IFCVIBRATIONISOLATOR,
    IFCVIBRATIONISOLATORTYPE: () => IFCVIBRATIONISOLATORTYPE,
    IFCVIRTUALELEMENT: () => IFCVIRTUALELEMENT,
    IFCVIRTUALGRIDINTERSECTION: () => IFCVIRTUALGRIDINTERSECTION,
    IFCVOIDINGFEATURE: () => IFCVOIDINGFEATURE,
    IFCVOLUMEMEASURE: () => IFCVOLUMEMEASURE,
    IFCVOLUMETRICFLOWRATEMEASURE: () => IFCVOLUMETRICFLOWRATEMEASURE,
    IFCWALL: () => IFCWALL,
    IFCWALLELEMENTEDCASE: () => IFCWALLELEMENTEDCASE,
    IFCWALLSTANDARDCASE: () => IFCWALLSTANDARDCASE,
    IFCWALLTYPE: () => IFCWALLTYPE,
    IFCWARPINGCONSTANTMEASURE: () => IFCWARPINGCONSTANTMEASURE,
    IFCWARPINGMOMENTMEASURE: () => IFCWARPINGMOMENTMEASURE,
    IFCWASTETERMINAL: () => IFCWASTETERMINAL,
    IFCWASTETERMINALTYPE: () => IFCWASTETERMINALTYPE,
    IFCWATERPROPERTIES: () => IFCWATERPROPERTIES,
    IFCWELLKNOWNTEXT: () => IFCWELLKNOWNTEXT,
    IFCWELLKNOWNTEXTLITERAL: () => IFCWELLKNOWNTEXTLITERAL,
    IFCWINDOW: () => IFCWINDOW,
    IFCWINDOWLININGPROPERTIES: () => IFCWINDOWLININGPROPERTIES,
    IFCWINDOWPANELPROPERTIES: () => IFCWINDOWPANELPROPERTIES,
    IFCWINDOWSTANDARDCASE: () => IFCWINDOWSTANDARDCASE,
    IFCWINDOWSTYLE: () => IFCWINDOWSTYLE,
    IFCWINDOWTYPE: () => IFCWINDOWTYPE,
    IFCWORKCALENDAR: () => IFCWORKCALENDAR,
    IFCWORKCONTROL: () => IFCWORKCONTROL,
    IFCWORKPLAN: () => IFCWORKPLAN,
    IFCWORKSCHEDULE: () => IFCWORKSCHEDULE,
    IFCWORKTIME: () => IFCWORKTIME,
    IFCYEARNUMBER: () => IFCYEARNUMBER,
    IFCZONE: () => IFCZONE,
    IFCZSHAPEPROFILEDEF: () => IFCZSHAPEPROFILEDEF,
    INTEGER: () => INTEGER,
    IfcAPI: () => IfcAPI2,
    IfcLineObject: () => IfcLineObject,
    InheritanceDef: () => InheritanceDef,
    InversePropertyDef: () => InversePropertyDef,
    LABEL: () => LABEL,
    LINE_END: () => LINE_END,
    LogLevel: () => LogLevel,
    NumberHandle: () => NumberHandle,
    Properties: () => Properties,
    REAL: () => REAL,
    REF: () => REF,
    SET_BEGIN: () => SET_BEGIN,
    SET_END: () => SET_END,
    STRING: () => STRING,
    SchemaNames: () => SchemaNames,
    Schemas: () => Schemas,
    ToRawLineData: () => ToRawLineData,
    TypeInitialisers: () => TypeInitialisers,
    UNKNOWN: () => UNKNOWN,
    logical: () => logical,
    ms: () => ms
  });

  // dist/ifc-schema.ts
  var IFCWELLKNOWNTEXTLITERAL = 2149462589;
  var IFCSTRIPPEDOPTIONAL = 1805707277;
  var IFCURIREFERENCE = 950732822;
  var IFCTIME = 4075327185;
  var IFCTEMPERATURERATEOFCHANGEMEASURE = 1209108979;
  var IFCSOUNDPRESSURELEVELMEASURE = 3457685358;
  var IFCSOUNDPOWERLEVELMEASURE = 4157543285;
  var IFCPROPERTYSETDEFINITIONSET = 2798247006;
  var IFCPOSITIVEINTEGER = 1790229001;
  var IFCNONNEGATIVELENGTHMEASURE = 525895558;
  var IFCLINEINDEX = 1774176899;
  var IFCLANGUAGEID = 1275358634;
  var IFCDURATION = 2541165894;
  var IFCDAYINWEEKNUMBER = 3701338814;
  var IFCDATETIME = 2195413836;
  var IFCDATE = 937566702;
  var IFCCARDINALPOINTREFERENCE = 1683019596;
  var IFCBINARY = 2314439260;
  var IFCAREADENSITYMEASURE = 1500781891;
  var IFCARCINDEX = 3683503648;
  var IFCYEARNUMBER = 4065007721;
  var IFCWARPINGMOMENTMEASURE = 1718600412;
  var IFCWARPINGCONSTANTMEASURE = 51269191;
  var IFCVOLUMETRICFLOWRATEMEASURE = 2593997549;
  var IFCVOLUMEMEASURE = 3458127941;
  var IFCVAPORPERMEABILITYMEASURE = 3345633955;
  var IFCTORQUEMEASURE = 1278329552;
  var IFCTIMESTAMP = 2591213694;
  var IFCTIMEMEASURE = 2726807636;
  var IFCTHERMODYNAMICTEMPERATUREMEASURE = 743184107;
  var IFCTHERMALTRANSMITTANCEMEASURE = 2016195849;
  var IFCTHERMALRESISTANCEMEASURE = 857959152;
  var IFCTHERMALEXPANSIONCOEFFICIENTMEASURE = 2281867870;
  var IFCTHERMALCONDUCTIVITYMEASURE = 2645777649;
  var IFCTHERMALADMITTANCEMEASURE = 232962298;
  var IFCTEXTTRANSFORMATION = 296282323;
  var IFCTEXTFONTNAME = 603696268;
  var IFCTEXTDECORATION = 3490877962;
  var IFCTEXTALIGNMENT = 1460886941;
  var IFCTEXT = 2801250643;
  var IFCTEMPERATUREGRADIENTMEASURE = 58845555;
  var IFCSPECULARROUGHNESS = 361837227;
  var IFCSPECULAREXPONENT = 2757832317;
  var IFCSPECIFICHEATCAPACITYMEASURE = 3477203348;
  var IFCSOUNDPRESSUREMEASURE = 993287707;
  var IFCSOUNDPOWERMEASURE = 846465480;
  var IFCSOLIDANGLEMEASURE = 3471399674;
  var IFCSHEARMODULUSMEASURE = 408310005;
  var IFCSECTIONALAREAINTEGRALMEASURE = 2190458107;
  var IFCSECTIONMODULUSMEASURE = 3467162246;
  var IFCSECONDINMINUTE = 2766185779;
  var IFCROTATIONALSTIFFNESSMEASURE = 3211557302;
  var IFCROTATIONALMASSMEASURE = 1755127002;
  var IFCROTATIONALFREQUENCYMEASURE = 2133746277;
  var IFCREAL = 200335297;
  var IFCRATIOMEASURE = 96294661;
  var IFCRADIOACTIVITYMEASURE = 3972513137;
  var IFCPRESSUREMEASURE = 3665567075;
  var IFCPRESENTABLETEXT = 2169031380;
  var IFCPOWERMEASURE = 1364037233;
  var IFCPOSITIVERATIOMEASURE = 1245737093;
  var IFCPOSITIVEPLANEANGLEMEASURE = 3054510233;
  var IFCPOSITIVELENGTHMEASURE = 2815919920;
  var IFCPLANEANGLEMEASURE = 4042175685;
  var IFCPLANARFORCEMEASURE = 2642773653;
  var IFCPARAMETERVALUE = 2260317790;
  var IFCPHMEASURE = 929793134;
  var IFCNUMERICMEASURE = 2395907400;
  var IFCNORMALISEDRATIOMEASURE = 2095195183;
  var IFCMONTHINYEARNUMBER = 765770214;
  var IFCMONETARYMEASURE = 2615040989;
  var IFCMOMENTOFINERTIAMEASURE = 3114022597;
  var IFCMOLECULARWEIGHTMEASURE = 1648970520;
  var IFCMOISTUREDIFFUSIVITYMEASURE = 3177669450;
  var IFCMODULUSOFSUBGRADEREACTIONMEASURE = 1753493141;
  var IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE = 1052454078;
  var IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE = 2173214787;
  var IFCMODULUSOFELASTICITYMEASURE = 3341486342;
  var IFCMINUTEINHOUR = 102610177;
  var IFCMASSPERLENGTHMEASURE = 3531705166;
  var IFCMASSMEASURE = 3124614049;
  var IFCMASSFLOWRATEMEASURE = 4017473158;
  var IFCMASSDENSITYMEASURE = 1477762836;
  var IFCMAGNETICFLUXMEASURE = 2486716878;
  var IFCMAGNETICFLUXDENSITYMEASURE = 286949696;
  var IFCLUMINOUSINTENSITYMEASURE = 151039812;
  var IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE = 2755797622;
  var IFCLUMINOUSFLUXMEASURE = 2095003142;
  var IFCLOGICAL = 503418787;
  var IFCLINEARVELOCITYMEASURE = 3086160713;
  var IFCLINEARSTIFFNESSMEASURE = 1307019551;
  var IFCLINEARMOMENTMEASURE = 2128979029;
  var IFCLINEARFORCEMEASURE = 191860431;
  var IFCLENGTHMEASURE = 1243674935;
  var IFCLABEL = 3258342251;
  var IFCKINEMATICVISCOSITYMEASURE = 2054016361;
  var IFCISOTHERMALMOISTURECAPACITYMEASURE = 3192672207;
  var IFCIONCONCENTRATIONMEASURE = 3686016028;
  var IFCINTEGERCOUNTRATEMEASURE = 3809634241;
  var IFCINTEGER = 1939436016;
  var IFCINDUCTANCEMEASURE = 2679005408;
  var IFCILLUMINANCEMEASURE = 3358199106;
  var IFCIDENTIFIER = 983778844;
  var IFCHOURINDAY = 2589826445;
  var IFCHEATINGVALUEMEASURE = 1158859006;
  var IFCHEATFLUXDENSITYMEASURE = 3113092358;
  var IFCGLOBALLYUNIQUEID = 3064340077;
  var IFCFREQUENCYMEASURE = 3044325142;
  var IFCFORCEMEASURE = 1361398929;
  var IFCFONTWEIGHT = 2590844177;
  var IFCFONTVARIANT = 2715512545;
  var IFCFONTSTYLE = 1102727119;
  var IFCENERGYMEASURE = 2078135608;
  var IFCELECTRICVOLTAGEMEASURE = 2506197118;
  var IFCELECTRICRESISTANCEMEASURE = 2951915441;
  var IFCELECTRICCURRENTMEASURE = 3790457270;
  var IFCELECTRICCONDUCTANCEMEASURE = 2093906313;
  var IFCELECTRICCHARGEMEASURE = 3818826038;
  var IFCELECTRICCAPACITANCEMEASURE = 1827137117;
  var IFCDYNAMICVISCOSITYMEASURE = 69416015;
  var IFCDOSEEQUIVALENTMEASURE = 524656162;
  var IFCDIMENSIONCOUNT = 4134073009;
  var IFCDESCRIPTIVEMEASURE = 1514641115;
  var IFCDAYLIGHTSAVINGHOUR = 300323983;
  var IFCDAYINMONTHNUMBER = 86635668;
  var IFCCURVATUREMEASURE = 94842927;
  var IFCCOUNTMEASURE = 1778710042;
  var IFCCONTEXTDEPENDENTMEASURE = 3238673880;
  var IFCCOMPOUNDPLANEANGLEMEASURE = 3812528620;
  var IFCCOMPLEXNUMBER = 2991860651;
  var IFCBOXALIGNMENT = 1867003952;
  var IFCBOOLEAN = 2735952531;
  var IFCAREAMEASURE = 2650437152;
  var IFCANGULARVELOCITYMEASURE = 632304761;
  var IFCAMOUNTOFSUBSTANCEMEASURE = 360377573;
  var IFCACCELERATIONMEASURE = 4182062534;
  var IFCABSORBEDDOSEMEASURE = 3699917729;
  var IFCGEOSLICE = 1971632696;
  var IFCGEOMODEL = 2680139844;
  var IFCELECTRICFLOWTREATMENTDEVICE = 24726584;
  var IFCDISTRIBUTIONBOARD = 3693000487;
  var IFCCONVEYORSEGMENT = 3460952963;
  var IFCCAISSONFOUNDATION = 3999819293;
  var IFCBOREHOLE = 3314249567;
  var IFCBEARING = 4196446775;
  var IFCALIGNMENT = 325726236;
  var IFCTRACKELEMENT = 3425753595;
  var IFCSIGNAL = 991950508;
  var IFCREINFORCEDSOIL = 3798194928;
  var IFCRAIL = 3290496277;
  var IFCPAVEMENT = 1383356374;
  var IFCNAVIGATIONELEMENT = 2182337498;
  var IFCMOORINGDEVICE = 234836483;
  var IFCMOBILETELECOMMUNICATIONSAPPLIANCE = 2078563270;
  var IFCLIQUIDTERMINAL = 1638804497;
  var IFCLINEARPOSITIONINGELEMENT = 1154579445;
  var IFCKERB = 2696325953;
  var IFCGEOTECHNICALASSEMBLY = 2713699986;
  var IFCELECTRICFLOWTREATMENTDEVICETYPE = 2142170206;
  var IFCEARTHWORKSFILL = 3376911765;
  var IFCEARTHWORKSELEMENT = 1077100507;
  var IFCEARTHWORKSCUT = 3071239417;
  var IFCDISTRIBUTIONBOARDTYPE = 479945903;
  var IFCDEEPFOUNDATION = 3426335179;
  var IFCCOURSE = 1502416096;
  var IFCCONVEYORSEGMENTTYPE = 2940368186;
  var IFCCAISSONFOUNDATIONTYPE = 3203706013;
  var IFCBUILTSYSTEM = 3862327254;
  var IFCBUILTELEMENT = 1876633798;
  var IFCBRIDGEPART = 963979645;
  var IFCBRIDGE = 644574406;
  var IFCBEARINGTYPE = 3649138523;
  var IFCALIGNMENTVERTICAL = 1662888072;
  var IFCALIGNMENTSEGMENT = 317615605;
  var IFCALIGNMENTHORIZONTAL = 1545765605;
  var IFCALIGNMENTCANT = 4266260250;
  var IFCVIBRATIONDAMPERTYPE = 3956297820;
  var IFCVIBRATIONDAMPER = 1530820697;
  var IFCVEHICLE = 840318589;
  var IFCTRANSPORTATIONDEVICE = 1953115116;
  var IFCTRACKELEMENTTYPE = 618700268;
  var IFCTENDONCONDUITTYPE = 2281632017;
  var IFCTENDONCONDUIT = 3663046924;
  var IFCSINESPIRAL = 42703149;
  var IFCSIGNALTYPE = 1894708472;
  var IFCSIGNTYPE = 3599934289;
  var IFCSIGN = 33720170;
  var IFCSEVENTHORDERPOLYNOMIALSPIRAL = 1027922057;
  var IFCSEGMENTEDREFERENCECURVE = 544395925;
  var IFCSECONDORDERPOLYNOMIALSPIRAL = 3649235739;
  var IFCROADPART = 550521510;
  var IFCROAD = 146592293;
  var IFCRELADHERESTOELEMENT = 3818125796;
  var IFCREFERENT = 4021432810;
  var IFCRAILWAYPART = 1891881377;
  var IFCRAILWAY = 3992365140;
  var IFCRAILTYPE = 1763565496;
  var IFCPOSITIONINGELEMENT = 1946335990;
  var IFCPAVEMENTTYPE = 514975943;
  var IFCNAVIGATIONELEMENTTYPE = 506776471;
  var IFCMOORINGDEVICETYPE = 710110818;
  var IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE = 1950438474;
  var IFCMARINEPART = 976884017;
  var IFCMARINEFACILITY = 525669439;
  var IFCLIQUIDTERMINALTYPE = 1770583370;
  var IFCLINEARELEMENT = 2176059722;
  var IFCKERBTYPE = 679976338;
  var IFCIMPACTPROTECTIONDEVICETYPE = 3948183225;
  var IFCIMPACTPROTECTIONDEVICE = 2568555532;
  var IFCGRADIENTCURVE = 2898700619;
  var IFCGEOTECHNICALSTRATUM = 1594536857;
  var IFCGEOTECHNICALELEMENT = 4230923436;
  var IFCFACILITYPARTCOMMON = 4228831410;
  var IFCFACILITYPART = 1310830890;
  var IFCFACILITY = 24185140;
  var IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID = 4234616927;
  var IFCDEEPFOUNDATIONTYPE = 1306400036;
  var IFCCOURSETYPE = 4189326743;
  var IFCCOSINESPIRAL = 2000195564;
  var IFCCLOTHOID = 3497074424;
  var IFCBUILTELEMENTTYPE = 1626504194;
  var IFCVEHICLETYPE = 3651464721;
  var IFCTRIANGULATEDIRREGULARNETWORK = 1229763772;
  var IFCTRANSPORTATIONDEVICETYPE = 3665877780;
  var IFCTHIRDORDERPOLYNOMIALSPIRAL = 782932809;
  var IFCSPIRAL = 2735484536;
  var IFCSECTIONEDSURFACE = 1356537516;
  var IFCSECTIONEDSOLIDHORIZONTAL = 1290935644;
  var IFCSECTIONEDSOLID = 1862484736;
  var IFCRELPOSITIONS = 1441486842;
  var IFCRELASSOCIATESPROFILEDEF = 1033248425;
  var IFCPOLYNOMIALCURVE = 3381221214;
  var IFCOFFSETCURVEBYDISTANCES = 2485787929;
  var IFCOFFSETCURVE = 590820931;
  var IFCINDEXEDPOLYGONALTEXTUREMAP = 3465909080;
  var IFCDIRECTRIXCURVESWEPTAREASOLID = 593015953;
  var IFCCURVESEGMENT = 4212018352;
  var IFCAXIS2PLACEMENTLINEAR = 3425423356;
  var IFCSEGMENT = 823603102;
  var IFCPOINTBYDISTANCEEXPRESSION = 2165702409;
  var IFCOPENCROSSPROFILEDEF = 182550632;
  var IFCLINEARPLACEMENT = 388784114;
  var IFCALIGNMENTHORIZONTALSEGMENT = 536804194;
  var IFCALIGNMENTCANTSEGMENT = 3752311538;
  var IFCWELLKNOWNTEXT = 1175146630;
  var IFCTEXTURECOORDINATEINDICESWITHVOIDS = 1010789467;
  var IFCTEXTURECOORDINATEINDICES = 222769930;
  var IFCRIGIDOPERATION = 1794013214;
  var IFCQUANTITYNUMBER = 2691318326;
  var IFCMAPCONVERSIONSCALED = 4105526436;
  var IFCGEOGRAPHICCRS = 917726184;
  var IFCALIGNMENTVERTICALSEGMENT = 3633395639;
  var IFCALIGNMENTPARAMETERSEGMENT = 2879124712;
  var IFCCONTROLLER = 25142252;
  var IFCALARM = 3087945054;
  var IFCACTUATOR = 4288193352;
  var IFCUNITARYCONTROLELEMENT = 630975310;
  var IFCSENSOR = 4086658281;
  var IFCPROTECTIVEDEVICETRIPPINGUNIT = 2295281155;
  var IFCFLOWINSTRUMENT = 182646315;
  var IFCFIRESUPPRESSIONTERMINAL = 1426591983;
  var IFCFILTER = 819412036;
  var IFCFAN = 3415622556;
  var IFCELECTRICTIMECONTROL = 1003880860;
  var IFCELECTRICMOTOR = 402227799;
  var IFCELECTRICGENERATOR = 264262732;
  var IFCELECTRICFLOWSTORAGEDEVICE = 3310460725;
  var IFCELECTRICDISTRIBUTIONBOARD = 862014818;
  var IFCELECTRICAPPLIANCE = 1904799276;
  var IFCDUCTSILENCER = 1360408905;
  var IFCDUCTSEGMENT = 3518393246;
  var IFCDUCTFITTING = 342316401;
  var IFCDISTRIBUTIONCIRCUIT = 562808652;
  var IFCDAMPER = 4074379575;
  var IFCCOOLINGTOWER = 3640358203;
  var IFCCOOLEDBEAM = 4136498852;
  var IFCCONDENSER = 2272882330;
  var IFCCOMPRESSOR = 3571504051;
  var IFCCOMMUNICATIONSAPPLIANCE = 3221913625;
  var IFCCOIL = 639361253;
  var IFCCHILLER = 3902619387;
  var IFCCABLESEGMENT = 4217484030;
  var IFCCABLEFITTING = 1051757585;
  var IFCCABLECARRIERSEGMENT = 3758799889;
  var IFCCABLECARRIERFITTING = 635142910;
  var IFCBURNER = 2938176219;
  var IFCBOILER = 32344328;
  var IFCBEAMSTANDARDCASE = 2906023776;
  var IFCAUDIOVISUALAPPLIANCE = 277319702;
  var IFCAIRTOAIRHEATRECOVERY = 2056796094;
  var IFCAIRTERMINALBOX = 177149247;
  var IFCAIRTERMINAL = 1634111441;
  var IFCWINDOWSTANDARDCASE = 486154966;
  var IFCWASTETERMINAL = 4237592921;
  var IFCWALLELEMENTEDCASE = 4156078855;
  var IFCVALVE = 4207607924;
  var IFCUNITARYEQUIPMENT = 4292641817;
  var IFCUNITARYCONTROLELEMENTTYPE = 3179687236;
  var IFCTUBEBUNDLE = 3026737570;
  var IFCTRANSFORMER = 3825984169;
  var IFCTANK = 812556717;
  var IFCSWITCHINGDEVICE = 1162798199;
  var IFCSTRUCTURALLOADCASE = 385403989;
  var IFCSTACKTERMINAL = 1404847402;
  var IFCSPACEHEATER = 1999602285;
  var IFCSOLARDEVICE = 3420628829;
  var IFCSLABSTANDARDCASE = 3027962421;
  var IFCSLABELEMENTEDCASE = 3127900445;
  var IFCSHADINGDEVICE = 1329646415;
  var IFCSANITARYTERMINAL = 3053780830;
  var IFCREINFORCINGBARTYPE = 2572171363;
  var IFCRATIONALBSPLINECURVEWITHKNOTS = 1232101972;
  var IFCPUMP = 90941305;
  var IFCPROTECTIVEDEVICETRIPPINGUNITTYPE = 655969474;
  var IFCPROTECTIVEDEVICE = 738039164;
  var IFCPLATESTANDARDCASE = 1156407060;
  var IFCPIPESEGMENT = 3612865200;
  var IFCPIPEFITTING = 310824031;
  var IFCOUTLET = 3694346114;
  var IFCOUTERBOUNDARYCURVE = 144952367;
  var IFCMOTORCONNECTION = 2474470126;
  var IFCMEMBERSTANDARDCASE = 1911478936;
  var IFCMEDICALDEVICE = 1437502449;
  var IFCLIGHTFIXTURE = 629592764;
  var IFCLAMP = 76236018;
  var IFCJUNCTIONBOX = 2176052936;
  var IFCINTERCEPTOR = 4175244083;
  var IFCHUMIDIFIER = 2068733104;
  var IFCHEATEXCHANGER = 3319311131;
  var IFCFLOWMETER = 2188021234;
  var IFCEXTERNALSPATIALELEMENT = 1209101575;
  var IFCEVAPORATOR = 484807127;
  var IFCEVAPORATIVECOOLER = 3747195512;
  var IFCENGINE = 2814081492;
  var IFCELECTRICDISTRIBUTIONBOARDTYPE = 2417008758;
  var IFCDOORSTANDARDCASE = 3242481149;
  var IFCDISTRIBUTIONSYSTEM = 3205830791;
  var IFCCOMMUNICATIONSAPPLIANCETYPE = 400855858;
  var IFCCOLUMNSTANDARDCASE = 905975707;
  var IFCCIVILELEMENT = 1677625105;
  var IFCCHIMNEY = 3296154744;
  var IFCCABLEFITTINGTYPE = 2674252688;
  var IFCBURNERTYPE = 2188180465;
  var IFCBUILDINGSYSTEM = 1177604601;
  var IFCBUILDINGELEMENTPARTTYPE = 39481116;
  var IFCBOUNDARYCURVE = 1136057603;
  var IFCBSPLINECURVEWITHKNOTS = 2461110595;
  var IFCAUDIOVISUALAPPLIANCETYPE = 1532957894;
  var IFCWORKCALENDAR = 4088093105;
  var IFCWINDOWTYPE = 4009809668;
  var IFCVOIDINGFEATURE = 926996030;
  var IFCVIBRATIONISOLATOR = 2391383451;
  var IFCTENDONTYPE = 2415094496;
  var IFCTENDONANCHORTYPE = 3081323446;
  var IFCSYSTEMFURNITUREELEMENT = 413509423;
  var IFCSURFACEFEATURE = 3101698114;
  var IFCSTRUCTURALSURFACEACTION = 3657597509;
  var IFCSTRUCTURALCURVEREACTION = 2757150158;
  var IFCSTRUCTURALCURVEACTION = 1004757350;
  var IFCSTAIRTYPE = 338393293;
  var IFCSOLARDEVICETYPE = 1072016465;
  var IFCSHADINGDEVICETYPE = 4074543187;
  var IFCSEAMCURVE = 2157484638;
  var IFCROOFTYPE = 2781568857;
  var IFCREINFORCINGMESHTYPE = 2310774935;
  var IFCREINFORCINGELEMENTTYPE = 964333572;
  var IFCRATIONALBSPLINESURFACEWITHKNOTS = 683857671;
  var IFCRAMPTYPE = 1469900589;
  var IFCPOLYGONALFACESET = 2839578677;
  var IFCPILETYPE = 1158309216;
  var IFCOPENINGSTANDARDCASE = 3079942009;
  var IFCMEDICALDEVICETYPE = 1114901282;
  var IFCINTERSECTIONCURVE = 3113134337;
  var IFCINTERCEPTORTYPE = 3946677679;
  var IFCINDEXEDPOLYCURVE = 2571569899;
  var IFCGEOGRAPHICELEMENT = 3493046030;
  var IFCFURNITURE = 1509553395;
  var IFCFOOTINGTYPE = 1893162501;
  var IFCEXTERNALSPATIALSTRUCTUREELEMENT = 2853485674;
  var IFCEVENT = 4148101412;
  var IFCENGINETYPE = 132023988;
  var IFCELEMENTASSEMBLYTYPE = 2397081782;
  var IFCDOORTYPE = 2323601079;
  var IFCCYLINDRICALSURFACE = 1213902940;
  var IFCCONSTRUCTIONPRODUCTRESOURCETYPE = 1525564444;
  var IFCCONSTRUCTIONMATERIALRESOURCETYPE = 4105962743;
  var IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE = 2185764099;
  var IFCCOMPOSITECURVEONSURFACE = 15328376;
  var IFCCOMPLEXPROPERTYTEMPLATE = 3875453745;
  var IFCCIVILELEMENTTYPE = 3893394355;
  var IFCCHIMNEYTYPE = 2197970202;
  var IFCBSPLINESURFACEWITHKNOTS = 167062518;
  var IFCBSPLINESURFACE = 2887950389;
  var IFCADVANCEDBREPWITHVOIDS = 2603310189;
  var IFCADVANCEDBREP = 1635779807;
  var IFCTRIANGULATEDFACESET = 2916149573;
  var IFCTOROIDALSURFACE = 1935646853;
  var IFCTESSELLATEDFACESET = 2387106220;
  var IFCTASKTYPE = 3206491090;
  var IFCSURFACECURVE = 699246055;
  var IFCSUBCONTRACTRESOURCETYPE = 4095615324;
  var IFCSTRUCTURALSURFACEREACTION = 603775116;
  var IFCSPHERICALSURFACE = 4015995234;
  var IFCSPATIALZONETYPE = 2481509218;
  var IFCSPATIALZONE = 463610769;
  var IFCSPATIALELEMENTTYPE = 710998568;
  var IFCSPATIALELEMENT = 1412071761;
  var IFCSIMPLEPROPERTYTEMPLATE = 3663146110;
  var IFCREVOLVEDAREASOLIDTAPERED = 3243963512;
  var IFCREPARAMETRISEDCOMPOSITECURVESEGMENT = 816062949;
  var IFCRELSPACEBOUNDARY2NDLEVEL = 1521410863;
  var IFCRELSPACEBOUNDARY1STLEVEL = 3523091289;
  var IFCRELINTERFERESELEMENTS = 427948657;
  var IFCRELDEFINESBYTEMPLATE = 307848117;
  var IFCRELDEFINESBYOBJECT = 1462361463;
  var IFCRELDECLARES = 2565941209;
  var IFCRELASSIGNSTOGROUPBYFACTOR = 1027710054;
  var IFCPROPERTYTEMPLATE = 3521284610;
  var IFCPROPERTYSETTEMPLATE = 492091185;
  var IFCPROJECTLIBRARY = 653396225;
  var IFCPROCEDURETYPE = 569719735;
  var IFCPREDEFINEDPROPERTYSET = 3967405729;
  var IFCPCURVE = 1682466193;
  var IFCLABORRESOURCETYPE = 428585644;
  var IFCINDEXEDPOLYGONALFACEWITHVOIDS = 2294589976;
  var IFCINDEXEDPOLYGONALFACE = 178912537;
  var IFCGEOGRAPHICELEMENTTYPE = 4095422895;
  var IFCFIXEDREFERENCESWEPTAREASOLID = 2652556860;
  var IFCEXTRUDEDAREASOLIDTAPERED = 2804161546;
  var IFCEVENTTYPE = 4024345920;
  var IFCCURVEBOUNDEDSURFACE = 2629017746;
  var IFCCREWRESOURCETYPE = 1815067380;
  var IFCCONTEXT = 3419103109;
  var IFCCONSTRUCTIONRESOURCETYPE = 2574617495;
  var IFCCARTESIANPOINTLIST3D = 2059837836;
  var IFCCARTESIANPOINTLIST2D = 1675464909;
  var IFCCARTESIANPOINTLIST = 574549367;
  var IFCADVANCEDFACE = 3406155212;
  var IFCTYPERESOURCE = 3698973494;
  var IFCTYPEPROCESS = 3736923433;
  var IFCTESSELLATEDITEM = 901063453;
  var IFCSWEPTDISKSOLIDPOLYGONAL = 1096409881;
  var IFCRESOURCETIME = 1042787934;
  var IFCRESOURCECONSTRAINTRELATIONSHIP = 1608871552;
  var IFCRESOURCEAPPROVALRELATIONSHIP = 2943643501;
  var IFCQUANTITYSET = 2090586900;
  var IFCPROPERTYTEMPLATEDEFINITION = 1482703590;
  var IFCPREDEFINEDPROPERTIES = 3778827333;
  var IFCMIRROREDPROFILEDEF = 2998442950;
  var IFCMATERIALRELATIONSHIP = 853536259;
  var IFCMATERIALPROFILESETUSAGETAPERING = 3404854881;
  var IFCMATERIALPROFILESETUSAGE = 3079605661;
  var IFCMATERIALCONSTITUENTSET = 2852063980;
  var IFCMATERIALCONSTITUENT = 3708119e3;
  var IFCLAGTIME = 1585845231;
  var IFCINDEXEDTRIANGLETEXTUREMAP = 2133299955;
  var IFCINDEXEDTEXTUREMAP = 1437953363;
  var IFCINDEXEDCOLOURMAP = 3570813810;
  var IFCEXTERNALREFERENCERELATIONSHIP = 1437805879;
  var IFCEXTENDEDPROPERTIES = 297599258;
  var IFCEVENTTIME = 211053100;
  var IFCCONVERSIONBASEDUNITWITHOFFSET = 2713554722;
  var IFCCOLOURRGBLIST = 3285139300;
  var IFCWORKTIME = 1236880293;
  var IFCTIMEPERIOD = 1199560280;
  var IFCTEXTUREVERTEXLIST = 3611470254;
  var IFCTASKTIMERECURRING = 2771591690;
  var IFCTASKTIME = 1549132990;
  var IFCTABLECOLUMN = 2043862942;
  var IFCSURFACEREINFORCEMENTAREA = 2934153892;
  var IFCSTRUCTURALLOADORRESULT = 609421318;
  var IFCSTRUCTURALLOADCONFIGURATION = 3478079324;
  var IFCSCHEDULINGTIME = 1054537805;
  var IFCRESOURCELEVELRELATIONSHIP = 2439245199;
  var IFCREFERENCE = 2433181523;
  var IFCRECURRENCEPATTERN = 3915482550;
  var IFCPROPERTYABSTRACTION = 986844984;
  var IFCPROJECTEDCRS = 3843373140;
  var IFCPRESENTATIONITEM = 677532197;
  var IFCMATERIALUSAGEDEFINITION = 1507914824;
  var IFCMATERIALPROFILEWITHOFFSETS = 552965576;
  var IFCMATERIALPROFILESET = 164193824;
  var IFCMATERIALPROFILE = 2235152071;
  var IFCMATERIALLAYERWITHOFFSETS = 1847252529;
  var IFCMATERIALDEFINITION = 760658860;
  var IFCMAPCONVERSION = 3057273783;
  var IFCEXTERNALINFORMATION = 4294318154;
  var IFCCOORDINATEREFERENCESYSTEM = 1466758467;
  var IFCCOORDINATEOPERATION = 1785450214;
  var IFCCONNECTIONVOLUMEGEOMETRY = 775493141;
  var IFCREINFORCINGBAR = 979691226;
  var IFCELECTRICDISTRIBUTIONPOINT = 3700593921;
  var IFCDISTRIBUTIONCONTROLELEMENT = 1062813311;
  var IFCDISTRIBUTIONCHAMBERELEMENT = 1052013943;
  var IFCCONTROLLERTYPE = 578613899;
  var IFCCHAMFEREDGEFEATURE = 2454782716;
  var IFCBEAM = 753842376;
  var IFCALARMTYPE = 3001207471;
  var IFCACTUATORTYPE = 2874132201;
  var IFCWINDOW = 3304561284;
  var IFCWALLSTANDARDCASE = 3512223829;
  var IFCWALL = 2391406946;
  var IFCVIBRATIONISOLATORTYPE = 3313531582;
  var IFCTENDONANCHOR = 2347447852;
  var IFCTENDON = 3824725483;
  var IFCSTRUCTURALANALYSISMODEL = 2515109513;
  var IFCSTAIRFLIGHT = 4252922144;
  var IFCSTAIR = 331165859;
  var IFCSLAB = 1529196076;
  var IFCSENSORTYPE = 1783015770;
  var IFCROUNDEDEDGEFEATURE = 1376911519;
  var IFCROOF = 2016517767;
  var IFCREINFORCINGMESH = 2320036040;
  var IFCREINFORCINGELEMENT = 3027567501;
  var IFCRATIONALBEZIERCURVE = 3055160366;
  var IFCRAMPFLIGHT = 3283111854;
  var IFCRAMP = 3024970846;
  var IFCRAILING = 2262370178;
  var IFCPLATE = 3171933400;
  var IFCPILE = 1687234759;
  var IFCMEMBER = 1073191201;
  var IFCFOOTING = 900683007;
  var IFCFLOWTREATMENTDEVICE = 3508470533;
  var IFCFLOWTERMINAL = 2223149337;
  var IFCFLOWSTORAGEDEVICE = 707683696;
  var IFCFLOWSEGMENT = 987401354;
  var IFCFLOWMOVINGDEVICE = 3132237377;
  var IFCFLOWINSTRUMENTTYPE = 4037862832;
  var IFCFLOWFITTING = 4278956645;
  var IFCFLOWCONTROLLER = 2058353004;
  var IFCFIRESUPPRESSIONTERMINALTYPE = 4222183408;
  var IFCFILTERTYPE = 1810631287;
  var IFCFANTYPE = 346874300;
  var IFCENERGYCONVERSIONDEVICE = 1658829314;
  var IFCELECTRICALELEMENT = 857184966;
  var IFCELECTRICALCIRCUIT = 1634875225;
  var IFCELECTRICTIMECONTROLTYPE = 712377611;
  var IFCELECTRICMOTORTYPE = 1217240411;
  var IFCELECTRICHEATERTYPE = 1365060375;
  var IFCELECTRICGENERATORTYPE = 1534661035;
  var IFCELECTRICFLOWSTORAGEDEVICETYPE = 3277789161;
  var IFCELECTRICAPPLIANCETYPE = 663422040;
  var IFCEDGEFEATURE = 855621170;
  var IFCDUCTSILENCERTYPE = 2030761528;
  var IFCDUCTSEGMENTTYPE = 3760055223;
  var IFCDUCTFITTINGTYPE = 869906466;
  var IFCDOOR = 395920057;
  var IFCDISTRIBUTIONPORT = 3041715199;
  var IFCDISTRIBUTIONFLOWELEMENT = 3040386961;
  var IFCDISTRIBUTIONELEMENT = 1945004755;
  var IFCDISTRIBUTIONCONTROLELEMENTTYPE = 2063403501;
  var IFCDISTRIBUTIONCHAMBERELEMENTTYPE = 1599208980;
  var IFCDISCRETEACCESSORYTYPE = 2635815018;
  var IFCDISCRETEACCESSORY = 1335981549;
  var IFCDIAMETERDIMENSION = 4147604152;
  var IFCDAMPERTYPE = 3961806047;
  var IFCCURTAINWALL = 3495092785;
  var IFCCOVERING = 1973544240;
  var IFCCOOLINGTOWERTYPE = 2954562838;
  var IFCCOOLEDBEAMTYPE = 335055490;
  var IFCCONSTRUCTIONPRODUCTRESOURCE = 488727124;
  var IFCCONSTRUCTIONMATERIALRESOURCE = 1060000209;
  var IFCCONSTRUCTIONEQUIPMENTRESOURCE = 3898045240;
  var IFCCONDITIONCRITERION = 1163958913;
  var IFCCONDITION = 2188551683;
  var IFCCONDENSERTYPE = 2816379211;
  var IFCCOMPRESSORTYPE = 3850581409;
  var IFCCOLUMN = 843113511;
  var IFCCOILTYPE = 2301859152;
  var IFCCIRCLE = 2611217952;
  var IFCCHILLERTYPE = 2951183804;
  var IFCCABLESEGMENTTYPE = 1285652485;
  var IFCCABLECARRIERSEGMENTTYPE = 3293546465;
  var IFCCABLECARRIERFITTINGTYPE = 395041908;
  var IFCBUILDINGELEMENTPROXYTYPE = 1909888760;
  var IFCBUILDINGELEMENTPROXY = 1095909175;
  var IFCBUILDINGELEMENTPART = 2979338954;
  var IFCBUILDINGELEMENTCOMPONENT = 52481810;
  var IFCBUILDINGELEMENT = 3299480353;
  var IFCBOILERTYPE = 231477066;
  var IFCBEZIERCURVE = 1916977116;
  var IFCBEAMTYPE = 819618141;
  var IFCBSPLINECURVE = 1967976161;
  var IFCASSET = 3460190687;
  var IFCANGULARDIMENSION = 2470393545;
  var IFCAIRTOAIRHEATRECOVERYTYPE = 1871374353;
  var IFCAIRTERMINALTYPE = 3352864051;
  var IFCAIRTERMINALBOXTYPE = 1411407467;
  var IFCACTIONREQUEST = 3821786052;
  var IFC2DCOMPOSITECURVE = 1213861670;
  var IFCZONE = 1033361043;
  var IFCWORKSCHEDULE = 3342526732;
  var IFCWORKPLAN = 4218914973;
  var IFCWORKCONTROL = 1028945134;
  var IFCWASTETERMINALTYPE = 1133259667;
  var IFCWALLTYPE = 1898987631;
  var IFCVIRTUALELEMENT = 2769231204;
  var IFCVALVETYPE = 728799441;
  var IFCUNITARYEQUIPMENTTYPE = 1911125066;
  var IFCTUBEBUNDLETYPE = 1600972822;
  var IFCTRIMMEDCURVE = 3593883385;
  var IFCTRANSPORTELEMENT = 1620046519;
  var IFCTRANSFORMERTYPE = 1692211062;
  var IFCTIMESERIESSCHEDULE = 1637806684;
  var IFCTANKTYPE = 5716631;
  var IFCSYSTEM = 2254336722;
  var IFCSWITCHINGDEVICETYPE = 2315554128;
  var IFCSUBCONTRACTRESOURCE = 148013059;
  var IFCSTRUCTURALSURFACECONNECTION = 1975003073;
  var IFCSTRUCTURALRESULTGROUP = 2986769608;
  var IFCSTRUCTURALPOINTREACTION = 1235345126;
  var IFCSTRUCTURALPOINTCONNECTION = 734778138;
  var IFCSTRUCTURALPOINTACTION = 2082059205;
  var IFCSTRUCTURALPLANARACTIONVARYING = 3987759626;
  var IFCSTRUCTURALPLANARACTION = 1621171031;
  var IFCSTRUCTURALLOADGROUP = 1252848954;
  var IFCSTRUCTURALLINEARACTIONVARYING = 1721250024;
  var IFCSTRUCTURALLINEARACTION = 1807405624;
  var IFCSTRUCTURALCURVEMEMBERVARYING = 2445595289;
  var IFCSTRUCTURALCURVEMEMBER = 214636428;
  var IFCSTRUCTURALCURVECONNECTION = 4243806635;
  var IFCSTRUCTURALCONNECTION = 1179482911;
  var IFCSTRUCTURALACTION = 682877961;
  var IFCSTAIRFLIGHTTYPE = 1039846685;
  var IFCSTACKTERMINALTYPE = 3112655638;
  var IFCSPACETYPE = 3812236995;
  var IFCSPACEPROGRAM = 652456506;
  var IFCSPACEHEATERTYPE = 1305183839;
  var IFCSPACE = 3856911033;
  var IFCSLABTYPE = 2533589738;
  var IFCSITE = 4097777520;
  var IFCSERVICELIFE = 4105383287;
  var IFCSCHEDULETIMECONTROL = 3517283431;
  var IFCSANITARYTERMINALTYPE = 1768891740;
  var IFCRELASSIGNSTASKS = 2863920197;
  var IFCRELAGGREGATES = 160246688;
  var IFCRAMPFLIGHTTYPE = 2324767716;
  var IFCRAILINGTYPE = 2893384427;
  var IFCRADIUSDIMENSION = 3248260540;
  var IFCPUMPTYPE = 2250791053;
  var IFCPROTECTIVEDEVICETYPE = 1842657554;
  var IFCPROJECTIONELEMENT = 3651124850;
  var IFCPROJECTORDERRECORD = 3642467123;
  var IFCPROJECTORDER = 2904328755;
  var IFCPROCEDURE = 2744685151;
  var IFCPORT = 3740093272;
  var IFCPOLYLINE = 3724593414;
  var IFCPLATETYPE = 4017108033;
  var IFCPIPESEGMENTTYPE = 4231323485;
  var IFCPIPEFITTINGTYPE = 804291784;
  var IFCPERMIT = 3327091369;
  var IFCPERFORMANCEHISTORY = 2382730787;
  var IFCOUTLETTYPE = 2837617999;
  var IFCORDERACTION = 3425660407;
  var IFCOPENINGELEMENT = 3588315303;
  var IFCOCCUPANT = 4143007308;
  var IFCMOVE = 1916936684;
  var IFCMOTORCONNECTIONTYPE = 977012517;
  var IFCMEMBERTYPE = 3181161470;
  var IFCMECHANICALFASTENERTYPE = 2108223431;
  var IFCMECHANICALFASTENER = 377706215;
  var IFCLINEARDIMENSION = 2506943328;
  var IFCLIGHTFIXTURETYPE = 1161773419;
  var IFCLAMPTYPE = 1051575348;
  var IFCLABORRESOURCE = 3827777499;
  var IFCJUNCTIONBOXTYPE = 4288270099;
  var IFCINVENTORY = 2391368822;
  var IFCHUMIDIFIERTYPE = 1806887404;
  var IFCHEATEXCHANGERTYPE = 1251058090;
  var IFCGROUP = 2706460486;
  var IFCGRID = 3009204131;
  var IFCGASTERMINALTYPE = 200128114;
  var IFCFURNITURESTANDARD = 814719939;
  var IFCFURNISHINGELEMENT = 263784265;
  var IFCFLOWTREATMENTDEVICETYPE = 3009222698;
  var IFCFLOWTERMINALTYPE = 2297155007;
  var IFCFLOWSTORAGEDEVICETYPE = 1339347760;
  var IFCFLOWSEGMENTTYPE = 1834744321;
  var IFCFLOWMOVINGDEVICETYPE = 1482959167;
  var IFCFLOWMETERTYPE = 3815607619;
  var IFCFLOWFITTINGTYPE = 3198132628;
  var IFCFLOWCONTROLLERTYPE = 3907093117;
  var IFCFEATUREELEMENTSUBTRACTION = 1287392070;
  var IFCFEATUREELEMENTADDITION = 2143335405;
  var IFCFEATUREELEMENT = 2827207264;
  var IFCFASTENERTYPE = 2489546625;
  var IFCFASTENER = 647756555;
  var IFCFACETEDBREPWITHVOIDS = 3737207727;
  var IFCFACETEDBREP = 807026263;
  var IFCEVAPORATORTYPE = 3390157468;
  var IFCEVAPORATIVECOOLERTYPE = 3174744832;
  var IFCEQUIPMENTSTANDARD = 3272907226;
  var IFCEQUIPMENTELEMENT = 1962604670;
  var IFCENERGYCONVERSIONDEVICETYPE = 2107101300;
  var IFCELLIPSE = 1704287377;
  var IFCELEMENTCOMPONENTTYPE = 2590856083;
  var IFCELEMENTCOMPONENT = 1623761950;
  var IFCELEMENTASSEMBLY = 4123344466;
  var IFCELEMENT = 1758889154;
  var IFCELECTRICALBASEPROPERTIES = 360485395;
  var IFCDISTRIBUTIONFLOWELEMENTTYPE = 3849074793;
  var IFCDISTRIBUTIONELEMENTTYPE = 3256556792;
  var IFCDIMENSIONCURVEDIRECTEDCALLOUT = 681481545;
  var IFCCURTAINWALLTYPE = 1457835157;
  var IFCCREWRESOURCE = 3295246426;
  var IFCCOVERINGTYPE = 1916426348;
  var IFCCOSTSCHEDULE = 1419761937;
  var IFCCOSTITEM = 3895139033;
  var IFCCONTROL = 3293443760;
  var IFCCONSTRUCTIONRESOURCE = 2559216714;
  var IFCCONIC = 2510884976;
  var IFCCOMPOSITECURVE = 3732776249;
  var IFCCOLUMNTYPE = 300633059;
  var IFCCIRCLEHOLLOWPROFILEDEF = 2937912522;
  var IFCBUILDINGSTOREY = 3124254112;
  var IFCBUILDINGELEMENTTYPE = 1950629157;
  var IFCBUILDING = 4031249490;
  var IFCBOUNDEDCURVE = 1260505505;
  var IFCBOOLEANCLIPPINGRESULT = 3649129432;
  var IFCBLOCK = 1334484129;
  var IFCASYMMETRICISHAPEPROFILEDEF = 3207858831;
  var IFCANNOTATION = 1674181508;
  var IFCACTOR = 2296667514;
  var IFCTRANSPORTELEMENTTYPE = 2097647324;
  var IFCTASK = 3473067441;
  var IFCSYSTEMFURNITUREELEMENTTYPE = 1580310250;
  var IFCSURFACEOFREVOLUTION = 4124788165;
  var IFCSURFACEOFLINEAREXTRUSION = 2809605785;
  var IFCSURFACECURVESWEPTAREASOLID = 2028607225;
  var IFCSTRUCTUREDDIMENSIONCALLOUT = 4070609034;
  var IFCSTRUCTURALSURFACEMEMBERVARYING = 2218152070;
  var IFCSTRUCTURALSURFACEMEMBER = 3979015343;
  var IFCSTRUCTURALREACTION = 3689010777;
  var IFCSTRUCTURALMEMBER = 530289379;
  var IFCSTRUCTURALITEM = 3136571912;
  var IFCSTRUCTURALACTIVITY = 3544373492;
  var IFCSPHERE = 451544542;
  var IFCSPATIALSTRUCTUREELEMENTTYPE = 3893378262;
  var IFCSPATIALSTRUCTUREELEMENT = 2706606064;
  var IFCRIGHTCIRCULARCYLINDER = 3626867408;
  var IFCRIGHTCIRCULARCONE = 4158566097;
  var IFCREVOLVEDAREASOLID = 1856042241;
  var IFCRESOURCE = 2914609552;
  var IFCRELVOIDSELEMENT = 1401173127;
  var IFCRELSPACEBOUNDARY = 3451746338;
  var IFCRELSERVICESBUILDINGS = 366585022;
  var IFCRELSEQUENCE = 4122056220;
  var IFCRELSCHEDULESCOSTITEMS = 1058617721;
  var IFCRELREFERENCEDINSPATIALSTRUCTURE = 1245217292;
  var IFCRELPROJECTSELEMENT = 750771296;
  var IFCRELOVERRIDESPROPERTIES = 202636808;
  var IFCRELOCCUPIESSPACES = 2051452291;
  var IFCRELNESTS = 3268803585;
  var IFCRELINTERACTIONREQUIREMENTS = 4189434867;
  var IFCRELFLOWCONTROLELEMENTS = 279856033;
  var IFCRELFILLSELEMENT = 3940055652;
  var IFCRELDEFINESBYTYPE = 781010003;
  var IFCRELDEFINESBYPROPERTIES = 4186316022;
  var IFCRELDEFINES = 693640335;
  var IFCRELDECOMPOSES = 2551354335;
  var IFCRELCOVERSSPACES = 2802773753;
  var IFCRELCOVERSBLDGELEMENTS = 886880790;
  var IFCRELCONTAINEDINSPATIALSTRUCTURE = 3242617779;
  var IFCRELCONNECTSWITHREALIZINGELEMENTS = 3678494232;
  var IFCRELCONNECTSWITHECCENTRICITY = 504942748;
  var IFCRELCONNECTSSTRUCTURALMEMBER = 1638771189;
  var IFCRELCONNECTSSTRUCTURALELEMENT = 3912681535;
  var IFCRELCONNECTSSTRUCTURALACTIVITY = 2127690289;
  var IFCRELCONNECTSPORTS = 3190031847;
  var IFCRELCONNECTSPORTTOELEMENT = 4201705270;
  var IFCRELCONNECTSPATHELEMENTS = 3945020480;
  var IFCRELCONNECTSELEMENTS = 1204542856;
  var IFCRELCONNECTS = 826625072;
  var IFCRELASSOCIATESPROFILEPROPERTIES = 2851387026;
  var IFCRELASSOCIATESMATERIAL = 2655215786;
  var IFCRELASSOCIATESLIBRARY = 3840914261;
  var IFCRELASSOCIATESDOCUMENT = 982818633;
  var IFCRELASSOCIATESCONSTRAINT = 2728634034;
  var IFCRELASSOCIATESCLASSIFICATION = 919958153;
  var IFCRELASSOCIATESAPPROVAL = 4095574036;
  var IFCRELASSOCIATESAPPLIEDVALUE = 1327628568;
  var IFCRELASSOCIATES = 1865459582;
  var IFCRELASSIGNSTORESOURCE = 205026976;
  var IFCRELASSIGNSTOPROJECTORDER = 3372526763;
  var IFCRELASSIGNSTOPRODUCT = 2857406711;
  var IFCRELASSIGNSTOPROCESS = 4278684876;
  var IFCRELASSIGNSTOGROUP = 1307041759;
  var IFCRELASSIGNSTOCONTROL = 2495723537;
  var IFCRELASSIGNSTOACTOR = 1683148259;
  var IFCRELASSIGNS = 3939117080;
  var IFCRECTANGULARTRIMMEDSURFACE = 3454111270;
  var IFCRECTANGULARPYRAMID = 2798486643;
  var IFCRECTANGLEHOLLOWPROFILEDEF = 2770003689;
  var IFCPROXY = 3219374653;
  var IFCPROPERTYSET = 1451395588;
  var IFCPROJECTIONCURVE = 4194566429;
  var IFCPROJECT = 103090709;
  var IFCPRODUCT = 4208778838;
  var IFCPROCESS = 2945172077;
  var IFCPLANE = 220341763;
  var IFCPLANARBOX = 603570806;
  var IFCPERMEABLECOVERINGPROPERTIES = 3566463478;
  var IFCOFFSETCURVE3D = 3505215534;
  var IFCOFFSETCURVE2D = 3388369263;
  var IFCOBJECT = 3888040117;
  var IFCMANIFOLDSOLIDBREP = 1425443689;
  var IFCLINE = 1281925730;
  var IFCLSHAPEPROFILEDEF = 572779678;
  var IFCISHAPEPROFILEDEF = 1484403080;
  var IFCGEOMETRICCURVESET = 987898635;
  var IFCFURNITURETYPE = 1268542332;
  var IFCFURNISHINGELEMENTTYPE = 4238390223;
  var IFCFLUIDFLOWPROPERTIES = 3455213021;
  var IFCFILLAREASTYLETILES = 315944413;
  var IFCFILLAREASTYLETILESYMBOLWITHSTYLE = 4203026998;
  var IFCFILLAREASTYLEHATCHING = 374418227;
  var IFCFACEBASEDSURFACEMODEL = 2047409740;
  var IFCEXTRUDEDAREASOLID = 477187591;
  var IFCENERGYPROPERTIES = 80994333;
  var IFCELLIPSEPROFILEDEF = 2835456948;
  var IFCELEMENTARYSURFACE = 2777663545;
  var IFCELEMENTTYPE = 339256511;
  var IFCELEMENTQUANTITY = 1883228015;
  var IFCEDGELOOP = 1472233963;
  var IFCDRAUGHTINGPREDEFINEDCURVEFONT = 4006246654;
  var IFCDRAUGHTINGPREDEFINEDCOLOUR = 445594917;
  var IFCDRAUGHTINGCALLOUT = 3073041342;
  var IFCDOORSTYLE = 526551008;
  var IFCDOORPANELPROPERTIES = 1714330368;
  var IFCDOORLININGPROPERTIES = 2963535650;
  var IFCDIRECTION = 32440307;
  var IFCDIMENSIONCURVETERMINATOR = 4054601972;
  var IFCDIMENSIONCURVE = 606661476;
  var IFCDEFINEDSYMBOL = 693772133;
  var IFCCURVEBOUNDEDPLANE = 2827736869;
  var IFCCURVE = 2601014836;
  var IFCCSGSOLID = 2147822146;
  var IFCCSGPRIMITIVE3D = 2506170314;
  var IFCCRANERAILFSHAPEPROFILEDEF = 194851669;
  var IFCCRANERAILASHAPEPROFILEDEF = 4133800736;
  var IFCCOMPOSITECURVESEGMENT = 2485617015;
  var IFCCLOSEDSHELL = 2205249479;
  var IFCCIRCLEPROFILEDEF = 1383045692;
  var IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM = 1416205885;
  var IFCCARTESIANTRANSFORMATIONOPERATOR3D = 3331915920;
  var IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM = 3486308946;
  var IFCCARTESIANTRANSFORMATIONOPERATOR2D = 3749851601;
  var IFCCARTESIANTRANSFORMATIONOPERATOR = 59481748;
  var IFCCARTESIANPOINT = 1123145078;
  var IFCCSHAPEPROFILEDEF = 2898889636;
  var IFCBOXEDHALFSPACE = 2713105998;
  var IFCBOUNDINGBOX = 2581212453;
  var IFCBOUNDEDSURFACE = 4182860854;
  var IFCBOOLEANRESULT = 2736907675;
  var IFCAXIS2PLACEMENT3D = 2740243338;
  var IFCAXIS2PLACEMENT2D = 3125803723;
  var IFCAXIS1PLACEMENT = 4261334040;
  var IFCANNOTATIONSURFACE = 1302238472;
  var IFCANNOTATIONFILLAREAOCCURRENCE = 2265737646;
  var IFCANNOTATIONFILLAREA = 669184980;
  var IFCANNOTATIONCURVEOCCURRENCE = 3288037868;
  var IFCZSHAPEPROFILEDEF = 2543172580;
  var IFCWINDOWSTYLE = 1299126871;
  var IFCWINDOWPANELPROPERTIES = 512836454;
  var IFCWINDOWLININGPROPERTIES = 336235671;
  var IFCVERTEXLOOP = 2759199220;
  var IFCVECTOR = 1417489154;
  var IFCUSHAPEPROFILEDEF = 427810014;
  var IFCTYPEPRODUCT = 2347495698;
  var IFCTYPEOBJECT = 1628702193;
  var IFCTWODIRECTIONREPEATFACTOR = 1345879162;
  var IFCTRAPEZIUMPROFILEDEF = 2715220739;
  var IFCTEXTLITERALWITHEXTENT = 3124975700;
  var IFCTEXTLITERAL = 4282788508;
  var IFCTERMINATORSYMBOL = 3028897424;
  var IFCTSHAPEPROFILEDEF = 3071757647;
  var IFCSWEPTSURFACE = 230924584;
  var IFCSWEPTDISKSOLID = 1260650574;
  var IFCSWEPTAREASOLID = 2247615214;
  var IFCSURFACESTYLERENDERING = 1878645084;
  var IFCSURFACE = 2513912981;
  var IFCSUBEDGE = 2233826070;
  var IFCSTRUCTURALSTEELPROFILEPROPERTIES = 3653947884;
  var IFCSTRUCTURALPROFILEPROPERTIES = 3843319758;
  var IFCSTRUCTURALLOADSINGLEFORCEWARPING = 1190533807;
  var IFCSTRUCTURALLOADSINGLEFORCE = 1597423693;
  var IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION = 1973038258;
  var IFCSTRUCTURALLOADSINGLEDISPLACEMENT = 2473145415;
  var IFCSTRUCTURALLOADPLANARFORCE = 2668620305;
  var IFCSTRUCTURALLOADLINEARFORCE = 1595516126;
  var IFCSPACETHERMALLOADPROPERTIES = 390701378;
  var IFCSOUNDVALUE = 1202362311;
  var IFCSOUNDPROPERTIES = 2485662743;
  var IFCSOLIDMODEL = 723233188;
  var IFCSLIPPAGECONNECTIONCONDITION = 2609359061;
  var IFCSHELLBASEDSURFACEMODEL = 4124623270;
  var IFCSERVICELIFEFACTOR = 2411513650;
  var IFCSECTIONEDSPINE = 1509187699;
  var IFCROUNDEDRECTANGLEPROFILEDEF = 2778083089;
  var IFCRELATIONSHIP = 478536968;
  var IFCREINFORCEMENTDEFINITIONPROPERTIES = 3765753017;
  var IFCREGULARTIMESERIES = 3413951693;
  var IFCRECTANGLEPROFILEDEF = 3615266464;
  var IFCPROPERTYTABLEVALUE = 110355661;
  var IFCPROPERTYSINGLEVALUE = 3650150729;
  var IFCPROPERTYSETDEFINITION = 3357820518;
  var IFCPROPERTYREFERENCEVALUE = 941946838;
  var IFCPROPERTYLISTVALUE = 2752243245;
  var IFCPROPERTYENUMERATEDVALUE = 4166981789;
  var IFCPROPERTYDEFINITION = 1680319473;
  var IFCPROPERTYBOUNDEDVALUE = 871118103;
  var IFCPRODUCTDEFINITIONSHAPE = 673634403;
  var IFCPREDEFINEDPOINTMARKERSYMBOL = 179317114;
  var IFCPREDEFINEDDIMENSIONSYMBOL = 433424934;
  var IFCPREDEFINEDCURVEFONT = 2559016684;
  var IFCPREDEFINEDCOLOUR = 759155922;
  var IFCPOLYGONALBOUNDEDHALFSPACE = 2775532180;
  var IFCPOLYLOOP = 2924175390;
  var IFCPOINTONSURFACE = 1423911732;
  var IFCPOINTONCURVE = 4022376103;
  var IFCPOINT = 2067069095;
  var IFCPLANAREXTENT = 1663979128;
  var IFCPLACEMENT = 2004835150;
  var IFCPIXELTEXTURE = 597895409;
  var IFCPHYSICALCOMPLEXQUANTITY = 3021840470;
  var IFCPATH = 2519244187;
  var IFCPARAMETERIZEDPROFILEDEF = 2529465313;
  var IFCORIENTEDEDGE = 1029017970;
  var IFCOPENSHELL = 2665983363;
  var IFCONEDIRECTIONREPEATFACTOR = 2833995503;
  var IFCOBJECTDEFINITION = 219451334;
  var IFCMECHANICALCONCRETEMATERIALPROPERTIES = 1430189142;
  var IFCMATERIALDEFINITIONREPRESENTATION = 2022407955;
  var IFCMAPPEDITEM = 2347385850;
  var IFCLOOP = 1008929658;
  var IFCLOCALPLACEMENT = 2624227202;
  var IFCLIGHTSOURCESPOT = 3422422726;
  var IFCLIGHTSOURCEPOSITIONAL = 1520743889;
  var IFCLIGHTSOURCEGONIOMETRIC = 4266656042;
  var IFCLIGHTSOURCEDIRECTIONAL = 2604431987;
  var IFCLIGHTSOURCEAMBIENT = 125510826;
  var IFCLIGHTSOURCE = 1402838566;
  var IFCIRREGULARTIMESERIES = 3741457305;
  var IFCIMAGETEXTURE = 3905492369;
  var IFCHYGROSCOPICMATERIALPROPERTIES = 2445078500;
  var IFCHALFSPACESOLID = 812098782;
  var IFCGRIDPLACEMENT = 178086475;
  var IFCGEOMETRICSET = 3590301190;
  var IFCGEOMETRICREPRESENTATIONSUBCONTEXT = 4142052618;
  var IFCGEOMETRICREPRESENTATIONITEM = 2453401579;
  var IFCGEOMETRICREPRESENTATIONCONTEXT = 3448662350;
  var IFCGENERALPROFILEPROPERTIES = 1446786286;
  var IFCGENERALMATERIALPROPERTIES = 803998398;
  var IFCFUELPROPERTIES = 3857492461;
  var IFCFILLAREASTYLE = 738692330;
  var IFCFAILURECONNECTIONCONDITION = 4219587988;
  var IFCFACESURFACE = 3008276851;
  var IFCFACEOUTERBOUND = 803316827;
  var IFCFACEBOUND = 1809719519;
  var IFCFACE = 2556980723;
  var IFCEXTENDEDMATERIALPROPERTIES = 1860660968;
  var IFCEDGECURVE = 476780140;
  var IFCEDGE = 3900360178;
  var IFCDRAUGHTINGPREDEFINEDTEXTFONT = 4170525392;
  var IFCDOCUMENTREFERENCE = 3732053477;
  var IFCDIMENSIONPAIR = 1694125774;
  var IFCDIMENSIONCALLOUTRELATIONSHIP = 2273265877;
  var IFCDERIVEDPROFILEDEF = 3632507154;
  var IFCCURVESTYLE = 3800577675;
  var IFCCONVERSIONBASEDUNIT = 2889183280;
  var IFCCONTEXTDEPENDENTUNIT = 3050246964;
  var IFCCONNECTIONPOINTECCENTRICITY = 45288368;
  var IFCCONNECTIONCURVEGEOMETRY = 1981873012;
  var IFCCONNECTEDFACESET = 370225590;
  var IFCCOMPOSITEPROFILEDEF = 1485152156;
  var IFCCOMPLEXPROPERTY = 2542286263;
  var IFCCOLOURRGB = 776857604;
  var IFCCLASSIFICATIONREFERENCE = 647927063;
  var IFCCENTERLINEPROFILEDEF = 3150382593;
  var IFCBLOBTEXTURE = 616511568;
  var IFCARBITRARYPROFILEDEFWITHVOIDS = 2705031697;
  var IFCARBITRARYOPENPROFILEDEF = 1310608509;
  var IFCARBITRARYCLOSEDPROFILEDEF = 3798115385;
  var IFCANNOTATIONTEXTOCCURRENCE = 2297822566;
  var IFCANNOTATIONSYMBOLOCCURRENCE = 3612888222;
  var IFCANNOTATIONSURFACEOCCURRENCE = 962685235;
  var IFCANNOTATIONOCCURRENCE = 2442683028;
  var IFCWATERPROPERTIES = 1065908215;
  var IFCVIRTUALGRIDINTERSECTION = 891718957;
  var IFCVERTEXPOINT = 1907098498;
  var IFCVERTEXBASEDTEXTUREMAP = 3304826586;
  var IFCVERTEX = 2799835756;
  var IFCUNITASSIGNMENT = 180925521;
  var IFCTOPOLOGYREPRESENTATION = 1735638870;
  var IFCTOPOLOGICALREPRESENTATIONITEM = 1377556343;
  var IFCTIMESERIESVALUE = 581633288;
  var IFCTIMESERIESREFERENCERELATIONSHIP = 1718945513;
  var IFCTIMESERIES = 3101149627;
  var IFCTHERMALMATERIALPROPERTIES = 3317419933;
  var IFCTEXTUREVERTEX = 1210645708;
  var IFCTEXTUREMAP = 2552916305;
  var IFCTEXTURECOORDINATEGENERATOR = 1742049831;
  var IFCTEXTURECOORDINATE = 280115917;
  var IFCTEXTSTYLEWITHBOXCHARACTERISTICS = 1484833681;
  var IFCTEXTSTYLETEXTMODEL = 1640371178;
  var IFCTEXTSTYLEFORDEFINEDFONT = 2636378356;
  var IFCTEXTSTYLEFONTMODEL = 1983826977;
  var IFCTEXTSTYLE = 1447204868;
  var IFCTELECOMADDRESS = 912023232;
  var IFCTABLEROW = 531007025;
  var IFCTABLE = 985171141;
  var IFCSYMBOLSTYLE = 1290481447;
  var IFCSURFACETEXTURE = 626085974;
  var IFCSURFACESTYLEWITHTEXTURES = 1351298697;
  var IFCSURFACESTYLESHADING = 846575682;
  var IFCSURFACESTYLEREFRACTION = 1607154358;
  var IFCSURFACESTYLELIGHTING = 3303107099;
  var IFCSURFACESTYLE = 1300840506;
  var IFCSTYLEDREPRESENTATION = 3049322572;
  var IFCSTYLEDITEM = 3958052878;
  var IFCSTYLEMODEL = 2830218821;
  var IFCSTRUCTURALLOADTEMPERATURE = 3408363356;
  var IFCSTRUCTURALLOADSTATIC = 2525727697;
  var IFCSTRUCTURALLOAD = 2162789131;
  var IFCSTRUCTURALCONNECTIONCONDITION = 2273995522;
  var IFCSIMPLEPROPERTY = 3692461612;
  var IFCSHAPEREPRESENTATION = 4240577450;
  var IFCSHAPEMODEL = 3982875396;
  var IFCSHAPEASPECT = 867548509;
  var IFCSECTIONREINFORCEMENTPROPERTIES = 4165799628;
  var IFCSECTIONPROPERTIES = 2042790032;
  var IFCSIUNIT = 448429030;
  var IFCROOT = 2341007311;
  var IFCRIBPLATEPROFILEPROPERTIES = 3679540991;
  var IFCREPRESENTATIONMAP = 1660063152;
  var IFCREPRESENTATIONITEM = 3008791417;
  var IFCREPRESENTATIONCONTEXT = 3377609919;
  var IFCREPRESENTATION = 1076942058;
  var IFCRELAXATION = 1222501353;
  var IFCREINFORCEMENTBARPROPERTIES = 1580146022;
  var IFCREFERENCESVALUEDOCUMENT = 2692823254;
  var IFCQUANTITYWEIGHT = 825690147;
  var IFCQUANTITYVOLUME = 2405470396;
  var IFCQUANTITYTIME = 3252649465;
  var IFCQUANTITYLENGTH = 931644368;
  var IFCQUANTITYCOUNT = 2093928680;
  var IFCQUANTITYAREA = 2044713172;
  var IFCPROPERTYENUMERATION = 3710013099;
  var IFCPROPERTYDEPENDENCYRELATIONSHIP = 148025276;
  var IFCPROPERTYCONSTRAINTRELATIONSHIP = 3896028662;
  var IFCPROPERTY = 2598011224;
  var IFCPROFILEPROPERTIES = 2802850158;
  var IFCPROFILEDEF = 3958567839;
  var IFCPRODUCTSOFCOMBUSTIONPROPERTIES = 2267347899;
  var IFCPRODUCTREPRESENTATION = 2095639259;
  var IFCPRESENTATIONSTYLEASSIGNMENT = 2417041796;
  var IFCPRESENTATIONSTYLE = 3119450353;
  var IFCPRESENTATIONLAYERWITHSTYLE = 1304840413;
  var IFCPRESENTATIONLAYERASSIGNMENT = 2022622350;
  var IFCPREDEFINEDTEXTFONT = 1775413392;
  var IFCPREDEFINEDTERMINATORSYMBOL = 3213052703;
  var IFCPREDEFINEDSYMBOL = 990879717;
  var IFCPREDEFINEDITEM = 3727388367;
  var IFCPOSTALADDRESS = 3355820592;
  var IFCPHYSICALSIMPLEQUANTITY = 2226359599;
  var IFCPHYSICALQUANTITY = 2483315170;
  var IFCPERSONANDORGANIZATION = 101040310;
  var IFCPERSON = 2077209135;
  var IFCOWNERHISTORY = 1207048766;
  var IFCORGANIZATIONRELATIONSHIP = 1411181986;
  var IFCORGANIZATION = 4251960020;
  var IFCOPTICALMATERIALPROPERTIES = 1227763645;
  var IFCOBJECTIVE = 2251480897;
  var IFCOBJECTPLACEMENT = 3701648758;
  var IFCNAMEDUNIT = 1918398963;
  var IFCMONETARYUNIT = 2706619895;
  var IFCMETRIC = 3368373690;
  var IFCMECHANICALSTEELMATERIALPROPERTIES = 677618848;
  var IFCMECHANICALMATERIALPROPERTIES = 4256014907;
  var IFCMEASUREWITHUNIT = 2597039031;
  var IFCMATERIALPROPERTIES = 3265635763;
  var IFCMATERIALLIST = 2199411900;
  var IFCMATERIALLAYERSETUSAGE = 1303795690;
  var IFCMATERIALLAYERSET = 3303938423;
  var IFCMATERIALLAYER = 248100487;
  var IFCMATERIALCLASSIFICATIONRELATIONSHIP = 1847130766;
  var IFCMATERIAL = 1838606355;
  var IFCLOCALTIME = 30780891;
  var IFCLIGHTINTENSITYDISTRIBUTION = 1566485204;
  var IFCLIGHTDISTRIBUTIONDATA = 4162380809;
  var IFCLIBRARYREFERENCE = 3452421091;
  var IFCLIBRARYINFORMATION = 2655187982;
  var IFCIRREGULARTIMESERIESVALUE = 3020489413;
  var IFCGRIDAXIS = 852622518;
  var IFCEXTERNALLYDEFINEDTEXTFONT = 3548104201;
  var IFCEXTERNALLYDEFINEDSYMBOL = 3207319532;
  var IFCEXTERNALLYDEFINEDSURFACESTYLE = 1040185647;
  var IFCEXTERNALLYDEFINEDHATCHSTYLE = 2242383968;
  var IFCEXTERNALREFERENCE = 3200245327;
  var IFCENVIRONMENTALIMPACTVALUE = 1648886627;
  var IFCDRAUGHTINGCALLOUTRELATIONSHIP = 3796139169;
  var IFCDOCUMENTINFORMATIONRELATIONSHIP = 770865208;
  var IFCDOCUMENTINFORMATION = 1154170062;
  var IFCDOCUMENTELECTRONICFORMAT = 1376555844;
  var IFCDIMENSIONALEXPONENTS = 2949456006;
  var IFCDERIVEDUNITELEMENT = 1045800335;
  var IFCDERIVEDUNIT = 1765591967;
  var IFCDATEANDTIME = 1072939445;
  var IFCCURVESTYLEFONTPATTERN = 3510044353;
  var IFCCURVESTYLEFONTANDSCALING = 2367409068;
  var IFCCURVESTYLEFONT = 1105321065;
  var IFCCURRENCYRELATIONSHIP = 539742890;
  var IFCCOSTVALUE = 602808272;
  var IFCCOORDINATEDUNIVERSALTIMEOFFSET = 1065062679;
  var IFCCONSTRAINTRELATIONSHIP = 347226245;
  var IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP = 613356794;
  var IFCCONSTRAINTAGGREGATIONRELATIONSHIP = 1658513725;
  var IFCCONSTRAINT = 1959218052;
  var IFCCONNECTIONSURFACEGEOMETRY = 2732653382;
  var IFCCONNECTIONPORTGEOMETRY = 4257277454;
  var IFCCONNECTIONPOINTGEOMETRY = 2614616156;
  var IFCCONNECTIONGEOMETRY = 2859738748;
  var IFCCOLOURSPECIFICATION = 3264961684;
  var IFCCLASSIFICATIONNOTATIONFACET = 3639012971;
  var IFCCLASSIFICATIONNOTATION = 938368621;
  var IFCCLASSIFICATIONITEMRELATIONSHIP = 1098599126;
  var IFCCLASSIFICATIONITEM = 1767535486;
  var IFCCLASSIFICATION = 747523909;
  var IFCCALENDARDATE = 622194075;
  var IFCBOUNDARYNODECONDITIONWARPING = 2069777674;
  var IFCBOUNDARYNODECONDITION = 1387855156;
  var IFCBOUNDARYFACECONDITION = 3367102660;
  var IFCBOUNDARYEDGECONDITION = 1560379544;
  var IFCBOUNDARYCONDITION = 4037036970;
  var IFCAPPROVALRELATIONSHIP = 3869604511;
  var IFCAPPROVALPROPERTYRELATIONSHIP = 390851274;
  var IFCAPPROVALACTORRELATIONSHIP = 2080292479;
  var IFCAPPROVAL = 130549933;
  var IFCAPPLIEDVALUERELATIONSHIP = 1110488051;
  var IFCAPPLIEDVALUE = 411424972;
  var IFCAPPLICATION = 639542469;
  var IFCADDRESS = 618182010;
  var IFCACTORROLE = 3630933823;
  var FILE_DESCRIPTION = 599546466;
  var FILE_NAME = 1390159747;
  var FILE_SCHEMA = 1109904537;
  var Handle = class {
    constructor(value, schema = 2, tapeItem) {
      this.value = value;
      this.type = 5;
      if (tapeItem && tapeItem?.type === 2) return TypeInitialiser(schema, tapeItem);
    }
  };
  var NumberHandle = class {
    constructor(v, type) {
      this.type = 4;
      if (type) this.type = type;
      this.value = v;
    }
    get internalValue() {
      return this._internalValue;
    }
    get value() {
      return this._representationValue;
    }
    set value(v) {
      this._representationValue = (this._internalValue = v) === null ? v : parseFloat(v);
    }
  };
  var logical = /* @__PURE__ */ ((logical2) => {
    logical2[logical2["FALSE"] = 0] = "FALSE";
    logical2[logical2["TRUE"] = 1] = "TRUE";
    logical2[logical2["UNKNOWN"] = 2] = "UNKNOWN";
    return logical2;
  })(logical || {});
  var IfcLineObject = class {
    constructor(expressID = -1) {
      this.expressID = expressID;
      this.type = 0;
    }
  };
  var FromRawLineData = [];
  var InversePropertyDef = {};
  var InheritanceDef = {};
  var Constructors = {};
  var ToRawLineData = {};
  var TypeInitialisers = {};
  var SchemaNames = [];
  function TypeInitialiser(schema, tapeItem) {
    if (Array.isArray(tapeItem)) tapeItem.map((p) => TypeInitialiser(schema, p));
    if (tapeItem.typecode) return TypeInitialisers[schema][tapeItem.typecode](tapeItem.value);
    return tapeItem.value;
  }
  function Labelise(tapeItem) {
    if ((tapeItem ?? void 0) === void 0 || tapeItem instanceof Handle || tapeItem.label) return tapeItem;
    if (Array.isArray(tapeItem)) return tapeItem.map((p) => Labelise(p));
    const _valueName = tapeItem.type === 4 ? "internalValue" : "value";
    return { [_valueName]: tapeItem[_valueName], valueType: tapeItem.type, type: 2, label: tapeItem.name };
  }
  var Schemas = /* @__PURE__ */ ((Schemas2) => {
    Schemas2["IFC2X3"] = "IFC2X3";
    Schemas2["IFC4"] = "IFC4";
    Schemas2["IFC4X3"] = "IFC4X3";
    return Schemas2;
  })(Schemas || {});
  SchemaNames[1] = ["IFC2X3", "IFC2X_FINAL"];
  FromRawLineData[1] = {
    3630933823: (v) => new IFC2X3.IfcActorRole(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcText((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    618182010: (v) => new IFC2X3.IfcAddress(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    639542469: (v) => new IFC2X3.IfcApplication(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC2X3.IfcIdentifier((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    411424972: (v) => new IFC2X3.IfcAppliedValue((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5])),
    1110488051: (v) => new IFC2X3.IfcAppliedValueRelationship(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[2], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcText((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    130549933: (v) => new IFC2X3.IfcApproval((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcText((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcText((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC2X3.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    2080292479: (v) => new IFC2X3.IfcApprovalActorRelationship(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2])),
    390851274: (v) => new IFC2X3.IfcApprovalPropertyRelationship(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1])),
    3869604511: (v) => new IFC2X3.IfcApprovalRelationship(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcText((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC2X3.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    4037036970: (v) => new IFC2X3.IfcBoundaryCondition((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    1560379544: (v) => new IFC2X3.IfcBoundaryEdgeCondition((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcModulusOfLinearSubgradeReactionMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcModulusOfLinearSubgradeReactionMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcModulusOfLinearSubgradeReactionMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcModulusOfRotationalSubgradeReactionMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcModulusOfRotationalSubgradeReactionMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcModulusOfRotationalSubgradeReactionMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    3367102660: (v) => new IFC2X3.IfcBoundaryFaceCondition((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcModulusOfSubgradeReactionMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcModulusOfSubgradeReactionMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcModulusOfSubgradeReactionMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    1387855156: (v) => new IFC2X3.IfcBoundaryNodeCondition((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLinearStiffnessMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLinearStiffnessMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcLinearStiffnessMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcRotationalStiffnessMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcRotationalStiffnessMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcRotationalStiffnessMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    2069777674: (v) => new IFC2X3.IfcBoundaryNodeConditionWarping((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLinearStiffnessMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLinearStiffnessMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcLinearStiffnessMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcRotationalStiffnessMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcRotationalStiffnessMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcRotationalStiffnessMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcWarpingMomentMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    622194075: (v) => new IFC2X3.IfcCalendarDate(new IFC2X3.IfcDayInMonthNumber((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC2X3.IfcMonthInYearNumber((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC2X3.IfcYearNumber((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    747523909: (v) => new IFC2X3.IfcClassification(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    1767535486: (v) => new IFC2X3.IfcClassificationItem(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    1098599126: (v) => new IFC2X3.IfcClassificationItemRelationship(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    938368621: (v) => new IFC2X3.IfcClassificationNotation(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    3639012971: (v) => new IFC2X3.IfcClassificationNotationFacet(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    3264961684: (v) => new IFC2X3.IfcColourSpecification((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    2859738748: (_) => new IFC2X3.IfcConnectionGeometry(),
    2614616156: (v) => new IFC2X3.IfcConnectionPointGeometry(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1])),
    4257277454: (v) => new IFC2X3.IfcConnectionPortGeometry(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2])),
    2732653382: (v) => new IFC2X3.IfcConnectionSurfaceGeometry(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1])),
    1959218052: (v) => new IFC2X3.IfcConstraint(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    1658513725: (v) => new IFC2X3.IfcConstraintAggregationRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[4]),
    613356794: (v) => new IFC2X3.IfcConstraintClassificationRelationship(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    347226245: (v) => new IFC2X3.IfcConstraintRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    1065062679: (v) => new IFC2X3.IfcCoordinatedUniversalTimeOffset(new IFC2X3.IfcHourInDay((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcMinuteInHour((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]),
    602808272: (v) => new IFC2X3.IfcCostValue((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), new IFC2X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    539742890: (v) => new IFC2X3.IfcCurrencyRelationship(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), new IFC2X3.IfcPositiveRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4])),
    1105321065: (v) => new IFC2X3.IfcCurveStyleFont((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    2367409068: (v) => new IFC2X3.IfcCurveStyleFontAndScaling((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), new IFC2X3.IfcPositiveRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3510044353: (v) => new IFC2X3.IfcCurveStyleFontPattern(new IFC2X3.IfcLengthMeasure((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC2X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    1072939445: (v) => new IFC2X3.IfcDateAndTime(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1])),
    1765591967: (v) => new IFC2X3.IfcDerivedUnit(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[1], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    1045800335: (v) => new IFC2X3.IfcDerivedUnitElement(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new NumberHandle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 10)),
    2949456006: (v) => new IFC2X3.IfcDimensionalExponents(new NumberHandle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 10), new NumberHandle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 10), new NumberHandle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 10), new NumberHandle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 10), new NumberHandle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 10), new NumberHandle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 10), new NumberHandle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 10)),
    1376555844: (v) => new IFC2X3.IfcDocumentElectronicFormat((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    1154170062: (v) => new IFC2X3.IfcDocumentInformation(new IFC2X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcText((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcText((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcText((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 1, v[8]), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 1, v[10]), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new Handle((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value, 1, v[11]), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new Handle((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value, 1, v[12]), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new Handle((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value, 1, v[13]), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new Handle((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value, 1, v[14]), v[15], v[16]),
    770865208: (v) => new IFC2X3.IfcDocumentInformationRelationship(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3796139169: (v) => new IFC2X3.IfcDraughtingCalloutRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3])),
    1648886627: (v) => new IFC2X3.IfcEnvironmentalImpactValue((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), new IFC2X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3200245327: (v) => new IFC2X3.IfcExternalReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    2242383968: (v) => new IFC2X3.IfcExternallyDefinedHatchStyle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    1040185647: (v) => new IFC2X3.IfcExternallyDefinedSurfaceStyle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3207319532: (v) => new IFC2X3.IfcExternallyDefinedSymbol((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3548104201: (v) => new IFC2X3.IfcExternallyDefinedTextFont((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    852622518: (v) => new IFC2X3.IfcGridAxis((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), new IFC2X3.IfcBoolean((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3020489413: (v) => new IFC2X3.IfcIrregularTimeSeriesValue(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(1, p) : null) || []),
    2655187982: (v) => new IFC2X3.IfcLibraryInformation(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    3452421091: (v) => new IFC2X3.IfcLibraryReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    4162380809: (v) => new IFC2X3.IfcLightDistributionData(new IFC2X3.IfcPlaneAngleMeasure((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC2X3.IfcPlaneAngleMeasure(p.value) : null) || [], v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC2X3.IfcLuminousIntensityDistributionMeasure(p.value) : null) || []),
    1566485204: (v) => new IFC2X3.IfcLightIntensityDistribution(v[0], v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    30780891: (v) => new IFC2X3.IfcLocalTime(new IFC2X3.IfcHourInDay((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcMinuteInHour((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcSecondInMinute((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcDaylightSavingHour((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    1838606355: (v) => new IFC2X3.IfcMaterial(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    1847130766: (v) => new IFC2X3.IfcMaterialClassificationRelationship(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1])),
    248100487: (v) => new IFC2X3.IfcMaterialLayer((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new IFC2X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLogical((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3303938423: (v) => new IFC2X3.IfcMaterialLayerSet(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    1303795690: (v) => new IFC2X3.IfcMaterialLayerSetUsage(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1], v[2], new IFC2X3.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2199411900: (v) => new IFC2X3.IfcMaterialList(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    3265635763: (v) => new IFC2X3.IfcMaterialProperties(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0])),
    2597039031: (v) => new IFC2X3.IfcMeasureWithUnit(TypeInitialiser(1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1])),
    4256014907: (v) => new IFC2X3.IfcMechanicalMaterialProperties(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcDynamicViscosityMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcModulusOfElasticityMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcModulusOfElasticityMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcThermalExpansionCoefficientMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    677618848: (v) => new IFC2X3.IfcMechanicalSteelMaterialProperties(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcDynamicViscosityMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcModulusOfElasticityMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcModulusOfElasticityMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcThermalExpansionCoefficientMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcPressureMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcPressureMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcModulusOfElasticityMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcPressureMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    3368373690: (v) => new IFC2X3.IfcMetric(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 1, v[9])),
    2706619895: (v) => new IFC2X3.IfcMonetaryUnit(v[0]),
    1918398963: (v) => new IFC2X3.IfcNamedUnit(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]),
    3701648758: (_) => new IFC2X3.IfcObjectPlacement(),
    2251480897: (v) => new IFC2X3.IfcObjective(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 1, v[8]), v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcLabel((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value)),
    1227763645: (v) => new IFC2X3.IfcOpticalMaterialProperties(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    4251960020: (v) => new IFC2X3.IfcOrganization((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcText((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    1411181986: (v) => new IFC2X3.IfcOrganizationRelationship(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    1207048766: (v) => new IFC2X3.IfcOwnerHistory(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), v[2], v[3], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcTimeStamp((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), new IFC2X3.IfcTimeStamp((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2077209135: (v) => new IFC2X3.IfcPerson((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC2X3.IfcLabel(p.value) : null) || [], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC2X3.IfcLabel(p.value) : null) || [], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC2X3.IfcLabel(p.value) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    101040310: (v) => new IFC2X3.IfcPersonAndOrganization(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    2483315170: (v) => new IFC2X3.IfcPhysicalQuantity(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    2226359599: (v) => new IFC2X3.IfcPhysicalSimpleQuantity(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2])),
    3355820592: (v) => new IFC2X3.IfcPostalAddress(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC2X3.IfcLabel(p.value) : null) || [], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcLabel((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    3727388367: (v) => new IFC2X3.IfcPreDefinedItem(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    990879717: (v) => new IFC2X3.IfcPreDefinedSymbol(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    3213052703: (v) => new IFC2X3.IfcPreDefinedTerminatorSymbol(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    1775413392: (v) => new IFC2X3.IfcPreDefinedTextFont(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    2022622350: (v) => new IFC2X3.IfcPresentationLayerAssignment(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcIdentifier((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    1304840413: (v) => new IFC2X3.IfcPresentationLayerWithStyle(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcIdentifier((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    3119450353: (v) => new IFC2X3.IfcPresentationStyle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    2417041796: (v) => new IFC2X3.IfcPresentationStyleAssignment(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    2095639259: (v) => new IFC2X3.IfcProductRepresentation((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    2267347899: (v) => new IFC2X3.IfcProductsOfCombustionProperties(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcSpecificHeatCapacityMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3958567839: (v) => new IFC2X3.IfcProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    2802850158: (v) => new IFC2X3.IfcProfileProperties((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1])),
    2598011224: (v) => new IFC2X3.IfcProperty(new IFC2X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    3896028662: (v) => new IFC2X3.IfcPropertyConstraintRelationship(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    148025276: (v) => new IFC2X3.IfcPropertyDependencyRelationship(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcText((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3710013099: (v) => new IFC2X3.IfcPropertyEnumeration(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(1, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2])),
    2044713172: (v) => new IFC2X3.IfcQuantityArea(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcAreaMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2093928680: (v) => new IFC2X3.IfcQuantityCount(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcCountMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    931644368: (v) => new IFC2X3.IfcQuantityLength(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    3252649465: (v) => new IFC2X3.IfcQuantityTime(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcTimeMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2405470396: (v) => new IFC2X3.IfcQuantityVolume(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcVolumeMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    825690147: (v) => new IFC2X3.IfcQuantityWeight(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcMassMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2692823254: (v) => new IFC2X3.IfcReferencesValueDocument(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    1580146022: (v) => new IFC2X3.IfcReinforcementBarProperties(new IFC2X3.IfcAreaMeasure((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcCountMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    1222501353: (v) => new IFC2X3.IfcRelaxation(new IFC2X3.IfcNormalisedRatioMeasure((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC2X3.IfcNormalisedRatioMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    1076942058: (v) => new IFC2X3.IfcRepresentation(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    3377609919: (v) => new IFC2X3.IfcRepresentationContext((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    3008791417: (_) => new IFC2X3.IfcRepresentationItem(),
    1660063152: (v) => new IFC2X3.IfcRepresentationMap(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1])),
    3679540991: (v) => new IFC2X3.IfcRibPlateProfileProperties((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), v[6]),
    2341007311: (v) => new IFC2X3.IfcRoot(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    448429030: (v) => new IFC2X3.IfcSIUnit(v[0], v[1], v[2]),
    2042790032: (v) => new IFC2X3.IfcSectionProperties(v[0], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2])),
    4165799628: (v) => new IFC2X3.IfcSectionReinforcementProperties(new IFC2X3.IfcLengthMeasure((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC2X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3], new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    867548509: (v) => new IFC2X3.IfcShapeAspect(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcText((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4])),
    3982875396: (v) => new IFC2X3.IfcShapeModel(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    4240577450: (v) => new IFC2X3.IfcShapeRepresentation(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    3692461612: (v) => new IFC2X3.IfcSimpleProperty(new IFC2X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    2273995522: (v) => new IFC2X3.IfcStructuralConnectionCondition((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    2162789131: (v) => new IFC2X3.IfcStructuralLoad((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    2525727697: (v) => new IFC2X3.IfcStructuralLoadStatic((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    3408363356: (v) => new IFC2X3.IfcStructuralLoadTemperature((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcThermodynamicTemperatureMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcThermodynamicTemperatureMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcThermodynamicTemperatureMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2830218821: (v) => new IFC2X3.IfcStyleModel(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    3958052878: (v) => new IFC2X3.IfcStyledItem((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3049322572: (v) => new IFC2X3.IfcStyledRepresentation(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    1300840506: (v) => new IFC2X3.IfcSurfaceStyle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1], v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    3303107099: (v) => new IFC2X3.IfcSurfaceStyleLighting(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3])),
    1607154358: (v) => new IFC2X3.IfcSurfaceStyleRefraction((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcReal((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcReal((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    846575682: (v) => new IFC2X3.IfcSurfaceStyleShading(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0])),
    1351298697: (v) => new IFC2X3.IfcSurfaceStyleWithTextures(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    626085974: (v) => new IFC2X3.IfcSurfaceTexture((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, v[2], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3])),
    1290481447: (v) => new IFC2X3.IfcSymbolStyle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), TypeInitialiser(1, v[1])),
    985171141: (v) => new IFC2X3.IfcTable((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    531007025: (v) => new IFC2X3.IfcTableRow(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(1, p) : null) || [], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value),
    912023232: (v) => new IFC2X3.IfcTelecomAddress(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC2X3.IfcLabel(p.value) : null) || [], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC2X3.IfcLabel(p.value) : null) || [], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC2X3.IfcLabel(p.value) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    1447204868: (v) => new IFC2X3.IfcTextStyle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3])),
    1983826977: (v) => new IFC2X3.IfcTextStyleFontModel(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC2X3.IfcTextFontName(p.value) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcFontStyle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcFontVariant((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcFontWeight((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), TypeInitialiser(1, v[5])),
    2636378356: (v) => new IFC2X3.IfcTextStyleForDefinedFont(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1])),
    1640371178: (v) => new IFC2X3.IfcTextStyleTextModel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : TypeInitialiser(1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcTextAlignment((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcTextDecoration((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : TypeInitialiser(1, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : TypeInitialiser(1, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcTextTransformation((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : TypeInitialiser(1, v[6])),
    1484833681: (v) => new IFC2X3.IfcTextStyleWithBoxCharacteristics((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcPlaneAngleMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcPlaneAngleMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : TypeInitialiser(1, v[4])),
    280115917: (_) => new IFC2X3.IfcTextureCoordinate(),
    1742049831: (v) => new IFC2X3.IfcTextureCoordinateGenerator(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(1, p) : null) || []),
    2552916305: (v) => new IFC2X3.IfcTextureMap(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    1210645708: (v) => new IFC2X3.IfcTextureVertex(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC2X3.IfcParameterValue(p.value) : null) || []),
    3317419933: (v) => new IFC2X3.IfcThermalMaterialProperties(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcSpecificHeatCapacityMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcThermodynamicTemperatureMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcThermodynamicTemperatureMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcThermalConductivityMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3101149627: (v) => new IFC2X3.IfcTimeSeries(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3]), v[4], v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7])),
    1718945513: (v) => new IFC2X3.IfcTimeSeriesReferenceRelationship(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    581633288: (v) => new IFC2X3.IfcTimeSeriesValue(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(1, p) : null) || []),
    1377556343: (_) => new IFC2X3.IfcTopologicalRepresentationItem(),
    1735638870: (v) => new IFC2X3.IfcTopologyRepresentation(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    180925521: (v) => new IFC2X3.IfcUnitAssignment(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    2799835756: (_) => new IFC2X3.IfcVertex(),
    3304826586: (v) => new IFC2X3.IfcVertexBasedTextureMap(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    1907098498: (v) => new IFC2X3.IfcVertexPoint(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0])),
    891718957: (v) => new IFC2X3.IfcVirtualGridIntersection(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC2X3.IfcLengthMeasure(p.value) : null) || []),
    1065908215: (v) => new IFC2X3.IfcWaterProperties(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcIonConcentrationMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcIonConcentrationMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcIonConcentrationMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcPHMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2442683028: (v) => new IFC2X3.IfcAnnotationOccurrence((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    962685235: (v) => new IFC2X3.IfcAnnotationSurfaceOccurrence((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3612888222: (v) => new IFC2X3.IfcAnnotationSymbolOccurrence((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    2297822566: (v) => new IFC2X3.IfcAnnotationTextOccurrence((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3798115385: (v) => new IFC2X3.IfcArbitraryClosedProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2])),
    1310608509: (v) => new IFC2X3.IfcArbitraryOpenProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2])),
    2705031697: (v) => new IFC2X3.IfcArbitraryProfileDefWithVoids(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    616511568: (v) => new IFC2X3.IfcBlobTexture((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, v[2], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3]), new IFC2X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value),
    3150382593: (v) => new IFC2X3.IfcCenterLineProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    647927063: (v) => new IFC2X3.IfcClassificationReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3])),
    776857604: (v) => new IFC2X3.IfcColourRgb((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC2X3.IfcNormalisedRatioMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC2X3.IfcNormalisedRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC2X3.IfcNormalisedRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2542286263: (v) => new IFC2X3.IfcComplexProperty(new IFC2X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC2X3.IfcIdentifier((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    1485152156: (v) => new IFC2X3.IfcCompositeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    370225590: (v) => new IFC2X3.IfcConnectedFaceSet(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    1981873012: (v) => new IFC2X3.IfcConnectionCurveGeometry(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1])),
    45288368: (v) => new IFC2X3.IfcConnectionPointEccentricity(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3050246964: (v) => new IFC2X3.IfcContextDependentUnit(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1], new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    2889183280: (v) => new IFC2X3.IfcConversionBasedUnit(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1], new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3])),
    3800577675: (v) => new IFC2X3.IfcCurveStyle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : TypeInitialiser(1, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3])),
    3632507154: (v) => new IFC2X3.IfcDerivedProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    2273265877: (v) => new IFC2X3.IfcDimensionCalloutRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3])),
    1694125774: (v) => new IFC2X3.IfcDimensionPair((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3])),
    3732053477: (v) => new IFC2X3.IfcDocumentReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    4170525392: (v) => new IFC2X3.IfcDraughtingPreDefinedTextFont(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    3900360178: (v) => new IFC2X3.IfcEdge(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1])),
    476780140: (v) => new IFC2X3.IfcEdgeCurve(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value),
    1860660968: (v) => new IFC2X3.IfcExtendedMaterialProperties(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcText((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC2X3.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2556980723: (v) => new IFC2X3.IfcFace(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    1809719519: (v) => new IFC2X3.IfcFaceBound(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value),
    803316827: (v) => new IFC2X3.IfcFaceOuterBound(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value),
    3008276851: (v) => new IFC2X3.IfcFaceSurface(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value),
    4219587988: (v) => new IFC2X3.IfcFailureConnectionCondition((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcForceMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcForceMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcForceMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcForceMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcForceMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcForceMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    738692330: (v) => new IFC2X3.IfcFillAreaStyle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    3857492461: (v) => new IFC2X3.IfcFuelProperties(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcThermodynamicTemperatureMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcHeatingValueMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcHeatingValueMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    803998398: (v) => new IFC2X3.IfcGeneralMaterialProperties(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcMolecularWeightMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcMassDensityMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    1446786286: (v) => new IFC2X3.IfcGeneralProfileProperties((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcMassPerLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcAreaMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    3448662350: (v) => new IFC2X3.IfcGeometricRepresentationContext((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC2X3.IfcDimensionCount((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new NumberHandle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 4), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5])),
    2453401579: (_) => new IFC2X3.IfcGeometricRepresentationItem(),
    4142052618: (v) => new IFC2X3.IfcGeometricRepresentationSubContext((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    3590301190: (v) => new IFC2X3.IfcGeometricSet(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    178086475: (v) => new IFC2X3.IfcGridPlacement(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1])),
    812098782: (v) => new IFC2X3.IfcHalfSpaceSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value),
    2445078500: (v) => new IFC2X3.IfcHygroscopicMaterialProperties(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcIsothermalMoistureCapacityMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcVaporPermeabilityMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcMoistureDiffusivityMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    3905492369: (v) => new IFC2X3.IfcImageTexture((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, v[2], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3]), new IFC2X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3741457305: (v) => new IFC2X3.IfcIrregularTimeSeries(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3]), v[4], v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7]), v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    1402838566: (v) => new IFC2X3.IfcLightSource((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    125510826: (v) => new IFC2X3.IfcLightSourceAmbient((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2604431987: (v) => new IFC2X3.IfcLightSourceDirectional((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4])),
    4266656042: (v) => new IFC2X3.IfcLightSourceGoniometric((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), new IFC2X3.IfcThermodynamicTemperatureMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), new IFC2X3.IfcLuminousFluxMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 1, v[9])),
    1520743889: (v) => new IFC2X3.IfcLightSourcePositional((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), new IFC2X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC2X3.IfcReal((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), new IFC2X3.IfcReal((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), new IFC2X3.IfcReal((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3422422726: (v) => new IFC2X3.IfcLightSourceSpot((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), new IFC2X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC2X3.IfcReal((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), new IFC2X3.IfcReal((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), new IFC2X3.IfcReal((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 1, v[9]), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcReal((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), new IFC2X3.IfcPositivePlaneAngleMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), new IFC2X3.IfcPositivePlaneAngleMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value)),
    2624227202: (v) => new IFC2X3.IfcLocalPlacement((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1])),
    1008929658: (_) => new IFC2X3.IfcLoop(),
    2347385850: (v) => new IFC2X3.IfcMappedItem(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1])),
    2022407955: (v) => new IFC2X3.IfcMaterialDefinitionRepresentation((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3])),
    1430189142: (v) => new IFC2X3.IfcMechanicalConcreteMaterialProperties(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcDynamicViscosityMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcModulusOfElasticityMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcModulusOfElasticityMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcThermalExpansionCoefficientMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcPressureMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcText((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcText((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC2X3.IfcText((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value)),
    219451334: (v) => new IFC2X3.IfcObjectDefinition(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2833995503: (v) => new IFC2X3.IfcOneDirectionRepeatFactor(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0])),
    2665983363: (v) => new IFC2X3.IfcOpenShell(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    1029017970: (v) => new IFC2X3.IfcOrientedEdge(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value),
    2529465313: (v) => new IFC2X3.IfcParameterizedProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2])),
    2519244187: (v) => new IFC2X3.IfcPath(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    3021840470: (v) => new IFC2X3.IfcPhysicalComplexQuantity(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], new IFC2X3.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    597895409: (v) => new IFC2X3.IfcPixelTexture((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, v[2], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3]), new IFC2X3.IfcInteger((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcInteger((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC2X3.IfcInteger((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? Number(p.value) : null) || []),
    2004835150: (v) => new IFC2X3.IfcPlacement(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0])),
    1663979128: (v) => new IFC2X3.IfcPlanarExtent(new IFC2X3.IfcLengthMeasure((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC2X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    2067069095: (_) => new IFC2X3.IfcPoint(),
    4022376103: (v) => new IFC2X3.IfcPointOnCurve(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new IFC2X3.IfcParameterValue((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    1423911732: (v) => new IFC2X3.IfcPointOnSurface(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new IFC2X3.IfcParameterValue((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC2X3.IfcParameterValue((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    2924175390: (v) => new IFC2X3.IfcPolyLoop(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    2775532180: (v) => new IFC2X3.IfcPolygonalBoundedHalfSpace(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3])),
    759155922: (v) => new IFC2X3.IfcPreDefinedColour(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    2559016684: (v) => new IFC2X3.IfcPreDefinedCurveFont(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    433424934: (v) => new IFC2X3.IfcPreDefinedDimensionSymbol(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    179317114: (v) => new IFC2X3.IfcPreDefinedPointMarkerSymbol(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    673634403: (v) => new IFC2X3.IfcProductDefinitionShape((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    871118103: (v) => new IFC2X3.IfcPropertyBoundedValue(new IFC2X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : TypeInitialiser(1, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : TypeInitialiser(1, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4])),
    1680319473: (v) => new IFC2X3.IfcPropertyDefinition(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    4166981789: (v) => new IFC2X3.IfcPropertyEnumeratedValue(new IFC2X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(1, p) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3])),
    2752243245: (v) => new IFC2X3.IfcPropertyListValue(new IFC2X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(1, p) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3])),
    941946838: (v) => new IFC2X3.IfcPropertyReferenceValue(new IFC2X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3])),
    3357820518: (v) => new IFC2X3.IfcPropertySetDefinition(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    3650150729: (v) => new IFC2X3.IfcPropertySingleValue(new IFC2X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : TypeInitialiser(1, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3])),
    110355661: (v) => new IFC2X3.IfcPropertyTableValue(new IFC2X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(1, p) : null) || [], v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(1, p) : null) || [], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcText((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6])),
    3615266464: (v) => new IFC2X3.IfcRectangleProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC2X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3413951693: (v) => new IFC2X3.IfcRegularTimeSeries(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3]), v[4], v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7]), new IFC2X3.IfcTimeMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    3765753017: (v) => new IFC2X3.IfcReinforcementDefinitionProperties(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    478536968: (v) => new IFC2X3.IfcRelationship(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2778083089: (v) => new IFC2X3.IfcRoundedRectangleProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC2X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    1509187699: (v) => new IFC2X3.IfcSectionedSpine(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    2411513650: (v) => new IFC2X3.IfcServiceLifeFactor(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : TypeInitialiser(1, v[5]), TypeInitialiser(1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : TypeInitialiser(1, v[7])),
    4124623270: (v) => new IFC2X3.IfcShellBasedSurfaceModel(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    2609359061: (v) => new IFC2X3.IfcSlippageConnectionCondition((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    723233188: (_) => new IFC2X3.IfcSolidModel(),
    2485662743: (v) => new IFC2X3.IfcSoundProperties(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC2X3.IfcBoolean((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    1202362311: (v) => new IFC2X3.IfcSoundValue(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), new IFC2X3.IfcFrequencyMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : TypeInitialiser(1, v[6])),
    390701378: (v) => new IFC2X3.IfcSpaceThermalLoadProperties(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], v[6], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), new IFC2X3.IfcPowerMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcPowerMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 1, v[10]), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC2X3.IfcLabel((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC2X3.IfcLabel((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), v[13]),
    1595516126: (v) => new IFC2X3.IfcStructuralLoadLinearForce((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLinearForceMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLinearForceMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcLinearForceMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLinearMomentMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcLinearMomentMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcLinearMomentMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    2668620305: (v) => new IFC2X3.IfcStructuralLoadPlanarForce((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcPlanarForceMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcPlanarForceMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcPlanarForceMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2473145415: (v) => new IFC2X3.IfcStructuralLoadSingleDisplacement((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcPlaneAngleMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcPlaneAngleMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcPlaneAngleMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    1973038258: (v) => new IFC2X3.IfcStructuralLoadSingleDisplacementDistortion((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcPlaneAngleMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcPlaneAngleMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcPlaneAngleMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcCurvatureMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    1597423693: (v) => new IFC2X3.IfcStructuralLoadSingleForce((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcForceMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcForceMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcForceMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcTorqueMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcTorqueMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcTorqueMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    1190533807: (v) => new IFC2X3.IfcStructuralLoadSingleForceWarping((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcForceMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcForceMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcForceMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcTorqueMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcTorqueMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcTorqueMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcWarpingMomentMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3843319758: (v) => new IFC2X3.IfcStructuralProfileProperties((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcMassPerLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcAreaMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcMomentOfInertiaMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcMomentOfInertiaMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcMomentOfInertiaMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcMomentOfInertiaMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC2X3.IfcWarpingConstantMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC2X3.IfcLengthMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC2X3.IfcLengthMeasure((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC2X3.IfcAreaMeasure((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value), (v[15] ?? void 0) === void 0 || v[15] === "" ? null : new IFC2X3.IfcAreaMeasure((v[15] ?? void 0) === void 0 || v[15] === "" ? null : v[15].value), (v[16] ?? void 0) === void 0 || v[16] === "" ? null : new IFC2X3.IfcSectionModulusMeasure((v[16] ?? void 0) === void 0 || v[16] === "" ? null : v[16].value), (v[17] ?? void 0) === void 0 || v[17] === "" ? null : new IFC2X3.IfcSectionModulusMeasure((v[17] ?? void 0) === void 0 || v[17] === "" ? null : v[17].value), (v[18] ?? void 0) === void 0 || v[18] === "" ? null : new IFC2X3.IfcSectionModulusMeasure((v[18] ?? void 0) === void 0 || v[18] === "" ? null : v[18].value), (v[19] ?? void 0) === void 0 || v[19] === "" ? null : new IFC2X3.IfcSectionModulusMeasure((v[19] ?? void 0) === void 0 || v[19] === "" ? null : v[19].value), (v[20] ?? void 0) === void 0 || v[20] === "" ? null : new IFC2X3.IfcSectionModulusMeasure((v[20] ?? void 0) === void 0 || v[20] === "" ? null : v[20].value), (v[21] ?? void 0) === void 0 || v[21] === "" ? null : new IFC2X3.IfcLengthMeasure((v[21] ?? void 0) === void 0 || v[21] === "" ? null : v[21].value), (v[22] ?? void 0) === void 0 || v[22] === "" ? null : new IFC2X3.IfcLengthMeasure((v[22] ?? void 0) === void 0 || v[22] === "" ? null : v[22].value)),
    3653947884: (v) => new IFC2X3.IfcStructuralSteelProfileProperties((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcMassPerLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcAreaMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcMomentOfInertiaMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcMomentOfInertiaMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcMomentOfInertiaMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcMomentOfInertiaMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC2X3.IfcWarpingConstantMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC2X3.IfcLengthMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC2X3.IfcLengthMeasure((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC2X3.IfcAreaMeasure((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value), (v[15] ?? void 0) === void 0 || v[15] === "" ? null : new IFC2X3.IfcAreaMeasure((v[15] ?? void 0) === void 0 || v[15] === "" ? null : v[15].value), (v[16] ?? void 0) === void 0 || v[16] === "" ? null : new IFC2X3.IfcSectionModulusMeasure((v[16] ?? void 0) === void 0 || v[16] === "" ? null : v[16].value), (v[17] ?? void 0) === void 0 || v[17] === "" ? null : new IFC2X3.IfcSectionModulusMeasure((v[17] ?? void 0) === void 0 || v[17] === "" ? null : v[17].value), (v[18] ?? void 0) === void 0 || v[18] === "" ? null : new IFC2X3.IfcSectionModulusMeasure((v[18] ?? void 0) === void 0 || v[18] === "" ? null : v[18].value), (v[19] ?? void 0) === void 0 || v[19] === "" ? null : new IFC2X3.IfcSectionModulusMeasure((v[19] ?? void 0) === void 0 || v[19] === "" ? null : v[19].value), (v[20] ?? void 0) === void 0 || v[20] === "" ? null : new IFC2X3.IfcSectionModulusMeasure((v[20] ?? void 0) === void 0 || v[20] === "" ? null : v[20].value), (v[21] ?? void 0) === void 0 || v[21] === "" ? null : new IFC2X3.IfcLengthMeasure((v[21] ?? void 0) === void 0 || v[21] === "" ? null : v[21].value), (v[22] ?? void 0) === void 0 || v[22] === "" ? null : new IFC2X3.IfcLengthMeasure((v[22] ?? void 0) === void 0 || v[22] === "" ? null : v[22].value), (v[23] ?? void 0) === void 0 || v[23] === "" ? null : new IFC2X3.IfcAreaMeasure((v[23] ?? void 0) === void 0 || v[23] === "" ? null : v[23].value), (v[24] ?? void 0) === void 0 || v[24] === "" ? null : new IFC2X3.IfcAreaMeasure((v[24] ?? void 0) === void 0 || v[24] === "" ? null : v[24].value), (v[25] ?? void 0) === void 0 || v[25] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[25] ?? void 0) === void 0 || v[25] === "" ? null : v[25].value), (v[26] ?? void 0) === void 0 || v[26] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[26] ?? void 0) === void 0 || v[26] === "" ? null : v[26].value)),
    2233826070: (v) => new IFC2X3.IfcSubedge(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2])),
    2513912981: (_) => new IFC2X3.IfcSurface(),
    1878645084: (v) => new IFC2X3.IfcSurfaceStyleRendering(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : TypeInitialiser(1, v[7]), v[8]),
    2247615214: (v) => new IFC2X3.IfcSweptAreaSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1])),
    1260650574: (v) => new IFC2X3.IfcSweptDiskSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new IFC2X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC2X3.IfcParameterValue((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC2X3.IfcParameterValue((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    230924584: (v) => new IFC2X3.IfcSweptSurface(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1])),
    3071757647: (v) => new IFC2X3.IfcTShapeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC2X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC2X3.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcPlaneAngleMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC2X3.IfcPlaneAngleMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value)),
    3028897424: (v) => new IFC2X3.IfcTerminatorSymbol((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3])),
    4282788508: (v) => new IFC2X3.IfcTextLiteral(new IFC2X3.IfcPresentableText((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), v[2]),
    3124975700: (v) => new IFC2X3.IfcTextLiteralWithExtent(new IFC2X3.IfcPresentableText((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), v[2], new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3]), new IFC2X3.IfcBoxAlignment((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    2715220739: (v) => new IFC2X3.IfcTrapeziumProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC2X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC2X3.IfcLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    1345879162: (v) => new IFC2X3.IfcTwoDirectionRepeatFactor(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1])),
    1628702193: (v) => new IFC2X3.IfcTypeObject(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    2347495698: (v) => new IFC2X3.IfcTypeProduct(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    427810014: (v) => new IFC2X3.IfcUShapeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC2X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC2X3.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcPlaneAngleMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value)),
    1417489154: (v) => new IFC2X3.IfcVector(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new IFC2X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    2759199220: (v) => new IFC2X3.IfcVertexLoop(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0])),
    336235671: (v) => new IFC2X3.IfcWindowLiningProperties(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new Handle((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value, 1, v[12])),
    512836454: (v) => new IFC2X3.IfcWindowPanelProperties(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4], v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 1, v[8])),
    1299126871: (v) => new IFC2X3.IfcWindowStyle(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, (v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value),
    2543172580: (v) => new IFC2X3.IfcZShapeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC2X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC2X3.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3288037868: (v) => new IFC2X3.IfcAnnotationCurveOccurrence((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    669184980: (v) => new IFC2X3.IfcAnnotationFillArea(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    2265737646: (v) => new IFC2X3.IfcAnnotationFillAreaOccurrence((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3]), v[4]),
    1302238472: (v) => new IFC2X3.IfcAnnotationSurface(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1])),
    4261334040: (v) => new IFC2X3.IfcAxis1Placement(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1])),
    3125803723: (v) => new IFC2X3.IfcAxis2Placement2D(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1])),
    2740243338: (v) => new IFC2X3.IfcAxis2Placement3D(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2])),
    2736907675: (v) => new IFC2X3.IfcBooleanResult(v[0], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2])),
    4182860854: (_) => new IFC2X3.IfcBoundedSurface(),
    2581212453: (v) => new IFC2X3.IfcBoundingBox(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new IFC2X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC2X3.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2713105998: (v) => new IFC2X3.IfcBoxedHalfSpace(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2])),
    2898889636: (v) => new IFC2X3.IfcCShapeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC2X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC2X3.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1123145078: (v) => new IFC2X3.IfcCartesianPoint(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC2X3.IfcLengthMeasure(p.value) : null) || []),
    59481748: (v) => new IFC2X3.IfcCartesianTransformationOperator((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new NumberHandle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 4)),
    3749851601: (v) => new IFC2X3.IfcCartesianTransformationOperator2D((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new NumberHandle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 4)),
    3486308946: (v) => new IFC2X3.IfcCartesianTransformationOperator2DnonUniform((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new NumberHandle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 4), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new NumberHandle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 4)),
    3331915920: (v) => new IFC2X3.IfcCartesianTransformationOperator3D((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new NumberHandle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 4), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4])),
    1416205885: (v) => new IFC2X3.IfcCartesianTransformationOperator3DnonUniform((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new NumberHandle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 4), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new NumberHandle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 4), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new NumberHandle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 4)),
    1383045692: (v) => new IFC2X3.IfcCircleProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2205249479: (v) => new IFC2X3.IfcClosedShell(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    2485617015: (v) => new IFC2X3.IfcCompositeCurveSegment(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2])),
    4133800736: (v) => new IFC2X3.IfcCraneRailAShapeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC2X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC2X3.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), new IFC2X3.IfcPositiveLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), new IFC2X3.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), new IFC2X3.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), new IFC2X3.IfcPositiveLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), new IFC2X3.IfcPositiveLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), new IFC2X3.IfcPositiveLengthMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), new IFC2X3.IfcPositiveLengthMeasure((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value)),
    194851669: (v) => new IFC2X3.IfcCraneRailFShapeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC2X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC2X3.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), new IFC2X3.IfcPositiveLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), new IFC2X3.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), new IFC2X3.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), new IFC2X3.IfcPositiveLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value)),
    2506170314: (v) => new IFC2X3.IfcCsgPrimitive3D(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0])),
    2147822146: (v) => new IFC2X3.IfcCsgSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0])),
    2601014836: (_) => new IFC2X3.IfcCurve(),
    2827736869: (v) => new IFC2X3.IfcCurveBoundedPlane(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    693772133: (v) => new IFC2X3.IfcDefinedSymbol(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1])),
    606661476: (v) => new IFC2X3.IfcDimensionCurve((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    4054601972: (v) => new IFC2X3.IfcDimensionCurveTerminator((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3]), v[4]),
    32440307: (v) => new IFC2X3.IfcDirection(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? Number(p.value) : null) || []),
    2963535650: (v) => new IFC2X3.IfcDoorLiningProperties(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC2X3.IfcLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new Handle((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value, 1, v[14])),
    1714330368: (v) => new IFC2X3.IfcDoorPanelProperties(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 1, v[8])),
    526551008: (v) => new IFC2X3.IfcDoorStyle(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, (v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value),
    3073041342: (v) => new IFC2X3.IfcDraughtingCallout(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    445594917: (v) => new IFC2X3.IfcDraughtingPreDefinedColour(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    4006246654: (v) => new IFC2X3.IfcDraughtingPreDefinedCurveFont(new IFC2X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    1472233963: (v) => new IFC2X3.IfcEdgeLoop(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    1883228015: (v) => new IFC2X3.IfcElementQuantity(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    339256511: (v) => new IFC2X3.IfcElementType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2777663545: (v) => new IFC2X3.IfcElementarySurface(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0])),
    2835456948: (v) => new IFC2X3.IfcEllipseProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC2X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    80994333: (v) => new IFC2X3.IfcEnergyProperties(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    477187591: (v) => new IFC2X3.IfcExtrudedAreaSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2047409740: (v) => new IFC2X3.IfcFaceBasedSurfaceModel(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    374418227: (v) => new IFC2X3.IfcFillAreaStyleHatching(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3]), new IFC2X3.IfcPlaneAngleMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    4203026998: (v) => new IFC2X3.IfcFillAreaStyleTileSymbolWithStyle(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0])),
    315944413: (v) => new IFC2X3.IfcFillAreaStyleTiles(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], new IFC2X3.IfcPositiveRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3455213021: (v) => new IFC2X3.IfcFluidFlowProperties(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7]), new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 1, v[8]), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 1, v[9]), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcLabel((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC2X3.IfcThermodynamicTemperatureMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC2X3.IfcThermodynamicTemperatureMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new Handle((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value, 1, v[13]), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new Handle((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value, 1, v[14]), (v[15] ?? void 0) === void 0 || v[15] === "" ? null : TypeInitialiser(1, v[15]), (v[16] ?? void 0) === void 0 || v[16] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[16] ?? void 0) === void 0 || v[16] === "" ? null : v[16].value), (v[17] ?? void 0) === void 0 || v[17] === "" ? null : new IFC2X3.IfcLinearVelocityMeasure((v[17] ?? void 0) === void 0 || v[17] === "" ? null : v[17].value), (v[18] ?? void 0) === void 0 || v[18] === "" ? null : new IFC2X3.IfcPressureMeasure((v[18] ?? void 0) === void 0 || v[18] === "" ? null : v[18].value)),
    4238390223: (v) => new IFC2X3.IfcFurnishingElementType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1268542332: (v) => new IFC2X3.IfcFurnitureType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    987898635: (v) => new IFC2X3.IfcGeometricCurveSet(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    1484403080: (v) => new IFC2X3.IfcIShapeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC2X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC2X3.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    572779678: (v) => new IFC2X3.IfcLShapeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcPlaneAngleMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value)),
    1281925730: (v) => new IFC2X3.IfcLine(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1])),
    1425443689: (v) => new IFC2X3.IfcManifoldSolidBrep(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0])),
    3888040117: (v) => new IFC2X3.IfcObject(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3388369263: (v) => new IFC2X3.IfcOffsetCurve2D(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new IFC2X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value),
    3505215534: (v) => new IFC2X3.IfcOffsetCurve3D(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new IFC2X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 1, v[3])),
    3566463478: (v) => new IFC2X3.IfcPermeableCoveringProperties(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4], v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 1, v[8])),
    603570806: (v) => new IFC2X3.IfcPlanarBox(new IFC2X3.IfcLengthMeasure((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC2X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2])),
    220341763: (v) => new IFC2X3.IfcPlane(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0])),
    2945172077: (v) => new IFC2X3.IfcProcess(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    4208778838: (v) => new IFC2X3.IfcProduct(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6])),
    103090709: (v) => new IFC2X3.IfcProject(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 1, v[8])),
    4194566429: (v) => new IFC2X3.IfcProjectionCurve((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    1451395588: (v) => new IFC2X3.IfcPropertySet(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    3219374653: (v) => new IFC2X3.IfcProxy(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2770003689: (v) => new IFC2X3.IfcRectangleHollowProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC2X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2798486643: (v) => new IFC2X3.IfcRectangularPyramid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new IFC2X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC2X3.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    3454111270: (v) => new IFC2X3.IfcRectangularTrimmedSurface(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new IFC2X3.IfcParameterValue((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC2X3.IfcParameterValue((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC2X3.IfcParameterValue((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC2X3.IfcParameterValue((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value),
    3939117080: (v) => new IFC2X3.IfcRelAssigns(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[5]),
    1683148259: (v) => new IFC2X3.IfcRelAssignsToActor(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[5], new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7])),
    2495723537: (v) => new IFC2X3.IfcRelAssignsToControl(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[5], new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6])),
    1307041759: (v) => new IFC2X3.IfcRelAssignsToGroup(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[5], new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6])),
    4278684876: (v) => new IFC2X3.IfcRelAssignsToProcess(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[5], new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7])),
    2857406711: (v) => new IFC2X3.IfcRelAssignsToProduct(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[5], new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6])),
    3372526763: (v) => new IFC2X3.IfcRelAssignsToProjectOrder(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[5], new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6])),
    205026976: (v) => new IFC2X3.IfcRelAssignsToResource(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[5], new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6])),
    1865459582: (v) => new IFC2X3.IfcRelAssociates(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    1327628568: (v) => new IFC2X3.IfcRelAssociatesAppliedValue(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5])),
    4095574036: (v) => new IFC2X3.IfcRelAssociatesApproval(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5])),
    919958153: (v) => new IFC2X3.IfcRelAssociatesClassification(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5])),
    2728634034: (v) => new IFC2X3.IfcRelAssociatesConstraint(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], new IFC2X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6])),
    982818633: (v) => new IFC2X3.IfcRelAssociatesDocument(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5])),
    3840914261: (v) => new IFC2X3.IfcRelAssociatesLibrary(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5])),
    2655215786: (v) => new IFC2X3.IfcRelAssociatesMaterial(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5])),
    2851387026: (v) => new IFC2X3.IfcRelAssociatesProfileProperties(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7])),
    826625072: (v) => new IFC2X3.IfcRelConnects(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    1204542856: (v) => new IFC2X3.IfcRelConnectsElements(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6])),
    3945020480: (v) => new IFC2X3.IfcRelConnectsPathElements(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? Number(p.value) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? Number(p.value) : null) || [], v[9], v[10]),
    4201705270: (v) => new IFC2X3.IfcRelConnectsPortToElement(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5])),
    3190031847: (v) => new IFC2X3.IfcRelConnectsPorts(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6])),
    2127690289: (v) => new IFC2X3.IfcRelConnectsStructuralActivity(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5])),
    3912681535: (v) => new IFC2X3.IfcRelConnectsStructuralElement(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5])),
    1638771189: (v) => new IFC2X3.IfcRelConnectsStructuralMember(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 1, v[9])),
    504942748: (v) => new IFC2X3.IfcRelConnectsWithEccentricity(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 1, v[9]), new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 1, v[10])),
    3678494232: (v) => new IFC2X3.IfcRelConnectsWithRealizingElements(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3242617779: (v) => new IFC2X3.IfcRelContainedInSpatialStructure(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5])),
    886880790: (v) => new IFC2X3.IfcRelCoversBldgElements(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    2802773753: (v) => new IFC2X3.IfcRelCoversSpaces(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    2551354335: (v) => new IFC2X3.IfcRelDecomposes(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    693640335: (v) => new IFC2X3.IfcRelDefines(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    4186316022: (v) => new IFC2X3.IfcRelDefinesByProperties(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5])),
    781010003: (v) => new IFC2X3.IfcRelDefinesByType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5])),
    3940055652: (v) => new IFC2X3.IfcRelFillsElement(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5])),
    279856033: (v) => new IFC2X3.IfcRelFlowControlElements(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5])),
    4189434867: (v) => new IFC2X3.IfcRelInteractionRequirements(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcCountMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7]), new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 1, v[8])),
    3268803585: (v) => new IFC2X3.IfcRelNests(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    2051452291: (v) => new IFC2X3.IfcRelOccupiesSpaces(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[5], new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7])),
    202636808: (v) => new IFC2X3.IfcRelOverridesProperties(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    750771296: (v) => new IFC2X3.IfcRelProjectsElement(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5])),
    1245217292: (v) => new IFC2X3.IfcRelReferencedInSpatialStructure(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5])),
    1058617721: (v) => new IFC2X3.IfcRelSchedulesCostItems(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[5], new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6])),
    4122056220: (v) => new IFC2X3.IfcRelSequence(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), new IFC2X3.IfcTimeMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7]),
    366585022: (v) => new IFC2X3.IfcRelServicesBuildings(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    3451746338: (v) => new IFC2X3.IfcRelSpaceBoundary(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), v[7], v[8]),
    1401173127: (v) => new IFC2X3.IfcRelVoidsElement(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5])),
    2914609552: (v) => new IFC2X3.IfcResource(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    1856042241: (v) => new IFC2X3.IfcRevolvedAreaSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcPlaneAngleMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    4158566097: (v) => new IFC2X3.IfcRightCircularCone(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new IFC2X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC2X3.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3626867408: (v) => new IFC2X3.IfcRightCircularCylinder(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new IFC2X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC2X3.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    2706606064: (v) => new IFC2X3.IfcSpatialStructureElement(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3893378262: (v) => new IFC2X3.IfcSpatialStructureElementType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    451544542: (v) => new IFC2X3.IfcSphere(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new IFC2X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    3544373492: (v) => new IFC2X3.IfcStructuralActivity(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7]), v[8]),
    3136571912: (v) => new IFC2X3.IfcStructuralItem(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6])),
    530289379: (v) => new IFC2X3.IfcStructuralMember(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6])),
    3689010777: (v) => new IFC2X3.IfcStructuralReaction(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7]), v[8]),
    3979015343: (v) => new IFC2X3.IfcStructuralSurfaceMember(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2218152070: (v) => new IFC2X3.IfcStructuralSurfaceMemberVarying(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC2X3.IfcPositiveLengthMeasure(p.value) : null) || [], new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 1, v[10])),
    4070609034: (v) => new IFC2X3.IfcStructuredDimensionCallout(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    2028607225: (v) => new IFC2X3.IfcSurfaceCurveSweptAreaSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcParameterValue((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC2X3.IfcParameterValue((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5])),
    2809605785: (v) => new IFC2X3.IfcSurfaceOfLinearExtrusion(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    4124788165: (v) => new IFC2X3.IfcSurfaceOfRevolution(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2])),
    1580310250: (v) => new IFC2X3.IfcSystemFurnitureElementType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3473067441: (v) => new IFC2X3.IfcTask(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new NumberHandle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 10)),
    2097647324: (v) => new IFC2X3.IfcTransportElementType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2296667514: (v) => new IFC2X3.IfcActor(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5])),
    1674181508: (v) => new IFC2X3.IfcAnnotation(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6])),
    3207858831: (v) => new IFC2X3.IfcAsymmetricIShapeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC2X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC2X3.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), new IFC2X3.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value)),
    1334484129: (v) => new IFC2X3.IfcBlock(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new IFC2X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC2X3.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    3649129432: (v) => new IFC2X3.IfcBooleanClippingResult(v[0], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2])),
    1260505505: (_) => new IFC2X3.IfcBoundedCurve(),
    4031249490: (v) => new IFC2X3.IfcBuilding(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new Handle((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value, 1, v[11])),
    1950629157: (v) => new IFC2X3.IfcBuildingElementType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3124254112: (v) => new IFC2X3.IfcBuildingStorey(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    2937912522: (v) => new IFC2X3.IfcCircleHollowProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC2X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 1, v[2]), new IFC2X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC2X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    300633059: (v) => new IFC2X3.IfcColumnType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3732776249: (v) => new IFC2X3.IfcCompositeCurve(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value),
    2510884976: (v) => new IFC2X3.IfcConic(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0])),
    2559216714: (v) => new IFC2X3.IfcConstructionResource(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 1, v[8])),
    3293443760: (v) => new IFC2X3.IfcControl(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3895139033: (v) => new IFC2X3.IfcCostItem(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    1419761937: (v) => new IFC2X3.IfcCostSchedule(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 1, v[10]), new IFC2X3.IfcIdentifier((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), v[12]),
    1916426348: (v) => new IFC2X3.IfcCoveringType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3295246426: (v) => new IFC2X3.IfcCrewResource(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 1, v[8])),
    1457835157: (v) => new IFC2X3.IfcCurtainWallType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    681481545: (v) => new IFC2X3.IfcDimensionCurveDirectedCallout(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    3256556792: (v) => new IFC2X3.IfcDistributionElementType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3849074793: (v) => new IFC2X3.IfcDistributionFlowElementType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    360485395: (v) => new IFC2X3.IfcElectricalBaseProperties(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), v[6], new IFC2X3.IfcElectricVoltageMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), new IFC2X3.IfcFrequencyMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcElectricCurrentMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcElectricCurrentMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC2X3.IfcPowerMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC2X3.IfcPowerMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), new NumberHandle((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value, 10)),
    1758889154: (v) => new IFC2X3.IfcElement(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    4123344466: (v) => new IFC2X3.IfcElementAssembly(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], v[9]),
    1623761950: (v) => new IFC2X3.IfcElementComponent(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2590856083: (v) => new IFC2X3.IfcElementComponentType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1704287377: (v) => new IFC2X3.IfcEllipse(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new IFC2X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC2X3.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    2107101300: (v) => new IFC2X3.IfcEnergyConversionDeviceType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1962604670: (v) => new IFC2X3.IfcEquipmentElement(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3272907226: (v) => new IFC2X3.IfcEquipmentStandard(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3174744832: (v) => new IFC2X3.IfcEvaporativeCoolerType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3390157468: (v) => new IFC2X3.IfcEvaporatorType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    807026263: (v) => new IFC2X3.IfcFacetedBrep(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0])),
    3737207727: (v) => new IFC2X3.IfcFacetedBrepWithVoids(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    647756555: (v) => new IFC2X3.IfcFastener(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2489546625: (v) => new IFC2X3.IfcFastenerType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2827207264: (v) => new IFC2X3.IfcFeatureElement(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2143335405: (v) => new IFC2X3.IfcFeatureElementAddition(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    1287392070: (v) => new IFC2X3.IfcFeatureElementSubtraction(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3907093117: (v) => new IFC2X3.IfcFlowControllerType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3198132628: (v) => new IFC2X3.IfcFlowFittingType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3815607619: (v) => new IFC2X3.IfcFlowMeterType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1482959167: (v) => new IFC2X3.IfcFlowMovingDeviceType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1834744321: (v) => new IFC2X3.IfcFlowSegmentType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1339347760: (v) => new IFC2X3.IfcFlowStorageDeviceType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2297155007: (v) => new IFC2X3.IfcFlowTerminalType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3009222698: (v) => new IFC2X3.IfcFlowTreatmentDeviceType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    263784265: (v) => new IFC2X3.IfcFurnishingElement(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    814719939: (v) => new IFC2X3.IfcFurnitureStandard(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    200128114: (v) => new IFC2X3.IfcGasTerminalType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3009204131: (v) => new IFC2X3.IfcGrid(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    2706460486: (v) => new IFC2X3.IfcGroup(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    1251058090: (v) => new IFC2X3.IfcHeatExchangerType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1806887404: (v) => new IFC2X3.IfcHumidifierType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2391368822: (v) => new IFC2X3.IfcInventory(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 1, v[8]), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 1, v[9]), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 1, v[10])),
    4288270099: (v) => new IFC2X3.IfcJunctionBoxType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3827777499: (v) => new IFC2X3.IfcLaborResource(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 1, v[8]), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcText((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    1051575348: (v) => new IFC2X3.IfcLampType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1161773419: (v) => new IFC2X3.IfcLightFixtureType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2506943328: (v) => new IFC2X3.IfcLinearDimension(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    377706215: (v) => new IFC2X3.IfcMechanicalFastener(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    2108223431: (v) => new IFC2X3.IfcMechanicalFastenerType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3181161470: (v) => new IFC2X3.IfcMemberType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    977012517: (v) => new IFC2X3.IfcMotorConnectionType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1916936684: (v) => new IFC2X3.IfcMove(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new NumberHandle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 10), new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 1, v[10]), new Handle((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value, 1, v[11]), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC2X3.IfcText(p.value) : null) || []),
    4143007308: (v) => new IFC2X3.IfcOccupant(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), v[6]),
    3588315303: (v) => new IFC2X3.IfcOpeningElement(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3425660407: (v) => new IFC2X3.IfcOrderAction(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new NumberHandle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 10), new IFC2X3.IfcIdentifier((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value)),
    2837617999: (v) => new IFC2X3.IfcOutletType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2382730787: (v) => new IFC2X3.IfcPerformanceHistory(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    3327091369: (v) => new IFC2X3.IfcPermit(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    804291784: (v) => new IFC2X3.IfcPipeFittingType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    4231323485: (v) => new IFC2X3.IfcPipeSegmentType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    4017108033: (v) => new IFC2X3.IfcPlateType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3724593414: (v) => new IFC2X3.IfcPolyline(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    3740093272: (v) => new IFC2X3.IfcPort(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6])),
    2744685151: (v) => new IFC2X3.IfcProcedure(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), v[6], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2904328755: (v) => new IFC2X3.IfcProjectOrder(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), v[6], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3642467123: (v) => new IFC2X3.IfcProjectOrderRecord(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[6]),
    3651124850: (v) => new IFC2X3.IfcProjectionElement(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    1842657554: (v) => new IFC2X3.IfcProtectiveDeviceType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2250791053: (v) => new IFC2X3.IfcPumpType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3248260540: (v) => new IFC2X3.IfcRadiusDimension(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    2893384427: (v) => new IFC2X3.IfcRailingType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2324767716: (v) => new IFC2X3.IfcRampFlightType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    160246688: (v) => new IFC2X3.IfcRelAggregates(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 1, v[4]), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    2863920197: (v) => new IFC2X3.IfcRelAssignsTasks(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[5], new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7])),
    1768891740: (v) => new IFC2X3.IfcSanitaryTerminalType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3517283431: (v) => new IFC2X3.IfcScheduleTimeControl(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 1, v[8]), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 1, v[9]), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 1, v[10]), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new Handle((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value, 1, v[11]), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new Handle((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value, 1, v[12]), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC2X3.IfcTimeMeasure((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC2X3.IfcTimeMeasure((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value), (v[15] ?? void 0) === void 0 || v[15] === "" ? null : new IFC2X3.IfcTimeMeasure((v[15] ?? void 0) === void 0 || v[15] === "" ? null : v[15].value), (v[16] ?? void 0) === void 0 || v[16] === "" ? null : new IFC2X3.IfcTimeMeasure((v[16] ?? void 0) === void 0 || v[16] === "" ? null : v[16].value), (v[17] ?? void 0) === void 0 || v[17] === "" ? null : new IFC2X3.IfcTimeMeasure((v[17] ?? void 0) === void 0 || v[17] === "" ? null : v[17].value), (v[18] ?? void 0) === void 0 || v[18] === "" ? null : (v[18] ?? void 0) === void 0 || v[18] === "" ? null : v[18].value, (v[19] ?? void 0) === void 0 || v[19] === "" ? null : new Handle((v[19] ?? void 0) === void 0 || v[19] === "" ? null : v[19].value, 1, v[19]), (v[20] ?? void 0) === void 0 || v[20] === "" ? null : new IFC2X3.IfcTimeMeasure((v[20] ?? void 0) === void 0 || v[20] === "" ? null : v[20].value), (v[21] ?? void 0) === void 0 || v[21] === "" ? null : new IFC2X3.IfcTimeMeasure((v[21] ?? void 0) === void 0 || v[21] === "" ? null : v[21].value), (v[22] ?? void 0) === void 0 || v[22] === "" ? null : new IFC2X3.IfcPositiveRatioMeasure((v[22] ?? void 0) === void 0 || v[22] === "" ? null : v[22].value)),
    4105383287: (v) => new IFC2X3.IfcServiceLife(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], new IFC2X3.IfcTimeMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    4097777520: (v) => new IFC2X3.IfcSite(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcCompoundPlaneAngleMeasure(v[9].map((x) => x.value)), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcCompoundPlaneAngleMeasure(v[10].map((x) => x.value)), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC2X3.IfcLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC2X3.IfcLabel((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new Handle((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value, 1, v[13])),
    2533589738: (v) => new IFC2X3.IfcSlabType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3856911033: (v) => new IFC2X3.IfcSpace(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value)),
    1305183839: (v) => new IFC2X3.IfcSpaceHeaterType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    652456506: (v) => new IFC2X3.IfcSpaceProgram(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcAreaMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcAreaMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 1, v[8]), new IFC2X3.IfcAreaMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    3812236995: (v) => new IFC2X3.IfcSpaceType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3112655638: (v) => new IFC2X3.IfcStackTerminalType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1039846685: (v) => new IFC2X3.IfcStairFlightType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    682877961: (v) => new IFC2X3.IfcStructuralAction(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7]), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 1, v[10])),
    1179482911: (v) => new IFC2X3.IfcStructuralConnection(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7])),
    4243806635: (v) => new IFC2X3.IfcStructuralCurveConnection(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7])),
    214636428: (v) => new IFC2X3.IfcStructuralCurveMember(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), v[7]),
    2445595289: (v) => new IFC2X3.IfcStructuralCurveMemberVarying(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), v[7]),
    1807405624: (v) => new IFC2X3.IfcStructuralLinearAction(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7]), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 1, v[10]), v[11]),
    1721250024: (v) => new IFC2X3.IfcStructuralLinearActionVarying(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7]), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 1, v[10]), v[11], new Handle((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value, 1, v[12]), v[13]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    1252848954: (v) => new IFC2X3.IfcStructuralLoadGroup(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], v[6], v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcRatioMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcLabel((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    1621171031: (v) => new IFC2X3.IfcStructuralPlanarAction(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7]), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 1, v[10]), v[11]),
    3987759626: (v) => new IFC2X3.IfcStructuralPlanarActionVarying(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7]), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 1, v[10]), v[11], new Handle((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value, 1, v[12]), v[13]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    2082059205: (v) => new IFC2X3.IfcStructuralPointAction(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7]), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 1, v[10])),
    734778138: (v) => new IFC2X3.IfcStructuralPointConnection(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7])),
    1235345126: (v) => new IFC2X3.IfcStructuralPointReaction(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7]), v[8]),
    2986769608: (v) => new IFC2X3.IfcStructuralResultGroup(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value),
    1975003073: (v) => new IFC2X3.IfcStructuralSurfaceConnection(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7])),
    148013059: (v) => new IFC2X3.IfcSubContractResource(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 1, v[8]), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 1, v[9]), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcText((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value)),
    2315554128: (v) => new IFC2X3.IfcSwitchingDeviceType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2254336722: (v) => new IFC2X3.IfcSystem(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    5716631: (v) => new IFC2X3.IfcTankType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1637806684: (v) => new IFC2X3.IfcTimeSeriesSchedule(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[6], new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7])),
    1692211062: (v) => new IFC2X3.IfcTransformerType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1620046519: (v) => new IFC2X3.IfcTransportElement(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcMassMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcCountMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value)),
    3593883385: (v) => new IFC2X3.IfcTrimmedCurve(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, v[4]),
    1600972822: (v) => new IFC2X3.IfcTubeBundleType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1911125066: (v) => new IFC2X3.IfcUnitaryEquipmentType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    728799441: (v) => new IFC2X3.IfcValveType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2769231204: (v) => new IFC2X3.IfcVirtualElement(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    1898987631: (v) => new IFC2X3.IfcWallType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1133259667: (v) => new IFC2X3.IfcWasteTerminalType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1028945134: (v) => new IFC2X3.IfcWorkControl(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcTimeMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcTimeMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), new Handle((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value, 1, v[11]), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new Handle((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value, 1, v[12]), v[13], (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC2X3.IfcLabel((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value)),
    4218914973: (v) => new IFC2X3.IfcWorkPlan(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcTimeMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcTimeMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), new Handle((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value, 1, v[11]), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new Handle((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value, 1, v[12]), v[13], (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC2X3.IfcLabel((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value)),
    3342526732: (v) => new IFC2X3.IfcWorkSchedule(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcTimeMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcTimeMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), new Handle((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value, 1, v[11]), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new Handle((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value, 1, v[12]), v[13], (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC2X3.IfcLabel((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value)),
    1033361043: (v) => new IFC2X3.IfcZone(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    1213861670: (v) => new IFC2X3.Ifc2DCompositeCurve(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value),
    3821786052: (v) => new IFC2X3.IfcActionRequest(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    1411407467: (v) => new IFC2X3.IfcAirTerminalBoxType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3352864051: (v) => new IFC2X3.IfcAirTerminalType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1871374353: (v) => new IFC2X3.IfcAirToAirHeatRecoveryType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2470393545: (v) => new IFC2X3.IfcAngularDimension(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    3460190687: (v) => new IFC2X3.IfcAsset(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC2X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 1, v[7]), new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 1, v[8]), new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 1, v[9]), new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 1, v[10]), new Handle((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value, 1, v[11]), new Handle((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value, 1, v[12]), new Handle((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value, 1, v[13])),
    1967976161: (v) => new IFC2X3.IfcBSplineCurve(new NumberHandle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 10), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[2], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value),
    819618141: (v) => new IFC2X3.IfcBeamType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1916977116: (v) => new IFC2X3.IfcBezierCurve(new NumberHandle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 10), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[2], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value),
    231477066: (v) => new IFC2X3.IfcBoilerType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3299480353: (v) => new IFC2X3.IfcBuildingElement(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    52481810: (v) => new IFC2X3.IfcBuildingElementComponent(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2979338954: (v) => new IFC2X3.IfcBuildingElementPart(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    1095909175: (v) => new IFC2X3.IfcBuildingElementProxy(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1909888760: (v) => new IFC2X3.IfcBuildingElementProxyType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    395041908: (v) => new IFC2X3.IfcCableCarrierFittingType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3293546465: (v) => new IFC2X3.IfcCableCarrierSegmentType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1285652485: (v) => new IFC2X3.IfcCableSegmentType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2951183804: (v) => new IFC2X3.IfcChillerType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2611217952: (v) => new IFC2X3.IfcCircle(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 1, v[0]), new IFC2X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    2301859152: (v) => new IFC2X3.IfcCoilType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    843113511: (v) => new IFC2X3.IfcColumn(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3850581409: (v) => new IFC2X3.IfcCompressorType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2816379211: (v) => new IFC2X3.IfcCondenserType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2188551683: (v) => new IFC2X3.IfcCondition(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    1163958913: (v) => new IFC2X3.IfcConditionCriterion(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6])),
    3898045240: (v) => new IFC2X3.IfcConstructionEquipmentResource(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 1, v[8])),
    1060000209: (v) => new IFC2X3.IfcConstructionMaterialResource(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 1, v[8]), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcRatioMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value)),
    488727124: (v) => new IFC2X3.IfcConstructionProductResource(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC2X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC2X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 1, v[8])),
    335055490: (v) => new IFC2X3.IfcCooledBeamType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2954562838: (v) => new IFC2X3.IfcCoolingTowerType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1973544240: (v) => new IFC2X3.IfcCovering(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3495092785: (v) => new IFC2X3.IfcCurtainWall(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3961806047: (v) => new IFC2X3.IfcDamperType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    4147604152: (v) => new IFC2X3.IfcDiameterDimension(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    1335981549: (v) => new IFC2X3.IfcDiscreteAccessory(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2635815018: (v) => new IFC2X3.IfcDiscreteAccessoryType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1599208980: (v) => new IFC2X3.IfcDistributionChamberElementType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2063403501: (v) => new IFC2X3.IfcDistributionControlElementType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1945004755: (v) => new IFC2X3.IfcDistributionElement(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3040386961: (v) => new IFC2X3.IfcDistributionFlowElement(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3041715199: (v) => new IFC2X3.IfcDistributionPort(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), v[7]),
    395920057: (v) => new IFC2X3.IfcDoor(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    869906466: (v) => new IFC2X3.IfcDuctFittingType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3760055223: (v) => new IFC2X3.IfcDuctSegmentType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2030761528: (v) => new IFC2X3.IfcDuctSilencerType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    855621170: (v) => new IFC2X3.IfcEdgeFeature(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    663422040: (v) => new IFC2X3.IfcElectricApplianceType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3277789161: (v) => new IFC2X3.IfcElectricFlowStorageDeviceType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1534661035: (v) => new IFC2X3.IfcElectricGeneratorType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1365060375: (v) => new IFC2X3.IfcElectricHeaterType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1217240411: (v) => new IFC2X3.IfcElectricMotorType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    712377611: (v) => new IFC2X3.IfcElectricTimeControlType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1634875225: (v) => new IFC2X3.IfcElectricalCircuit(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    857184966: (v) => new IFC2X3.IfcElectricalElement(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    1658829314: (v) => new IFC2X3.IfcEnergyConversionDevice(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    346874300: (v) => new IFC2X3.IfcFanType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1810631287: (v) => new IFC2X3.IfcFilterType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    4222183408: (v) => new IFC2X3.IfcFireSuppressionTerminalType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2058353004: (v) => new IFC2X3.IfcFlowController(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    4278956645: (v) => new IFC2X3.IfcFlowFitting(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    4037862832: (v) => new IFC2X3.IfcFlowInstrumentType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3132237377: (v) => new IFC2X3.IfcFlowMovingDevice(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    987401354: (v) => new IFC2X3.IfcFlowSegment(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    707683696: (v) => new IFC2X3.IfcFlowStorageDevice(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2223149337: (v) => new IFC2X3.IfcFlowTerminal(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3508470533: (v) => new IFC2X3.IfcFlowTreatmentDevice(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    900683007: (v) => new IFC2X3.IfcFooting(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1073191201: (v) => new IFC2X3.IfcMember(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    1687234759: (v) => new IFC2X3.IfcPile(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], v[9]),
    3171933400: (v) => new IFC2X3.IfcPlate(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2262370178: (v) => new IFC2X3.IfcRailing(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3024970846: (v) => new IFC2X3.IfcRamp(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3283111854: (v) => new IFC2X3.IfcRampFlight(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3055160366: (v) => new IFC2X3.IfcRationalBezierCurve(new NumberHandle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 10), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], v[2], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? Number(p.value) : null) || []),
    3027567501: (v) => new IFC2X3.IfcReinforcingElement(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2320036040: (v) => new IFC2X3.IfcReinforcingMesh(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), new IFC2X3.IfcPositiveLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), new IFC2X3.IfcPositiveLengthMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), new IFC2X3.IfcAreaMeasure((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), new IFC2X3.IfcAreaMeasure((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value), new IFC2X3.IfcPositiveLengthMeasure((v[15] ?? void 0) === void 0 || v[15] === "" ? null : v[15].value), new IFC2X3.IfcPositiveLengthMeasure((v[16] ?? void 0) === void 0 || v[16] === "" ? null : v[16].value)),
    2016517767: (v) => new IFC2X3.IfcRoof(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1376911519: (v) => new IFC2X3.IfcRoundedEdgeFeature(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    1783015770: (v) => new IFC2X3.IfcSensorType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1529196076: (v) => new IFC2X3.IfcSlab(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    331165859: (v) => new IFC2X3.IfcStair(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    4252922144: (v) => new IFC2X3.IfcStairFlight(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new NumberHandle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 10), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new NumberHandle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 10), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value)),
    2515109513: (v) => new IFC2X3.IfcStructuralAnalysisModel(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || []),
    3824725483: (v) => new IFC2X3.IfcTendon(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], new IFC2X3.IfcPositiveLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), new IFC2X3.IfcAreaMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC2X3.IfcForceMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC2X3.IfcPressureMeasure((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC2X3.IfcNormalisedRatioMeasure((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value), (v[15] ?? void 0) === void 0 || v[15] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[15] ?? void 0) === void 0 || v[15] === "" ? null : v[15].value), (v[16] ?? void 0) === void 0 || v[16] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[16] ?? void 0) === void 0 || v[16] === "" ? null : v[16].value)),
    2347447852: (v) => new IFC2X3.IfcTendonAnchor(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3313531582: (v) => new IFC2X3.IfcVibrationIsolatorType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2391406946: (v) => new IFC2X3.IfcWall(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3512223829: (v) => new IFC2X3.IfcWallStandardCase(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3304561284: (v) => new IFC2X3.IfcWindow(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    2874132201: (v) => new IFC2X3.IfcActuatorType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3001207471: (v) => new IFC2X3.IfcAlarmType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    753842376: (v) => new IFC2X3.IfcBeam(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2454782716: (v) => new IFC2X3.IfcChamferEdgeFeature(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value)),
    578613899: (v) => new IFC2X3.IfcControllerType(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 1, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1052013943: (v) => new IFC2X3.IfcDistributionChamberElement(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    1062813311: (v) => new IFC2X3.IfcDistributionControlElement(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcIdentifier((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3700593921: (v) => new IFC2X3.IfcElectricDistributionPoint(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC2X3.IfcLabel((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    979691226: (v) => new IFC2X3.IfcReinforcingBar(new IFC2X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 1, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC2X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC2X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC2X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 1, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 1, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC2X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC2X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), new IFC2X3.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), new IFC2X3.IfcAreaMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC2X3.IfcPositiveLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), v[12], v[13])
  };
  InheritanceDef[1] = {
    618182010: [IFCTELECOMADDRESS, IFCPOSTALADDRESS],
    411424972: [IFCENVIRONMENTALIMPACTVALUE, IFCCOSTVALUE],
    4037036970: [IFCBOUNDARYNODECONDITIONWARPING, IFCBOUNDARYNODECONDITION, IFCBOUNDARYFACECONDITION, IFCBOUNDARYEDGECONDITION],
    1387855156: [IFCBOUNDARYNODECONDITIONWARPING],
    3264961684: [IFCCOLOURRGB],
    2859738748: [IFCCONNECTIONCURVEGEOMETRY, IFCCONNECTIONSURFACEGEOMETRY, IFCCONNECTIONPORTGEOMETRY, IFCCONNECTIONPOINTECCENTRICITY, IFCCONNECTIONPOINTGEOMETRY],
    2614616156: [IFCCONNECTIONPOINTECCENTRICITY],
    1959218052: [IFCOBJECTIVE, IFCMETRIC],
    3796139169: [IFCDIMENSIONPAIR, IFCDIMENSIONCALLOUTRELATIONSHIP],
    3200245327: [IFCDOCUMENTREFERENCE, IFCCLASSIFICATIONREFERENCE, IFCLIBRARYREFERENCE, IFCEXTERNALLYDEFINEDTEXTFONT, IFCEXTERNALLYDEFINEDSYMBOL, IFCEXTERNALLYDEFINEDSURFACESTYLE, IFCEXTERNALLYDEFINEDHATCHSTYLE],
    3265635763: [IFCHYGROSCOPICMATERIALPROPERTIES, IFCGENERALMATERIALPROPERTIES, IFCFUELPROPERTIES, IFCEXTENDEDMATERIALPROPERTIES, IFCWATERPROPERTIES, IFCTHERMALMATERIALPROPERTIES, IFCPRODUCTSOFCOMBUSTIONPROPERTIES, IFCOPTICALMATERIALPROPERTIES, IFCMECHANICALCONCRETEMATERIALPROPERTIES, IFCMECHANICALSTEELMATERIALPROPERTIES, IFCMECHANICALMATERIALPROPERTIES],
    4256014907: [IFCMECHANICALCONCRETEMATERIALPROPERTIES, IFCMECHANICALSTEELMATERIALPROPERTIES],
    1918398963: [IFCCONVERSIONBASEDUNIT, IFCCONTEXTDEPENDENTUNIT, IFCSIUNIT],
    3701648758: [IFCLOCALPLACEMENT, IFCGRIDPLACEMENT],
    2483315170: [IFCPHYSICALCOMPLEXQUANTITY, IFCQUANTITYWEIGHT, IFCQUANTITYVOLUME, IFCQUANTITYTIME, IFCQUANTITYLENGTH, IFCQUANTITYCOUNT, IFCQUANTITYAREA, IFCPHYSICALSIMPLEQUANTITY],
    2226359599: [IFCQUANTITYWEIGHT, IFCQUANTITYVOLUME, IFCQUANTITYTIME, IFCQUANTITYLENGTH, IFCQUANTITYCOUNT, IFCQUANTITYAREA],
    3727388367: [IFCDRAUGHTINGPREDEFINEDCURVEFONT, IFCPREDEFINEDCURVEFONT, IFCDRAUGHTINGPREDEFINEDCOLOUR, IFCPREDEFINEDCOLOUR, IFCDRAUGHTINGPREDEFINEDTEXTFONT, IFCTEXTSTYLEFONTMODEL, IFCPREDEFINEDTEXTFONT, IFCPREDEFINEDPOINTMARKERSYMBOL, IFCPREDEFINEDDIMENSIONSYMBOL, IFCPREDEFINEDTERMINATORSYMBOL, IFCPREDEFINEDSYMBOL],
    990879717: [IFCPREDEFINEDPOINTMARKERSYMBOL, IFCPREDEFINEDDIMENSIONSYMBOL, IFCPREDEFINEDTERMINATORSYMBOL],
    1775413392: [IFCDRAUGHTINGPREDEFINEDTEXTFONT, IFCTEXTSTYLEFONTMODEL],
    2022622350: [IFCPRESENTATIONLAYERWITHSTYLE],
    3119450353: [IFCFILLAREASTYLE, IFCCURVESTYLE, IFCTEXTSTYLE, IFCSYMBOLSTYLE, IFCSURFACESTYLE],
    2095639259: [IFCPRODUCTDEFINITIONSHAPE, IFCMATERIALDEFINITIONREPRESENTATION],
    3958567839: [IFCLSHAPEPROFILEDEF, IFCASYMMETRICISHAPEPROFILEDEF, IFCISHAPEPROFILEDEF, IFCELLIPSEPROFILEDEF, IFCCRANERAILFSHAPEPROFILEDEF, IFCCRANERAILASHAPEPROFILEDEF, IFCCIRCLEHOLLOWPROFILEDEF, IFCCIRCLEPROFILEDEF, IFCCSHAPEPROFILEDEF, IFCZSHAPEPROFILEDEF, IFCUSHAPEPROFILEDEF, IFCTRAPEZIUMPROFILEDEF, IFCTSHAPEPROFILEDEF, IFCRECTANGLEHOLLOWPROFILEDEF, IFCROUNDEDRECTANGLEPROFILEDEF, IFCRECTANGLEPROFILEDEF, IFCPARAMETERIZEDPROFILEDEF, IFCDERIVEDPROFILEDEF, IFCCOMPOSITEPROFILEDEF, IFCCENTERLINEPROFILEDEF, IFCARBITRARYOPENPROFILEDEF, IFCARBITRARYPROFILEDEFWITHVOIDS, IFCARBITRARYCLOSEDPROFILEDEF],
    2802850158: [IFCSTRUCTURALSTEELPROFILEPROPERTIES, IFCSTRUCTURALPROFILEPROPERTIES, IFCGENERALPROFILEPROPERTIES, IFCRIBPLATEPROFILEPROPERTIES],
    2598011224: [IFCCOMPLEXPROPERTY, IFCPROPERTYTABLEVALUE, IFCPROPERTYSINGLEVALUE, IFCPROPERTYREFERENCEVALUE, IFCPROPERTYLISTVALUE, IFCPROPERTYENUMERATEDVALUE, IFCPROPERTYBOUNDEDVALUE, IFCSIMPLEPROPERTY],
    1076942058: [IFCSTYLEDREPRESENTATION, IFCSTYLEMODEL, IFCTOPOLOGYREPRESENTATION, IFCSHAPEREPRESENTATION, IFCSHAPEMODEL],
    3377609919: [IFCGEOMETRICREPRESENTATIONSUBCONTEXT, IFCGEOMETRICREPRESENTATIONCONTEXT],
    3008791417: [IFCMAPPEDITEM, IFCFILLAREASTYLETILES, IFCFILLAREASTYLETILESYMBOLWITHSTYLE, IFCFILLAREASTYLEHATCHING, IFCFACEBASEDSURFACEMODEL, IFCDIAMETERDIMENSION, IFCANGULARDIMENSION, IFCRADIUSDIMENSION, IFCLINEARDIMENSION, IFCDIMENSIONCURVEDIRECTEDCALLOUT, IFCSTRUCTUREDDIMENSIONCALLOUT, IFCDRAUGHTINGCALLOUT, IFCDIRECTION, IFCDEFINEDSYMBOL, IFCCIRCLE, IFCELLIPSE, IFCCONIC, IFCRATIONALBEZIERCURVE, IFCBEZIERCURVE, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFC2DCOMPOSITECURVE, IFCCOMPOSITECURVE, IFCBOUNDEDCURVE, IFCOFFSETCURVE3D, IFCOFFSETCURVE2D, IFCLINE, IFCCURVE, IFCBLOCK, IFCSPHERE, IFCRIGHTCIRCULARCYLINDER, IFCRIGHTCIRCULARCONE, IFCRECTANGULARPYRAMID, IFCCSGPRIMITIVE3D, IFCCOMPOSITECURVESEGMENT, IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR3D, IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR2D, IFCCARTESIANTRANSFORMATIONOPERATOR, IFCBOUNDINGBOX, IFCBOOLEANCLIPPINGRESULT, IFCBOOLEANRESULT, IFCANNOTATIONSURFACE, IFCANNOTATIONFILLAREA, IFCVECTOR, IFCTEXTLITERALWITHEXTENT, IFCTEXTLITERAL, IFCPLANE, IFCELEMENTARYSURFACE, IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDPLANE, IFCBOUNDEDSURFACE, IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION, IFCSWEPTSURFACE, IFCSURFACE, IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP, IFCMANIFOLDSOLIDBREP, IFCCSGSOLID, IFCSWEPTDISKSOLID, IFCSURFACECURVESWEPTAREASOLID, IFCREVOLVEDAREASOLID, IFCEXTRUDEDAREASOLID, IFCSWEPTAREASOLID, IFCSOLIDMODEL, IFCSHELLBASEDSURFACEMODEL, IFCSECTIONEDSPINE, IFCCARTESIANPOINT, IFCPOINTONSURFACE, IFCPOINTONCURVE, IFCPOINT, IFCPLANARBOX, IFCPLANAREXTENT, IFCAXIS2PLACEMENT3D, IFCAXIS2PLACEMENT2D, IFCAXIS1PLACEMENT, IFCPLACEMENT, IFCTWODIRECTIONREPEATFACTOR, IFCONEDIRECTIONREPEATFACTOR, IFCLIGHTSOURCESPOT, IFCLIGHTSOURCEPOSITIONAL, IFCLIGHTSOURCEGONIOMETRIC, IFCLIGHTSOURCEDIRECTIONAL, IFCLIGHTSOURCEAMBIENT, IFCLIGHTSOURCE, IFCBOXEDHALFSPACE, IFCPOLYGONALBOUNDEDHALFSPACE, IFCHALFSPACESOLID, IFCGEOMETRICCURVESET, IFCGEOMETRICSET, IFCGEOMETRICREPRESENTATIONITEM, IFCPATH, IFCEDGELOOP, IFCVERTEXLOOP, IFCPOLYLOOP, IFCLOOP, IFCFACEOUTERBOUND, IFCFACEBOUND, IFCFACESURFACE, IFCFACE, IFCSUBEDGE, IFCORIENTEDEDGE, IFCEDGECURVE, IFCEDGE, IFCCLOSEDSHELL, IFCOPENSHELL, IFCCONNECTEDFACESET, IFCVERTEXPOINT, IFCVERTEX, IFCTOPOLOGICALREPRESENTATIONITEM, IFCANNOTATIONFILLAREAOCCURRENCE, IFCPROJECTIONCURVE, IFCDIMENSIONCURVE, IFCANNOTATIONCURVEOCCURRENCE, IFCANNOTATIONTEXTOCCURRENCE, IFCDIMENSIONCURVETERMINATOR, IFCTERMINATORSYMBOL, IFCANNOTATIONSYMBOLOCCURRENCE, IFCANNOTATIONSURFACEOCCURRENCE, IFCANNOTATIONOCCURRENCE, IFCSTYLEDITEM],
    2341007311: [IFCRELDEFINESBYTYPE, IFCRELOVERRIDESPROPERTIES, IFCRELDEFINESBYPROPERTIES, IFCRELDEFINES, IFCRELAGGREGATES, IFCRELNESTS, IFCRELDECOMPOSES, IFCRELVOIDSELEMENT, IFCRELSPACEBOUNDARY, IFCRELSERVICESBUILDINGS, IFCRELSEQUENCE, IFCRELREFERENCEDINSPATIALSTRUCTURE, IFCRELPROJECTSELEMENT, IFCRELINTERACTIONREQUIREMENTS, IFCRELFLOWCONTROLELEMENTS, IFCRELFILLSELEMENT, IFCRELCOVERSSPACES, IFCRELCOVERSBLDGELEMENTS, IFCRELCONTAINEDINSPATIALSTRUCTURE, IFCRELCONNECTSWITHECCENTRICITY, IFCRELCONNECTSSTRUCTURALMEMBER, IFCRELCONNECTSSTRUCTURALELEMENT, IFCRELCONNECTSSTRUCTURALACTIVITY, IFCRELCONNECTSPORTS, IFCRELCONNECTSPORTTOELEMENT, IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS, IFCRELCONNECTSELEMENTS, IFCRELCONNECTS, IFCRELASSOCIATESPROFILEPROPERTIES, IFCRELASSOCIATESMATERIAL, IFCRELASSOCIATESLIBRARY, IFCRELASSOCIATESDOCUMENT, IFCRELASSOCIATESCONSTRAINT, IFCRELASSOCIATESCLASSIFICATION, IFCRELASSOCIATESAPPROVAL, IFCRELASSOCIATESAPPLIEDVALUE, IFCRELASSOCIATES, IFCRELASSIGNSTORESOURCE, IFCRELASSIGNSTOPRODUCT, IFCRELASSIGNSTOPROCESS, IFCRELASSIGNSTOGROUP, IFCRELASSIGNSTASKS, IFCRELSCHEDULESCOSTITEMS, IFCRELASSIGNSTOPROJECTORDER, IFCRELASSIGNSTOCONTROL, IFCRELOCCUPIESSPACES, IFCRELASSIGNSTOACTOR, IFCRELASSIGNS, IFCRELATIONSHIP, IFCPROPERTYSET, IFCPERMEABLECOVERINGPROPERTIES, IFCFLUIDFLOWPROPERTIES, IFCELECTRICALBASEPROPERTIES, IFCENERGYPROPERTIES, IFCELEMENTQUANTITY, IFCDOORPANELPROPERTIES, IFCDOORLININGPROPERTIES, IFCWINDOWPANELPROPERTIES, IFCWINDOWLININGPROPERTIES, IFCSPACETHERMALLOADPROPERTIES, IFCSOUNDVALUE, IFCSOUNDPROPERTIES, IFCSERVICELIFEFACTOR, IFCREINFORCEMENTDEFINITIONPROPERTIES, IFCPROPERTYSETDEFINITION, IFCPROPERTYDEFINITION, IFCCONDITION, IFCASSET, IFCZONE, IFCSTRUCTURALANALYSISMODEL, IFCELECTRICALCIRCUIT, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADGROUP, IFCINVENTORY, IFCGROUP, IFCCONDITIONCRITERION, IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCTIMESERIESSCHEDULE, IFCSPACEPROGRAM, IFCSERVICELIFE, IFCSCHEDULETIMECONTROL, IFCPROJECTORDERRECORD, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCFURNITURESTANDARD, IFCEQUIPMENTSTANDARD, IFCCOSTSCHEDULE, IFCCOSTITEM, IFCCONTROL, IFCOCCUPANT, IFCACTOR, IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE, IFCRESOURCE, IFCPROJECT, IFCDISTRIBUTIONPORT, IFCPORT, IFCGRID, IFCELECTRICALELEMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFLOWTREATMENTDEVICE, IFCFLOWTERMINAL, IFCFLOWSTORAGEDEVICE, IFCFLOWSEGMENT, IFCFLOWMOVINGDEVICE, IFCFLOWFITTING, IFCELECTRICDISTRIBUTIONPOINT, IFCFLOWCONTROLLER, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATE, IFCPILE, IFCMEMBER, IFCFOOTING, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMN, IFCBUILDINGELEMENTPROXY, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCBUILDINGELEMENTPART, IFCBUILDINGELEMENTCOMPONENT, IFCBUILDINGELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCFURNISHINGELEMENT, IFCCHAMFEREDGEFEATURE, IFCROUNDEDEDGEFEATURE, IFCEDGEFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCEQUIPMENTELEMENT, IFCDISCRETEACCESSORY, IFCMECHANICALFASTENER, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALPLANARACTIONVARYING, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALLINEARACTIONVARYING, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCSPACE, IFCSITE, IFCBUILDINGSTOREY, IFCBUILDING, IFCSPATIALSTRUCTUREELEMENT, IFCPROXY, IFCPRODUCT, IFCPROCEDURE, IFCORDERACTION, IFCMOVE, IFCTASK, IFCPROCESS, IFCOBJECT, IFCVIBRATIONISOLATORTYPE, IFCDISCRETEACCESSORYTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCSENSORTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICHEATERTYPE, IFCELECTRICAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCGASTERMINALTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSPACEHEATERTYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWALLTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCMEMBERTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE, IFCBUILDINGELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE, IFCDOORSTYLE, IFCWINDOWSTYLE, IFCTYPEPRODUCT, IFCTYPEOBJECT, IFCOBJECTDEFINITION],
    3982875396: [IFCTOPOLOGYREPRESENTATION, IFCSHAPEREPRESENTATION],
    3692461612: [IFCPROPERTYTABLEVALUE, IFCPROPERTYSINGLEVALUE, IFCPROPERTYREFERENCEVALUE, IFCPROPERTYLISTVALUE, IFCPROPERTYENUMERATEDVALUE, IFCPROPERTYBOUNDEDVALUE],
    2273995522: [IFCSLIPPAGECONNECTIONCONDITION, IFCFAILURECONNECTIONCONDITION],
    2162789131: [IFCSTRUCTURALLOADSINGLEFORCEWARPING, IFCSTRUCTURALLOADSINGLEFORCE, IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION, IFCSTRUCTURALLOADSINGLEDISPLACEMENT, IFCSTRUCTURALLOADPLANARFORCE, IFCSTRUCTURALLOADLINEARFORCE, IFCSTRUCTURALLOADTEMPERATURE, IFCSTRUCTURALLOADSTATIC],
    2525727697: [IFCSTRUCTURALLOADSINGLEFORCEWARPING, IFCSTRUCTURALLOADSINGLEFORCE, IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION, IFCSTRUCTURALLOADSINGLEDISPLACEMENT, IFCSTRUCTURALLOADPLANARFORCE, IFCSTRUCTURALLOADLINEARFORCE, IFCSTRUCTURALLOADTEMPERATURE],
    2830218821: [IFCSTYLEDREPRESENTATION],
    3958052878: [IFCANNOTATIONFILLAREAOCCURRENCE, IFCPROJECTIONCURVE, IFCDIMENSIONCURVE, IFCANNOTATIONCURVEOCCURRENCE, IFCANNOTATIONTEXTOCCURRENCE, IFCDIMENSIONCURVETERMINATOR, IFCTERMINATORSYMBOL, IFCANNOTATIONSYMBOLOCCURRENCE, IFCANNOTATIONSURFACEOCCURRENCE, IFCANNOTATIONOCCURRENCE],
    846575682: [IFCSURFACESTYLERENDERING],
    626085974: [IFCPIXELTEXTURE, IFCIMAGETEXTURE, IFCBLOBTEXTURE],
    280115917: [IFCTEXTUREMAP, IFCTEXTURECOORDINATEGENERATOR],
    3101149627: [IFCREGULARTIMESERIES, IFCIRREGULARTIMESERIES],
    1377556343: [IFCPATH, IFCEDGELOOP, IFCVERTEXLOOP, IFCPOLYLOOP, IFCLOOP, IFCFACEOUTERBOUND, IFCFACEBOUND, IFCFACESURFACE, IFCFACE, IFCSUBEDGE, IFCORIENTEDEDGE, IFCEDGECURVE, IFCEDGE, IFCCLOSEDSHELL, IFCOPENSHELL, IFCCONNECTEDFACESET, IFCVERTEXPOINT, IFCVERTEX],
    2799835756: [IFCVERTEXPOINT],
    2442683028: [IFCANNOTATIONFILLAREAOCCURRENCE, IFCPROJECTIONCURVE, IFCDIMENSIONCURVE, IFCANNOTATIONCURVEOCCURRENCE, IFCANNOTATIONTEXTOCCURRENCE, IFCDIMENSIONCURVETERMINATOR, IFCTERMINATORSYMBOL, IFCANNOTATIONSYMBOLOCCURRENCE, IFCANNOTATIONSURFACEOCCURRENCE],
    3612888222: [IFCDIMENSIONCURVETERMINATOR, IFCTERMINATORSYMBOL],
    3798115385: [IFCARBITRARYPROFILEDEFWITHVOIDS],
    1310608509: [IFCCENTERLINEPROFILEDEF],
    370225590: [IFCCLOSEDSHELL, IFCOPENSHELL],
    3900360178: [IFCSUBEDGE, IFCORIENTEDEDGE, IFCEDGECURVE],
    2556980723: [IFCFACESURFACE],
    1809719519: [IFCFACEOUTERBOUND],
    1446786286: [IFCSTRUCTURALSTEELPROFILEPROPERTIES, IFCSTRUCTURALPROFILEPROPERTIES],
    3448662350: [IFCGEOMETRICREPRESENTATIONSUBCONTEXT],
    2453401579: [IFCFILLAREASTYLETILES, IFCFILLAREASTYLETILESYMBOLWITHSTYLE, IFCFILLAREASTYLEHATCHING, IFCFACEBASEDSURFACEMODEL, IFCDIAMETERDIMENSION, IFCANGULARDIMENSION, IFCRADIUSDIMENSION, IFCLINEARDIMENSION, IFCDIMENSIONCURVEDIRECTEDCALLOUT, IFCSTRUCTUREDDIMENSIONCALLOUT, IFCDRAUGHTINGCALLOUT, IFCDIRECTION, IFCDEFINEDSYMBOL, IFCCIRCLE, IFCELLIPSE, IFCCONIC, IFCRATIONALBEZIERCURVE, IFCBEZIERCURVE, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFC2DCOMPOSITECURVE, IFCCOMPOSITECURVE, IFCBOUNDEDCURVE, IFCOFFSETCURVE3D, IFCOFFSETCURVE2D, IFCLINE, IFCCURVE, IFCBLOCK, IFCSPHERE, IFCRIGHTCIRCULARCYLINDER, IFCRIGHTCIRCULARCONE, IFCRECTANGULARPYRAMID, IFCCSGPRIMITIVE3D, IFCCOMPOSITECURVESEGMENT, IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR3D, IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR2D, IFCCARTESIANTRANSFORMATIONOPERATOR, IFCBOUNDINGBOX, IFCBOOLEANCLIPPINGRESULT, IFCBOOLEANRESULT, IFCANNOTATIONSURFACE, IFCANNOTATIONFILLAREA, IFCVECTOR, IFCTEXTLITERALWITHEXTENT, IFCTEXTLITERAL, IFCPLANE, IFCELEMENTARYSURFACE, IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDPLANE, IFCBOUNDEDSURFACE, IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION, IFCSWEPTSURFACE, IFCSURFACE, IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP, IFCMANIFOLDSOLIDBREP, IFCCSGSOLID, IFCSWEPTDISKSOLID, IFCSURFACECURVESWEPTAREASOLID, IFCREVOLVEDAREASOLID, IFCEXTRUDEDAREASOLID, IFCSWEPTAREASOLID, IFCSOLIDMODEL, IFCSHELLBASEDSURFACEMODEL, IFCSECTIONEDSPINE, IFCCARTESIANPOINT, IFCPOINTONSURFACE, IFCPOINTONCURVE, IFCPOINT, IFCPLANARBOX, IFCPLANAREXTENT, IFCAXIS2PLACEMENT3D, IFCAXIS2PLACEMENT2D, IFCAXIS1PLACEMENT, IFCPLACEMENT, IFCTWODIRECTIONREPEATFACTOR, IFCONEDIRECTIONREPEATFACTOR, IFCLIGHTSOURCESPOT, IFCLIGHTSOURCEPOSITIONAL, IFCLIGHTSOURCEGONIOMETRIC, IFCLIGHTSOURCEDIRECTIONAL, IFCLIGHTSOURCEAMBIENT, IFCLIGHTSOURCE, IFCBOXEDHALFSPACE, IFCPOLYGONALBOUNDEDHALFSPACE, IFCHALFSPACESOLID, IFCGEOMETRICCURVESET, IFCGEOMETRICSET],
    3590301190: [IFCGEOMETRICCURVESET],
    812098782: [IFCBOXEDHALFSPACE, IFCPOLYGONALBOUNDEDHALFSPACE],
    1402838566: [IFCLIGHTSOURCESPOT, IFCLIGHTSOURCEPOSITIONAL, IFCLIGHTSOURCEGONIOMETRIC, IFCLIGHTSOURCEDIRECTIONAL, IFCLIGHTSOURCEAMBIENT],
    1520743889: [IFCLIGHTSOURCESPOT],
    1008929658: [IFCEDGELOOP, IFCVERTEXLOOP, IFCPOLYLOOP],
    219451334: [IFCCONDITION, IFCASSET, IFCZONE, IFCSTRUCTURALANALYSISMODEL, IFCELECTRICALCIRCUIT, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADGROUP, IFCINVENTORY, IFCGROUP, IFCCONDITIONCRITERION, IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCTIMESERIESSCHEDULE, IFCSPACEPROGRAM, IFCSERVICELIFE, IFCSCHEDULETIMECONTROL, IFCPROJECTORDERRECORD, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCFURNITURESTANDARD, IFCEQUIPMENTSTANDARD, IFCCOSTSCHEDULE, IFCCOSTITEM, IFCCONTROL, IFCOCCUPANT, IFCACTOR, IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE, IFCRESOURCE, IFCPROJECT, IFCDISTRIBUTIONPORT, IFCPORT, IFCGRID, IFCELECTRICALELEMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFLOWTREATMENTDEVICE, IFCFLOWTERMINAL, IFCFLOWSTORAGEDEVICE, IFCFLOWSEGMENT, IFCFLOWMOVINGDEVICE, IFCFLOWFITTING, IFCELECTRICDISTRIBUTIONPOINT, IFCFLOWCONTROLLER, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATE, IFCPILE, IFCMEMBER, IFCFOOTING, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMN, IFCBUILDINGELEMENTPROXY, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCBUILDINGELEMENTPART, IFCBUILDINGELEMENTCOMPONENT, IFCBUILDINGELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCFURNISHINGELEMENT, IFCCHAMFEREDGEFEATURE, IFCROUNDEDEDGEFEATURE, IFCEDGEFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCEQUIPMENTELEMENT, IFCDISCRETEACCESSORY, IFCMECHANICALFASTENER, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALPLANARACTIONVARYING, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALLINEARACTIONVARYING, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCSPACE, IFCSITE, IFCBUILDINGSTOREY, IFCBUILDING, IFCSPATIALSTRUCTUREELEMENT, IFCPROXY, IFCPRODUCT, IFCPROCEDURE, IFCORDERACTION, IFCMOVE, IFCTASK, IFCPROCESS, IFCOBJECT, IFCVIBRATIONISOLATORTYPE, IFCDISCRETEACCESSORYTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCSENSORTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICHEATERTYPE, IFCELECTRICAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCGASTERMINALTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSPACEHEATERTYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWALLTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCMEMBERTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE, IFCBUILDINGELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE, IFCDOORSTYLE, IFCWINDOWSTYLE, IFCTYPEPRODUCT, IFCTYPEOBJECT],
    2833995503: [IFCTWODIRECTIONREPEATFACTOR],
    2529465313: [IFCLSHAPEPROFILEDEF, IFCASYMMETRICISHAPEPROFILEDEF, IFCISHAPEPROFILEDEF, IFCELLIPSEPROFILEDEF, IFCCRANERAILFSHAPEPROFILEDEF, IFCCRANERAILASHAPEPROFILEDEF, IFCCIRCLEHOLLOWPROFILEDEF, IFCCIRCLEPROFILEDEF, IFCCSHAPEPROFILEDEF, IFCZSHAPEPROFILEDEF, IFCUSHAPEPROFILEDEF, IFCTRAPEZIUMPROFILEDEF, IFCTSHAPEPROFILEDEF, IFCRECTANGLEHOLLOWPROFILEDEF, IFCROUNDEDRECTANGLEPROFILEDEF, IFCRECTANGLEPROFILEDEF],
    2004835150: [IFCAXIS2PLACEMENT3D, IFCAXIS2PLACEMENT2D, IFCAXIS1PLACEMENT],
    1663979128: [IFCPLANARBOX],
    2067069095: [IFCCARTESIANPOINT, IFCPOINTONSURFACE, IFCPOINTONCURVE],
    759155922: [IFCDRAUGHTINGPREDEFINEDCOLOUR],
    2559016684: [IFCDRAUGHTINGPREDEFINEDCURVEFONT],
    1680319473: [IFCPROPERTYSET, IFCPERMEABLECOVERINGPROPERTIES, IFCFLUIDFLOWPROPERTIES, IFCELECTRICALBASEPROPERTIES, IFCENERGYPROPERTIES, IFCELEMENTQUANTITY, IFCDOORPANELPROPERTIES, IFCDOORLININGPROPERTIES, IFCWINDOWPANELPROPERTIES, IFCWINDOWLININGPROPERTIES, IFCSPACETHERMALLOADPROPERTIES, IFCSOUNDVALUE, IFCSOUNDPROPERTIES, IFCSERVICELIFEFACTOR, IFCREINFORCEMENTDEFINITIONPROPERTIES, IFCPROPERTYSETDEFINITION],
    3357820518: [IFCPROPERTYSET, IFCPERMEABLECOVERINGPROPERTIES, IFCFLUIDFLOWPROPERTIES, IFCELECTRICALBASEPROPERTIES, IFCENERGYPROPERTIES, IFCELEMENTQUANTITY, IFCDOORPANELPROPERTIES, IFCDOORLININGPROPERTIES, IFCWINDOWPANELPROPERTIES, IFCWINDOWLININGPROPERTIES, IFCSPACETHERMALLOADPROPERTIES, IFCSOUNDVALUE, IFCSOUNDPROPERTIES, IFCSERVICELIFEFACTOR, IFCREINFORCEMENTDEFINITIONPROPERTIES],
    3615266464: [IFCRECTANGLEHOLLOWPROFILEDEF, IFCROUNDEDRECTANGLEPROFILEDEF],
    478536968: [IFCRELDEFINESBYTYPE, IFCRELOVERRIDESPROPERTIES, IFCRELDEFINESBYPROPERTIES, IFCRELDEFINES, IFCRELAGGREGATES, IFCRELNESTS, IFCRELDECOMPOSES, IFCRELVOIDSELEMENT, IFCRELSPACEBOUNDARY, IFCRELSERVICESBUILDINGS, IFCRELSEQUENCE, IFCRELREFERENCEDINSPATIALSTRUCTURE, IFCRELPROJECTSELEMENT, IFCRELINTERACTIONREQUIREMENTS, IFCRELFLOWCONTROLELEMENTS, IFCRELFILLSELEMENT, IFCRELCOVERSSPACES, IFCRELCOVERSBLDGELEMENTS, IFCRELCONTAINEDINSPATIALSTRUCTURE, IFCRELCONNECTSWITHECCENTRICITY, IFCRELCONNECTSSTRUCTURALMEMBER, IFCRELCONNECTSSTRUCTURALELEMENT, IFCRELCONNECTSSTRUCTURALACTIVITY, IFCRELCONNECTSPORTS, IFCRELCONNECTSPORTTOELEMENT, IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS, IFCRELCONNECTSELEMENTS, IFCRELCONNECTS, IFCRELASSOCIATESPROFILEPROPERTIES, IFCRELASSOCIATESMATERIAL, IFCRELASSOCIATESLIBRARY, IFCRELASSOCIATESDOCUMENT, IFCRELASSOCIATESCONSTRAINT, IFCRELASSOCIATESCLASSIFICATION, IFCRELASSOCIATESAPPROVAL, IFCRELASSOCIATESAPPLIEDVALUE, IFCRELASSOCIATES, IFCRELASSIGNSTORESOURCE, IFCRELASSIGNSTOPRODUCT, IFCRELASSIGNSTOPROCESS, IFCRELASSIGNSTOGROUP, IFCRELASSIGNSTASKS, IFCRELSCHEDULESCOSTITEMS, IFCRELASSIGNSTOPROJECTORDER, IFCRELASSIGNSTOCONTROL, IFCRELOCCUPIESSPACES, IFCRELASSIGNSTOACTOR, IFCRELASSIGNS],
    723233188: [IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP, IFCMANIFOLDSOLIDBREP, IFCCSGSOLID, IFCSWEPTDISKSOLID, IFCSURFACECURVESWEPTAREASOLID, IFCREVOLVEDAREASOLID, IFCEXTRUDEDAREASOLID, IFCSWEPTAREASOLID],
    2473145415: [IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION],
    1597423693: [IFCSTRUCTURALLOADSINGLEFORCEWARPING],
    3843319758: [IFCSTRUCTURALSTEELPROFILEPROPERTIES],
    2513912981: [IFCPLANE, IFCELEMENTARYSURFACE, IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDPLANE, IFCBOUNDEDSURFACE, IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION, IFCSWEPTSURFACE],
    2247615214: [IFCSURFACECURVESWEPTAREASOLID, IFCREVOLVEDAREASOLID, IFCEXTRUDEDAREASOLID],
    230924584: [IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION],
    3028897424: [IFCDIMENSIONCURVETERMINATOR],
    4282788508: [IFCTEXTLITERALWITHEXTENT],
    1628702193: [IFCVIBRATIONISOLATORTYPE, IFCDISCRETEACCESSORYTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCSENSORTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICHEATERTYPE, IFCELECTRICAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCGASTERMINALTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSPACEHEATERTYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWALLTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCMEMBERTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE, IFCBUILDINGELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE, IFCDOORSTYLE, IFCWINDOWSTYLE, IFCTYPEPRODUCT],
    2347495698: [IFCVIBRATIONISOLATORTYPE, IFCDISCRETEACCESSORYTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCSENSORTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICHEATERTYPE, IFCELECTRICAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCGASTERMINALTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSPACEHEATERTYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWALLTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCMEMBERTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE, IFCBUILDINGELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE, IFCDOORSTYLE, IFCWINDOWSTYLE],
    3288037868: [IFCPROJECTIONCURVE, IFCDIMENSIONCURVE],
    2736907675: [IFCBOOLEANCLIPPINGRESULT],
    4182860854: [IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDPLANE],
    59481748: [IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR3D, IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR2D],
    3749851601: [IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM],
    3331915920: [IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM],
    1383045692: [IFCCIRCLEHOLLOWPROFILEDEF],
    2506170314: [IFCBLOCK, IFCSPHERE, IFCRIGHTCIRCULARCYLINDER, IFCRIGHTCIRCULARCONE, IFCRECTANGULARPYRAMID],
    2601014836: [IFCCIRCLE, IFCELLIPSE, IFCCONIC, IFCRATIONALBEZIERCURVE, IFCBEZIERCURVE, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFC2DCOMPOSITECURVE, IFCCOMPOSITECURVE, IFCBOUNDEDCURVE, IFCOFFSETCURVE3D, IFCOFFSETCURVE2D, IFCLINE],
    3073041342: [IFCDIAMETERDIMENSION, IFCANGULARDIMENSION, IFCRADIUSDIMENSION, IFCLINEARDIMENSION, IFCDIMENSIONCURVEDIRECTEDCALLOUT, IFCSTRUCTUREDDIMENSIONCALLOUT],
    339256511: [IFCVIBRATIONISOLATORTYPE, IFCDISCRETEACCESSORYTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCSENSORTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICHEATERTYPE, IFCELECTRICAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCGASTERMINALTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSPACEHEATERTYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWALLTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCMEMBERTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE, IFCBUILDINGELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE],
    2777663545: [IFCPLANE],
    80994333: [IFCELECTRICALBASEPROPERTIES],
    4238390223: [IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE],
    1484403080: [IFCASYMMETRICISHAPEPROFILEDEF],
    1425443689: [IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP],
    3888040117: [IFCCONDITION, IFCASSET, IFCZONE, IFCSTRUCTURALANALYSISMODEL, IFCELECTRICALCIRCUIT, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADGROUP, IFCINVENTORY, IFCGROUP, IFCCONDITIONCRITERION, IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCTIMESERIESSCHEDULE, IFCSPACEPROGRAM, IFCSERVICELIFE, IFCSCHEDULETIMECONTROL, IFCPROJECTORDERRECORD, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCFURNITURESTANDARD, IFCEQUIPMENTSTANDARD, IFCCOSTSCHEDULE, IFCCOSTITEM, IFCCONTROL, IFCOCCUPANT, IFCACTOR, IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE, IFCRESOURCE, IFCPROJECT, IFCDISTRIBUTIONPORT, IFCPORT, IFCGRID, IFCELECTRICALELEMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFLOWTREATMENTDEVICE, IFCFLOWTERMINAL, IFCFLOWSTORAGEDEVICE, IFCFLOWSEGMENT, IFCFLOWMOVINGDEVICE, IFCFLOWFITTING, IFCELECTRICDISTRIBUTIONPOINT, IFCFLOWCONTROLLER, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATE, IFCPILE, IFCMEMBER, IFCFOOTING, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMN, IFCBUILDINGELEMENTPROXY, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCBUILDINGELEMENTPART, IFCBUILDINGELEMENTCOMPONENT, IFCBUILDINGELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCFURNISHINGELEMENT, IFCCHAMFEREDGEFEATURE, IFCROUNDEDEDGEFEATURE, IFCEDGEFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCEQUIPMENTELEMENT, IFCDISCRETEACCESSORY, IFCMECHANICALFASTENER, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALPLANARACTIONVARYING, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALLINEARACTIONVARYING, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCSPACE, IFCSITE, IFCBUILDINGSTOREY, IFCBUILDING, IFCSPATIALSTRUCTUREELEMENT, IFCPROXY, IFCPRODUCT, IFCPROCEDURE, IFCORDERACTION, IFCMOVE, IFCTASK, IFCPROCESS],
    2945172077: [IFCPROCEDURE, IFCORDERACTION, IFCMOVE, IFCTASK],
    4208778838: [IFCDISTRIBUTIONPORT, IFCPORT, IFCGRID, IFCELECTRICALELEMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFLOWTREATMENTDEVICE, IFCFLOWTERMINAL, IFCFLOWSTORAGEDEVICE, IFCFLOWSEGMENT, IFCFLOWMOVINGDEVICE, IFCFLOWFITTING, IFCELECTRICDISTRIBUTIONPOINT, IFCFLOWCONTROLLER, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATE, IFCPILE, IFCMEMBER, IFCFOOTING, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMN, IFCBUILDINGELEMENTPROXY, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCBUILDINGELEMENTPART, IFCBUILDINGELEMENTCOMPONENT, IFCBUILDINGELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCFURNISHINGELEMENT, IFCCHAMFEREDGEFEATURE, IFCROUNDEDEDGEFEATURE, IFCEDGEFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCEQUIPMENTELEMENT, IFCDISCRETEACCESSORY, IFCMECHANICALFASTENER, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALPLANARACTIONVARYING, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALLINEARACTIONVARYING, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCSPACE, IFCSITE, IFCBUILDINGSTOREY, IFCBUILDING, IFCSPATIALSTRUCTUREELEMENT, IFCPROXY],
    3939117080: [IFCRELASSIGNSTORESOURCE, IFCRELASSIGNSTOPRODUCT, IFCRELASSIGNSTOPROCESS, IFCRELASSIGNSTOGROUP, IFCRELASSIGNSTASKS, IFCRELSCHEDULESCOSTITEMS, IFCRELASSIGNSTOPROJECTORDER, IFCRELASSIGNSTOCONTROL, IFCRELOCCUPIESSPACES, IFCRELASSIGNSTOACTOR],
    1683148259: [IFCRELOCCUPIESSPACES],
    2495723537: [IFCRELASSIGNSTASKS, IFCRELSCHEDULESCOSTITEMS, IFCRELASSIGNSTOPROJECTORDER],
    1865459582: [IFCRELASSOCIATESPROFILEPROPERTIES, IFCRELASSOCIATESMATERIAL, IFCRELASSOCIATESLIBRARY, IFCRELASSOCIATESDOCUMENT, IFCRELASSOCIATESCONSTRAINT, IFCRELASSOCIATESCLASSIFICATION, IFCRELASSOCIATESAPPROVAL, IFCRELASSOCIATESAPPLIEDVALUE],
    826625072: [IFCRELVOIDSELEMENT, IFCRELSPACEBOUNDARY, IFCRELSERVICESBUILDINGS, IFCRELSEQUENCE, IFCRELREFERENCEDINSPATIALSTRUCTURE, IFCRELPROJECTSELEMENT, IFCRELINTERACTIONREQUIREMENTS, IFCRELFLOWCONTROLELEMENTS, IFCRELFILLSELEMENT, IFCRELCOVERSSPACES, IFCRELCOVERSBLDGELEMENTS, IFCRELCONTAINEDINSPATIALSTRUCTURE, IFCRELCONNECTSWITHECCENTRICITY, IFCRELCONNECTSSTRUCTURALMEMBER, IFCRELCONNECTSSTRUCTURALELEMENT, IFCRELCONNECTSSTRUCTURALACTIVITY, IFCRELCONNECTSPORTS, IFCRELCONNECTSPORTTOELEMENT, IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS, IFCRELCONNECTSELEMENTS],
    1204542856: [IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS],
    1638771189: [IFCRELCONNECTSWITHECCENTRICITY],
    2551354335: [IFCRELAGGREGATES, IFCRELNESTS],
    693640335: [IFCRELDEFINESBYTYPE, IFCRELOVERRIDESPROPERTIES, IFCRELDEFINESBYPROPERTIES],
    4186316022: [IFCRELOVERRIDESPROPERTIES],
    2914609552: [IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE],
    2706606064: [IFCSPACE, IFCSITE, IFCBUILDINGSTOREY, IFCBUILDING],
    3893378262: [IFCSPACETYPE],
    3544373492: [IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALPLANARACTIONVARYING, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALLINEARACTIONVARYING, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALREACTION],
    3136571912: [IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER],
    530289379: [IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER],
    3689010777: [IFCSTRUCTURALPOINTREACTION],
    3979015343: [IFCSTRUCTURALSURFACEMEMBERVARYING],
    3473067441: [IFCORDERACTION, IFCMOVE],
    2296667514: [IFCOCCUPANT],
    1260505505: [IFCRATIONALBEZIERCURVE, IFCBEZIERCURVE, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFC2DCOMPOSITECURVE, IFCCOMPOSITECURVE],
    1950629157: [IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWALLTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCMEMBERTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE],
    3732776249: [IFC2DCOMPOSITECURVE],
    2510884976: [IFCCIRCLE, IFCELLIPSE],
    2559216714: [IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE],
    3293443760: [IFCCONDITIONCRITERION, IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCTIMESERIESSCHEDULE, IFCSPACEPROGRAM, IFCSERVICELIFE, IFCSCHEDULETIMECONTROL, IFCPROJECTORDERRECORD, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCFURNITURESTANDARD, IFCEQUIPMENTSTANDARD, IFCCOSTSCHEDULE, IFCCOSTITEM],
    681481545: [IFCDIAMETERDIMENSION, IFCANGULARDIMENSION, IFCRADIUSDIMENSION, IFCLINEARDIMENSION],
    3256556792: [IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCSENSORTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICHEATERTYPE, IFCELECTRICAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCGASTERMINALTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSPACEHEATERTYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE],
    3849074793: [IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICHEATERTYPE, IFCELECTRICAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCGASTERMINALTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSPACEHEATERTYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENERGYCONVERSIONDEVICETYPE],
    1758889154: [IFCELECTRICALELEMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFLOWTREATMENTDEVICE, IFCFLOWTERMINAL, IFCFLOWSTORAGEDEVICE, IFCFLOWSEGMENT, IFCFLOWMOVINGDEVICE, IFCFLOWFITTING, IFCELECTRICDISTRIBUTIONPOINT, IFCFLOWCONTROLLER, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATE, IFCPILE, IFCMEMBER, IFCFOOTING, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMN, IFCBUILDINGELEMENTPROXY, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCBUILDINGELEMENTPART, IFCBUILDINGELEMENTCOMPONENT, IFCBUILDINGELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCFURNISHINGELEMENT, IFCCHAMFEREDGEFEATURE, IFCROUNDEDEDGEFEATURE, IFCEDGEFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCEQUIPMENTELEMENT, IFCDISCRETEACCESSORY, IFCMECHANICALFASTENER, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY],
    1623761950: [IFCDISCRETEACCESSORY, IFCMECHANICALFASTENER, IFCFASTENER],
    2590856083: [IFCVIBRATIONISOLATORTYPE, IFCDISCRETEACCESSORYTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE],
    2107101300: [IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSPACEHEATERTYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE],
    647756555: [IFCMECHANICALFASTENER],
    2489546625: [IFCMECHANICALFASTENERTYPE],
    2827207264: [IFCCHAMFEREDGEFEATURE, IFCROUNDEDEDGEFEATURE, IFCEDGEFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION],
    2143335405: [IFCPROJECTIONELEMENT],
    1287392070: [IFCCHAMFEREDGEFEATURE, IFCROUNDEDEDGEFEATURE, IFCEDGEFEATURE, IFCOPENINGELEMENT],
    3907093117: [IFCELECTRICTIMECONTROLTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE],
    3198132628: [IFCDUCTFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE],
    1482959167: [IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE],
    1834744321: [IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE],
    1339347760: [IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE],
    2297155007: [IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICHEATERTYPE, IFCELECTRICAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCGASTERMINALTYPE],
    3009222698: [IFCFILTERTYPE, IFCDUCTSILENCERTYPE],
    2706460486: [IFCCONDITION, IFCASSET, IFCZONE, IFCSTRUCTURALANALYSISMODEL, IFCELECTRICALCIRCUIT, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADGROUP, IFCINVENTORY],
    3740093272: [IFCDISTRIBUTIONPORT],
    682877961: [IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALPLANARACTIONVARYING, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALLINEARACTIONVARYING, IFCSTRUCTURALLINEARACTION],
    1179482911: [IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION],
    214636428: [IFCSTRUCTURALCURVEMEMBERVARYING],
    1807405624: [IFCSTRUCTURALLINEARACTIONVARYING],
    1621171031: [IFCSTRUCTURALPLANARACTIONVARYING],
    2254336722: [IFCSTRUCTURALANALYSISMODEL, IFCELECTRICALCIRCUIT],
    1028945134: [IFCWORKSCHEDULE, IFCWORKPLAN],
    1967976161: [IFCRATIONALBEZIERCURVE, IFCBEZIERCURVE],
    1916977116: [IFCRATIONALBEZIERCURVE],
    3299480353: [IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATE, IFCPILE, IFCMEMBER, IFCFOOTING, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMN, IFCBUILDINGELEMENTPROXY, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCBUILDINGELEMENTPART, IFCBUILDINGELEMENTCOMPONENT],
    52481810: [IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCBUILDINGELEMENTPART],
    2635815018: [IFCVIBRATIONISOLATORTYPE],
    2063403501: [IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCSENSORTYPE, IFCFLOWINSTRUMENTTYPE],
    1945004755: [IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFLOWTREATMENTDEVICE, IFCFLOWTERMINAL, IFCFLOWSTORAGEDEVICE, IFCFLOWSEGMENT, IFCFLOWMOVINGDEVICE, IFCFLOWFITTING, IFCELECTRICDISTRIBUTIONPOINT, IFCFLOWCONTROLLER, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT],
    3040386961: [IFCDISTRIBUTIONCHAMBERELEMENT, IFCFLOWTREATMENTDEVICE, IFCFLOWTERMINAL, IFCFLOWSTORAGEDEVICE, IFCFLOWSEGMENT, IFCFLOWMOVINGDEVICE, IFCFLOWFITTING, IFCELECTRICDISTRIBUTIONPOINT, IFCFLOWCONTROLLER, IFCENERGYCONVERSIONDEVICE],
    855621170: [IFCCHAMFEREDGEFEATURE, IFCROUNDEDEDGEFEATURE],
    2058353004: [IFCELECTRICDISTRIBUTIONPOINT],
    3027567501: [IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH],
    2391406946: [IFCWALLSTANDARDCASE]
  };
  InversePropertyDef[1] = {
    618182010: [["OfPerson", IFCPERSON, 7, true], ["OfOrganization", IFCORGANIZATION, 4, true]],
    411424972: [["ValuesReferenced", IFCREFERENCESVALUEDOCUMENT, 1, true], ["ValueOfComponents", IFCAPPLIEDVALUERELATIONSHIP, 0, true], ["IsComponentIn", IFCAPPLIEDVALUERELATIONSHIP, 1, true]],
    130549933: [["Actors", IFCAPPROVALACTORRELATIONSHIP, 1, true], ["IsRelatedWith", IFCAPPROVALRELATIONSHIP, 0, true], ["Relates", IFCAPPROVALRELATIONSHIP, 1, true]],
    747523909: [["Contains", IFCCLASSIFICATIONITEM, 1, true]],
    1767535486: [["IsClassifiedItemIn", IFCCLASSIFICATIONITEMRELATIONSHIP, 1, true], ["IsClassifyingItemIn", IFCCLASSIFICATIONITEMRELATIONSHIP, 0, true]],
    1959218052: [["ClassifiedAs", IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP, 0, true], ["RelatesConstraints", IFCCONSTRAINTRELATIONSHIP, 2, true], ["IsRelatedWith", IFCCONSTRAINTRELATIONSHIP, 3, true], ["PropertiesForConstraint", IFCPROPERTYCONSTRAINTRELATIONSHIP, 0, true], ["Aggregates", IFCCONSTRAINTAGGREGATIONRELATIONSHIP, 2, true], ["IsAggregatedIn", IFCCONSTRAINTAGGREGATIONRELATIONSHIP, 3, true]],
    602808272: [["ValuesReferenced", IFCREFERENCESVALUEDOCUMENT, 1, true], ["ValueOfComponents", IFCAPPLIEDVALUERELATIONSHIP, 0, true], ["IsComponentIn", IFCAPPLIEDVALUERELATIONSHIP, 1, true]],
    1154170062: [["IsPointedTo", IFCDOCUMENTINFORMATIONRELATIONSHIP, 1, true], ["IsPointer", IFCDOCUMENTINFORMATIONRELATIONSHIP, 0, true]],
    1648886627: [["ValuesReferenced", IFCREFERENCESVALUEDOCUMENT, 1, true], ["ValueOfComponents", IFCAPPLIEDVALUERELATIONSHIP, 0, true], ["IsComponentIn", IFCAPPLIEDVALUERELATIONSHIP, 1, true]],
    852622518: [["PartOfW", IFCGRID, 9, true], ["PartOfV", IFCGRID, 8, true], ["PartOfU", IFCGRID, 7, true], ["HasIntersections", IFCVIRTUALGRIDINTERSECTION, 0, true]],
    3452421091: [["ReferenceIntoLibrary", IFCLIBRARYINFORMATION, 4, true]],
    1838606355: [["HasRepresentation", IFCMATERIALDEFINITIONREPRESENTATION, 3, true], ["ClassifiedAs", IFCMATERIALCLASSIFICATIONRELATIONSHIP, 1, true]],
    248100487: [["ToMaterialLayerSet", IFCMATERIALLAYERSET, 0, false]],
    3368373690: [["ClassifiedAs", IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP, 0, true], ["RelatesConstraints", IFCCONSTRAINTRELATIONSHIP, 2, true], ["IsRelatedWith", IFCCONSTRAINTRELATIONSHIP, 3, true], ["PropertiesForConstraint", IFCPROPERTYCONSTRAINTRELATIONSHIP, 0, true], ["Aggregates", IFCCONSTRAINTAGGREGATIONRELATIONSHIP, 2, true], ["IsAggregatedIn", IFCCONSTRAINTAGGREGATIONRELATIONSHIP, 3, true]],
    3701648758: [["PlacesObject", IFCPRODUCT, 5, true], ["ReferencedByPlacements", IFCLOCALPLACEMENT, 0, true]],
    2251480897: [["ClassifiedAs", IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP, 0, true], ["RelatesConstraints", IFCCONSTRAINTRELATIONSHIP, 2, true], ["IsRelatedWith", IFCCONSTRAINTRELATIONSHIP, 3, true], ["PropertiesForConstraint", IFCPROPERTYCONSTRAINTRELATIONSHIP, 0, true], ["Aggregates", IFCCONSTRAINTAGGREGATIONRELATIONSHIP, 2, true], ["IsAggregatedIn", IFCCONSTRAINTAGGREGATIONRELATIONSHIP, 3, true]],
    4251960020: [["IsRelatedBy", IFCORGANIZATIONRELATIONSHIP, 3, true], ["Relates", IFCORGANIZATIONRELATIONSHIP, 2, true], ["Engages", IFCPERSONANDORGANIZATION, 1, true]],
    2077209135: [["EngagedIn", IFCPERSONANDORGANIZATION, 0, true]],
    2483315170: [["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    2226359599: [["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    3355820592: [["OfPerson", IFCPERSON, 7, true], ["OfOrganization", IFCORGANIZATION, 4, true]],
    2598011224: [["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 0, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 1, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true]],
    2044713172: [["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    2093928680: [["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    931644368: [["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    3252649465: [["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    2405470396: [["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    825690147: [["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    1076942058: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true]],
    3377609919: [["RepresentationsInContext", IFCREPRESENTATION, 0, true]],
    3008791417: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1660063152: [["MapUsage", IFCMAPPEDITEM, 0, true]],
    3982875396: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true], ["OfShapeAspect", IFCSHAPEASPECT, 0, true]],
    4240577450: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true], ["OfShapeAspect", IFCSHAPEASPECT, 0, true]],
    3692461612: [["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 0, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 1, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true]],
    2830218821: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true]],
    3958052878: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3049322572: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true]],
    531007025: [["OfTable", IFCTABLE, 1, false]],
    912023232: [["OfPerson", IFCPERSON, 7, true], ["OfOrganization", IFCORGANIZATION, 4, true]],
    280115917: [["AnnotatedSurface", IFCANNOTATIONSURFACE, 1, true]],
    1742049831: [["AnnotatedSurface", IFCANNOTATIONSURFACE, 1, true]],
    2552916305: [["AnnotatedSurface", IFCANNOTATIONSURFACE, 1, true]],
    3101149627: [["DocumentedBy", IFCTIMESERIESREFERENCERELATIONSHIP, 0, true]],
    1377556343: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1735638870: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true], ["OfShapeAspect", IFCSHAPEASPECT, 0, true]],
    2799835756: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1907098498: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2442683028: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    962685235: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3612888222: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2297822566: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2542286263: [["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 0, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 1, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true]],
    370225590: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3732053477: [["ReferenceToDocument", IFCDOCUMENTINFORMATION, 3, true]],
    3900360178: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    476780140: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2556980723: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1809719519: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    803316827: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3008276851: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3448662350: [["RepresentationsInContext", IFCREPRESENTATION, 0, true], ["HasSubContexts", IFCGEOMETRICREPRESENTATIONSUBCONTEXT, 6, true]],
    2453401579: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4142052618: [["RepresentationsInContext", IFCREPRESENTATION, 0, true], ["HasSubContexts", IFCGEOMETRICREPRESENTATIONSUBCONTEXT, 6, true]],
    3590301190: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    178086475: [["PlacesObject", IFCPRODUCT, 5, true], ["ReferencedByPlacements", IFCLOCALPLACEMENT, 0, true]],
    812098782: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3741457305: [["DocumentedBy", IFCTIMESERIESREFERENCERELATIONSHIP, 0, true]],
    1402838566: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    125510826: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2604431987: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4266656042: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1520743889: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3422422726: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2624227202: [["PlacesObject", IFCPRODUCT, 5, true], ["ReferencedByPlacements", IFCLOCALPLACEMENT, 0, true]],
    1008929658: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2347385850: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    219451334: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true]],
    2833995503: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2665983363: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1029017970: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2519244187: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3021840470: [["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    2004835150: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1663979128: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2067069095: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4022376103: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1423911732: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2924175390: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2775532180: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    673634403: [["ShapeOfProduct", IFCPRODUCT, 6, true], ["HasShapeAspects", IFCSHAPEASPECT, 4, true]],
    871118103: [["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 0, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 1, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true]],
    1680319473: [["HasAssociations", IFCRELASSOCIATES, 4, true]],
    4166981789: [["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 0, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 1, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true]],
    2752243245: [["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 0, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 1, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true]],
    941946838: [["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 0, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 1, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true]],
    3357820518: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]],
    3650150729: [["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 0, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 1, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true]],
    110355661: [["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 0, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 1, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true]],
    3413951693: [["DocumentedBy", IFCTIMESERIESREFERENCERELATIONSHIP, 0, true]],
    3765753017: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]],
    1509187699: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2411513650: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]],
    4124623270: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    723233188: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2485662743: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]],
    1202362311: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]],
    390701378: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]],
    2233826070: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2513912981: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2247615214: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1260650574: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    230924584: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3028897424: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4282788508: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3124975700: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1345879162: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1628702193: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    2347495698: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1417489154: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2759199220: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    336235671: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]],
    512836454: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]],
    1299126871: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3288037868: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    669184980: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2265737646: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1302238472: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4261334040: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3125803723: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2740243338: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2736907675: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4182860854: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2581212453: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2713105998: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1123145078: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    59481748: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3749851601: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3486308946: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3331915920: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1416205885: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2205249479: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2485617015: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["UsingCurves", IFCCOMPOSITECURVE, 0, true]],
    2506170314: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2147822146: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2601014836: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2827736869: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    693772133: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    606661476: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["AnnotatedBySymbols", IFCTERMINATORSYMBOL, 3, true]],
    4054601972: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    32440307: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2963535650: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]],
    1714330368: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]],
    526551008: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3073041342: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["IsRelatedFromCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 3, true], ["IsRelatedToCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 2, true]],
    1472233963: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1883228015: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]],
    339256511: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    2777663545: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    80994333: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]],
    477187591: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2047409740: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    374418227: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4203026998: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    315944413: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3455213021: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]],
    4238390223: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1268542332: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    987898635: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1281925730: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1425443689: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3888040117: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true]],
    3388369263: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3505215534: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3566463478: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]],
    603570806: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    220341763: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2945172077: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true]],
    4208778838: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    103090709: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true]],
    4194566429: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1451395588: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]],
    3219374653: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2798486643: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3454111270: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2914609552: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    1856042241: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4158566097: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3626867408: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2706606064: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true]],
    3893378262: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    451544542: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3544373492: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, false]],
    3136571912: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true]],
    530289379: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ReferencesElement", IFCRELCONNECTSSTRUCTURALELEMENT, 5, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]],
    3689010777: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, false], ["Causes", IFCSTRUCTURALACTION, 10, true]],
    3979015343: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ReferencesElement", IFCRELCONNECTSSTRUCTURALELEMENT, 5, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]],
    2218152070: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ReferencesElement", IFCRELCONNECTSSTRUCTURALELEMENT, 5, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]],
    4070609034: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["IsRelatedFromCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 3, true], ["IsRelatedToCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 2, true]],
    2028607225: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2809605785: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4124788165: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1580310250: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3473067441: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true]],
    2097647324: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    2296667514: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsActingUpon", IFCRELASSIGNSTOACTOR, 6, true]],
    1674181508: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    1334484129: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3649129432: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1260505505: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4031249490: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true]],
    1950629157: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3124254112: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true]],
    300633059: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3732776249: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2510884976: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2559216714: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    3293443760: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    3895139033: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    1419761937: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    1916426348: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3295246426: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    1457835157: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    681481545: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["IsRelatedFromCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 3, true], ["IsRelatedToCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 2, true]],
    3256556792: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3849074793: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    360485395: [["HasAssociations", IFCRELASSOCIATES, 4, true], ["PropertyDefinitionOf", IFCRELDEFINESBYPROPERTIES, 5, true], ["DefinesType", IFCTYPEOBJECT, 5, true]],
    1758889154: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    4123344466: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    1623761950: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    2590856083: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1704287377: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2107101300: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1962604670: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    3272907226: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    3174744832: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3390157468: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    807026263: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3737207727: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    647756555: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    2489546625: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    2827207264: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    2143335405: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["ProjectsElements", IFCRELPROJECTSELEMENT, 5, false]],
    1287392070: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false]],
    3907093117: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3198132628: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3815607619: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1482959167: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1834744321: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1339347760: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    2297155007: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3009222698: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    263784265: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    814719939: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    200128114: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3009204131: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    2706460486: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, false]],
    1251058090: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1806887404: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    2391368822: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, false]],
    4288270099: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3827777499: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    1051575348: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1161773419: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    2506943328: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["IsRelatedFromCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 3, true], ["IsRelatedToCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 2, true]],
    377706215: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    2108223431: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3181161470: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    977012517: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1916936684: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true]],
    4143007308: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsActingUpon", IFCRELASSIGNSTOACTOR, 6, true]],
    3588315303: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false], ["HasFillings", IFCRELFILLSELEMENT, 4, true]],
    3425660407: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true]],
    2837617999: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    2382730787: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    3327091369: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    804291784: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    4231323485: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    4017108033: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3724593414: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3740093272: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainedIn", IFCRELCONNECTSPORTTOELEMENT, 4, false], ["ConnectedFrom", IFCRELCONNECTSPORTS, 5, true], ["ConnectedTo", IFCRELCONNECTSPORTS, 4, true]],
    2744685151: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true]],
    2904328755: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    3642467123: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    3651124850: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["ProjectsElements", IFCRELPROJECTSELEMENT, 5, false]],
    1842657554: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    2250791053: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3248260540: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["IsRelatedFromCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 3, true], ["IsRelatedToCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 2, true]],
    2893384427: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    2324767716: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1768891740: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3517283431: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true], ["ScheduleTimeControlAssigned", IFCRELASSIGNSTASKS, 7, false]],
    4105383287: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    4097777520: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true]],
    2533589738: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3856911033: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["HasCoverings", IFCRELCOVERSSPACES, 4, true], ["BoundedBy", IFCRELSPACEBOUNDARY, 4, true]],
    1305183839: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    652456506: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true], ["HasInteractionReqsFrom", IFCRELINTERACTIONREQUIREMENTS, 7, true], ["HasInteractionReqsTo", IFCRELINTERACTIONREQUIREMENTS, 8, true]],
    3812236995: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3112655638: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1039846685: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    682877961: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, false]],
    1179482911: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]],
    4243806635: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]],
    214636428: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ReferencesElement", IFCRELCONNECTSSTRUCTURALELEMENT, 5, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]],
    2445595289: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ReferencesElement", IFCRELCONNECTSSTRUCTURALELEMENT, 5, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]],
    1807405624: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, false]],
    1721250024: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, false]],
    1252848954: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, false], ["SourceOfResultGroup", IFCSTRUCTURALRESULTGROUP, 6, true], ["LoadGroupFor", IFCSTRUCTURALANALYSISMODEL, 7, true]],
    1621171031: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, false]],
    3987759626: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, false]],
    2082059205: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, false]],
    734778138: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]],
    1235345126: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, false], ["Causes", IFCSTRUCTURALACTION, 10, true]],
    2986769608: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, false], ["ResultGroupFor", IFCSTRUCTURALANALYSISMODEL, 8, true]],
    1975003073: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]],
    148013059: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    2315554128: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    2254336722: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, false], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true]],
    5716631: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1637806684: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    1692211062: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1620046519: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    3593883385: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1600972822: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1911125066: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    728799441: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    2769231204: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    1898987631: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1133259667: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1028945134: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    4218914973: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    3342526732: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    1033361043: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, false]],
    1213861670: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3821786052: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    1411407467: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3352864051: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1871374353: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    2470393545: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["IsRelatedFromCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 3, true], ["IsRelatedToCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 2, true]],
    3460190687: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, false]],
    1967976161: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    819618141: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1916977116: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    231477066: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3299480353: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    52481810: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    2979338954: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    1095909175: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    1909888760: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    395041908: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3293546465: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1285652485: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    2951183804: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    2611217952: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2301859152: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    843113511: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    3850581409: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    2816379211: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    2188551683: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, false]],
    1163958913: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    3898045240: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    1060000209: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    488727124: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    335055490: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    2954562838: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1973544240: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["CoversSpaces", IFCRELCOVERSSPACES, 5, true], ["Covers", IFCRELCOVERSBLDGELEMENTS, 5, true]],
    3495092785: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    3961806047: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    4147604152: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["IsRelatedFromCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 3, true], ["IsRelatedToCallout", IFCDRAUGHTINGCALLOUTRELATIONSHIP, 2, true]],
    1335981549: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    2635815018: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1599208980: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    2063403501: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1945004755: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    3040386961: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3041715199: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainedIn", IFCRELCONNECTSPORTTOELEMENT, 4, false], ["ConnectedFrom", IFCRELCONNECTSPORTS, 5, true], ["ConnectedTo", IFCRELCONNECTSPORTS, 4, true]],
    395920057: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    869906466: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3760055223: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    2030761528: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    855621170: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false]],
    663422040: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3277789161: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1534661035: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1365060375: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1217240411: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    712377611: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1634875225: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, false], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true]],
    857184966: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    1658829314: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    346874300: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1810631287: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    4222183408: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    2058353004: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    4278956645: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    4037862832: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3132237377: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    987401354: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    707683696: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    2223149337: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3508470533: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    900683007: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    1073191201: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    1687234759: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    3171933400: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    2262370178: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    3024970846: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    3283111854: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    3055160366: [["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3027567501: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    2320036040: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    2016517767: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    1376911519: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false]],
    1783015770: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1529196076: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    331165859: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    4252922144: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    2515109513: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, false], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true]],
    3824725483: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    2347447852: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    3313531582: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    2391406946: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    3512223829: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    3304561284: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    2874132201: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    3001207471: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    753842376: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    2454782716: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false]],
    578613899: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["ObjectTypeOf", IFCRELDEFINESBYTYPE, 5, true]],
    1052013943: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1062813311: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]],
    3700593921: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    979691226: [["HasAssignments", IFCRELASSIGNS, 4, true], ["IsDecomposedBy", IFCRELDECOMPOSES, 4, true], ["Decomposes", IFCRELDECOMPOSES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["HasStructuralMember", IFCRELCONNECTSSTRUCTURALELEMENT, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]]
  };
  Constructors[1] = {
    3630933823: (a) => new IFC2X3.IfcActorRole(a[0], a[1], a[2]),
    618182010: (a) => new IFC2X3.IfcAddress(a[0], a[1], a[2]),
    639542469: (a) => new IFC2X3.IfcApplication(a[0], a[1], a[2], a[3]),
    411424972: (a) => new IFC2X3.IfcAppliedValue(a[0], a[1], a[2], a[3], a[4], a[5]),
    1110488051: (a) => new IFC2X3.IfcAppliedValueRelationship(a[0], a[1], a[2], a[3], a[4]),
    130549933: (a) => new IFC2X3.IfcApproval(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    2080292479: (a) => new IFC2X3.IfcApprovalActorRelationship(a[0], a[1], a[2]),
    390851274: (a) => new IFC2X3.IfcApprovalPropertyRelationship(a[0], a[1]),
    3869604511: (a) => new IFC2X3.IfcApprovalRelationship(a[0], a[1], a[2], a[3]),
    4037036970: (a) => new IFC2X3.IfcBoundaryCondition(a[0]),
    1560379544: (a) => new IFC2X3.IfcBoundaryEdgeCondition(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3367102660: (a) => new IFC2X3.IfcBoundaryFaceCondition(a[0], a[1], a[2], a[3]),
    1387855156: (a) => new IFC2X3.IfcBoundaryNodeCondition(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    2069777674: (a) => new IFC2X3.IfcBoundaryNodeConditionWarping(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    622194075: (a) => new IFC2X3.IfcCalendarDate(a[0], a[1], a[2]),
    747523909: (a) => new IFC2X3.IfcClassification(a[0], a[1], a[2], a[3]),
    1767535486: (a) => new IFC2X3.IfcClassificationItem(a[0], a[1], a[2]),
    1098599126: (a) => new IFC2X3.IfcClassificationItemRelationship(a[0], a[1]),
    938368621: (a) => new IFC2X3.IfcClassificationNotation(a[0]),
    3639012971: (a) => new IFC2X3.IfcClassificationNotationFacet(a[0]),
    3264961684: (a) => new IFC2X3.IfcColourSpecification(a[0]),
    2859738748: (_) => new IFC2X3.IfcConnectionGeometry(),
    2614616156: (a) => new IFC2X3.IfcConnectionPointGeometry(a[0], a[1]),
    4257277454: (a) => new IFC2X3.IfcConnectionPortGeometry(a[0], a[1], a[2]),
    2732653382: (a) => new IFC2X3.IfcConnectionSurfaceGeometry(a[0], a[1]),
    1959218052: (a) => new IFC2X3.IfcConstraint(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1658513725: (a) => new IFC2X3.IfcConstraintAggregationRelationship(a[0], a[1], a[2], a[3], a[4]),
    613356794: (a) => new IFC2X3.IfcConstraintClassificationRelationship(a[0], a[1]),
    347226245: (a) => new IFC2X3.IfcConstraintRelationship(a[0], a[1], a[2], a[3]),
    1065062679: (a) => new IFC2X3.IfcCoordinatedUniversalTimeOffset(a[0], a[1], a[2]),
    602808272: (a) => new IFC2X3.IfcCostValue(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    539742890: (a) => new IFC2X3.IfcCurrencyRelationship(a[0], a[1], a[2], a[3], a[4]),
    1105321065: (a) => new IFC2X3.IfcCurveStyleFont(a[0], a[1]),
    2367409068: (a) => new IFC2X3.IfcCurveStyleFontAndScaling(a[0], a[1], a[2]),
    3510044353: (a) => new IFC2X3.IfcCurveStyleFontPattern(a[0], a[1]),
    1072939445: (a) => new IFC2X3.IfcDateAndTime(a[0], a[1]),
    1765591967: (a) => new IFC2X3.IfcDerivedUnit(a[0], a[1], a[2]),
    1045800335: (a) => new IFC2X3.IfcDerivedUnitElement(a[0], a[1]),
    2949456006: (a) => new IFC2X3.IfcDimensionalExponents(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1376555844: (a) => new IFC2X3.IfcDocumentElectronicFormat(a[0], a[1], a[2]),
    1154170062: (a) => new IFC2X3.IfcDocumentInformation(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16]),
    770865208: (a) => new IFC2X3.IfcDocumentInformationRelationship(a[0], a[1], a[2]),
    3796139169: (a) => new IFC2X3.IfcDraughtingCalloutRelationship(a[0], a[1], a[2], a[3]),
    1648886627: (a) => new IFC2X3.IfcEnvironmentalImpactValue(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3200245327: (a) => new IFC2X3.IfcExternalReference(a[0], a[1], a[2]),
    2242383968: (a) => new IFC2X3.IfcExternallyDefinedHatchStyle(a[0], a[1], a[2]),
    1040185647: (a) => new IFC2X3.IfcExternallyDefinedSurfaceStyle(a[0], a[1], a[2]),
    3207319532: (a) => new IFC2X3.IfcExternallyDefinedSymbol(a[0], a[1], a[2]),
    3548104201: (a) => new IFC2X3.IfcExternallyDefinedTextFont(a[0], a[1], a[2]),
    852622518: (a) => new IFC2X3.IfcGridAxis(a[0], a[1], a[2]),
    3020489413: (a) => new IFC2X3.IfcIrregularTimeSeriesValue(a[0], a[1]),
    2655187982: (a) => new IFC2X3.IfcLibraryInformation(a[0], a[1], a[2], a[3], a[4]),
    3452421091: (a) => new IFC2X3.IfcLibraryReference(a[0], a[1], a[2]),
    4162380809: (a) => new IFC2X3.IfcLightDistributionData(a[0], a[1], a[2]),
    1566485204: (a) => new IFC2X3.IfcLightIntensityDistribution(a[0], a[1]),
    30780891: (a) => new IFC2X3.IfcLocalTime(a[0], a[1], a[2], a[3], a[4]),
    1838606355: (a) => new IFC2X3.IfcMaterial(a[0]),
    1847130766: (a) => new IFC2X3.IfcMaterialClassificationRelationship(a[0], a[1]),
    248100487: (a) => new IFC2X3.IfcMaterialLayer(a[0], a[1], a[2]),
    3303938423: (a) => new IFC2X3.IfcMaterialLayerSet(a[0], a[1]),
    1303795690: (a) => new IFC2X3.IfcMaterialLayerSetUsage(a[0], a[1], a[2], a[3]),
    2199411900: (a) => new IFC2X3.IfcMaterialList(a[0]),
    3265635763: (a) => new IFC2X3.IfcMaterialProperties(a[0]),
    2597039031: (a) => new IFC2X3.IfcMeasureWithUnit(a[0], a[1]),
    4256014907: (a) => new IFC2X3.IfcMechanicalMaterialProperties(a[0], a[1], a[2], a[3], a[4], a[5]),
    677618848: (a) => new IFC2X3.IfcMechanicalSteelMaterialProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    3368373690: (a) => new IFC2X3.IfcMetric(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2706619895: (a) => new IFC2X3.IfcMonetaryUnit(a[0]),
    1918398963: (a) => new IFC2X3.IfcNamedUnit(a[0], a[1]),
    3701648758: (_) => new IFC2X3.IfcObjectPlacement(),
    2251480897: (a) => new IFC2X3.IfcObjective(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    1227763645: (a) => new IFC2X3.IfcOpticalMaterialProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4251960020: (a) => new IFC2X3.IfcOrganization(a[0], a[1], a[2], a[3], a[4]),
    1411181986: (a) => new IFC2X3.IfcOrganizationRelationship(a[0], a[1], a[2], a[3]),
    1207048766: (a) => new IFC2X3.IfcOwnerHistory(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2077209135: (a) => new IFC2X3.IfcPerson(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    101040310: (a) => new IFC2X3.IfcPersonAndOrganization(a[0], a[1], a[2]),
    2483315170: (a) => new IFC2X3.IfcPhysicalQuantity(a[0], a[1]),
    2226359599: (a) => new IFC2X3.IfcPhysicalSimpleQuantity(a[0], a[1], a[2]),
    3355820592: (a) => new IFC2X3.IfcPostalAddress(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3727388367: (a) => new IFC2X3.IfcPreDefinedItem(a[0]),
    990879717: (a) => new IFC2X3.IfcPreDefinedSymbol(a[0]),
    3213052703: (a) => new IFC2X3.IfcPreDefinedTerminatorSymbol(a[0]),
    1775413392: (a) => new IFC2X3.IfcPreDefinedTextFont(a[0]),
    2022622350: (a) => new IFC2X3.IfcPresentationLayerAssignment(a[0], a[1], a[2], a[3]),
    1304840413: (a) => new IFC2X3.IfcPresentationLayerWithStyle(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3119450353: (a) => new IFC2X3.IfcPresentationStyle(a[0]),
    2417041796: (a) => new IFC2X3.IfcPresentationStyleAssignment(a[0]),
    2095639259: (a) => new IFC2X3.IfcProductRepresentation(a[0], a[1], a[2]),
    2267347899: (a) => new IFC2X3.IfcProductsOfCombustionProperties(a[0], a[1], a[2], a[3], a[4]),
    3958567839: (a) => new IFC2X3.IfcProfileDef(a[0], a[1]),
    2802850158: (a) => new IFC2X3.IfcProfileProperties(a[0], a[1]),
    2598011224: (a) => new IFC2X3.IfcProperty(a[0], a[1]),
    3896028662: (a) => new IFC2X3.IfcPropertyConstraintRelationship(a[0], a[1], a[2], a[3]),
    148025276: (a) => new IFC2X3.IfcPropertyDependencyRelationship(a[0], a[1], a[2], a[3], a[4]),
    3710013099: (a) => new IFC2X3.IfcPropertyEnumeration(a[0], a[1], a[2]),
    2044713172: (a) => new IFC2X3.IfcQuantityArea(a[0], a[1], a[2], a[3]),
    2093928680: (a) => new IFC2X3.IfcQuantityCount(a[0], a[1], a[2], a[3]),
    931644368: (a) => new IFC2X3.IfcQuantityLength(a[0], a[1], a[2], a[3]),
    3252649465: (a) => new IFC2X3.IfcQuantityTime(a[0], a[1], a[2], a[3]),
    2405470396: (a) => new IFC2X3.IfcQuantityVolume(a[0], a[1], a[2], a[3]),
    825690147: (a) => new IFC2X3.IfcQuantityWeight(a[0], a[1], a[2], a[3]),
    2692823254: (a) => new IFC2X3.IfcReferencesValueDocument(a[0], a[1], a[2], a[3]),
    1580146022: (a) => new IFC2X3.IfcReinforcementBarProperties(a[0], a[1], a[2], a[3], a[4], a[5]),
    1222501353: (a) => new IFC2X3.IfcRelaxation(a[0], a[1]),
    1076942058: (a) => new IFC2X3.IfcRepresentation(a[0], a[1], a[2], a[3]),
    3377609919: (a) => new IFC2X3.IfcRepresentationContext(a[0], a[1]),
    3008791417: (_) => new IFC2X3.IfcRepresentationItem(),
    1660063152: (a) => new IFC2X3.IfcRepresentationMap(a[0], a[1]),
    3679540991: (a) => new IFC2X3.IfcRibPlateProfileProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    2341007311: (a) => new IFC2X3.IfcRoot(a[0], a[1], a[2], a[3]),
    448429030: (a) => new IFC2X3.IfcSIUnit(a[0], a[1], a[2]),
    2042790032: (a) => new IFC2X3.IfcSectionProperties(a[0], a[1], a[2]),
    4165799628: (a) => new IFC2X3.IfcSectionReinforcementProperties(a[0], a[1], a[2], a[3], a[4], a[5]),
    867548509: (a) => new IFC2X3.IfcShapeAspect(a[0], a[1], a[2], a[3], a[4]),
    3982875396: (a) => new IFC2X3.IfcShapeModel(a[0], a[1], a[2], a[3]),
    4240577450: (a) => new IFC2X3.IfcShapeRepresentation(a[0], a[1], a[2], a[3]),
    3692461612: (a) => new IFC2X3.IfcSimpleProperty(a[0], a[1]),
    2273995522: (a) => new IFC2X3.IfcStructuralConnectionCondition(a[0]),
    2162789131: (a) => new IFC2X3.IfcStructuralLoad(a[0]),
    2525727697: (a) => new IFC2X3.IfcStructuralLoadStatic(a[0]),
    3408363356: (a) => new IFC2X3.IfcStructuralLoadTemperature(a[0], a[1], a[2], a[3]),
    2830218821: (a) => new IFC2X3.IfcStyleModel(a[0], a[1], a[2], a[3]),
    3958052878: (a) => new IFC2X3.IfcStyledItem(a[0], a[1], a[2]),
    3049322572: (a) => new IFC2X3.IfcStyledRepresentation(a[0], a[1], a[2], a[3]),
    1300840506: (a) => new IFC2X3.IfcSurfaceStyle(a[0], a[1], a[2]),
    3303107099: (a) => new IFC2X3.IfcSurfaceStyleLighting(a[0], a[1], a[2], a[3]),
    1607154358: (a) => new IFC2X3.IfcSurfaceStyleRefraction(a[0], a[1]),
    846575682: (a) => new IFC2X3.IfcSurfaceStyleShading(a[0]),
    1351298697: (a) => new IFC2X3.IfcSurfaceStyleWithTextures(a[0]),
    626085974: (a) => new IFC2X3.IfcSurfaceTexture(a[0], a[1], a[2], a[3]),
    1290481447: (a) => new IFC2X3.IfcSymbolStyle(a[0], a[1]),
    985171141: (a) => new IFC2X3.IfcTable(a[0], a[1]),
    531007025: (a) => new IFC2X3.IfcTableRow(a[0], a[1]),
    912023232: (a) => new IFC2X3.IfcTelecomAddress(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1447204868: (a) => new IFC2X3.IfcTextStyle(a[0], a[1], a[2], a[3]),
    1983826977: (a) => new IFC2X3.IfcTextStyleFontModel(a[0], a[1], a[2], a[3], a[4], a[5]),
    2636378356: (a) => new IFC2X3.IfcTextStyleForDefinedFont(a[0], a[1]),
    1640371178: (a) => new IFC2X3.IfcTextStyleTextModel(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1484833681: (a) => new IFC2X3.IfcTextStyleWithBoxCharacteristics(a[0], a[1], a[2], a[3], a[4]),
    280115917: (_) => new IFC2X3.IfcTextureCoordinate(),
    1742049831: (a) => new IFC2X3.IfcTextureCoordinateGenerator(a[0], a[1]),
    2552916305: (a) => new IFC2X3.IfcTextureMap(a[0]),
    1210645708: (a) => new IFC2X3.IfcTextureVertex(a[0]),
    3317419933: (a) => new IFC2X3.IfcThermalMaterialProperties(a[0], a[1], a[2], a[3], a[4]),
    3101149627: (a) => new IFC2X3.IfcTimeSeries(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1718945513: (a) => new IFC2X3.IfcTimeSeriesReferenceRelationship(a[0], a[1]),
    581633288: (a) => new IFC2X3.IfcTimeSeriesValue(a[0]),
    1377556343: (_) => new IFC2X3.IfcTopologicalRepresentationItem(),
    1735638870: (a) => new IFC2X3.IfcTopologyRepresentation(a[0], a[1], a[2], a[3]),
    180925521: (a) => new IFC2X3.IfcUnitAssignment(a[0]),
    2799835756: (_) => new IFC2X3.IfcVertex(),
    3304826586: (a) => new IFC2X3.IfcVertexBasedTextureMap(a[0], a[1]),
    1907098498: (a) => new IFC2X3.IfcVertexPoint(a[0]),
    891718957: (a) => new IFC2X3.IfcVirtualGridIntersection(a[0], a[1]),
    1065908215: (a) => new IFC2X3.IfcWaterProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2442683028: (a) => new IFC2X3.IfcAnnotationOccurrence(a[0], a[1], a[2]),
    962685235: (a) => new IFC2X3.IfcAnnotationSurfaceOccurrence(a[0], a[1], a[2]),
    3612888222: (a) => new IFC2X3.IfcAnnotationSymbolOccurrence(a[0], a[1], a[2]),
    2297822566: (a) => new IFC2X3.IfcAnnotationTextOccurrence(a[0], a[1], a[2]),
    3798115385: (a) => new IFC2X3.IfcArbitraryClosedProfileDef(a[0], a[1], a[2]),
    1310608509: (a) => new IFC2X3.IfcArbitraryOpenProfileDef(a[0], a[1], a[2]),
    2705031697: (a) => new IFC2X3.IfcArbitraryProfileDefWithVoids(a[0], a[1], a[2], a[3]),
    616511568: (a) => new IFC2X3.IfcBlobTexture(a[0], a[1], a[2], a[3], a[4], a[5]),
    3150382593: (a) => new IFC2X3.IfcCenterLineProfileDef(a[0], a[1], a[2], a[3]),
    647927063: (a) => new IFC2X3.IfcClassificationReference(a[0], a[1], a[2], a[3]),
    776857604: (a) => new IFC2X3.IfcColourRgb(a[0], a[1], a[2], a[3]),
    2542286263: (a) => new IFC2X3.IfcComplexProperty(a[0], a[1], a[2], a[3]),
    1485152156: (a) => new IFC2X3.IfcCompositeProfileDef(a[0], a[1], a[2], a[3]),
    370225590: (a) => new IFC2X3.IfcConnectedFaceSet(a[0]),
    1981873012: (a) => new IFC2X3.IfcConnectionCurveGeometry(a[0], a[1]),
    45288368: (a) => new IFC2X3.IfcConnectionPointEccentricity(a[0], a[1], a[2], a[3], a[4]),
    3050246964: (a) => new IFC2X3.IfcContextDependentUnit(a[0], a[1], a[2]),
    2889183280: (a) => new IFC2X3.IfcConversionBasedUnit(a[0], a[1], a[2], a[3]),
    3800577675: (a) => new IFC2X3.IfcCurveStyle(a[0], a[1], a[2], a[3]),
    3632507154: (a) => new IFC2X3.IfcDerivedProfileDef(a[0], a[1], a[2], a[3], a[4]),
    2273265877: (a) => new IFC2X3.IfcDimensionCalloutRelationship(a[0], a[1], a[2], a[3]),
    1694125774: (a) => new IFC2X3.IfcDimensionPair(a[0], a[1], a[2], a[3]),
    3732053477: (a) => new IFC2X3.IfcDocumentReference(a[0], a[1], a[2]),
    4170525392: (a) => new IFC2X3.IfcDraughtingPreDefinedTextFont(a[0]),
    3900360178: (a) => new IFC2X3.IfcEdge(a[0], a[1]),
    476780140: (a) => new IFC2X3.IfcEdgeCurve(a[0], a[1], a[2], a[3]),
    1860660968: (a) => new IFC2X3.IfcExtendedMaterialProperties(a[0], a[1], a[2], a[3]),
    2556980723: (a) => new IFC2X3.IfcFace(a[0]),
    1809719519: (a) => new IFC2X3.IfcFaceBound(a[0], a[1]),
    803316827: (a) => new IFC2X3.IfcFaceOuterBound(a[0], a[1]),
    3008276851: (a) => new IFC2X3.IfcFaceSurface(a[0], a[1], a[2]),
    4219587988: (a) => new IFC2X3.IfcFailureConnectionCondition(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    738692330: (a) => new IFC2X3.IfcFillAreaStyle(a[0], a[1]),
    3857492461: (a) => new IFC2X3.IfcFuelProperties(a[0], a[1], a[2], a[3], a[4]),
    803998398: (a) => new IFC2X3.IfcGeneralMaterialProperties(a[0], a[1], a[2], a[3]),
    1446786286: (a) => new IFC2X3.IfcGeneralProfileProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3448662350: (a) => new IFC2X3.IfcGeometricRepresentationContext(a[0], a[1], a[2], a[3], a[4], a[5]),
    2453401579: (_) => new IFC2X3.IfcGeometricRepresentationItem(),
    4142052618: (a) => new IFC2X3.IfcGeometricRepresentationSubContext(a[0], a[1], a[2], a[3], a[4], a[5]),
    3590301190: (a) => new IFC2X3.IfcGeometricSet(a[0]),
    178086475: (a) => new IFC2X3.IfcGridPlacement(a[0], a[1]),
    812098782: (a) => new IFC2X3.IfcHalfSpaceSolid(a[0], a[1]),
    2445078500: (a) => new IFC2X3.IfcHygroscopicMaterialProperties(a[0], a[1], a[2], a[3], a[4], a[5]),
    3905492369: (a) => new IFC2X3.IfcImageTexture(a[0], a[1], a[2], a[3], a[4]),
    3741457305: (a) => new IFC2X3.IfcIrregularTimeSeries(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1402838566: (a) => new IFC2X3.IfcLightSource(a[0], a[1], a[2], a[3]),
    125510826: (a) => new IFC2X3.IfcLightSourceAmbient(a[0], a[1], a[2], a[3]),
    2604431987: (a) => new IFC2X3.IfcLightSourceDirectional(a[0], a[1], a[2], a[3], a[4]),
    4266656042: (a) => new IFC2X3.IfcLightSourceGoniometric(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1520743889: (a) => new IFC2X3.IfcLightSourcePositional(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3422422726: (a) => new IFC2X3.IfcLightSourceSpot(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    2624227202: (a) => new IFC2X3.IfcLocalPlacement(a[0], a[1]),
    1008929658: (_) => new IFC2X3.IfcLoop(),
    2347385850: (a) => new IFC2X3.IfcMappedItem(a[0], a[1]),
    2022407955: (a) => new IFC2X3.IfcMaterialDefinitionRepresentation(a[0], a[1], a[2], a[3]),
    1430189142: (a) => new IFC2X3.IfcMechanicalConcreteMaterialProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    219451334: (a) => new IFC2X3.IfcObjectDefinition(a[0], a[1], a[2], a[3]),
    2833995503: (a) => new IFC2X3.IfcOneDirectionRepeatFactor(a[0]),
    2665983363: (a) => new IFC2X3.IfcOpenShell(a[0]),
    1029017970: (a) => new IFC2X3.IfcOrientedEdge(a[0], a[1]),
    2529465313: (a) => new IFC2X3.IfcParameterizedProfileDef(a[0], a[1], a[2]),
    2519244187: (a) => new IFC2X3.IfcPath(a[0]),
    3021840470: (a) => new IFC2X3.IfcPhysicalComplexQuantity(a[0], a[1], a[2], a[3], a[4], a[5]),
    597895409: (a) => new IFC2X3.IfcPixelTexture(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2004835150: (a) => new IFC2X3.IfcPlacement(a[0]),
    1663979128: (a) => new IFC2X3.IfcPlanarExtent(a[0], a[1]),
    2067069095: (_) => new IFC2X3.IfcPoint(),
    4022376103: (a) => new IFC2X3.IfcPointOnCurve(a[0], a[1]),
    1423911732: (a) => new IFC2X3.IfcPointOnSurface(a[0], a[1], a[2]),
    2924175390: (a) => new IFC2X3.IfcPolyLoop(a[0]),
    2775532180: (a) => new IFC2X3.IfcPolygonalBoundedHalfSpace(a[0], a[1], a[2], a[3]),
    759155922: (a) => new IFC2X3.IfcPreDefinedColour(a[0]),
    2559016684: (a) => new IFC2X3.IfcPreDefinedCurveFont(a[0]),
    433424934: (a) => new IFC2X3.IfcPreDefinedDimensionSymbol(a[0]),
    179317114: (a) => new IFC2X3.IfcPreDefinedPointMarkerSymbol(a[0]),
    673634403: (a) => new IFC2X3.IfcProductDefinitionShape(a[0], a[1], a[2]),
    871118103: (a) => new IFC2X3.IfcPropertyBoundedValue(a[0], a[1], a[2], a[3], a[4]),
    1680319473: (a) => new IFC2X3.IfcPropertyDefinition(a[0], a[1], a[2], a[3]),
    4166981789: (a) => new IFC2X3.IfcPropertyEnumeratedValue(a[0], a[1], a[2], a[3]),
    2752243245: (a) => new IFC2X3.IfcPropertyListValue(a[0], a[1], a[2], a[3]),
    941946838: (a) => new IFC2X3.IfcPropertyReferenceValue(a[0], a[1], a[2], a[3]),
    3357820518: (a) => new IFC2X3.IfcPropertySetDefinition(a[0], a[1], a[2], a[3]),
    3650150729: (a) => new IFC2X3.IfcPropertySingleValue(a[0], a[1], a[2], a[3]),
    110355661: (a) => new IFC2X3.IfcPropertyTableValue(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3615266464: (a) => new IFC2X3.IfcRectangleProfileDef(a[0], a[1], a[2], a[3], a[4]),
    3413951693: (a) => new IFC2X3.IfcRegularTimeSeries(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3765753017: (a) => new IFC2X3.IfcReinforcementDefinitionProperties(a[0], a[1], a[2], a[3], a[4], a[5]),
    478536968: (a) => new IFC2X3.IfcRelationship(a[0], a[1], a[2], a[3]),
    2778083089: (a) => new IFC2X3.IfcRoundedRectangleProfileDef(a[0], a[1], a[2], a[3], a[4], a[5]),
    1509187699: (a) => new IFC2X3.IfcSectionedSpine(a[0], a[1], a[2]),
    2411513650: (a) => new IFC2X3.IfcServiceLifeFactor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    4124623270: (a) => new IFC2X3.IfcShellBasedSurfaceModel(a[0]),
    2609359061: (a) => new IFC2X3.IfcSlippageConnectionCondition(a[0], a[1], a[2], a[3]),
    723233188: (_) => new IFC2X3.IfcSolidModel(),
    2485662743: (a) => new IFC2X3.IfcSoundProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1202362311: (a) => new IFC2X3.IfcSoundValue(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    390701378: (a) => new IFC2X3.IfcSpaceThermalLoadProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]),
    1595516126: (a) => new IFC2X3.IfcStructuralLoadLinearForce(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    2668620305: (a) => new IFC2X3.IfcStructuralLoadPlanarForce(a[0], a[1], a[2], a[3]),
    2473145415: (a) => new IFC2X3.IfcStructuralLoadSingleDisplacement(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1973038258: (a) => new IFC2X3.IfcStructuralLoadSingleDisplacementDistortion(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1597423693: (a) => new IFC2X3.IfcStructuralLoadSingleForce(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1190533807: (a) => new IFC2X3.IfcStructuralLoadSingleForceWarping(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3843319758: (a) => new IFC2X3.IfcStructuralProfileProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17], a[18], a[19], a[20], a[21], a[22]),
    3653947884: (a) => new IFC2X3.IfcStructuralSteelProfileProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17], a[18], a[19], a[20], a[21], a[22], a[23], a[24], a[25], a[26]),
    2233826070: (a) => new IFC2X3.IfcSubedge(a[0], a[1], a[2]),
    2513912981: (_) => new IFC2X3.IfcSurface(),
    1878645084: (a) => new IFC2X3.IfcSurfaceStyleRendering(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2247615214: (a) => new IFC2X3.IfcSweptAreaSolid(a[0], a[1]),
    1260650574: (a) => new IFC2X3.IfcSweptDiskSolid(a[0], a[1], a[2], a[3], a[4]),
    230924584: (a) => new IFC2X3.IfcSweptSurface(a[0], a[1]),
    3071757647: (a) => new IFC2X3.IfcTShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    3028897424: (a) => new IFC2X3.IfcTerminatorSymbol(a[0], a[1], a[2], a[3]),
    4282788508: (a) => new IFC2X3.IfcTextLiteral(a[0], a[1], a[2]),
    3124975700: (a) => new IFC2X3.IfcTextLiteralWithExtent(a[0], a[1], a[2], a[3], a[4]),
    2715220739: (a) => new IFC2X3.IfcTrapeziumProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1345879162: (a) => new IFC2X3.IfcTwoDirectionRepeatFactor(a[0], a[1]),
    1628702193: (a) => new IFC2X3.IfcTypeObject(a[0], a[1], a[2], a[3], a[4], a[5]),
    2347495698: (a) => new IFC2X3.IfcTypeProduct(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    427810014: (a) => new IFC2X3.IfcUShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    1417489154: (a) => new IFC2X3.IfcVector(a[0], a[1]),
    2759199220: (a) => new IFC2X3.IfcVertexLoop(a[0]),
    336235671: (a) => new IFC2X3.IfcWindowLiningProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    512836454: (a) => new IFC2X3.IfcWindowPanelProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1299126871: (a) => new IFC2X3.IfcWindowStyle(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    2543172580: (a) => new IFC2X3.IfcZShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3288037868: (a) => new IFC2X3.IfcAnnotationCurveOccurrence(a[0], a[1], a[2]),
    669184980: (a) => new IFC2X3.IfcAnnotationFillArea(a[0], a[1]),
    2265737646: (a) => new IFC2X3.IfcAnnotationFillAreaOccurrence(a[0], a[1], a[2], a[3], a[4]),
    1302238472: (a) => new IFC2X3.IfcAnnotationSurface(a[0], a[1]),
    4261334040: (a) => new IFC2X3.IfcAxis1Placement(a[0], a[1]),
    3125803723: (a) => new IFC2X3.IfcAxis2Placement2D(a[0], a[1]),
    2740243338: (a) => new IFC2X3.IfcAxis2Placement3D(a[0], a[1], a[2]),
    2736907675: (a) => new IFC2X3.IfcBooleanResult(a[0], a[1], a[2]),
    4182860854: (_) => new IFC2X3.IfcBoundedSurface(),
    2581212453: (a) => new IFC2X3.IfcBoundingBox(a[0], a[1], a[2], a[3]),
    2713105998: (a) => new IFC2X3.IfcBoxedHalfSpace(a[0], a[1], a[2]),
    2898889636: (a) => new IFC2X3.IfcCShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1123145078: (a) => new IFC2X3.IfcCartesianPoint(a[0]),
    59481748: (a) => new IFC2X3.IfcCartesianTransformationOperator(a[0], a[1], a[2], a[3]),
    3749851601: (a) => new IFC2X3.IfcCartesianTransformationOperator2D(a[0], a[1], a[2], a[3]),
    3486308946: (a) => new IFC2X3.IfcCartesianTransformationOperator2DnonUniform(a[0], a[1], a[2], a[3], a[4]),
    3331915920: (a) => new IFC2X3.IfcCartesianTransformationOperator3D(a[0], a[1], a[2], a[3], a[4]),
    1416205885: (a) => new IFC2X3.IfcCartesianTransformationOperator3DnonUniform(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1383045692: (a) => new IFC2X3.IfcCircleProfileDef(a[0], a[1], a[2], a[3]),
    2205249479: (a) => new IFC2X3.IfcClosedShell(a[0]),
    2485617015: (a) => new IFC2X3.IfcCompositeCurveSegment(a[0], a[1], a[2]),
    4133800736: (a) => new IFC2X3.IfcCraneRailAShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14]),
    194851669: (a) => new IFC2X3.IfcCraneRailFShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    2506170314: (a) => new IFC2X3.IfcCsgPrimitive3D(a[0]),
    2147822146: (a) => new IFC2X3.IfcCsgSolid(a[0]),
    2601014836: (_) => new IFC2X3.IfcCurve(),
    2827736869: (a) => new IFC2X3.IfcCurveBoundedPlane(a[0], a[1], a[2]),
    693772133: (a) => new IFC2X3.IfcDefinedSymbol(a[0], a[1]),
    606661476: (a) => new IFC2X3.IfcDimensionCurve(a[0], a[1], a[2]),
    4054601972: (a) => new IFC2X3.IfcDimensionCurveTerminator(a[0], a[1], a[2], a[3], a[4]),
    32440307: (a) => new IFC2X3.IfcDirection(a[0]),
    2963535650: (a) => new IFC2X3.IfcDoorLiningProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14]),
    1714330368: (a) => new IFC2X3.IfcDoorPanelProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    526551008: (a) => new IFC2X3.IfcDoorStyle(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    3073041342: (a) => new IFC2X3.IfcDraughtingCallout(a[0]),
    445594917: (a) => new IFC2X3.IfcDraughtingPreDefinedColour(a[0]),
    4006246654: (a) => new IFC2X3.IfcDraughtingPreDefinedCurveFont(a[0]),
    1472233963: (a) => new IFC2X3.IfcEdgeLoop(a[0]),
    1883228015: (a) => new IFC2X3.IfcElementQuantity(a[0], a[1], a[2], a[3], a[4], a[5]),
    339256511: (a) => new IFC2X3.IfcElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2777663545: (a) => new IFC2X3.IfcElementarySurface(a[0]),
    2835456948: (a) => new IFC2X3.IfcEllipseProfileDef(a[0], a[1], a[2], a[3], a[4]),
    80994333: (a) => new IFC2X3.IfcEnergyProperties(a[0], a[1], a[2], a[3], a[4], a[5]),
    477187591: (a) => new IFC2X3.IfcExtrudedAreaSolid(a[0], a[1], a[2], a[3]),
    2047409740: (a) => new IFC2X3.IfcFaceBasedSurfaceModel(a[0]),
    374418227: (a) => new IFC2X3.IfcFillAreaStyleHatching(a[0], a[1], a[2], a[3], a[4]),
    4203026998: (a) => new IFC2X3.IfcFillAreaStyleTileSymbolWithStyle(a[0]),
    315944413: (a) => new IFC2X3.IfcFillAreaStyleTiles(a[0], a[1], a[2]),
    3455213021: (a) => new IFC2X3.IfcFluidFlowProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17], a[18]),
    4238390223: (a) => new IFC2X3.IfcFurnishingElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1268542332: (a) => new IFC2X3.IfcFurnitureType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    987898635: (a) => new IFC2X3.IfcGeometricCurveSet(a[0]),
    1484403080: (a) => new IFC2X3.IfcIShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    572779678: (a) => new IFC2X3.IfcLShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    1281925730: (a) => new IFC2X3.IfcLine(a[0], a[1]),
    1425443689: (a) => new IFC2X3.IfcManifoldSolidBrep(a[0]),
    3888040117: (a) => new IFC2X3.IfcObject(a[0], a[1], a[2], a[3], a[4]),
    3388369263: (a) => new IFC2X3.IfcOffsetCurve2D(a[0], a[1], a[2]),
    3505215534: (a) => new IFC2X3.IfcOffsetCurve3D(a[0], a[1], a[2], a[3]),
    3566463478: (a) => new IFC2X3.IfcPermeableCoveringProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    603570806: (a) => new IFC2X3.IfcPlanarBox(a[0], a[1], a[2]),
    220341763: (a) => new IFC2X3.IfcPlane(a[0]),
    2945172077: (a) => new IFC2X3.IfcProcess(a[0], a[1], a[2], a[3], a[4]),
    4208778838: (a) => new IFC2X3.IfcProduct(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    103090709: (a) => new IFC2X3.IfcProject(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4194566429: (a) => new IFC2X3.IfcProjectionCurve(a[0], a[1], a[2]),
    1451395588: (a) => new IFC2X3.IfcPropertySet(a[0], a[1], a[2], a[3], a[4]),
    3219374653: (a) => new IFC2X3.IfcProxy(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2770003689: (a) => new IFC2X3.IfcRectangleHollowProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2798486643: (a) => new IFC2X3.IfcRectangularPyramid(a[0], a[1], a[2], a[3]),
    3454111270: (a) => new IFC2X3.IfcRectangularTrimmedSurface(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3939117080: (a) => new IFC2X3.IfcRelAssigns(a[0], a[1], a[2], a[3], a[4], a[5]),
    1683148259: (a) => new IFC2X3.IfcRelAssignsToActor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2495723537: (a) => new IFC2X3.IfcRelAssignsToControl(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1307041759: (a) => new IFC2X3.IfcRelAssignsToGroup(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    4278684876: (a) => new IFC2X3.IfcRelAssignsToProcess(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2857406711: (a) => new IFC2X3.IfcRelAssignsToProduct(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3372526763: (a) => new IFC2X3.IfcRelAssignsToProjectOrder(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    205026976: (a) => new IFC2X3.IfcRelAssignsToResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1865459582: (a) => new IFC2X3.IfcRelAssociates(a[0], a[1], a[2], a[3], a[4]),
    1327628568: (a) => new IFC2X3.IfcRelAssociatesAppliedValue(a[0], a[1], a[2], a[3], a[4], a[5]),
    4095574036: (a) => new IFC2X3.IfcRelAssociatesApproval(a[0], a[1], a[2], a[3], a[4], a[5]),
    919958153: (a) => new IFC2X3.IfcRelAssociatesClassification(a[0], a[1], a[2], a[3], a[4], a[5]),
    2728634034: (a) => new IFC2X3.IfcRelAssociatesConstraint(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    982818633: (a) => new IFC2X3.IfcRelAssociatesDocument(a[0], a[1], a[2], a[3], a[4], a[5]),
    3840914261: (a) => new IFC2X3.IfcRelAssociatesLibrary(a[0], a[1], a[2], a[3], a[4], a[5]),
    2655215786: (a) => new IFC2X3.IfcRelAssociatesMaterial(a[0], a[1], a[2], a[3], a[4], a[5]),
    2851387026: (a) => new IFC2X3.IfcRelAssociatesProfileProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    826625072: (a) => new IFC2X3.IfcRelConnects(a[0], a[1], a[2], a[3]),
    1204542856: (a) => new IFC2X3.IfcRelConnectsElements(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3945020480: (a) => new IFC2X3.IfcRelConnectsPathElements(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    4201705270: (a) => new IFC2X3.IfcRelConnectsPortToElement(a[0], a[1], a[2], a[3], a[4], a[5]),
    3190031847: (a) => new IFC2X3.IfcRelConnectsPorts(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    2127690289: (a) => new IFC2X3.IfcRelConnectsStructuralActivity(a[0], a[1], a[2], a[3], a[4], a[5]),
    3912681535: (a) => new IFC2X3.IfcRelConnectsStructuralElement(a[0], a[1], a[2], a[3], a[4], a[5]),
    1638771189: (a) => new IFC2X3.IfcRelConnectsStructuralMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    504942748: (a) => new IFC2X3.IfcRelConnectsWithEccentricity(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    3678494232: (a) => new IFC2X3.IfcRelConnectsWithRealizingElements(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3242617779: (a) => new IFC2X3.IfcRelContainedInSpatialStructure(a[0], a[1], a[2], a[3], a[4], a[5]),
    886880790: (a) => new IFC2X3.IfcRelCoversBldgElements(a[0], a[1], a[2], a[3], a[4], a[5]),
    2802773753: (a) => new IFC2X3.IfcRelCoversSpaces(a[0], a[1], a[2], a[3], a[4], a[5]),
    2551354335: (a) => new IFC2X3.IfcRelDecomposes(a[0], a[1], a[2], a[3], a[4], a[5]),
    693640335: (a) => new IFC2X3.IfcRelDefines(a[0], a[1], a[2], a[3], a[4]),
    4186316022: (a) => new IFC2X3.IfcRelDefinesByProperties(a[0], a[1], a[2], a[3], a[4], a[5]),
    781010003: (a) => new IFC2X3.IfcRelDefinesByType(a[0], a[1], a[2], a[3], a[4], a[5]),
    3940055652: (a) => new IFC2X3.IfcRelFillsElement(a[0], a[1], a[2], a[3], a[4], a[5]),
    279856033: (a) => new IFC2X3.IfcRelFlowControlElements(a[0], a[1], a[2], a[3], a[4], a[5]),
    4189434867: (a) => new IFC2X3.IfcRelInteractionRequirements(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3268803585: (a) => new IFC2X3.IfcRelNests(a[0], a[1], a[2], a[3], a[4], a[5]),
    2051452291: (a) => new IFC2X3.IfcRelOccupiesSpaces(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    202636808: (a) => new IFC2X3.IfcRelOverridesProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    750771296: (a) => new IFC2X3.IfcRelProjectsElement(a[0], a[1], a[2], a[3], a[4], a[5]),
    1245217292: (a) => new IFC2X3.IfcRelReferencedInSpatialStructure(a[0], a[1], a[2], a[3], a[4], a[5]),
    1058617721: (a) => new IFC2X3.IfcRelSchedulesCostItems(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    4122056220: (a) => new IFC2X3.IfcRelSequence(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    366585022: (a) => new IFC2X3.IfcRelServicesBuildings(a[0], a[1], a[2], a[3], a[4], a[5]),
    3451746338: (a) => new IFC2X3.IfcRelSpaceBoundary(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1401173127: (a) => new IFC2X3.IfcRelVoidsElement(a[0], a[1], a[2], a[3], a[4], a[5]),
    2914609552: (a) => new IFC2X3.IfcResource(a[0], a[1], a[2], a[3], a[4]),
    1856042241: (a) => new IFC2X3.IfcRevolvedAreaSolid(a[0], a[1], a[2], a[3]),
    4158566097: (a) => new IFC2X3.IfcRightCircularCone(a[0], a[1], a[2]),
    3626867408: (a) => new IFC2X3.IfcRightCircularCylinder(a[0], a[1], a[2]),
    2706606064: (a) => new IFC2X3.IfcSpatialStructureElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3893378262: (a) => new IFC2X3.IfcSpatialStructureElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    451544542: (a) => new IFC2X3.IfcSphere(a[0], a[1]),
    3544373492: (a) => new IFC2X3.IfcStructuralActivity(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3136571912: (a) => new IFC2X3.IfcStructuralItem(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    530289379: (a) => new IFC2X3.IfcStructuralMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3689010777: (a) => new IFC2X3.IfcStructuralReaction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3979015343: (a) => new IFC2X3.IfcStructuralSurfaceMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2218152070: (a) => new IFC2X3.IfcStructuralSurfaceMemberVarying(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    4070609034: (a) => new IFC2X3.IfcStructuredDimensionCallout(a[0]),
    2028607225: (a) => new IFC2X3.IfcSurfaceCurveSweptAreaSolid(a[0], a[1], a[2], a[3], a[4], a[5]),
    2809605785: (a) => new IFC2X3.IfcSurfaceOfLinearExtrusion(a[0], a[1], a[2], a[3]),
    4124788165: (a) => new IFC2X3.IfcSurfaceOfRevolution(a[0], a[1], a[2]),
    1580310250: (a) => new IFC2X3.IfcSystemFurnitureElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3473067441: (a) => new IFC2X3.IfcTask(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2097647324: (a) => new IFC2X3.IfcTransportElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2296667514: (a) => new IFC2X3.IfcActor(a[0], a[1], a[2], a[3], a[4], a[5]),
    1674181508: (a) => new IFC2X3.IfcAnnotation(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3207858831: (a) => new IFC2X3.IfcAsymmetricIShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    1334484129: (a) => new IFC2X3.IfcBlock(a[0], a[1], a[2], a[3]),
    3649129432: (a) => new IFC2X3.IfcBooleanClippingResult(a[0], a[1], a[2]),
    1260505505: (_) => new IFC2X3.IfcBoundedCurve(),
    4031249490: (a) => new IFC2X3.IfcBuilding(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    1950629157: (a) => new IFC2X3.IfcBuildingElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3124254112: (a) => new IFC2X3.IfcBuildingStorey(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2937912522: (a) => new IFC2X3.IfcCircleHollowProfileDef(a[0], a[1], a[2], a[3], a[4]),
    300633059: (a) => new IFC2X3.IfcColumnType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3732776249: (a) => new IFC2X3.IfcCompositeCurve(a[0], a[1]),
    2510884976: (a) => new IFC2X3.IfcConic(a[0]),
    2559216714: (a) => new IFC2X3.IfcConstructionResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3293443760: (a) => new IFC2X3.IfcControl(a[0], a[1], a[2], a[3], a[4]),
    3895139033: (a) => new IFC2X3.IfcCostItem(a[0], a[1], a[2], a[3], a[4]),
    1419761937: (a) => new IFC2X3.IfcCostSchedule(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    1916426348: (a) => new IFC2X3.IfcCoveringType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3295246426: (a) => new IFC2X3.IfcCrewResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1457835157: (a) => new IFC2X3.IfcCurtainWallType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    681481545: (a) => new IFC2X3.IfcDimensionCurveDirectedCallout(a[0]),
    3256556792: (a) => new IFC2X3.IfcDistributionElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3849074793: (a) => new IFC2X3.IfcDistributionFlowElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    360485395: (a) => new IFC2X3.IfcElectricalBaseProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]),
    1758889154: (a) => new IFC2X3.IfcElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    4123344466: (a) => new IFC2X3.IfcElementAssembly(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1623761950: (a) => new IFC2X3.IfcElementComponent(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2590856083: (a) => new IFC2X3.IfcElementComponentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1704287377: (a) => new IFC2X3.IfcEllipse(a[0], a[1], a[2]),
    2107101300: (a) => new IFC2X3.IfcEnergyConversionDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1962604670: (a) => new IFC2X3.IfcEquipmentElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3272907226: (a) => new IFC2X3.IfcEquipmentStandard(a[0], a[1], a[2], a[3], a[4]),
    3174744832: (a) => new IFC2X3.IfcEvaporativeCoolerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3390157468: (a) => new IFC2X3.IfcEvaporatorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    807026263: (a) => new IFC2X3.IfcFacetedBrep(a[0]),
    3737207727: (a) => new IFC2X3.IfcFacetedBrepWithVoids(a[0], a[1]),
    647756555: (a) => new IFC2X3.IfcFastener(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2489546625: (a) => new IFC2X3.IfcFastenerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2827207264: (a) => new IFC2X3.IfcFeatureElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2143335405: (a) => new IFC2X3.IfcFeatureElementAddition(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1287392070: (a) => new IFC2X3.IfcFeatureElementSubtraction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3907093117: (a) => new IFC2X3.IfcFlowControllerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3198132628: (a) => new IFC2X3.IfcFlowFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3815607619: (a) => new IFC2X3.IfcFlowMeterType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1482959167: (a) => new IFC2X3.IfcFlowMovingDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1834744321: (a) => new IFC2X3.IfcFlowSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1339347760: (a) => new IFC2X3.IfcFlowStorageDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2297155007: (a) => new IFC2X3.IfcFlowTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3009222698: (a) => new IFC2X3.IfcFlowTreatmentDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    263784265: (a) => new IFC2X3.IfcFurnishingElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    814719939: (a) => new IFC2X3.IfcFurnitureStandard(a[0], a[1], a[2], a[3], a[4]),
    200128114: (a) => new IFC2X3.IfcGasTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3009204131: (a) => new IFC2X3.IfcGrid(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2706460486: (a) => new IFC2X3.IfcGroup(a[0], a[1], a[2], a[3], a[4]),
    1251058090: (a) => new IFC2X3.IfcHeatExchangerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1806887404: (a) => new IFC2X3.IfcHumidifierType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2391368822: (a) => new IFC2X3.IfcInventory(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    4288270099: (a) => new IFC2X3.IfcJunctionBoxType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3827777499: (a) => new IFC2X3.IfcLaborResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1051575348: (a) => new IFC2X3.IfcLampType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1161773419: (a) => new IFC2X3.IfcLightFixtureType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2506943328: (a) => new IFC2X3.IfcLinearDimension(a[0]),
    377706215: (a) => new IFC2X3.IfcMechanicalFastener(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2108223431: (a) => new IFC2X3.IfcMechanicalFastenerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3181161470: (a) => new IFC2X3.IfcMemberType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    977012517: (a) => new IFC2X3.IfcMotorConnectionType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1916936684: (a) => new IFC2X3.IfcMove(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    4143007308: (a) => new IFC2X3.IfcOccupant(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3588315303: (a) => new IFC2X3.IfcOpeningElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3425660407: (a) => new IFC2X3.IfcOrderAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    2837617999: (a) => new IFC2X3.IfcOutletType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2382730787: (a) => new IFC2X3.IfcPerformanceHistory(a[0], a[1], a[2], a[3], a[4], a[5]),
    3327091369: (a) => new IFC2X3.IfcPermit(a[0], a[1], a[2], a[3], a[4], a[5]),
    804291784: (a) => new IFC2X3.IfcPipeFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4231323485: (a) => new IFC2X3.IfcPipeSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4017108033: (a) => new IFC2X3.IfcPlateType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3724593414: (a) => new IFC2X3.IfcPolyline(a[0]),
    3740093272: (a) => new IFC2X3.IfcPort(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    2744685151: (a) => new IFC2X3.IfcProcedure(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2904328755: (a) => new IFC2X3.IfcProjectOrder(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3642467123: (a) => new IFC2X3.IfcProjectOrderRecord(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3651124850: (a) => new IFC2X3.IfcProjectionElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1842657554: (a) => new IFC2X3.IfcProtectiveDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2250791053: (a) => new IFC2X3.IfcPumpType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3248260540: (a) => new IFC2X3.IfcRadiusDimension(a[0]),
    2893384427: (a) => new IFC2X3.IfcRailingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2324767716: (a) => new IFC2X3.IfcRampFlightType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    160246688: (a) => new IFC2X3.IfcRelAggregates(a[0], a[1], a[2], a[3], a[4], a[5]),
    2863920197: (a) => new IFC2X3.IfcRelAssignsTasks(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1768891740: (a) => new IFC2X3.IfcSanitaryTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3517283431: (a) => new IFC2X3.IfcScheduleTimeControl(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17], a[18], a[19], a[20], a[21], a[22]),
    4105383287: (a) => new IFC2X3.IfcServiceLife(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    4097777520: (a) => new IFC2X3.IfcSite(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]),
    2533589738: (a) => new IFC2X3.IfcSlabType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3856911033: (a) => new IFC2X3.IfcSpace(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    1305183839: (a) => new IFC2X3.IfcSpaceHeaterType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    652456506: (a) => new IFC2X3.IfcSpaceProgram(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3812236995: (a) => new IFC2X3.IfcSpaceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3112655638: (a) => new IFC2X3.IfcStackTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1039846685: (a) => new IFC2X3.IfcStairFlightType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    682877961: (a) => new IFC2X3.IfcStructuralAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    1179482911: (a) => new IFC2X3.IfcStructuralConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    4243806635: (a) => new IFC2X3.IfcStructuralCurveConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    214636428: (a) => new IFC2X3.IfcStructuralCurveMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2445595289: (a) => new IFC2X3.IfcStructuralCurveMemberVarying(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1807405624: (a) => new IFC2X3.IfcStructuralLinearAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    1721250024: (a) => new IFC2X3.IfcStructuralLinearActionVarying(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]),
    1252848954: (a) => new IFC2X3.IfcStructuralLoadGroup(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1621171031: (a) => new IFC2X3.IfcStructuralPlanarAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    3987759626: (a) => new IFC2X3.IfcStructuralPlanarActionVarying(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]),
    2082059205: (a) => new IFC2X3.IfcStructuralPointAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    734778138: (a) => new IFC2X3.IfcStructuralPointConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1235345126: (a) => new IFC2X3.IfcStructuralPointReaction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2986769608: (a) => new IFC2X3.IfcStructuralResultGroup(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1975003073: (a) => new IFC2X3.IfcStructuralSurfaceConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    148013059: (a) => new IFC2X3.IfcSubContractResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    2315554128: (a) => new IFC2X3.IfcSwitchingDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2254336722: (a) => new IFC2X3.IfcSystem(a[0], a[1], a[2], a[3], a[4]),
    5716631: (a) => new IFC2X3.IfcTankType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1637806684: (a) => new IFC2X3.IfcTimeSeriesSchedule(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1692211062: (a) => new IFC2X3.IfcTransformerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1620046519: (a) => new IFC2X3.IfcTransportElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    3593883385: (a) => new IFC2X3.IfcTrimmedCurve(a[0], a[1], a[2], a[3], a[4]),
    1600972822: (a) => new IFC2X3.IfcTubeBundleType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1911125066: (a) => new IFC2X3.IfcUnitaryEquipmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    728799441: (a) => new IFC2X3.IfcValveType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2769231204: (a) => new IFC2X3.IfcVirtualElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1898987631: (a) => new IFC2X3.IfcWallType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1133259667: (a) => new IFC2X3.IfcWasteTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1028945134: (a) => new IFC2X3.IfcWorkControl(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14]),
    4218914973: (a) => new IFC2X3.IfcWorkPlan(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14]),
    3342526732: (a) => new IFC2X3.IfcWorkSchedule(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14]),
    1033361043: (a) => new IFC2X3.IfcZone(a[0], a[1], a[2], a[3], a[4]),
    1213861670: (a) => new IFC2X3.Ifc2DCompositeCurve(a[0], a[1]),
    3821786052: (a) => new IFC2X3.IfcActionRequest(a[0], a[1], a[2], a[3], a[4], a[5]),
    1411407467: (a) => new IFC2X3.IfcAirTerminalBoxType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3352864051: (a) => new IFC2X3.IfcAirTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1871374353: (a) => new IFC2X3.IfcAirToAirHeatRecoveryType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2470393545: (a) => new IFC2X3.IfcAngularDimension(a[0]),
    3460190687: (a) => new IFC2X3.IfcAsset(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]),
    1967976161: (a) => new IFC2X3.IfcBSplineCurve(a[0], a[1], a[2], a[3], a[4]),
    819618141: (a) => new IFC2X3.IfcBeamType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1916977116: (a) => new IFC2X3.IfcBezierCurve(a[0], a[1], a[2], a[3], a[4]),
    231477066: (a) => new IFC2X3.IfcBoilerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3299480353: (a) => new IFC2X3.IfcBuildingElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    52481810: (a) => new IFC2X3.IfcBuildingElementComponent(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2979338954: (a) => new IFC2X3.IfcBuildingElementPart(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1095909175: (a) => new IFC2X3.IfcBuildingElementProxy(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1909888760: (a) => new IFC2X3.IfcBuildingElementProxyType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    395041908: (a) => new IFC2X3.IfcCableCarrierFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3293546465: (a) => new IFC2X3.IfcCableCarrierSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1285652485: (a) => new IFC2X3.IfcCableSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2951183804: (a) => new IFC2X3.IfcChillerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2611217952: (a) => new IFC2X3.IfcCircle(a[0], a[1]),
    2301859152: (a) => new IFC2X3.IfcCoilType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    843113511: (a) => new IFC2X3.IfcColumn(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3850581409: (a) => new IFC2X3.IfcCompressorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2816379211: (a) => new IFC2X3.IfcCondenserType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2188551683: (a) => new IFC2X3.IfcCondition(a[0], a[1], a[2], a[3], a[4]),
    1163958913: (a) => new IFC2X3.IfcConditionCriterion(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3898045240: (a) => new IFC2X3.IfcConstructionEquipmentResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1060000209: (a) => new IFC2X3.IfcConstructionMaterialResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    488727124: (a) => new IFC2X3.IfcConstructionProductResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    335055490: (a) => new IFC2X3.IfcCooledBeamType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2954562838: (a) => new IFC2X3.IfcCoolingTowerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1973544240: (a) => new IFC2X3.IfcCovering(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3495092785: (a) => new IFC2X3.IfcCurtainWall(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3961806047: (a) => new IFC2X3.IfcDamperType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4147604152: (a) => new IFC2X3.IfcDiameterDimension(a[0]),
    1335981549: (a) => new IFC2X3.IfcDiscreteAccessory(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2635815018: (a) => new IFC2X3.IfcDiscreteAccessoryType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1599208980: (a) => new IFC2X3.IfcDistributionChamberElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2063403501: (a) => new IFC2X3.IfcDistributionControlElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1945004755: (a) => new IFC2X3.IfcDistributionElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3040386961: (a) => new IFC2X3.IfcDistributionFlowElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3041715199: (a) => new IFC2X3.IfcDistributionPort(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    395920057: (a) => new IFC2X3.IfcDoor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    869906466: (a) => new IFC2X3.IfcDuctFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3760055223: (a) => new IFC2X3.IfcDuctSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2030761528: (a) => new IFC2X3.IfcDuctSilencerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    855621170: (a) => new IFC2X3.IfcEdgeFeature(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    663422040: (a) => new IFC2X3.IfcElectricApplianceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3277789161: (a) => new IFC2X3.IfcElectricFlowStorageDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1534661035: (a) => new IFC2X3.IfcElectricGeneratorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1365060375: (a) => new IFC2X3.IfcElectricHeaterType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1217240411: (a) => new IFC2X3.IfcElectricMotorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    712377611: (a) => new IFC2X3.IfcElectricTimeControlType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1634875225: (a) => new IFC2X3.IfcElectricalCircuit(a[0], a[1], a[2], a[3], a[4]),
    857184966: (a) => new IFC2X3.IfcElectricalElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1658829314: (a) => new IFC2X3.IfcEnergyConversionDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    346874300: (a) => new IFC2X3.IfcFanType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1810631287: (a) => new IFC2X3.IfcFilterType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4222183408: (a) => new IFC2X3.IfcFireSuppressionTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2058353004: (a) => new IFC2X3.IfcFlowController(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    4278956645: (a) => new IFC2X3.IfcFlowFitting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    4037862832: (a) => new IFC2X3.IfcFlowInstrumentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3132237377: (a) => new IFC2X3.IfcFlowMovingDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    987401354: (a) => new IFC2X3.IfcFlowSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    707683696: (a) => new IFC2X3.IfcFlowStorageDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2223149337: (a) => new IFC2X3.IfcFlowTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3508470533: (a) => new IFC2X3.IfcFlowTreatmentDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    900683007: (a) => new IFC2X3.IfcFooting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1073191201: (a) => new IFC2X3.IfcMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1687234759: (a) => new IFC2X3.IfcPile(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3171933400: (a) => new IFC2X3.IfcPlate(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2262370178: (a) => new IFC2X3.IfcRailing(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3024970846: (a) => new IFC2X3.IfcRamp(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3283111854: (a) => new IFC2X3.IfcRampFlight(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3055160366: (a) => new IFC2X3.IfcRationalBezierCurve(a[0], a[1], a[2], a[3], a[4], a[5]),
    3027567501: (a) => new IFC2X3.IfcReinforcingElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2320036040: (a) => new IFC2X3.IfcReinforcingMesh(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16]),
    2016517767: (a) => new IFC2X3.IfcRoof(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1376911519: (a) => new IFC2X3.IfcRoundedEdgeFeature(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1783015770: (a) => new IFC2X3.IfcSensorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1529196076: (a) => new IFC2X3.IfcSlab(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    331165859: (a) => new IFC2X3.IfcStair(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4252922144: (a) => new IFC2X3.IfcStairFlight(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    2515109513: (a) => new IFC2X3.IfcStructuralAnalysisModel(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3824725483: (a) => new IFC2X3.IfcTendon(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16]),
    2347447852: (a) => new IFC2X3.IfcTendonAnchor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3313531582: (a) => new IFC2X3.IfcVibrationIsolatorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2391406946: (a) => new IFC2X3.IfcWall(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3512223829: (a) => new IFC2X3.IfcWallStandardCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3304561284: (a) => new IFC2X3.IfcWindow(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2874132201: (a) => new IFC2X3.IfcActuatorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3001207471: (a) => new IFC2X3.IfcAlarmType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    753842376: (a) => new IFC2X3.IfcBeam(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2454782716: (a) => new IFC2X3.IfcChamferEdgeFeature(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    578613899: (a) => new IFC2X3.IfcControllerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1052013943: (a) => new IFC2X3.IfcDistributionChamberElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1062813311: (a) => new IFC2X3.IfcDistributionControlElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3700593921: (a) => new IFC2X3.IfcElectricDistributionPoint(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    979691226: (a) => new IFC2X3.IfcReinforcingBar(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13])
  };
  ToRawLineData[1] = {
    3630933823: (i) => [i.Role, i.UserDefinedRole, i.Description],
    618182010: (i) => [i.Purpose, i.Description, i.UserDefinedPurpose],
    639542469: (i) => [i.ApplicationDeveloper, i.Version, i.ApplicationFullName, i.ApplicationIdentifier],
    411424972: (i) => [i.Name, i.Description, Labelise(i.AppliedValue), i.UnitBasis, Labelise(i.ApplicableDate), Labelise(i.FixedUntilDate)],
    1110488051: (i) => [i.ComponentOfTotal, i.Components, i.ArithmeticOperator, i.Name, i.Description],
    130549933: (i) => [i.Description, Labelise(i.ApprovalDateTime), i.ApprovalStatus, i.ApprovalLevel, i.ApprovalQualifier, i.Name, i.Identifier],
    2080292479: (i) => [Labelise(i.Actor), i.Approval, i.Role],
    390851274: (i) => [i.ApprovedProperties, i.Approval],
    3869604511: (i) => [i.RelatedApproval, i.RelatingApproval, i.Description, i.Name],
    4037036970: (i) => [i.Name],
    1560379544: (i) => [i.Name, i.LinearStiffnessByLengthX, i.LinearStiffnessByLengthY, i.LinearStiffnessByLengthZ, i.RotationalStiffnessByLengthX, i.RotationalStiffnessByLengthY, i.RotationalStiffnessByLengthZ],
    3367102660: (i) => [i.Name, i.LinearStiffnessByAreaX, i.LinearStiffnessByAreaY, i.LinearStiffnessByAreaZ],
    1387855156: (i) => [i.Name, i.LinearStiffnessX, i.LinearStiffnessY, i.LinearStiffnessZ, i.RotationalStiffnessX, i.RotationalStiffnessY, i.RotationalStiffnessZ],
    2069777674: (i) => [i.Name, i.LinearStiffnessX, i.LinearStiffnessY, i.LinearStiffnessZ, i.RotationalStiffnessX, i.RotationalStiffnessY, i.RotationalStiffnessZ, i.WarpingStiffness],
    622194075: (i) => [i.DayComponent, i.MonthComponent, i.YearComponent],
    747523909: (i) => [i.Source, i.Edition, i.EditionDate, i.Name],
    1767535486: (i) => [i.Notation, i.ItemOf, i.Title],
    1098599126: (i) => [i.RelatingItem, i.RelatedItems],
    938368621: (i) => [i.NotationFacets],
    3639012971: (i) => [i.NotationValue],
    3264961684: (i) => [i.Name],
    2859738748: (_) => [],
    2614616156: (i) => [Labelise(i.PointOnRelatingElement), Labelise(i.PointOnRelatedElement)],
    4257277454: (i) => [Labelise(i.LocationAtRelatingElement), Labelise(i.LocationAtRelatedElement), i.ProfileOfPort],
    2732653382: (i) => [Labelise(i.SurfaceOnRelatingElement), Labelise(i.SurfaceOnRelatedElement)],
    1959218052: (i) => [i.Name, i.Description, i.ConstraintGrade, i.ConstraintSource, Labelise(i.CreatingActor), Labelise(i.CreationTime), i.UserDefinedGrade],
    1658513725: (i) => [i.Name, i.Description, i.RelatingConstraint, i.RelatedConstraints, i.LogicalAggregator],
    613356794: (i) => [i.ClassifiedConstraint, Labelise(i.RelatedClassifications)],
    347226245: (i) => [i.Name, i.Description, i.RelatingConstraint, i.RelatedConstraints],
    1065062679: (i) => [i.HourOffset, i.MinuteOffset, i.Sense],
    602808272: (i) => [i.Name, i.Description, Labelise(i.AppliedValue), i.UnitBasis, Labelise(i.ApplicableDate), Labelise(i.FixedUntilDate), i.CostType, i.Condition],
    539742890: (i) => [i.RelatingMonetaryUnit, i.RelatedMonetaryUnit, i.ExchangeRate, i.RateDateTime, i.RateSource],
    1105321065: (i) => [i.Name, i.PatternList],
    2367409068: (i) => [i.Name, Labelise(i.CurveFont), i.CurveFontScaling],
    3510044353: (i) => [i.VisibleSegmentLength, i.InvisibleSegmentLength],
    1072939445: (i) => [i.DateComponent, i.TimeComponent],
    1765591967: (i) => [i.Elements, i.UnitType, i.UserDefinedType],
    1045800335: (i) => [i.Unit, i.Exponent],
    2949456006: (i) => [i.LengthExponent, i.MassExponent, i.TimeExponent, i.ElectricCurrentExponent, i.ThermodynamicTemperatureExponent, i.AmountOfSubstanceExponent, i.LuminousIntensityExponent],
    1376555844: (i) => [i.FileExtension, i.MimeContentType, i.MimeSubtype],
    1154170062: (i) => [i.DocumentId, i.Name, i.Description, i.DocumentReferences, i.Purpose, i.IntendedUse, i.Scope, i.Revision, Labelise(i.DocumentOwner), Labelise(i.Editors), i.CreationTime, i.LastRevisionTime, i.ElectronicFormat, i.ValidFrom, i.ValidUntil, i.Confidentiality, i.Status],
    770865208: (i) => [i.RelatingDocument, i.RelatedDocuments, i.RelationshipType],
    3796139169: (i) => [i.Name, i.Description, i.RelatingDraughtingCallout, i.RelatedDraughtingCallout],
    1648886627: (i) => [i.Name, i.Description, Labelise(i.AppliedValue), i.UnitBasis, Labelise(i.ApplicableDate), Labelise(i.FixedUntilDate), i.ImpactType, i.Category, i.UserDefinedCategory],
    3200245327: (i) => [i.Location, i.ItemReference, i.Name],
    2242383968: (i) => [i.Location, i.ItemReference, i.Name],
    1040185647: (i) => [i.Location, i.ItemReference, i.Name],
    3207319532: (i) => [i.Location, i.ItemReference, i.Name],
    3548104201: (i) => [i.Location, i.ItemReference, i.Name],
    852622518: (i) => [i.AxisTag, i.AxisCurve, { type: 3, value: i.SameSense.value }],
    3020489413: (i) => [Labelise(i.TimeStamp), i.ListValues.map((p) => Labelise(p))],
    2655187982: (i) => [i.Name, i.Version, i.Publisher, i.VersionDate, i.LibraryReference],
    3452421091: (i) => [i.Location, i.ItemReference, i.Name],
    4162380809: (i) => [i.MainPlaneAngle, i.SecondaryPlaneAngle, i.LuminousIntensity],
    1566485204: (i) => [i.LightDistributionCurve, i.DistributionData],
    30780891: (i) => [i.HourComponent, i.MinuteComponent, i.SecondComponent, i.Zone, i.DaylightSavingOffset],
    1838606355: (i) => [i.Name],
    1847130766: (i) => [Labelise(i.MaterialClassifications), i.ClassifiedMaterial],
    248100487: (i) => [i.Material, i.LayerThickness, i.IsVentilated == null ? null : { type: 3, value: i.IsVentilated.value }],
    3303938423: (i) => [i.MaterialLayers, i.LayerSetName],
    1303795690: (i) => [i.ForLayerSet, i.LayerSetDirection, i.DirectionSense, i.OffsetFromReferenceLine],
    2199411900: (i) => [i.Materials],
    3265635763: (i) => [i.Material],
    2597039031: (i) => [Labelise(i.ValueComponent), Labelise(i.UnitComponent)],
    4256014907: (i) => [i.Material, i.DynamicViscosity, i.YoungModulus, i.ShearModulus, i.PoissonRatio, i.ThermalExpansionCoefficient],
    677618848: (i) => [i.Material, i.DynamicViscosity, i.YoungModulus, i.ShearModulus, i.PoissonRatio, i.ThermalExpansionCoefficient, i.YieldStress, i.UltimateStress, i.UltimateStrain, i.HardeningModule, i.ProportionalStress, i.PlasticStrain, i.Relaxations],
    3368373690: (i) => [i.Name, i.Description, i.ConstraintGrade, i.ConstraintSource, Labelise(i.CreatingActor), Labelise(i.CreationTime), i.UserDefinedGrade, i.Benchmark, i.ValueSource, Labelise(i.DataValue)],
    2706619895: (i) => [i.Currency],
    1918398963: (i) => [i.Dimensions, i.UnitType],
    3701648758: (_) => [],
    2251480897: (i) => [i.Name, i.Description, i.ConstraintGrade, i.ConstraintSource, Labelise(i.CreatingActor), Labelise(i.CreationTime), i.UserDefinedGrade, i.BenchmarkValues, i.ResultValues, i.ObjectiveQualifier, i.UserDefinedQualifier],
    1227763645: (i) => [i.Material, i.VisibleTransmittance, i.SolarTransmittance, i.ThermalIrTransmittance, i.ThermalIrEmissivityBack, i.ThermalIrEmissivityFront, i.VisibleReflectanceBack, i.VisibleReflectanceFront, i.SolarReflectanceFront, i.SolarReflectanceBack],
    4251960020: (i) => [i.Id, i.Name, i.Description, i.Roles, i.Addresses],
    1411181986: (i) => [i.Name, i.Description, i.RelatingOrganization, i.RelatedOrganizations],
    1207048766: (i) => [i.OwningUser, i.OwningApplication, i.State, i.ChangeAction, i.LastModifiedDate, i.LastModifyingUser, i.LastModifyingApplication, i.CreationDate],
    2077209135: (i) => [i.Id, i.FamilyName, i.GivenName, i.MiddleNames, i.PrefixTitles, i.SuffixTitles, i.Roles, i.Addresses],
    101040310: (i) => [i.ThePerson, i.TheOrganization, i.Roles],
    2483315170: (i) => [i.Name, i.Description],
    2226359599: (i) => [i.Name, i.Description, i.Unit],
    3355820592: (i) => [i.Purpose, i.Description, i.UserDefinedPurpose, i.InternalLocation, i.AddressLines, i.PostalBox, i.Town, i.Region, i.PostalCode, i.Country],
    3727388367: (i) => [i.Name],
    990879717: (i) => [i.Name],
    3213052703: (i) => [i.Name],
    1775413392: (i) => [i.Name],
    2022622350: (i) => [i.Name, i.Description, Labelise(i.AssignedItems), i.Identifier],
    1304840413: (i) => [i.Name, i.Description, Labelise(i.AssignedItems), i.Identifier, i.LayerOn, i.LayerFrozen, i.LayerBlocked, Labelise(i.LayerStyles)],
    3119450353: (i) => [i.Name],
    2417041796: (i) => [Labelise(i.Styles)],
    2095639259: (i) => [i.Name, i.Description, i.Representations],
    2267347899: (i) => [i.Material, i.SpecificHeatCapacity, i.N20Content, i.COContent, i.CO2Content],
    3958567839: (i) => [i.ProfileType, i.ProfileName],
    2802850158: (i) => [i.ProfileName, i.ProfileDefinition],
    2598011224: (i) => [i.Name, i.Description],
    3896028662: (i) => [i.RelatingConstraint, i.RelatedProperties, i.Name, i.Description],
    148025276: (i) => [i.DependingProperty, i.DependantProperty, i.Name, i.Description, i.Expression],
    3710013099: (i) => [i.Name, i.EnumerationValues.map((p) => Labelise(p)), Labelise(i.Unit)],
    2044713172: (i) => [i.Name, i.Description, i.Unit, i.AreaValue],
    2093928680: (i) => [i.Name, i.Description, i.Unit, i.CountValue],
    931644368: (i) => [i.Name, i.Description, i.Unit, i.LengthValue],
    3252649465: (i) => [i.Name, i.Description, i.Unit, i.TimeValue],
    2405470396: (i) => [i.Name, i.Description, i.Unit, i.VolumeValue],
    825690147: (i) => [i.Name, i.Description, i.Unit, i.WeightValue],
    2692823254: (i) => [Labelise(i.ReferencedDocument), i.ReferencingValues, i.Name, i.Description],
    1580146022: (i) => [i.TotalCrossSectionArea, i.SteelGrade, i.BarSurface, i.EffectiveDepth, i.NominalBarDiameter, i.BarCount],
    1222501353: (i) => [i.RelaxationValue, i.InitialStress],
    1076942058: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items],
    3377609919: (i) => [i.ContextIdentifier, i.ContextType],
    3008791417: (_) => [],
    1660063152: (i) => [Labelise(i.MappingOrigin), i.MappedRepresentation],
    3679540991: (i) => [i.ProfileName, i.ProfileDefinition, i.Thickness, i.RibHeight, i.RibWidth, i.RibSpacing, i.Direction],
    2341007311: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    448429030: (i) => [void 0, i.UnitType, i.Prefix, i.Name],
    2042790032: (i) => [i.SectionType, i.StartProfile, i.EndProfile],
    4165799628: (i) => [i.LongitudinalStartPosition, i.LongitudinalEndPosition, i.TransversePosition, i.ReinforcementRole, i.SectionDefinition, i.CrossSectionReinforcementDefinitions],
    867548509: (i) => [i.ShapeRepresentations, i.Name, i.Description, i.ProductDefinitional, i.PartOfProductDefinitionShape],
    3982875396: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items],
    4240577450: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items],
    3692461612: (i) => [i.Name, i.Description],
    2273995522: (i) => [i.Name],
    2162789131: (i) => [i.Name],
    2525727697: (i) => [i.Name],
    3408363356: (i) => [i.Name, i.DeltaT_Constant, i.DeltaT_Y, i.DeltaT_Z],
    2830218821: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items],
    3958052878: (i) => [i.Item, i.Styles, i.Name],
    3049322572: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items],
    1300840506: (i) => [i.Name, i.Side, Labelise(i.Styles)],
    3303107099: (i) => [i.DiffuseTransmissionColour, i.DiffuseReflectionColour, i.TransmissionColour, i.ReflectanceColour],
    1607154358: (i) => [i.RefractionIndex, i.DispersionFactor],
    846575682: (i) => [i.SurfaceColour],
    1351298697: (i) => [i.Textures],
    626085974: (i) => [i.RepeatS, i.RepeatT, i.TextureType, i.TextureTransform],
    1290481447: (i) => [i.Name, Labelise(i.StyleOfSymbol)],
    985171141: (i) => [i.Name, i.Rows],
    531007025: (i) => [i.RowCells.map((p) => Labelise(p)), i.IsHeading],
    912023232: (i) => [i.Purpose, i.Description, i.UserDefinedPurpose, i.TelephoneNumbers, i.FacsimileNumbers, i.PagerNumber, i.ElectronicMailAddresses, i.WWWHomePageURL],
    1447204868: (i) => [i.Name, Labelise(i.TextCharacterAppearance), Labelise(i.TextStyle), Labelise(i.TextFontStyle)],
    1983826977: (i) => [i.Name, i.FontFamily, i.FontStyle, i.FontVariant, i.FontWeight, Labelise(i.FontSize)],
    2636378356: (i) => [Labelise(i.Colour), Labelise(i.BackgroundColour)],
    1640371178: (i) => [(i.TextIndent ?? void 0) === void 0 ? null : Labelise(i.TextIndent), i.TextAlign, i.TextDecoration, (i.LetterSpacing ?? void 0) === void 0 ? null : Labelise(i.LetterSpacing), (i.WordSpacing ?? void 0) === void 0 ? null : Labelise(i.WordSpacing), i.TextTransform, (i.LineHeight ?? void 0) === void 0 ? null : Labelise(i.LineHeight)],
    1484833681: (i) => [i.BoxHeight, i.BoxWidth, i.BoxSlantAngle, i.BoxRotateAngle, (i.CharacterSpacing ?? void 0) === void 0 ? null : Labelise(i.CharacterSpacing)],
    280115917: (_) => [],
    1742049831: (i) => [i.Mode, i.Parameter.map((p) => Labelise(p))],
    2552916305: (i) => [i.TextureMaps],
    1210645708: (i) => [i.Coordinates],
    3317419933: (i) => [i.Material, i.SpecificHeatCapacity, i.BoilingPoint, i.FreezingPoint, i.ThermalConductivity],
    3101149627: (i) => [i.Name, i.Description, Labelise(i.StartTime), Labelise(i.EndTime), i.TimeSeriesDataType, i.DataOrigin, i.UserDefinedDataOrigin, Labelise(i.Unit)],
    1718945513: (i) => [i.ReferencedTimeSeries, Labelise(i.TimeSeriesReferences)],
    581633288: (i) => [i.ListValues.map((p) => Labelise(p))],
    1377556343: (_) => [],
    1735638870: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items],
    180925521: (i) => [Labelise(i.Units)],
    2799835756: (_) => [],
    3304826586: (i) => [i.TextureVertices, i.TexturePoints],
    1907098498: (i) => [i.VertexGeometry],
    891718957: (i) => [i.IntersectingAxes, i.OffsetDistances],
    1065908215: (i) => [i.Material, i.IsPotable, i.Hardness, i.AlkalinityConcentration, i.AcidityConcentration, i.ImpuritiesContent, i.PHLevel, i.DissolvedSolidsContent],
    2442683028: (i) => [i.Item, i.Styles, i.Name],
    962685235: (i) => [i.Item, i.Styles, i.Name],
    3612888222: (i) => [i.Item, i.Styles, i.Name],
    2297822566: (i) => [i.Item, i.Styles, i.Name],
    3798115385: (i) => [i.ProfileType, i.ProfileName, i.OuterCurve],
    1310608509: (i) => [i.ProfileType, i.ProfileName, i.Curve],
    2705031697: (i) => [i.ProfileType, i.ProfileName, i.OuterCurve, i.InnerCurves],
    616511568: (i) => [i.RepeatS, i.RepeatT, i.TextureType, i.TextureTransform, i.RasterFormat, i.RasterCode],
    3150382593: (i) => [i.ProfileType, i.ProfileName, i.Curve, i.Thickness],
    647927063: (i) => [i.Location, i.ItemReference, i.Name, i.ReferencedSource],
    776857604: (i) => [i.Name, i.Red, i.Green, i.Blue],
    2542286263: (i) => [i.Name, i.Description, i.UsageName, i.HasProperties],
    1485152156: (i) => [i.ProfileType, i.ProfileName, i.Profiles, i.Label],
    370225590: (i) => [i.CfsFaces],
    1981873012: (i) => [Labelise(i.CurveOnRelatingElement), Labelise(i.CurveOnRelatedElement)],
    45288368: (i) => [Labelise(i.PointOnRelatingElement), Labelise(i.PointOnRelatedElement), i.EccentricityInX, i.EccentricityInY, i.EccentricityInZ],
    3050246964: (i) => [i.Dimensions, i.UnitType, i.Name],
    2889183280: (i) => [i.Dimensions, i.UnitType, i.Name, i.ConversionFactor],
    3800577675: (i) => [i.Name, Labelise(i.CurveFont), (i.CurveWidth ?? void 0) === void 0 ? null : Labelise(i.CurveWidth), Labelise(i.CurveColour)],
    3632507154: (i) => [i.ProfileType, i.ProfileName, i.ParentProfile, i.Operator, i.Label],
    2273265877: (i) => [i.Name, i.Description, i.RelatingDraughtingCallout, i.RelatedDraughtingCallout],
    1694125774: (i) => [i.Name, i.Description, i.RelatingDraughtingCallout, i.RelatedDraughtingCallout],
    3732053477: (i) => [i.Location, i.ItemReference, i.Name],
    4170525392: (i) => [i.Name],
    3900360178: (i) => [i.EdgeStart, i.EdgeEnd],
    476780140: (i) => [i.EdgeStart, i.EdgeEnd, i.EdgeGeometry, i.SameSense],
    1860660968: (i) => [i.Material, i.ExtendedProperties, i.Description, i.Name],
    2556980723: (i) => [i.Bounds],
    1809719519: (i) => [i.Bound, i.Orientation],
    803316827: (i) => [i.Bound, i.Orientation],
    3008276851: (i) => [i.Bounds, i.FaceSurface, i.SameSense],
    4219587988: (i) => [i.Name, i.TensionFailureX, i.TensionFailureY, i.TensionFailureZ, i.CompressionFailureX, i.CompressionFailureY, i.CompressionFailureZ],
    738692330: (i) => [i.Name, Labelise(i.FillStyles)],
    3857492461: (i) => [i.Material, i.CombustionTemperature, i.CarbonContent, i.LowerHeatingValue, i.HigherHeatingValue],
    803998398: (i) => [i.Material, i.MolecularWeight, i.Porosity, i.MassDensity],
    1446786286: (i) => [i.ProfileName, i.ProfileDefinition, i.PhysicalWeight, i.Perimeter, i.MinimumPlateThickness, i.MaximumPlateThickness, i.CrossSectionArea],
    3448662350: (i) => [i.ContextIdentifier, i.ContextType, i.CoordinateSpaceDimension, i.Precision, Labelise(i.WorldCoordinateSystem), i.TrueNorth],
    2453401579: (_) => [],
    4142052618: (i) => [i.ContextIdentifier, i.ContextType, void 0, void 0, void 0, void 0, i.ParentContext, i.TargetScale, i.TargetView, i.UserDefinedTargetView],
    3590301190: (i) => [Labelise(i.Elements)],
    178086475: (i) => [i.PlacementLocation, i.PlacementRefDirection],
    812098782: (i) => [i.BaseSurface, i.AgreementFlag],
    2445078500: (i) => [i.Material, i.UpperVaporResistanceFactor, i.LowerVaporResistanceFactor, i.IsothermalMoistureCapacity, i.VaporPermeability, i.MoistureDiffusivity],
    3905492369: (i) => [i.RepeatS, i.RepeatT, i.TextureType, i.TextureTransform, i.UrlReference],
    3741457305: (i) => [i.Name, i.Description, Labelise(i.StartTime), Labelise(i.EndTime), i.TimeSeriesDataType, i.DataOrigin, i.UserDefinedDataOrigin, Labelise(i.Unit), i.Values],
    1402838566: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity],
    125510826: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity],
    2604431987: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Orientation],
    4266656042: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Position, i.ColourAppearance, i.ColourTemperature, i.LuminousFlux, i.LightEmissionSource, Labelise(i.LightDistributionDataSource)],
    1520743889: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Position, i.Radius, i.ConstantAttenuation, i.DistanceAttenuation, i.QuadricAttenuation],
    3422422726: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Position, i.Radius, i.ConstantAttenuation, i.DistanceAttenuation, i.QuadricAttenuation, i.Orientation, i.ConcentrationExponent, i.SpreadAngle, i.BeamWidthAngle],
    2624227202: (i) => [i.PlacementRelTo, Labelise(i.RelativePlacement)],
    1008929658: (_) => [],
    2347385850: (i) => [i.MappingSource, i.MappingTarget],
    2022407955: (i) => [i.Name, i.Description, i.Representations, i.RepresentedMaterial],
    1430189142: (i) => [i.Material, i.DynamicViscosity, i.YoungModulus, i.ShearModulus, i.PoissonRatio, i.ThermalExpansionCoefficient, i.CompressiveStrength, i.MaxAggregateSize, i.AdmixturesDescription, i.Workability, i.ProtectivePoreRatio, i.WaterImpermeability],
    219451334: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    2833995503: (i) => [i.RepeatFactor],
    2665983363: (i) => [i.CfsFaces],
    1029017970: (i) => [void 0, void 0, i.EdgeElement, i.Orientation],
    2529465313: (i) => [i.ProfileType, i.ProfileName, i.Position],
    2519244187: (i) => [i.EdgeList],
    3021840470: (i) => [i.Name, i.Description, i.HasQuantities, i.Discrimination, i.Quality, i.Usage],
    597895409: (i) => [i.RepeatS, i.RepeatT, i.TextureType, i.TextureTransform, i.Width, i.Height, i.ColourComponents, i.Pixel],
    2004835150: (i) => [i.Location],
    1663979128: (i) => [i.SizeInX, i.SizeInY],
    2067069095: (_) => [],
    4022376103: (i) => [i.BasisCurve, i.PointParameter],
    1423911732: (i) => [i.BasisSurface, i.PointParameterU, i.PointParameterV],
    2924175390: (i) => [i.Polygon],
    2775532180: (i) => [i.BaseSurface, i.AgreementFlag, i.Position, i.PolygonalBoundary],
    759155922: (i) => [i.Name],
    2559016684: (i) => [i.Name],
    433424934: (i) => [i.Name],
    179317114: (i) => [i.Name],
    673634403: (i) => [i.Name, i.Description, i.Representations],
    871118103: (i) => [i.Name, i.Description, (i.UpperBoundValue ?? void 0) === void 0 ? null : Labelise(i.UpperBoundValue), (i.LowerBoundValue ?? void 0) === void 0 ? null : Labelise(i.LowerBoundValue), Labelise(i.Unit)],
    1680319473: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    4166981789: (i) => [i.Name, i.Description, i.EnumerationValues.map((p) => Labelise(p)), i.EnumerationReference],
    2752243245: (i) => [i.Name, i.Description, i.ListValues.map((p) => Labelise(p)), Labelise(i.Unit)],
    941946838: (i) => [i.Name, i.Description, i.UsageName, Labelise(i.PropertyReference)],
    3357820518: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    3650150729: (i) => [i.Name, i.Description, (i.NominalValue ?? void 0) === void 0 ? null : Labelise(i.NominalValue), Labelise(i.Unit)],
    110355661: (i) => [i.Name, i.Description, i.DefiningValues.map((p) => Labelise(p)), i.DefinedValues.map((p) => Labelise(p)), i.Expression, Labelise(i.DefiningUnit), Labelise(i.DefinedUnit)],
    3615266464: (i) => [i.ProfileType, i.ProfileName, i.Position, i.XDim, i.YDim],
    3413951693: (i) => [i.Name, i.Description, Labelise(i.StartTime), Labelise(i.EndTime), i.TimeSeriesDataType, i.DataOrigin, i.UserDefinedDataOrigin, Labelise(i.Unit), i.TimeStep, i.Values],
    3765753017: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.DefinitionType, i.ReinforcementSectionDefinitions],
    478536968: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    2778083089: (i) => [i.ProfileType, i.ProfileName, i.Position, i.XDim, i.YDim, i.RoundingRadius],
    1509187699: (i) => [i.SpineCurve, i.CrossSections, i.CrossSectionPositions],
    2411513650: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.PredefinedType, (i.UpperValue ?? void 0) === void 0 ? null : Labelise(i.UpperValue), Labelise(i.MostUsedValue), (i.LowerValue ?? void 0) === void 0 ? null : Labelise(i.LowerValue)],
    4124623270: (i) => [Labelise(i.SbsmBoundary)],
    2609359061: (i) => [i.Name, i.SlippageX, i.SlippageY, i.SlippageZ],
    723233188: (_) => [],
    2485662743: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, { type: 3, value: i.IsAttenuating.value }, i.SoundScale, i.SoundValues],
    1202362311: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.SoundLevelTimeSeries, i.Frequency, (i.SoundLevelSingleValue ?? void 0) === void 0 ? null : Labelise(i.SoundLevelSingleValue)],
    390701378: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableValueRatio, i.ThermalLoadSource, i.PropertySource, i.SourceDescription, i.MaximumValue, i.MinimumValue, i.ThermalLoadTimeSeriesValues, i.UserDefinedThermalLoadSource, i.UserDefinedPropertySource, i.ThermalLoadType],
    1595516126: (i) => [i.Name, i.LinearForceX, i.LinearForceY, i.LinearForceZ, i.LinearMomentX, i.LinearMomentY, i.LinearMomentZ],
    2668620305: (i) => [i.Name, i.PlanarForceX, i.PlanarForceY, i.PlanarForceZ],
    2473145415: (i) => [i.Name, i.DisplacementX, i.DisplacementY, i.DisplacementZ, i.RotationalDisplacementRX, i.RotationalDisplacementRY, i.RotationalDisplacementRZ],
    1973038258: (i) => [i.Name, i.DisplacementX, i.DisplacementY, i.DisplacementZ, i.RotationalDisplacementRX, i.RotationalDisplacementRY, i.RotationalDisplacementRZ, i.Distortion],
    1597423693: (i) => [i.Name, i.ForceX, i.ForceY, i.ForceZ, i.MomentX, i.MomentY, i.MomentZ],
    1190533807: (i) => [i.Name, i.ForceX, i.ForceY, i.ForceZ, i.MomentX, i.MomentY, i.MomentZ, i.WarpingMoment],
    3843319758: (i) => [i.ProfileName, i.ProfileDefinition, i.PhysicalWeight, i.Perimeter, i.MinimumPlateThickness, i.MaximumPlateThickness, i.CrossSectionArea, i.TorsionalConstantX, i.MomentOfInertiaYZ, i.MomentOfInertiaY, i.MomentOfInertiaZ, i.WarpingConstant, i.ShearCentreZ, i.ShearCentreY, i.ShearDeformationAreaZ, i.ShearDeformationAreaY, i.MaximumSectionModulusY, i.MinimumSectionModulusY, i.MaximumSectionModulusZ, i.MinimumSectionModulusZ, i.TorsionalSectionModulus, i.CentreOfGravityInX, i.CentreOfGravityInY],
    3653947884: (i) => [i.ProfileName, i.ProfileDefinition, i.PhysicalWeight, i.Perimeter, i.MinimumPlateThickness, i.MaximumPlateThickness, i.CrossSectionArea, i.TorsionalConstantX, i.MomentOfInertiaYZ, i.MomentOfInertiaY, i.MomentOfInertiaZ, i.WarpingConstant, i.ShearCentreZ, i.ShearCentreY, i.ShearDeformationAreaZ, i.ShearDeformationAreaY, i.MaximumSectionModulusY, i.MinimumSectionModulusY, i.MaximumSectionModulusZ, i.MinimumSectionModulusZ, i.TorsionalSectionModulus, i.CentreOfGravityInX, i.CentreOfGravityInY, i.ShearAreaZ, i.ShearAreaY, i.PlasticShapeFactorY, i.PlasticShapeFactorZ],
    2233826070: (i) => [i.EdgeStart, i.EdgeEnd, i.ParentEdge],
    2513912981: (_) => [],
    1878645084: (i) => [i.SurfaceColour, i.Transparency, Labelise(i.DiffuseColour), Labelise(i.TransmissionColour), Labelise(i.DiffuseTransmissionColour), Labelise(i.ReflectionColour), Labelise(i.SpecularColour), (i.SpecularHighlight ?? void 0) === void 0 ? null : Labelise(i.SpecularHighlight), i.ReflectanceMethod],
    2247615214: (i) => [i.SweptArea, i.Position],
    1260650574: (i) => [i.Directrix, i.Radius, i.InnerRadius, i.StartParam, i.EndParam],
    230924584: (i) => [i.SweptCurve, i.Position],
    3071757647: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.FlangeWidth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.FlangeEdgeRadius, i.WebEdgeRadius, i.WebSlope, i.FlangeSlope, i.CentreOfGravityInY],
    3028897424: (i) => [i.Item, i.Styles, i.Name, i.AnnotatedCurve],
    4282788508: (i) => [i.Literal, Labelise(i.Placement), i.Path],
    3124975700: (i) => [i.Literal, Labelise(i.Placement), i.Path, i.Extent, i.BoxAlignment],
    2715220739: (i) => [i.ProfileType, i.ProfileName, i.Position, i.BottomXDim, i.TopXDim, i.YDim, i.TopXOffset],
    1345879162: (i) => [i.RepeatFactor, i.SecondRepeatFactor],
    1628702193: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets],
    2347495698: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag],
    427810014: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.FlangeWidth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.EdgeRadius, i.FlangeSlope, i.CentreOfGravityInX],
    1417489154: (i) => [i.Orientation, i.Magnitude],
    2759199220: (i) => [i.LoopVertex],
    336235671: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.LiningDepth, i.LiningThickness, i.TransomThickness, i.MullionThickness, i.FirstTransomOffset, i.SecondTransomOffset, i.FirstMullionOffset, i.SecondMullionOffset, i.ShapeAspectStyle],
    512836454: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.OperationType, i.PanelPosition, i.FrameDepth, i.FrameThickness, i.ShapeAspectStyle],
    1299126871: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ConstructionType, i.OperationType, i.ParameterTakesPrecedence, i.Sizeable],
    2543172580: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.FlangeWidth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.EdgeRadius],
    3288037868: (i) => [i.Item, i.Styles, i.Name],
    669184980: (i) => [i.OuterBoundary, i.InnerBoundaries],
    2265737646: (i) => [i.Item, i.Styles, i.Name, i.FillStyleTarget, i.GlobalOrLocal],
    1302238472: (i) => [i.Item, i.TextureCoordinates],
    4261334040: (i) => [i.Location, i.Axis],
    3125803723: (i) => [i.Location, i.RefDirection],
    2740243338: (i) => [i.Location, i.Axis, i.RefDirection],
    2736907675: (i) => [i.Operator, Labelise(i.FirstOperand), Labelise(i.SecondOperand)],
    4182860854: (_) => [],
    2581212453: (i) => [i.Corner, i.XDim, i.YDim, i.ZDim],
    2713105998: (i) => [i.BaseSurface, i.AgreementFlag, i.Enclosure],
    2898889636: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.Width, i.WallThickness, i.Girth, i.InternalFilletRadius, i.CentreOfGravityInX],
    1123145078: (i) => [i.Coordinates],
    59481748: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale],
    3749851601: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale],
    3486308946: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale, i.Scale2],
    3331915920: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale, i.Axis3],
    1416205885: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale, i.Axis3, i.Scale2, i.Scale3],
    1383045692: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Radius],
    2205249479: (i) => [i.CfsFaces],
    2485617015: (i) => [i.Transition, i.SameSense, i.ParentCurve],
    4133800736: (i) => [i.ProfileType, i.ProfileName, i.Position, i.OverallHeight, i.BaseWidth2, i.Radius, i.HeadWidth, i.HeadDepth2, i.HeadDepth3, i.WebThickness, i.BaseWidth4, i.BaseDepth1, i.BaseDepth2, i.BaseDepth3, i.CentreOfGravityInY],
    194851669: (i) => [i.ProfileType, i.ProfileName, i.Position, i.OverallHeight, i.HeadWidth, i.Radius, i.HeadDepth2, i.HeadDepth3, i.WebThickness, i.BaseDepth1, i.BaseDepth2, i.CentreOfGravityInY],
    2506170314: (i) => [i.Position],
    2147822146: (i) => [Labelise(i.TreeRootExpression)],
    2601014836: (_) => [],
    2827736869: (i) => [i.BasisSurface, i.OuterBoundary, i.InnerBoundaries],
    693772133: (i) => [Labelise(i.Definition), i.Target],
    606661476: (i) => [i.Item, i.Styles, i.Name],
    4054601972: (i) => [i.Item, i.Styles, i.Name, i.AnnotatedCurve, i.Role],
    32440307: (i) => [i.DirectionRatios],
    2963535650: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.LiningDepth, i.LiningThickness, i.ThresholdDepth, i.ThresholdThickness, i.TransomThickness, i.TransomOffset, i.LiningOffset, i.ThresholdOffset, i.CasingThickness, i.CasingDepth, i.ShapeAspectStyle],
    1714330368: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.PanelDepth, i.PanelOperation, i.PanelWidth, i.PanelPosition, i.ShapeAspectStyle],
    526551008: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.OperationType, i.ConstructionType, i.ParameterTakesPrecedence, i.Sizeable],
    3073041342: (i) => [Labelise(i.Contents)],
    445594917: (i) => [i.Name],
    4006246654: (i) => [i.Name],
    1472233963: (i) => [i.EdgeList],
    1883228015: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.MethodOfMeasurement, i.Quantities],
    339256511: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    2777663545: (i) => [i.Position],
    2835456948: (i) => [i.ProfileType, i.ProfileName, i.Position, i.SemiAxis1, i.SemiAxis2],
    80994333: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.EnergySequence, i.UserDefinedEnergySequence],
    477187591: (i) => [i.SweptArea, i.Position, i.ExtrudedDirection, i.Depth],
    2047409740: (i) => [i.FbsmFaces],
    374418227: (i) => [i.HatchLineAppearance, Labelise(i.StartOfNextHatchLine), i.PointOfReferenceHatchLine, i.PatternStart, i.HatchLineAngle],
    4203026998: (i) => [i.Symbol],
    315944413: (i) => [i.TilingPattern, Labelise(i.Tiles), i.TilingScale],
    3455213021: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.PropertySource, i.FlowConditionTimeSeries, i.VelocityTimeSeries, i.FlowrateTimeSeries, i.Fluid, i.PressureTimeSeries, i.UserDefinedPropertySource, i.TemperatureSingleValue, i.WetBulbTemperatureSingleValue, i.WetBulbTemperatureTimeSeries, i.TemperatureTimeSeries, (i.FlowrateSingleValue ?? void 0) === void 0 ? null : Labelise(i.FlowrateSingleValue), i.FlowConditionSingleValue, i.VelocitySingleValue, i.PressureSingleValue],
    4238390223: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    1268542332: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.AssemblyPlace],
    987898635: (i) => [Labelise(i.Elements)],
    1484403080: (i) => [i.ProfileType, i.ProfileName, i.Position, i.OverallWidth, i.OverallDepth, i.WebThickness, i.FlangeThickness, i.FilletRadius],
    572779678: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.Width, i.Thickness, i.FilletRadius, i.EdgeRadius, i.LegSlope, i.CentreOfGravityInX, i.CentreOfGravityInY],
    1281925730: (i) => [i.Pnt, i.Dir],
    1425443689: (i) => [i.Outer],
    3888040117: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType],
    3388369263: (i) => [i.BasisCurve, i.Distance, i.SelfIntersect],
    3505215534: (i) => [i.BasisCurve, i.Distance, i.SelfIntersect, i.RefDirection],
    3566463478: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.OperationType, i.PanelPosition, i.FrameDepth, i.FrameThickness, i.ShapeAspectStyle],
    603570806: (i) => [i.SizeInX, i.SizeInY, Labelise(i.Placement)],
    220341763: (i) => [i.Position],
    2945172077: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType],
    4208778838: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation],
    103090709: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName, i.Phase, i.RepresentationContexts, i.UnitsInContext],
    4194566429: (i) => [i.Item, i.Styles, i.Name],
    1451395588: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.HasProperties],
    3219374653: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.ProxyType, i.Tag],
    2770003689: (i) => [i.ProfileType, i.ProfileName, i.Position, i.XDim, i.YDim, i.WallThickness, i.InnerFilletRadius, i.OuterFilletRadius],
    2798486643: (i) => [i.Position, i.XLength, i.YLength, i.Height],
    3454111270: (i) => [i.BasisSurface, i.U1, i.V1, i.U2, i.V2, i.Usense, i.Vsense],
    3939117080: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType],
    1683148259: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingActor, i.ActingRole],
    2495723537: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingControl],
    1307041759: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingGroup],
    4278684876: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingProcess, i.QuantityInProcess],
    2857406711: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingProduct],
    3372526763: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingControl],
    205026976: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingResource],
    1865459582: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects],
    1327628568: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingAppliedValue],
    4095574036: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingApproval],
    919958153: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, Labelise(i.RelatingClassification)],
    2728634034: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.Intent, i.RelatingConstraint],
    982818633: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, Labelise(i.RelatingDocument)],
    3840914261: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, Labelise(i.RelatingLibrary)],
    2655215786: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, Labelise(i.RelatingMaterial)],
    2851387026: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingProfileProperties, i.ProfileSectionLocation, Labelise(i.ProfileOrientation)],
    826625072: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    1204542856: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ConnectionGeometry, i.RelatingElement, i.RelatedElement],
    3945020480: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ConnectionGeometry, i.RelatingElement, i.RelatedElement, i.RelatingPriorities, i.RelatedPriorities, i.RelatedConnectionType, i.RelatingConnectionType],
    4201705270: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingPort, i.RelatedElement],
    3190031847: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingPort, i.RelatedPort, i.RealizingElement],
    2127690289: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatingElement), i.RelatedStructuralActivity],
    3912681535: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingElement, i.RelatedStructuralMember],
    1638771189: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingStructuralMember, i.RelatedStructuralConnection, i.AppliedCondition, i.AdditionalConditions, i.SupportedLength, i.ConditionCoordinateSystem],
    504942748: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingStructuralMember, i.RelatedStructuralConnection, i.AppliedCondition, i.AdditionalConditions, i.SupportedLength, i.ConditionCoordinateSystem, i.ConnectionConstraint],
    3678494232: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ConnectionGeometry, i.RelatingElement, i.RelatedElement, i.RealizingElements, i.ConnectionType],
    3242617779: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedElements, i.RelatingStructure],
    886880790: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingBuildingElement, i.RelatedCoverings],
    2802773753: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedSpace, i.RelatedCoverings],
    2551354335: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingObject, i.RelatedObjects],
    693640335: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects],
    4186316022: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingPropertyDefinition],
    781010003: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingType],
    3940055652: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingOpeningElement, i.RelatedBuildingElement],
    279856033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedControlElements, i.RelatingFlowElement],
    4189434867: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.DailyInteraction, i.ImportanceRating, i.LocationOfInteraction, i.RelatedSpaceProgram, i.RelatingSpaceProgram],
    3268803585: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingObject, i.RelatedObjects],
    2051452291: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingActor, i.ActingRole],
    202636808: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingPropertyDefinition, i.OverridingProperties],
    750771296: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingElement, i.RelatedFeatureElement],
    1245217292: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedElements, i.RelatingStructure],
    1058617721: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingControl],
    4122056220: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingProcess, i.RelatedProcess, i.TimeLag, i.SequenceType],
    366585022: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingSystem, i.RelatedBuildings],
    3451746338: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingSpace, i.RelatedBuildingElement, i.ConnectionGeometry, i.PhysicalOrVirtualBoundary, i.InternalOrExternalBoundary],
    1401173127: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingBuildingElement, i.RelatedOpeningElement],
    2914609552: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType],
    1856042241: (i) => [i.SweptArea, i.Position, i.Axis, i.Angle],
    4158566097: (i) => [i.Position, i.Height, i.BottomRadius],
    3626867408: (i) => [i.Position, i.Height, i.Radius],
    2706606064: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType],
    3893378262: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    451544542: (i) => [i.Position, i.Radius],
    3544373492: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal],
    3136571912: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation],
    530289379: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation],
    3689010777: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal],
    3979015343: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType, i.Thickness],
    2218152070: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType, i.Thickness, i.SubsequentThickness, i.VaryingThicknessLocation],
    4070609034: (i) => [Labelise(i.Contents)],
    2028607225: (i) => [i.SweptArea, i.Position, i.Directrix, i.StartParam, i.EndParam, i.ReferenceSurface],
    2809605785: (i) => [i.SweptCurve, i.Position, i.ExtrudedDirection, i.Depth],
    4124788165: (i) => [i.SweptCurve, i.Position, i.AxisPosition],
    1580310250: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    3473067441: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.TaskId, i.Status, i.WorkMethod, i.IsMilestone, i.Priority],
    2097647324: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2296667514: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, Labelise(i.TheActor)],
    1674181508: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation],
    3207858831: (i) => [i.ProfileType, i.ProfileName, i.Position, i.OverallWidth, i.OverallDepth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.TopFlangeWidth, i.TopFlangeThickness, i.TopFlangeFilletRadius, i.CentreOfGravityInY],
    1334484129: (i) => [i.Position, i.XLength, i.YLength, i.ZLength],
    3649129432: (i) => [i.Operator, Labelise(i.FirstOperand), Labelise(i.SecondOperand)],
    1260505505: (_) => [],
    4031249490: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.ElevationOfRefHeight, i.ElevationOfTerrain, i.BuildingAddress],
    1950629157: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    3124254112: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.Elevation],
    2937912522: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Radius, i.WallThickness],
    300633059: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3732776249: (i) => [i.Segments, i.SelfIntersect],
    2510884976: (i) => [Labelise(i.Position)],
    2559216714: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ResourceIdentifier, i.ResourceGroup, i.ResourceConsumption, i.BaseQuantity],
    3293443760: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType],
    3895139033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType],
    1419761937: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, Labelise(i.SubmittedBy), Labelise(i.PreparedBy), Labelise(i.SubmittedOn), i.Status, Labelise(i.TargetUsers), Labelise(i.UpdateDate), i.ID, i.PredefinedType],
    1916426348: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3295246426: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ResourceIdentifier, i.ResourceGroup, i.ResourceConsumption, i.BaseQuantity],
    1457835157: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    681481545: (i) => [Labelise(i.Contents)],
    3256556792: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    3849074793: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    360485395: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.EnergySequence, i.UserDefinedEnergySequence, i.ElectricCurrentType, i.InputVoltage, i.InputFrequency, i.FullLoadCurrent, i.MinimumCircuitCurrent, i.MaximumPowerInput, i.RatedPowerInput, i.InputPhase],
    1758889154: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    4123344466: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.AssemblyPlace, i.PredefinedType],
    1623761950: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    2590856083: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    1704287377: (i) => [Labelise(i.Position), i.SemiAxis1, i.SemiAxis2],
    2107101300: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    1962604670: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    3272907226: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType],
    3174744832: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3390157468: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    807026263: (i) => [i.Outer],
    3737207727: (i) => [i.Outer, i.Voids],
    647756555: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    2489546625: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    2827207264: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    2143335405: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    1287392070: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    3907093117: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    3198132628: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    3815607619: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1482959167: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    1834744321: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    1339347760: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    2297155007: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    3009222698: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    263784265: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    814719939: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType],
    200128114: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3009204131: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.UAxes, i.VAxes, i.WAxes],
    2706460486: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType],
    1251058090: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1806887404: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2391368822: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.InventoryType, Labelise(i.Jurisdiction), i.ResponsiblePersons, i.LastUpdateDate, i.CurrentValue, i.OriginalValue],
    4288270099: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3827777499: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ResourceIdentifier, i.ResourceGroup, i.ResourceConsumption, i.BaseQuantity, i.SkillSet],
    1051575348: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1161773419: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2506943328: (i) => [Labelise(i.Contents)],
    377706215: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.NominalDiameter, i.NominalLength],
    2108223431: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    3181161470: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    977012517: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1916936684: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.TaskId, i.Status, i.WorkMethod, i.IsMilestone, i.Priority, i.MoveFrom, i.MoveTo, i.PunchList],
    4143007308: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, Labelise(i.TheActor), i.PredefinedType],
    3588315303: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    3425660407: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.TaskId, i.Status, i.WorkMethod, i.IsMilestone, i.Priority, i.ActionID],
    2837617999: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2382730787: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LifeCyclePhase],
    3327091369: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PermitID],
    804291784: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    4231323485: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    4017108033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3724593414: (i) => [i.Points],
    3740093272: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation],
    2744685151: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ProcedureID, i.ProcedureType, i.UserDefinedProcedureType],
    2904328755: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ID, i.PredefinedType, i.Status],
    3642467123: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Records, i.PredefinedType],
    3651124850: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    1842657554: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2250791053: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3248260540: (i) => [Labelise(i.Contents)],
    2893384427: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2324767716: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    160246688: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingObject, i.RelatedObjects],
    2863920197: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingControl, i.TimeForTask],
    1768891740: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3517283431: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, Labelise(i.ActualStart), Labelise(i.EarlyStart), Labelise(i.LateStart), Labelise(i.ScheduleStart), Labelise(i.ActualFinish), Labelise(i.EarlyFinish), Labelise(i.LateFinish), Labelise(i.ScheduleFinish), i.ScheduleDuration, i.ActualDuration, i.RemainingTime, i.FreeFloat, i.TotalFloat, i.IsCritical, Labelise(i.StatusTime), i.StartFloat, i.FinishFloat, i.Completion],
    4105383287: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ServiceLifeType, i.ServiceLifeDuration],
    4097777520: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.RefLatitude, i.RefLongitude, i.RefElevation, i.LandTitleNumber, i.SiteAddress],
    2533589738: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3856911033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.InteriorOrExteriorSpace, i.ElevationWithFlooring],
    1305183839: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    652456506: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.SpaceProgramIdentifier, i.MaxRequiredArea, i.MinRequiredArea, i.RequestedLocation, i.StandardRequiredArea],
    3812236995: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3112655638: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1039846685: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    682877961: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad, i.CausedBy],
    1179482911: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition],
    4243806635: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition],
    214636428: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType],
    2445595289: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType],
    1807405624: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad, i.CausedBy, i.ProjectedOrTrue],
    1721250024: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad, i.CausedBy, i.ProjectedOrTrue, i.VaryingAppliedLoadLocation, i.SubsequentAppliedLoads],
    1252848954: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.ActionType, i.ActionSource, i.Coefficient, i.Purpose],
    1621171031: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad, i.CausedBy, i.ProjectedOrTrue],
    3987759626: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad, i.CausedBy, i.ProjectedOrTrue, i.VaryingAppliedLoadLocation, i.SubsequentAppliedLoads],
    2082059205: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad, i.CausedBy],
    734778138: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition],
    1235345126: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal],
    2986769608: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.TheoryType, i.ResultForLoadGroup, i.IsLinear],
    1975003073: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition],
    148013059: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ResourceIdentifier, i.ResourceGroup, i.ResourceConsumption, i.BaseQuantity, Labelise(i.SubContractor), i.JobDescription],
    2315554128: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2254336722: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType],
    5716631: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1637806684: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, Labelise(i.ApplicableDates), i.TimeSeriesScheduleType, i.TimeSeries],
    1692211062: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1620046519: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.OperationType, i.CapacityByWeight, i.CapacityByNumber],
    3593883385: (i) => [i.BasisCurve, Labelise(i.Trim1), Labelise(i.Trim2), i.SenseAgreement, i.MasterRepresentation],
    1600972822: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1911125066: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    728799441: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2769231204: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    1898987631: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1133259667: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1028945134: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identifier, Labelise(i.CreationDate), i.Creators, i.Purpose, i.Duration, i.TotalFloat, Labelise(i.StartTime), Labelise(i.FinishTime), i.WorkControlType, i.UserDefinedControlType],
    4218914973: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identifier, Labelise(i.CreationDate), i.Creators, i.Purpose, i.Duration, i.TotalFloat, Labelise(i.StartTime), Labelise(i.FinishTime), i.WorkControlType, i.UserDefinedControlType],
    3342526732: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identifier, Labelise(i.CreationDate), i.Creators, i.Purpose, i.Duration, i.TotalFloat, Labelise(i.StartTime), Labelise(i.FinishTime), i.WorkControlType, i.UserDefinedControlType],
    1033361043: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType],
    1213861670: (i) => [i.Segments, i.SelfIntersect],
    3821786052: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.RequestID],
    1411407467: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3352864051: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1871374353: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2470393545: (i) => [Labelise(i.Contents)],
    3460190687: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.AssetID, i.OriginalValue, i.CurrentValue, i.TotalReplacementCost, Labelise(i.Owner), Labelise(i.User), i.ResponsiblePerson, i.IncorporationDate, i.DepreciatedValue],
    1967976161: (i) => [i.Degree, i.ControlPointsList, i.CurveForm, i.ClosedCurve, i.SelfIntersect],
    819618141: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1916977116: (i) => [i.Degree, i.ControlPointsList, i.CurveForm, i.ClosedCurve, i.SelfIntersect],
    231477066: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3299480353: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    52481810: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    2979338954: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    1095909175: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.CompositionType],
    1909888760: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    395041908: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3293546465: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1285652485: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2951183804: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2611217952: (i) => [Labelise(i.Position), i.Radius],
    2301859152: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    843113511: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    3850581409: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2816379211: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2188551683: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType],
    1163958913: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, Labelise(i.Criterion), Labelise(i.CriterionDateTime)],
    3898045240: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ResourceIdentifier, i.ResourceGroup, i.ResourceConsumption, i.BaseQuantity],
    1060000209: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ResourceIdentifier, i.ResourceGroup, i.ResourceConsumption, i.BaseQuantity, Labelise(i.Suppliers), i.UsageRatio],
    488727124: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ResourceIdentifier, i.ResourceGroup, i.ResourceConsumption, i.BaseQuantity],
    335055490: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2954562838: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1973544240: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3495092785: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    3961806047: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    4147604152: (i) => [Labelise(i.Contents)],
    1335981549: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    2635815018: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    1599208980: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2063403501: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    1945004755: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    3040386961: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    3041715199: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.FlowDirection],
    395920057: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.OverallHeight, i.OverallWidth],
    869906466: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3760055223: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2030761528: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    855621170: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.FeatureLength],
    663422040: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3277789161: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1534661035: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1365060375: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1217240411: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    712377611: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1634875225: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType],
    857184966: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    1658829314: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    346874300: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1810631287: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    4222183408: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2058353004: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    4278956645: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    4037862832: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3132237377: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    987401354: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    707683696: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    2223149337: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    3508470533: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    900683007: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1073191201: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    1687234759: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType, i.ConstructionType],
    3171933400: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    2262370178: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3024970846: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.ShapeType],
    3283111854: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    3055160366: (i) => [i.Degree, i.ControlPointsList, i.CurveForm, i.ClosedCurve, i.SelfIntersect, i.WeightsData],
    3027567501: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade],
    2320036040: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.MeshLength, i.MeshWidth, i.LongitudinalBarNominalDiameter, i.TransverseBarNominalDiameter, i.LongitudinalBarCrossSectionArea, i.TransverseBarCrossSectionArea, i.LongitudinalBarSpacing, i.TransverseBarSpacing],
    2016517767: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.ShapeType],
    1376911519: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.FeatureLength, i.Radius],
    1783015770: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1529196076: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    331165859: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.ShapeType],
    4252922144: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.NumberOfRiser, i.NumberOfTreads, i.RiserHeight, i.TreadLength],
    2515109513: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.OrientationOf2DPlane, i.LoadedBy, i.HasResults],
    3824725483: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.PredefinedType, i.NominalDiameter, i.CrossSectionArea, i.TensionForce, i.PreStress, i.FrictionCoefficient, i.AnchorageSlip, i.MinCurvatureRadius],
    2347447852: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade],
    3313531582: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2391406946: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    3512223829: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    3304561284: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.OverallHeight, i.OverallWidth],
    2874132201: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3001207471: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    753842376: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    2454782716: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.FeatureLength, i.Width, i.Height],
    578613899: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1052013943: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    1062813311: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.ControlElementId],
    3700593921: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.DistributionPointFunction, i.UserDefinedFunction],
    979691226: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.NominalDiameter, i.CrossSectionArea, i.BarLength, i.BarRole, i.BarSurface]
  };
  TypeInitialisers[1] = {
    3699917729: (v) => new IFC2X3.IfcAbsorbedDoseMeasure(v),
    4182062534: (v) => new IFC2X3.IfcAccelerationMeasure(v),
    360377573: (v) => new IFC2X3.IfcAmountOfSubstanceMeasure(v),
    632304761: (v) => new IFC2X3.IfcAngularVelocityMeasure(v),
    2650437152: (v) => new IFC2X3.IfcAreaMeasure(v),
    2735952531: (v) => new IFC2X3.IfcBoolean(v),
    1867003952: (v) => new IFC2X3.IfcBoxAlignment(v),
    2991860651: (v) => new IFC2X3.IfcComplexNumber(v.map((x) => x.value)),
    3812528620: (v) => new IFC2X3.IfcCompoundPlaneAngleMeasure(v.map((x) => x.value)),
    3238673880: (v) => new IFC2X3.IfcContextDependentMeasure(v),
    1778710042: (v) => new IFC2X3.IfcCountMeasure(v),
    94842927: (v) => new IFC2X3.IfcCurvatureMeasure(v),
    86635668: (v) => new IFC2X3.IfcDayInMonthNumber(v),
    300323983: (v) => new IFC2X3.IfcDaylightSavingHour(v),
    1514641115: (v) => new IFC2X3.IfcDescriptiveMeasure(v),
    4134073009: (v) => new IFC2X3.IfcDimensionCount(v),
    524656162: (v) => new IFC2X3.IfcDoseEquivalentMeasure(v),
    69416015: (v) => new IFC2X3.IfcDynamicViscosityMeasure(v),
    1827137117: (v) => new IFC2X3.IfcElectricCapacitanceMeasure(v),
    3818826038: (v) => new IFC2X3.IfcElectricChargeMeasure(v),
    2093906313: (v) => new IFC2X3.IfcElectricConductanceMeasure(v),
    3790457270: (v) => new IFC2X3.IfcElectricCurrentMeasure(v),
    2951915441: (v) => new IFC2X3.IfcElectricResistanceMeasure(v),
    2506197118: (v) => new IFC2X3.IfcElectricVoltageMeasure(v),
    2078135608: (v) => new IFC2X3.IfcEnergyMeasure(v),
    1102727119: (v) => new IFC2X3.IfcFontStyle(v),
    2715512545: (v) => new IFC2X3.IfcFontVariant(v),
    2590844177: (v) => new IFC2X3.IfcFontWeight(v),
    1361398929: (v) => new IFC2X3.IfcForceMeasure(v),
    3044325142: (v) => new IFC2X3.IfcFrequencyMeasure(v),
    3064340077: (v) => new IFC2X3.IfcGloballyUniqueId(v),
    3113092358: (v) => new IFC2X3.IfcHeatFluxDensityMeasure(v),
    1158859006: (v) => new IFC2X3.IfcHeatingValueMeasure(v),
    2589826445: (v) => new IFC2X3.IfcHourInDay(v),
    983778844: (v) => new IFC2X3.IfcIdentifier(v),
    3358199106: (v) => new IFC2X3.IfcIlluminanceMeasure(v),
    2679005408: (v) => new IFC2X3.IfcInductanceMeasure(v),
    1939436016: (v) => new IFC2X3.IfcInteger(v),
    3809634241: (v) => new IFC2X3.IfcIntegerCountRateMeasure(v),
    3686016028: (v) => new IFC2X3.IfcIonConcentrationMeasure(v),
    3192672207: (v) => new IFC2X3.IfcIsothermalMoistureCapacityMeasure(v),
    2054016361: (v) => new IFC2X3.IfcKinematicViscosityMeasure(v),
    3258342251: (v) => new IFC2X3.IfcLabel(v),
    1243674935: (v) => new IFC2X3.IfcLengthMeasure(v),
    191860431: (v) => new IFC2X3.IfcLinearForceMeasure(v),
    2128979029: (v) => new IFC2X3.IfcLinearMomentMeasure(v),
    1307019551: (v) => new IFC2X3.IfcLinearStiffnessMeasure(v),
    3086160713: (v) => new IFC2X3.IfcLinearVelocityMeasure(v),
    503418787: (v) => new IFC2X3.IfcLogical(v),
    2095003142: (v) => new IFC2X3.IfcLuminousFluxMeasure(v),
    2755797622: (v) => new IFC2X3.IfcLuminousIntensityDistributionMeasure(v),
    151039812: (v) => new IFC2X3.IfcLuminousIntensityMeasure(v),
    286949696: (v) => new IFC2X3.IfcMagneticFluxDensityMeasure(v),
    2486716878: (v) => new IFC2X3.IfcMagneticFluxMeasure(v),
    1477762836: (v) => new IFC2X3.IfcMassDensityMeasure(v),
    4017473158: (v) => new IFC2X3.IfcMassFlowRateMeasure(v),
    3124614049: (v) => new IFC2X3.IfcMassMeasure(v),
    3531705166: (v) => new IFC2X3.IfcMassPerLengthMeasure(v),
    102610177: (v) => new IFC2X3.IfcMinuteInHour(v),
    3341486342: (v) => new IFC2X3.IfcModulusOfElasticityMeasure(v),
    2173214787: (v) => new IFC2X3.IfcModulusOfLinearSubgradeReactionMeasure(v),
    1052454078: (v) => new IFC2X3.IfcModulusOfRotationalSubgradeReactionMeasure(v),
    1753493141: (v) => new IFC2X3.IfcModulusOfSubgradeReactionMeasure(v),
    3177669450: (v) => new IFC2X3.IfcMoistureDiffusivityMeasure(v),
    1648970520: (v) => new IFC2X3.IfcMolecularWeightMeasure(v),
    3114022597: (v) => new IFC2X3.IfcMomentOfInertiaMeasure(v),
    2615040989: (v) => new IFC2X3.IfcMonetaryMeasure(v),
    765770214: (v) => new IFC2X3.IfcMonthInYearNumber(v),
    2095195183: (v) => new IFC2X3.IfcNormalisedRatioMeasure(v),
    2395907400: (v) => new IFC2X3.IfcNumericMeasure(v),
    929793134: (v) => new IFC2X3.IfcPHMeasure(v),
    2260317790: (v) => new IFC2X3.IfcParameterValue(v),
    2642773653: (v) => new IFC2X3.IfcPlanarForceMeasure(v),
    4042175685: (v) => new IFC2X3.IfcPlaneAngleMeasure(v),
    2815919920: (v) => new IFC2X3.IfcPositiveLengthMeasure(v),
    3054510233: (v) => new IFC2X3.IfcPositivePlaneAngleMeasure(v),
    1245737093: (v) => new IFC2X3.IfcPositiveRatioMeasure(v),
    1364037233: (v) => new IFC2X3.IfcPowerMeasure(v),
    2169031380: (v) => new IFC2X3.IfcPresentableText(v),
    3665567075: (v) => new IFC2X3.IfcPressureMeasure(v),
    3972513137: (v) => new IFC2X3.IfcRadioActivityMeasure(v),
    96294661: (v) => new IFC2X3.IfcRatioMeasure(v),
    200335297: (v) => new IFC2X3.IfcReal(v),
    2133746277: (v) => new IFC2X3.IfcRotationalFrequencyMeasure(v),
    1755127002: (v) => new IFC2X3.IfcRotationalMassMeasure(v),
    3211557302: (v) => new IFC2X3.IfcRotationalStiffnessMeasure(v),
    2766185779: (v) => new IFC2X3.IfcSecondInMinute(v),
    3467162246: (v) => new IFC2X3.IfcSectionModulusMeasure(v),
    2190458107: (v) => new IFC2X3.IfcSectionalAreaIntegralMeasure(v),
    408310005: (v) => new IFC2X3.IfcShearModulusMeasure(v),
    3471399674: (v) => new IFC2X3.IfcSolidAngleMeasure(v),
    846465480: (v) => new IFC2X3.IfcSoundPowerMeasure(v),
    993287707: (v) => new IFC2X3.IfcSoundPressureMeasure(v),
    3477203348: (v) => new IFC2X3.IfcSpecificHeatCapacityMeasure(v),
    2757832317: (v) => new IFC2X3.IfcSpecularExponent(v),
    361837227: (v) => new IFC2X3.IfcSpecularRoughness(v),
    58845555: (v) => new IFC2X3.IfcTemperatureGradientMeasure(v),
    2801250643: (v) => new IFC2X3.IfcText(v),
    1460886941: (v) => new IFC2X3.IfcTextAlignment(v),
    3490877962: (v) => new IFC2X3.IfcTextDecoration(v),
    603696268: (v) => new IFC2X3.IfcTextFontName(v),
    296282323: (v) => new IFC2X3.IfcTextTransformation(v),
    232962298: (v) => new IFC2X3.IfcThermalAdmittanceMeasure(v),
    2645777649: (v) => new IFC2X3.IfcThermalConductivityMeasure(v),
    2281867870: (v) => new IFC2X3.IfcThermalExpansionCoefficientMeasure(v),
    857959152: (v) => new IFC2X3.IfcThermalResistanceMeasure(v),
    2016195849: (v) => new IFC2X3.IfcThermalTransmittanceMeasure(v),
    743184107: (v) => new IFC2X3.IfcThermodynamicTemperatureMeasure(v),
    2726807636: (v) => new IFC2X3.IfcTimeMeasure(v),
    2591213694: (v) => new IFC2X3.IfcTimeStamp(v),
    1278329552: (v) => new IFC2X3.IfcTorqueMeasure(v),
    3345633955: (v) => new IFC2X3.IfcVaporPermeabilityMeasure(v),
    3458127941: (v) => new IFC2X3.IfcVolumeMeasure(v),
    2593997549: (v) => new IFC2X3.IfcVolumetricFlowRateMeasure(v),
    51269191: (v) => new IFC2X3.IfcWarpingConstantMeasure(v),
    1718600412: (v) => new IFC2X3.IfcWarpingMomentMeasure(v),
    4065007721: (v) => new IFC2X3.IfcYearNumber(v)
  };
  var IFC2X3;
  ((IFC2X32) => {
    class IfcAbsorbedDoseMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCABSORBEDDOSEMEASURE";
      }
    }
    IFC2X32.IfcAbsorbedDoseMeasure = IfcAbsorbedDoseMeasure;
    class IfcAccelerationMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCACCELERATIONMEASURE";
      }
    }
    IFC2X32.IfcAccelerationMeasure = IfcAccelerationMeasure;
    class IfcAmountOfSubstanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCAMOUNTOFSUBSTANCEMEASURE";
      }
    }
    IFC2X32.IfcAmountOfSubstanceMeasure = IfcAmountOfSubstanceMeasure;
    class IfcAngularVelocityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCANGULARVELOCITYMEASURE";
      }
    }
    IFC2X32.IfcAngularVelocityMeasure = IfcAngularVelocityMeasure;
    class IfcAreaMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCAREAMEASURE";
      }
    }
    IFC2X32.IfcAreaMeasure = IfcAreaMeasure;
    class IfcBoolean {
      constructor(v) {
        this.type = 3;
        this.name = "IFCBOOLEAN";
        this.value = v;
      }
    }
    IFC2X32.IfcBoolean = IfcBoolean;
    class IfcBoxAlignment {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCBOXALIGNMENT";
      }
    }
    IFC2X32.IfcBoxAlignment = IfcBoxAlignment;
    class IfcComplexNumber {
      constructor(value) {
        this.value = value;
        this.type = 4;
      }
    }
    IFC2X32.IfcComplexNumber = IfcComplexNumber;
    ;
    class IfcCompoundPlaneAngleMeasure {
      constructor(value) {
        this.value = value;
        this.type = 10;
      }
    }
    IFC2X32.IfcCompoundPlaneAngleMeasure = IfcCompoundPlaneAngleMeasure;
    ;
    class IfcContextDependentMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCCONTEXTDEPENDENTMEASURE";
      }
    }
    IFC2X32.IfcContextDependentMeasure = IfcContextDependentMeasure;
    class IfcCountMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCCOUNTMEASURE";
      }
    }
    IFC2X32.IfcCountMeasure = IfcCountMeasure;
    class IfcCurvatureMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCCURVATUREMEASURE";
      }
    }
    IFC2X32.IfcCurvatureMeasure = IfcCurvatureMeasure;
    class IfcDayInMonthNumber extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCDAYINMONTHNUMBER";
      }
    }
    IFC2X32.IfcDayInMonthNumber = IfcDayInMonthNumber;
    class IfcDaylightSavingHour extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCDAYLIGHTSAVINGHOUR";
      }
    }
    IFC2X32.IfcDaylightSavingHour = IfcDaylightSavingHour;
    class IfcDescriptiveMeasure {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCDESCRIPTIVEMEASURE";
      }
    }
    IFC2X32.IfcDescriptiveMeasure = IfcDescriptiveMeasure;
    class IfcDimensionCount extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCDIMENSIONCOUNT";
      }
    }
    IFC2X32.IfcDimensionCount = IfcDimensionCount;
    class IfcDoseEquivalentMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCDOSEEQUIVALENTMEASURE";
      }
    }
    IFC2X32.IfcDoseEquivalentMeasure = IfcDoseEquivalentMeasure;
    class IfcDynamicViscosityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCDYNAMICVISCOSITYMEASURE";
      }
    }
    IFC2X32.IfcDynamicViscosityMeasure = IfcDynamicViscosityMeasure;
    class IfcElectricCapacitanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCELECTRICCAPACITANCEMEASURE";
      }
    }
    IFC2X32.IfcElectricCapacitanceMeasure = IfcElectricCapacitanceMeasure;
    class IfcElectricChargeMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCELECTRICCHARGEMEASURE";
      }
    }
    IFC2X32.IfcElectricChargeMeasure = IfcElectricChargeMeasure;
    class IfcElectricConductanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCELECTRICCONDUCTANCEMEASURE";
      }
    }
    IFC2X32.IfcElectricConductanceMeasure = IfcElectricConductanceMeasure;
    class IfcElectricCurrentMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCELECTRICCURRENTMEASURE";
      }
    }
    IFC2X32.IfcElectricCurrentMeasure = IfcElectricCurrentMeasure;
    class IfcElectricResistanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCELECTRICRESISTANCEMEASURE";
      }
    }
    IFC2X32.IfcElectricResistanceMeasure = IfcElectricResistanceMeasure;
    class IfcElectricVoltageMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCELECTRICVOLTAGEMEASURE";
      }
    }
    IFC2X32.IfcElectricVoltageMeasure = IfcElectricVoltageMeasure;
    class IfcEnergyMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCENERGYMEASURE";
      }
    }
    IFC2X32.IfcEnergyMeasure = IfcEnergyMeasure;
    class IfcFontStyle {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCFONTSTYLE";
      }
    }
    IFC2X32.IfcFontStyle = IfcFontStyle;
    class IfcFontVariant {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCFONTVARIANT";
      }
    }
    IFC2X32.IfcFontVariant = IfcFontVariant;
    class IfcFontWeight {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCFONTWEIGHT";
      }
    }
    IFC2X32.IfcFontWeight = IfcFontWeight;
    class IfcForceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCFORCEMEASURE";
      }
    }
    IFC2X32.IfcForceMeasure = IfcForceMeasure;
    class IfcFrequencyMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCFREQUENCYMEASURE";
      }
    }
    IFC2X32.IfcFrequencyMeasure = IfcFrequencyMeasure;
    class IfcGloballyUniqueId {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCGLOBALLYUNIQUEID";
      }
    }
    IFC2X32.IfcGloballyUniqueId = IfcGloballyUniqueId;
    class IfcHeatFluxDensityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCHEATFLUXDENSITYMEASURE";
      }
    }
    IFC2X32.IfcHeatFluxDensityMeasure = IfcHeatFluxDensityMeasure;
    class IfcHeatingValueMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCHEATINGVALUEMEASURE";
      }
    }
    IFC2X32.IfcHeatingValueMeasure = IfcHeatingValueMeasure;
    class IfcHourInDay extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCHOURINDAY";
      }
    }
    IFC2X32.IfcHourInDay = IfcHourInDay;
    class IfcIdentifier {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCIDENTIFIER";
      }
    }
    IFC2X32.IfcIdentifier = IfcIdentifier;
    class IfcIlluminanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCILLUMINANCEMEASURE";
      }
    }
    IFC2X32.IfcIlluminanceMeasure = IfcIlluminanceMeasure;
    class IfcInductanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCINDUCTANCEMEASURE";
      }
    }
    IFC2X32.IfcInductanceMeasure = IfcInductanceMeasure;
    class IfcInteger extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCINTEGER";
      }
    }
    IFC2X32.IfcInteger = IfcInteger;
    class IfcIntegerCountRateMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCINTEGERCOUNTRATEMEASURE";
      }
    }
    IFC2X32.IfcIntegerCountRateMeasure = IfcIntegerCountRateMeasure;
    class IfcIonConcentrationMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCIONCONCENTRATIONMEASURE";
      }
    }
    IFC2X32.IfcIonConcentrationMeasure = IfcIonConcentrationMeasure;
    class IfcIsothermalMoistureCapacityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCISOTHERMALMOISTURECAPACITYMEASURE";
      }
    }
    IFC2X32.IfcIsothermalMoistureCapacityMeasure = IfcIsothermalMoistureCapacityMeasure;
    class IfcKinematicViscosityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCKINEMATICVISCOSITYMEASURE";
      }
    }
    IFC2X32.IfcKinematicViscosityMeasure = IfcKinematicViscosityMeasure;
    class IfcLabel {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCLABEL";
      }
    }
    IFC2X32.IfcLabel = IfcLabel;
    class IfcLengthMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLENGTHMEASURE";
      }
    }
    IFC2X32.IfcLengthMeasure = IfcLengthMeasure;
    class IfcLinearForceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLINEARFORCEMEASURE";
      }
    }
    IFC2X32.IfcLinearForceMeasure = IfcLinearForceMeasure;
    class IfcLinearMomentMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLINEARMOMENTMEASURE";
      }
    }
    IFC2X32.IfcLinearMomentMeasure = IfcLinearMomentMeasure;
    class IfcLinearStiffnessMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLINEARSTIFFNESSMEASURE";
      }
    }
    IFC2X32.IfcLinearStiffnessMeasure = IfcLinearStiffnessMeasure;
    class IfcLinearVelocityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLINEARVELOCITYMEASURE";
      }
    }
    IFC2X32.IfcLinearVelocityMeasure = IfcLinearVelocityMeasure;
    class IfcLogical {
      constructor(v) {
        this.type = 3;
        this.name = "IFCLOGICAL";
        this.value = v;
      }
    }
    IFC2X32.IfcLogical = IfcLogical;
    class IfcLuminousFluxMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLUMINOUSFLUXMEASURE";
      }
    }
    IFC2X32.IfcLuminousFluxMeasure = IfcLuminousFluxMeasure;
    class IfcLuminousIntensityDistributionMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE";
      }
    }
    IFC2X32.IfcLuminousIntensityDistributionMeasure = IfcLuminousIntensityDistributionMeasure;
    class IfcLuminousIntensityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLUMINOUSINTENSITYMEASURE";
      }
    }
    IFC2X32.IfcLuminousIntensityMeasure = IfcLuminousIntensityMeasure;
    class IfcMagneticFluxDensityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMAGNETICFLUXDENSITYMEASURE";
      }
    }
    IFC2X32.IfcMagneticFluxDensityMeasure = IfcMagneticFluxDensityMeasure;
    class IfcMagneticFluxMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMAGNETICFLUXMEASURE";
      }
    }
    IFC2X32.IfcMagneticFluxMeasure = IfcMagneticFluxMeasure;
    class IfcMassDensityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMASSDENSITYMEASURE";
      }
    }
    IFC2X32.IfcMassDensityMeasure = IfcMassDensityMeasure;
    class IfcMassFlowRateMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMASSFLOWRATEMEASURE";
      }
    }
    IFC2X32.IfcMassFlowRateMeasure = IfcMassFlowRateMeasure;
    class IfcMassMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMASSMEASURE";
      }
    }
    IFC2X32.IfcMassMeasure = IfcMassMeasure;
    class IfcMassPerLengthMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMASSPERLENGTHMEASURE";
      }
    }
    IFC2X32.IfcMassPerLengthMeasure = IfcMassPerLengthMeasure;
    class IfcMinuteInHour extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCMINUTEINHOUR";
      }
    }
    IFC2X32.IfcMinuteInHour = IfcMinuteInHour;
    class IfcModulusOfElasticityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMODULUSOFELASTICITYMEASURE";
      }
    }
    IFC2X32.IfcModulusOfElasticityMeasure = IfcModulusOfElasticityMeasure;
    class IfcModulusOfLinearSubgradeReactionMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE";
      }
    }
    IFC2X32.IfcModulusOfLinearSubgradeReactionMeasure = IfcModulusOfLinearSubgradeReactionMeasure;
    class IfcModulusOfRotationalSubgradeReactionMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE";
      }
    }
    IFC2X32.IfcModulusOfRotationalSubgradeReactionMeasure = IfcModulusOfRotationalSubgradeReactionMeasure;
    class IfcModulusOfSubgradeReactionMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMODULUSOFSUBGRADEREACTIONMEASURE";
      }
    }
    IFC2X32.IfcModulusOfSubgradeReactionMeasure = IfcModulusOfSubgradeReactionMeasure;
    class IfcMoistureDiffusivityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMOISTUREDIFFUSIVITYMEASURE";
      }
    }
    IFC2X32.IfcMoistureDiffusivityMeasure = IfcMoistureDiffusivityMeasure;
    class IfcMolecularWeightMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMOLECULARWEIGHTMEASURE";
      }
    }
    IFC2X32.IfcMolecularWeightMeasure = IfcMolecularWeightMeasure;
    class IfcMomentOfInertiaMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMOMENTOFINERTIAMEASURE";
      }
    }
    IFC2X32.IfcMomentOfInertiaMeasure = IfcMomentOfInertiaMeasure;
    class IfcMonetaryMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMONETARYMEASURE";
      }
    }
    IFC2X32.IfcMonetaryMeasure = IfcMonetaryMeasure;
    class IfcMonthInYearNumber extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCMONTHINYEARNUMBER";
      }
    }
    IFC2X32.IfcMonthInYearNumber = IfcMonthInYearNumber;
    class IfcNormalisedRatioMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCNORMALISEDRATIOMEASURE";
      }
    }
    IFC2X32.IfcNormalisedRatioMeasure = IfcNormalisedRatioMeasure;
    class IfcNumericMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCNUMERICMEASURE";
      }
    }
    IFC2X32.IfcNumericMeasure = IfcNumericMeasure;
    class IfcPHMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPHMEASURE";
      }
    }
    IFC2X32.IfcPHMeasure = IfcPHMeasure;
    class IfcParameterValue extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPARAMETERVALUE";
      }
    }
    IFC2X32.IfcParameterValue = IfcParameterValue;
    class IfcPlanarForceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPLANARFORCEMEASURE";
      }
    }
    IFC2X32.IfcPlanarForceMeasure = IfcPlanarForceMeasure;
    class IfcPlaneAngleMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPLANEANGLEMEASURE";
      }
    }
    IFC2X32.IfcPlaneAngleMeasure = IfcPlaneAngleMeasure;
    class IfcPositiveLengthMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPOSITIVELENGTHMEASURE";
      }
    }
    IFC2X32.IfcPositiveLengthMeasure = IfcPositiveLengthMeasure;
    class IfcPositivePlaneAngleMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPOSITIVEPLANEANGLEMEASURE";
      }
    }
    IFC2X32.IfcPositivePlaneAngleMeasure = IfcPositivePlaneAngleMeasure;
    class IfcPositiveRatioMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPOSITIVERATIOMEASURE";
      }
    }
    IFC2X32.IfcPositiveRatioMeasure = IfcPositiveRatioMeasure;
    class IfcPowerMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPOWERMEASURE";
      }
    }
    IFC2X32.IfcPowerMeasure = IfcPowerMeasure;
    class IfcPresentableText {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCPRESENTABLETEXT";
      }
    }
    IFC2X32.IfcPresentableText = IfcPresentableText;
    class IfcPressureMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPRESSUREMEASURE";
      }
    }
    IFC2X32.IfcPressureMeasure = IfcPressureMeasure;
    class IfcRadioActivityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCRADIOACTIVITYMEASURE";
      }
    }
    IFC2X32.IfcRadioActivityMeasure = IfcRadioActivityMeasure;
    class IfcRatioMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCRATIOMEASURE";
      }
    }
    IFC2X32.IfcRatioMeasure = IfcRatioMeasure;
    class IfcReal extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCREAL";
      }
    }
    IFC2X32.IfcReal = IfcReal;
    class IfcRotationalFrequencyMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCROTATIONALFREQUENCYMEASURE";
      }
    }
    IFC2X32.IfcRotationalFrequencyMeasure = IfcRotationalFrequencyMeasure;
    class IfcRotationalMassMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCROTATIONALMASSMEASURE";
      }
    }
    IFC2X32.IfcRotationalMassMeasure = IfcRotationalMassMeasure;
    class IfcRotationalStiffnessMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCROTATIONALSTIFFNESSMEASURE";
      }
    }
    IFC2X32.IfcRotationalStiffnessMeasure = IfcRotationalStiffnessMeasure;
    class IfcSecondInMinute extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSECONDINMINUTE";
      }
    }
    IFC2X32.IfcSecondInMinute = IfcSecondInMinute;
    class IfcSectionModulusMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSECTIONMODULUSMEASURE";
      }
    }
    IFC2X32.IfcSectionModulusMeasure = IfcSectionModulusMeasure;
    class IfcSectionalAreaIntegralMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSECTIONALAREAINTEGRALMEASURE";
      }
    }
    IFC2X32.IfcSectionalAreaIntegralMeasure = IfcSectionalAreaIntegralMeasure;
    class IfcShearModulusMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSHEARMODULUSMEASURE";
      }
    }
    IFC2X32.IfcShearModulusMeasure = IfcShearModulusMeasure;
    class IfcSolidAngleMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSOLIDANGLEMEASURE";
      }
    }
    IFC2X32.IfcSolidAngleMeasure = IfcSolidAngleMeasure;
    class IfcSoundPowerMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSOUNDPOWERMEASURE";
      }
    }
    IFC2X32.IfcSoundPowerMeasure = IfcSoundPowerMeasure;
    class IfcSoundPressureMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSOUNDPRESSUREMEASURE";
      }
    }
    IFC2X32.IfcSoundPressureMeasure = IfcSoundPressureMeasure;
    class IfcSpecificHeatCapacityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSPECIFICHEATCAPACITYMEASURE";
      }
    }
    IFC2X32.IfcSpecificHeatCapacityMeasure = IfcSpecificHeatCapacityMeasure;
    class IfcSpecularExponent extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSPECULAREXPONENT";
      }
    }
    IFC2X32.IfcSpecularExponent = IfcSpecularExponent;
    class IfcSpecularRoughness extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSPECULARROUGHNESS";
      }
    }
    IFC2X32.IfcSpecularRoughness = IfcSpecularRoughness;
    class IfcTemperatureGradientMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTEMPERATUREGRADIENTMEASURE";
      }
    }
    IFC2X32.IfcTemperatureGradientMeasure = IfcTemperatureGradientMeasure;
    class IfcText {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCTEXT";
      }
    }
    IFC2X32.IfcText = IfcText;
    class IfcTextAlignment {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCTEXTALIGNMENT";
      }
    }
    IFC2X32.IfcTextAlignment = IfcTextAlignment;
    class IfcTextDecoration {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCTEXTDECORATION";
      }
    }
    IFC2X32.IfcTextDecoration = IfcTextDecoration;
    class IfcTextFontName {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCTEXTFONTNAME";
      }
    }
    IFC2X32.IfcTextFontName = IfcTextFontName;
    class IfcTextTransformation {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCTEXTTRANSFORMATION";
      }
    }
    IFC2X32.IfcTextTransformation = IfcTextTransformation;
    class IfcThermalAdmittanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTHERMALADMITTANCEMEASURE";
      }
    }
    IFC2X32.IfcThermalAdmittanceMeasure = IfcThermalAdmittanceMeasure;
    class IfcThermalConductivityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTHERMALCONDUCTIVITYMEASURE";
      }
    }
    IFC2X32.IfcThermalConductivityMeasure = IfcThermalConductivityMeasure;
    class IfcThermalExpansionCoefficientMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTHERMALEXPANSIONCOEFFICIENTMEASURE";
      }
    }
    IFC2X32.IfcThermalExpansionCoefficientMeasure = IfcThermalExpansionCoefficientMeasure;
    class IfcThermalResistanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTHERMALRESISTANCEMEASURE";
      }
    }
    IFC2X32.IfcThermalResistanceMeasure = IfcThermalResistanceMeasure;
    class IfcThermalTransmittanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTHERMALTRANSMITTANCEMEASURE";
      }
    }
    IFC2X32.IfcThermalTransmittanceMeasure = IfcThermalTransmittanceMeasure;
    class IfcThermodynamicTemperatureMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTHERMODYNAMICTEMPERATUREMEASURE";
      }
    }
    IFC2X32.IfcThermodynamicTemperatureMeasure = IfcThermodynamicTemperatureMeasure;
    class IfcTimeMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTIMEMEASURE";
      }
    }
    IFC2X32.IfcTimeMeasure = IfcTimeMeasure;
    class IfcTimeStamp extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCTIMESTAMP";
      }
    }
    IFC2X32.IfcTimeStamp = IfcTimeStamp;
    class IfcTorqueMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTORQUEMEASURE";
      }
    }
    IFC2X32.IfcTorqueMeasure = IfcTorqueMeasure;
    class IfcVaporPermeabilityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCVAPORPERMEABILITYMEASURE";
      }
    }
    IFC2X32.IfcVaporPermeabilityMeasure = IfcVaporPermeabilityMeasure;
    class IfcVolumeMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCVOLUMEMEASURE";
      }
    }
    IFC2X32.IfcVolumeMeasure = IfcVolumeMeasure;
    class IfcVolumetricFlowRateMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCVOLUMETRICFLOWRATEMEASURE";
      }
    }
    IFC2X32.IfcVolumetricFlowRateMeasure = IfcVolumetricFlowRateMeasure;
    class IfcWarpingConstantMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCWARPINGCONSTANTMEASURE";
      }
    }
    IFC2X32.IfcWarpingConstantMeasure = IfcWarpingConstantMeasure;
    class IfcWarpingMomentMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCWARPINGMOMENTMEASURE";
      }
    }
    IFC2X32.IfcWarpingMomentMeasure = IfcWarpingMomentMeasure;
    class IfcYearNumber extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCYEARNUMBER";
      }
    }
    IFC2X32.IfcYearNumber = IfcYearNumber;
    class IfcActionSourceTypeEnum {
      static {
        this.DEAD_LOAD_G = { type: 3, value: "DEAD_LOAD_G" };
      }
      static {
        this.COMPLETION_G1 = { type: 3, value: "COMPLETION_G1" };
      }
      static {
        this.LIVE_LOAD_Q = { type: 3, value: "LIVE_LOAD_Q" };
      }
      static {
        this.SNOW_S = { type: 3, value: "SNOW_S" };
      }
      static {
        this.WIND_W = { type: 3, value: "WIND_W" };
      }
      static {
        this.PRESTRESSING_P = { type: 3, value: "PRESTRESSING_P" };
      }
      static {
        this.SETTLEMENT_U = { type: 3, value: "SETTLEMENT_U" };
      }
      static {
        this.TEMPERATURE_T = { type: 3, value: "TEMPERATURE_T" };
      }
      static {
        this.EARTHQUAKE_E = { type: 3, value: "EARTHQUAKE_E" };
      }
      static {
        this.FIRE = { type: 3, value: "FIRE" };
      }
      static {
        this.IMPULSE = { type: 3, value: "IMPULSE" };
      }
      static {
        this.IMPACT = { type: 3, value: "IMPACT" };
      }
      static {
        this.TRANSPORT = { type: 3, value: "TRANSPORT" };
      }
      static {
        this.ERECTION = { type: 3, value: "ERECTION" };
      }
      static {
        this.PROPPING = { type: 3, value: "PROPPING" };
      }
      static {
        this.SYSTEM_IMPERFECTION = { type: 3, value: "SYSTEM_IMPERFECTION" };
      }
      static {
        this.SHRINKAGE = { type: 3, value: "SHRINKAGE" };
      }
      static {
        this.CREEP = { type: 3, value: "CREEP" };
      }
      static {
        this.LACK_OF_FIT = { type: 3, value: "LACK_OF_FIT" };
      }
      static {
        this.BUOYANCY = { type: 3, value: "BUOYANCY" };
      }
      static {
        this.ICE = { type: 3, value: "ICE" };
      }
      static {
        this.CURRENT = { type: 3, value: "CURRENT" };
      }
      static {
        this.WAVE = { type: 3, value: "WAVE" };
      }
      static {
        this.RAIN = { type: 3, value: "RAIN" };
      }
      static {
        this.BRAKES = { type: 3, value: "BRAKES" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcActionSourceTypeEnum = IfcActionSourceTypeEnum;
    class IfcActionTypeEnum {
      static {
        this.PERMANENT_G = { type: 3, value: "PERMANENT_G" };
      }
      static {
        this.VARIABLE_Q = { type: 3, value: "VARIABLE_Q" };
      }
      static {
        this.EXTRAORDINARY_A = { type: 3, value: "EXTRAORDINARY_A" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcActionTypeEnum = IfcActionTypeEnum;
    class IfcActuatorTypeEnum {
      static {
        this.ELECTRICACTUATOR = { type: 3, value: "ELECTRICACTUATOR" };
      }
      static {
        this.HANDOPERATEDACTUATOR = { type: 3, value: "HANDOPERATEDACTUATOR" };
      }
      static {
        this.HYDRAULICACTUATOR = { type: 3, value: "HYDRAULICACTUATOR" };
      }
      static {
        this.PNEUMATICACTUATOR = { type: 3, value: "PNEUMATICACTUATOR" };
      }
      static {
        this.THERMOSTATICACTUATOR = { type: 3, value: "THERMOSTATICACTUATOR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcActuatorTypeEnum = IfcActuatorTypeEnum;
    class IfcAddressTypeEnum {
      static {
        this.OFFICE = { type: 3, value: "OFFICE" };
      }
      static {
        this.SITE = { type: 3, value: "SITE" };
      }
      static {
        this.HOME = { type: 3, value: "HOME" };
      }
      static {
        this.DISTRIBUTIONPOINT = { type: 3, value: "DISTRIBUTIONPOINT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
    }
    IFC2X32.IfcAddressTypeEnum = IfcAddressTypeEnum;
    class IfcAheadOrBehind {
      static {
        this.AHEAD = { type: 3, value: "AHEAD" };
      }
      static {
        this.BEHIND = { type: 3, value: "BEHIND" };
      }
    }
    IFC2X32.IfcAheadOrBehind = IfcAheadOrBehind;
    class IfcAirTerminalBoxTypeEnum {
      static {
        this.CONSTANTFLOW = { type: 3, value: "CONSTANTFLOW" };
      }
      static {
        this.VARIABLEFLOWPRESSUREDEPENDANT = { type: 3, value: "VARIABLEFLOWPRESSUREDEPENDANT" };
      }
      static {
        this.VARIABLEFLOWPRESSUREINDEPENDANT = { type: 3, value: "VARIABLEFLOWPRESSUREINDEPENDANT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcAirTerminalBoxTypeEnum = IfcAirTerminalBoxTypeEnum;
    class IfcAirTerminalTypeEnum {
      static {
        this.GRILLE = { type: 3, value: "GRILLE" };
      }
      static {
        this.REGISTER = { type: 3, value: "REGISTER" };
      }
      static {
        this.DIFFUSER = { type: 3, value: "DIFFUSER" };
      }
      static {
        this.EYEBALL = { type: 3, value: "EYEBALL" };
      }
      static {
        this.IRIS = { type: 3, value: "IRIS" };
      }
      static {
        this.LINEARGRILLE = { type: 3, value: "LINEARGRILLE" };
      }
      static {
        this.LINEARDIFFUSER = { type: 3, value: "LINEARDIFFUSER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcAirTerminalTypeEnum = IfcAirTerminalTypeEnum;
    class IfcAirToAirHeatRecoveryTypeEnum {
      static {
        this.FIXEDPLATECOUNTERFLOWEXCHANGER = { type: 3, value: "FIXEDPLATECOUNTERFLOWEXCHANGER" };
      }
      static {
        this.FIXEDPLATECROSSFLOWEXCHANGER = { type: 3, value: "FIXEDPLATECROSSFLOWEXCHANGER" };
      }
      static {
        this.FIXEDPLATEPARALLELFLOWEXCHANGER = { type: 3, value: "FIXEDPLATEPARALLELFLOWEXCHANGER" };
      }
      static {
        this.ROTARYWHEEL = { type: 3, value: "ROTARYWHEEL" };
      }
      static {
        this.RUNAROUNDCOILLOOP = { type: 3, value: "RUNAROUNDCOILLOOP" };
      }
      static {
        this.HEATPIPE = { type: 3, value: "HEATPIPE" };
      }
      static {
        this.TWINTOWERENTHALPYRECOVERYLOOPS = { type: 3, value: "TWINTOWERENTHALPYRECOVERYLOOPS" };
      }
      static {
        this.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS = { type: 3, value: "THERMOSIPHONSEALEDTUBEHEATEXCHANGERS" };
      }
      static {
        this.THERMOSIPHONCOILTYPEHEATEXCHANGERS = { type: 3, value: "THERMOSIPHONCOILTYPEHEATEXCHANGERS" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcAirToAirHeatRecoveryTypeEnum = IfcAirToAirHeatRecoveryTypeEnum;
    class IfcAlarmTypeEnum {
      static {
        this.BELL = { type: 3, value: "BELL" };
      }
      static {
        this.BREAKGLASSBUTTON = { type: 3, value: "BREAKGLASSBUTTON" };
      }
      static {
        this.LIGHT = { type: 3, value: "LIGHT" };
      }
      static {
        this.MANUALPULLBOX = { type: 3, value: "MANUALPULLBOX" };
      }
      static {
        this.SIREN = { type: 3, value: "SIREN" };
      }
      static {
        this.WHISTLE = { type: 3, value: "WHISTLE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcAlarmTypeEnum = IfcAlarmTypeEnum;
    class IfcAnalysisModelTypeEnum {
      static {
        this.IN_PLANE_LOADING_2D = { type: 3, value: "IN_PLANE_LOADING_2D" };
      }
      static {
        this.OUT_PLANE_LOADING_2D = { type: 3, value: "OUT_PLANE_LOADING_2D" };
      }
      static {
        this.LOADING_3D = { type: 3, value: "LOADING_3D" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcAnalysisModelTypeEnum = IfcAnalysisModelTypeEnum;
    class IfcAnalysisTheoryTypeEnum {
      static {
        this.FIRST_ORDER_THEORY = { type: 3, value: "FIRST_ORDER_THEORY" };
      }
      static {
        this.SECOND_ORDER_THEORY = { type: 3, value: "SECOND_ORDER_THEORY" };
      }
      static {
        this.THIRD_ORDER_THEORY = { type: 3, value: "THIRD_ORDER_THEORY" };
      }
      static {
        this.FULL_NONLINEAR_THEORY = { type: 3, value: "FULL_NONLINEAR_THEORY" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcAnalysisTheoryTypeEnum = IfcAnalysisTheoryTypeEnum;
    class IfcArithmeticOperatorEnum {
      static {
        this.ADD = { type: 3, value: "ADD" };
      }
      static {
        this.DIVIDE = { type: 3, value: "DIVIDE" };
      }
      static {
        this.MULTIPLY = { type: 3, value: "MULTIPLY" };
      }
      static {
        this.SUBTRACT = { type: 3, value: "SUBTRACT" };
      }
    }
    IFC2X32.IfcArithmeticOperatorEnum = IfcArithmeticOperatorEnum;
    class IfcAssemblyPlaceEnum {
      static {
        this.SITE = { type: 3, value: "SITE" };
      }
      static {
        this.FACTORY = { type: 3, value: "FACTORY" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcAssemblyPlaceEnum = IfcAssemblyPlaceEnum;
    class IfcBSplineCurveForm {
      static {
        this.POLYLINE_FORM = { type: 3, value: "POLYLINE_FORM" };
      }
      static {
        this.CIRCULAR_ARC = { type: 3, value: "CIRCULAR_ARC" };
      }
      static {
        this.ELLIPTIC_ARC = { type: 3, value: "ELLIPTIC_ARC" };
      }
      static {
        this.PARABOLIC_ARC = { type: 3, value: "PARABOLIC_ARC" };
      }
      static {
        this.HYPERBOLIC_ARC = { type: 3, value: "HYPERBOLIC_ARC" };
      }
      static {
        this.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" };
      }
    }
    IFC2X32.IfcBSplineCurveForm = IfcBSplineCurveForm;
    class IfcBeamTypeEnum {
      static {
        this.BEAM = { type: 3, value: "BEAM" };
      }
      static {
        this.JOIST = { type: 3, value: "JOIST" };
      }
      static {
        this.LINTEL = { type: 3, value: "LINTEL" };
      }
      static {
        this.T_BEAM = { type: 3, value: "T_BEAM" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcBeamTypeEnum = IfcBeamTypeEnum;
    class IfcBenchmarkEnum {
      static {
        this.GREATERTHAN = { type: 3, value: "GREATERTHAN" };
      }
      static {
        this.GREATERTHANOREQUALTO = { type: 3, value: "GREATERTHANOREQUALTO" };
      }
      static {
        this.LESSTHAN = { type: 3, value: "LESSTHAN" };
      }
      static {
        this.LESSTHANOREQUALTO = { type: 3, value: "LESSTHANOREQUALTO" };
      }
      static {
        this.EQUALTO = { type: 3, value: "EQUALTO" };
      }
      static {
        this.NOTEQUALTO = { type: 3, value: "NOTEQUALTO" };
      }
    }
    IFC2X32.IfcBenchmarkEnum = IfcBenchmarkEnum;
    class IfcBoilerTypeEnum {
      static {
        this.WATER = { type: 3, value: "WATER" };
      }
      static {
        this.STEAM = { type: 3, value: "STEAM" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcBoilerTypeEnum = IfcBoilerTypeEnum;
    class IfcBooleanOperator {
      static {
        this.UNION = { type: 3, value: "UNION" };
      }
      static {
        this.INTERSECTION = { type: 3, value: "INTERSECTION" };
      }
      static {
        this.DIFFERENCE = { type: 3, value: "DIFFERENCE" };
      }
    }
    IFC2X32.IfcBooleanOperator = IfcBooleanOperator;
    class IfcBuildingElementProxyTypeEnum {
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcBuildingElementProxyTypeEnum = IfcBuildingElementProxyTypeEnum;
    class IfcCableCarrierFittingTypeEnum {
      static {
        this.BEND = { type: 3, value: "BEND" };
      }
      static {
        this.CROSS = { type: 3, value: "CROSS" };
      }
      static {
        this.REDUCER = { type: 3, value: "REDUCER" };
      }
      static {
        this.TEE = { type: 3, value: "TEE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcCableCarrierFittingTypeEnum = IfcCableCarrierFittingTypeEnum;
    class IfcCableCarrierSegmentTypeEnum {
      static {
        this.CABLELADDERSEGMENT = { type: 3, value: "CABLELADDERSEGMENT" };
      }
      static {
        this.CABLETRAYSEGMENT = { type: 3, value: "CABLETRAYSEGMENT" };
      }
      static {
        this.CABLETRUNKINGSEGMENT = { type: 3, value: "CABLETRUNKINGSEGMENT" };
      }
      static {
        this.CONDUITSEGMENT = { type: 3, value: "CONDUITSEGMENT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcCableCarrierSegmentTypeEnum = IfcCableCarrierSegmentTypeEnum;
    class IfcCableSegmentTypeEnum {
      static {
        this.CABLESEGMENT = { type: 3, value: "CABLESEGMENT" };
      }
      static {
        this.CONDUCTORSEGMENT = { type: 3, value: "CONDUCTORSEGMENT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcCableSegmentTypeEnum = IfcCableSegmentTypeEnum;
    class IfcChangeActionEnum {
      static {
        this.NOCHANGE = { type: 3, value: "NOCHANGE" };
      }
      static {
        this.MODIFIED = { type: 3, value: "MODIFIED" };
      }
      static {
        this.ADDED = { type: 3, value: "ADDED" };
      }
      static {
        this.DELETED = { type: 3, value: "DELETED" };
      }
      static {
        this.MODIFIEDADDED = { type: 3, value: "MODIFIEDADDED" };
      }
      static {
        this.MODIFIEDDELETED = { type: 3, value: "MODIFIEDDELETED" };
      }
    }
    IFC2X32.IfcChangeActionEnum = IfcChangeActionEnum;
    class IfcChillerTypeEnum {
      static {
        this.AIRCOOLED = { type: 3, value: "AIRCOOLED" };
      }
      static {
        this.WATERCOOLED = { type: 3, value: "WATERCOOLED" };
      }
      static {
        this.HEATRECOVERY = { type: 3, value: "HEATRECOVERY" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcChillerTypeEnum = IfcChillerTypeEnum;
    class IfcCoilTypeEnum {
      static {
        this.DXCOOLINGCOIL = { type: 3, value: "DXCOOLINGCOIL" };
      }
      static {
        this.WATERCOOLINGCOIL = { type: 3, value: "WATERCOOLINGCOIL" };
      }
      static {
        this.STEAMHEATINGCOIL = { type: 3, value: "STEAMHEATINGCOIL" };
      }
      static {
        this.WATERHEATINGCOIL = { type: 3, value: "WATERHEATINGCOIL" };
      }
      static {
        this.ELECTRICHEATINGCOIL = { type: 3, value: "ELECTRICHEATINGCOIL" };
      }
      static {
        this.GASHEATINGCOIL = { type: 3, value: "GASHEATINGCOIL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcCoilTypeEnum = IfcCoilTypeEnum;
    class IfcColumnTypeEnum {
      static {
        this.COLUMN = { type: 3, value: "COLUMN" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcColumnTypeEnum = IfcColumnTypeEnum;
    class IfcCompressorTypeEnum {
      static {
        this.DYNAMIC = { type: 3, value: "DYNAMIC" };
      }
      static {
        this.RECIPROCATING = { type: 3, value: "RECIPROCATING" };
      }
      static {
        this.ROTARY = { type: 3, value: "ROTARY" };
      }
      static {
        this.SCROLL = { type: 3, value: "SCROLL" };
      }
      static {
        this.TROCHOIDAL = { type: 3, value: "TROCHOIDAL" };
      }
      static {
        this.SINGLESTAGE = { type: 3, value: "SINGLESTAGE" };
      }
      static {
        this.BOOSTER = { type: 3, value: "BOOSTER" };
      }
      static {
        this.OPENTYPE = { type: 3, value: "OPENTYPE" };
      }
      static {
        this.HERMETIC = { type: 3, value: "HERMETIC" };
      }
      static {
        this.SEMIHERMETIC = { type: 3, value: "SEMIHERMETIC" };
      }
      static {
        this.WELDEDSHELLHERMETIC = { type: 3, value: "WELDEDSHELLHERMETIC" };
      }
      static {
        this.ROLLINGPISTON = { type: 3, value: "ROLLINGPISTON" };
      }
      static {
        this.ROTARYVANE = { type: 3, value: "ROTARYVANE" };
      }
      static {
        this.SINGLESCREW = { type: 3, value: "SINGLESCREW" };
      }
      static {
        this.TWINSCREW = { type: 3, value: "TWINSCREW" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcCompressorTypeEnum = IfcCompressorTypeEnum;
    class IfcCondenserTypeEnum {
      static {
        this.WATERCOOLEDSHELLTUBE = { type: 3, value: "WATERCOOLEDSHELLTUBE" };
      }
      static {
        this.WATERCOOLEDSHELLCOIL = { type: 3, value: "WATERCOOLEDSHELLCOIL" };
      }
      static {
        this.WATERCOOLEDTUBEINTUBE = { type: 3, value: "WATERCOOLEDTUBEINTUBE" };
      }
      static {
        this.WATERCOOLEDBRAZEDPLATE = { type: 3, value: "WATERCOOLEDBRAZEDPLATE" };
      }
      static {
        this.AIRCOOLED = { type: 3, value: "AIRCOOLED" };
      }
      static {
        this.EVAPORATIVECOOLED = { type: 3, value: "EVAPORATIVECOOLED" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcCondenserTypeEnum = IfcCondenserTypeEnum;
    class IfcConnectionTypeEnum {
      static {
        this.ATPATH = { type: 3, value: "ATPATH" };
      }
      static {
        this.ATSTART = { type: 3, value: "ATSTART" };
      }
      static {
        this.ATEND = { type: 3, value: "ATEND" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcConnectionTypeEnum = IfcConnectionTypeEnum;
    class IfcConstraintEnum {
      static {
        this.HARD = { type: 3, value: "HARD" };
      }
      static {
        this.SOFT = { type: 3, value: "SOFT" };
      }
      static {
        this.ADVISORY = { type: 3, value: "ADVISORY" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcConstraintEnum = IfcConstraintEnum;
    class IfcControllerTypeEnum {
      static {
        this.FLOATING = { type: 3, value: "FLOATING" };
      }
      static {
        this.PROPORTIONAL = { type: 3, value: "PROPORTIONAL" };
      }
      static {
        this.PROPORTIONALINTEGRAL = { type: 3, value: "PROPORTIONALINTEGRAL" };
      }
      static {
        this.PROPORTIONALINTEGRALDERIVATIVE = { type: 3, value: "PROPORTIONALINTEGRALDERIVATIVE" };
      }
      static {
        this.TIMEDTWOPOSITION = { type: 3, value: "TIMEDTWOPOSITION" };
      }
      static {
        this.TWOPOSITION = { type: 3, value: "TWOPOSITION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcControllerTypeEnum = IfcControllerTypeEnum;
    class IfcCooledBeamTypeEnum {
      static {
        this.ACTIVE = { type: 3, value: "ACTIVE" };
      }
      static {
        this.PASSIVE = { type: 3, value: "PASSIVE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcCooledBeamTypeEnum = IfcCooledBeamTypeEnum;
    class IfcCoolingTowerTypeEnum {
      static {
        this.NATURALDRAFT = { type: 3, value: "NATURALDRAFT" };
      }
      static {
        this.MECHANICALINDUCEDDRAFT = { type: 3, value: "MECHANICALINDUCEDDRAFT" };
      }
      static {
        this.MECHANICALFORCEDDRAFT = { type: 3, value: "MECHANICALFORCEDDRAFT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcCoolingTowerTypeEnum = IfcCoolingTowerTypeEnum;
    class IfcCostScheduleTypeEnum {
      static {
        this.BUDGET = { type: 3, value: "BUDGET" };
      }
      static {
        this.COSTPLAN = { type: 3, value: "COSTPLAN" };
      }
      static {
        this.ESTIMATE = { type: 3, value: "ESTIMATE" };
      }
      static {
        this.TENDER = { type: 3, value: "TENDER" };
      }
      static {
        this.PRICEDBILLOFQUANTITIES = { type: 3, value: "PRICEDBILLOFQUANTITIES" };
      }
      static {
        this.UNPRICEDBILLOFQUANTITIES = { type: 3, value: "UNPRICEDBILLOFQUANTITIES" };
      }
      static {
        this.SCHEDULEOFRATES = { type: 3, value: "SCHEDULEOFRATES" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcCostScheduleTypeEnum = IfcCostScheduleTypeEnum;
    class IfcCoveringTypeEnum {
      static {
        this.CEILING = { type: 3, value: "CEILING" };
      }
      static {
        this.FLOORING = { type: 3, value: "FLOORING" };
      }
      static {
        this.CLADDING = { type: 3, value: "CLADDING" };
      }
      static {
        this.ROOFING = { type: 3, value: "ROOFING" };
      }
      static {
        this.INSULATION = { type: 3, value: "INSULATION" };
      }
      static {
        this.MEMBRANE = { type: 3, value: "MEMBRANE" };
      }
      static {
        this.SLEEVING = { type: 3, value: "SLEEVING" };
      }
      static {
        this.WRAPPING = { type: 3, value: "WRAPPING" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcCoveringTypeEnum = IfcCoveringTypeEnum;
    class IfcCurrencyEnum {
      static {
        this.AED = { type: 3, value: "AED" };
      }
      static {
        this.AES = { type: 3, value: "AES" };
      }
      static {
        this.ATS = { type: 3, value: "ATS" };
      }
      static {
        this.AUD = { type: 3, value: "AUD" };
      }
      static {
        this.BBD = { type: 3, value: "BBD" };
      }
      static {
        this.BEG = { type: 3, value: "BEG" };
      }
      static {
        this.BGL = { type: 3, value: "BGL" };
      }
      static {
        this.BHD = { type: 3, value: "BHD" };
      }
      static {
        this.BMD = { type: 3, value: "BMD" };
      }
      static {
        this.BND = { type: 3, value: "BND" };
      }
      static {
        this.BRL = { type: 3, value: "BRL" };
      }
      static {
        this.BSD = { type: 3, value: "BSD" };
      }
      static {
        this.BWP = { type: 3, value: "BWP" };
      }
      static {
        this.BZD = { type: 3, value: "BZD" };
      }
      static {
        this.CAD = { type: 3, value: "CAD" };
      }
      static {
        this.CBD = { type: 3, value: "CBD" };
      }
      static {
        this.CHF = { type: 3, value: "CHF" };
      }
      static {
        this.CLP = { type: 3, value: "CLP" };
      }
      static {
        this.CNY = { type: 3, value: "CNY" };
      }
      static {
        this.CYS = { type: 3, value: "CYS" };
      }
      static {
        this.CZK = { type: 3, value: "CZK" };
      }
      static {
        this.DDP = { type: 3, value: "DDP" };
      }
      static {
        this.DEM = { type: 3, value: "DEM" };
      }
      static {
        this.DKK = { type: 3, value: "DKK" };
      }
      static {
        this.EGL = { type: 3, value: "EGL" };
      }
      static {
        this.EST = { type: 3, value: "EST" };
      }
      static {
        this.EUR = { type: 3, value: "EUR" };
      }
      static {
        this.FAK = { type: 3, value: "FAK" };
      }
      static {
        this.FIM = { type: 3, value: "FIM" };
      }
      static {
        this.FJD = { type: 3, value: "FJD" };
      }
      static {
        this.FKP = { type: 3, value: "FKP" };
      }
      static {
        this.FRF = { type: 3, value: "FRF" };
      }
      static {
        this.GBP = { type: 3, value: "GBP" };
      }
      static {
        this.GIP = { type: 3, value: "GIP" };
      }
      static {
        this.GMD = { type: 3, value: "GMD" };
      }
      static {
        this.GRX = { type: 3, value: "GRX" };
      }
      static {
        this.HKD = { type: 3, value: "HKD" };
      }
      static {
        this.HUF = { type: 3, value: "HUF" };
      }
      static {
        this.ICK = { type: 3, value: "ICK" };
      }
      static {
        this.IDR = { type: 3, value: "IDR" };
      }
      static {
        this.ILS = { type: 3, value: "ILS" };
      }
      static {
        this.INR = { type: 3, value: "INR" };
      }
      static {
        this.IRP = { type: 3, value: "IRP" };
      }
      static {
        this.ITL = { type: 3, value: "ITL" };
      }
      static {
        this.JMD = { type: 3, value: "JMD" };
      }
      static {
        this.JOD = { type: 3, value: "JOD" };
      }
      static {
        this.JPY = { type: 3, value: "JPY" };
      }
      static {
        this.KES = { type: 3, value: "KES" };
      }
      static {
        this.KRW = { type: 3, value: "KRW" };
      }
      static {
        this.KWD = { type: 3, value: "KWD" };
      }
      static {
        this.KYD = { type: 3, value: "KYD" };
      }
      static {
        this.LKR = { type: 3, value: "LKR" };
      }
      static {
        this.LUF = { type: 3, value: "LUF" };
      }
      static {
        this.MTL = { type: 3, value: "MTL" };
      }
      static {
        this.MUR = { type: 3, value: "MUR" };
      }
      static {
        this.MXN = { type: 3, value: "MXN" };
      }
      static {
        this.MYR = { type: 3, value: "MYR" };
      }
      static {
        this.NLG = { type: 3, value: "NLG" };
      }
      static {
        this.NZD = { type: 3, value: "NZD" };
      }
      static {
        this.OMR = { type: 3, value: "OMR" };
      }
      static {
        this.PGK = { type: 3, value: "PGK" };
      }
      static {
        this.PHP = { type: 3, value: "PHP" };
      }
      static {
        this.PKR = { type: 3, value: "PKR" };
      }
      static {
        this.PLN = { type: 3, value: "PLN" };
      }
      static {
        this.PTN = { type: 3, value: "PTN" };
      }
      static {
        this.QAR = { type: 3, value: "QAR" };
      }
      static {
        this.RUR = { type: 3, value: "RUR" };
      }
      static {
        this.SAR = { type: 3, value: "SAR" };
      }
      static {
        this.SCR = { type: 3, value: "SCR" };
      }
      static {
        this.SEK = { type: 3, value: "SEK" };
      }
      static {
        this.SGD = { type: 3, value: "SGD" };
      }
      static {
        this.SKP = { type: 3, value: "SKP" };
      }
      static {
        this.THB = { type: 3, value: "THB" };
      }
      static {
        this.TRL = { type: 3, value: "TRL" };
      }
      static {
        this.TTD = { type: 3, value: "TTD" };
      }
      static {
        this.TWD = { type: 3, value: "TWD" };
      }
      static {
        this.USD = { type: 3, value: "USD" };
      }
      static {
        this.VEB = { type: 3, value: "VEB" };
      }
      static {
        this.VND = { type: 3, value: "VND" };
      }
      static {
        this.XEU = { type: 3, value: "XEU" };
      }
      static {
        this.ZAR = { type: 3, value: "ZAR" };
      }
      static {
        this.ZWD = { type: 3, value: "ZWD" };
      }
      static {
        this.NOK = { type: 3, value: "NOK" };
      }
    }
    IFC2X32.IfcCurrencyEnum = IfcCurrencyEnum;
    class IfcCurtainWallTypeEnum {
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcCurtainWallTypeEnum = IfcCurtainWallTypeEnum;
    class IfcDamperTypeEnum {
      static {
        this.CONTROLDAMPER = { type: 3, value: "CONTROLDAMPER" };
      }
      static {
        this.FIREDAMPER = { type: 3, value: "FIREDAMPER" };
      }
      static {
        this.SMOKEDAMPER = { type: 3, value: "SMOKEDAMPER" };
      }
      static {
        this.FIRESMOKEDAMPER = { type: 3, value: "FIRESMOKEDAMPER" };
      }
      static {
        this.BACKDRAFTDAMPER = { type: 3, value: "BACKDRAFTDAMPER" };
      }
      static {
        this.RELIEFDAMPER = { type: 3, value: "RELIEFDAMPER" };
      }
      static {
        this.BLASTDAMPER = { type: 3, value: "BLASTDAMPER" };
      }
      static {
        this.GRAVITYDAMPER = { type: 3, value: "GRAVITYDAMPER" };
      }
      static {
        this.GRAVITYRELIEFDAMPER = { type: 3, value: "GRAVITYRELIEFDAMPER" };
      }
      static {
        this.BALANCINGDAMPER = { type: 3, value: "BALANCINGDAMPER" };
      }
      static {
        this.FUMEHOODEXHAUST = { type: 3, value: "FUMEHOODEXHAUST" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcDamperTypeEnum = IfcDamperTypeEnum;
    class IfcDataOriginEnum {
      static {
        this.MEASURED = { type: 3, value: "MEASURED" };
      }
      static {
        this.PREDICTED = { type: 3, value: "PREDICTED" };
      }
      static {
        this.SIMULATED = { type: 3, value: "SIMULATED" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcDataOriginEnum = IfcDataOriginEnum;
    class IfcDerivedUnitEnum {
      static {
        this.ANGULARVELOCITYUNIT = { type: 3, value: "ANGULARVELOCITYUNIT" };
      }
      static {
        this.COMPOUNDPLANEANGLEUNIT = { type: 3, value: "COMPOUNDPLANEANGLEUNIT" };
      }
      static {
        this.DYNAMICVISCOSITYUNIT = { type: 3, value: "DYNAMICVISCOSITYUNIT" };
      }
      static {
        this.HEATFLUXDENSITYUNIT = { type: 3, value: "HEATFLUXDENSITYUNIT" };
      }
      static {
        this.INTEGERCOUNTRATEUNIT = { type: 3, value: "INTEGERCOUNTRATEUNIT" };
      }
      static {
        this.ISOTHERMALMOISTURECAPACITYUNIT = { type: 3, value: "ISOTHERMALMOISTURECAPACITYUNIT" };
      }
      static {
        this.KINEMATICVISCOSITYUNIT = { type: 3, value: "KINEMATICVISCOSITYUNIT" };
      }
      static {
        this.LINEARVELOCITYUNIT = { type: 3, value: "LINEARVELOCITYUNIT" };
      }
      static {
        this.MASSDENSITYUNIT = { type: 3, value: "MASSDENSITYUNIT" };
      }
      static {
        this.MASSFLOWRATEUNIT = { type: 3, value: "MASSFLOWRATEUNIT" };
      }
      static {
        this.MOISTUREDIFFUSIVITYUNIT = { type: 3, value: "MOISTUREDIFFUSIVITYUNIT" };
      }
      static {
        this.MOLECULARWEIGHTUNIT = { type: 3, value: "MOLECULARWEIGHTUNIT" };
      }
      static {
        this.SPECIFICHEATCAPACITYUNIT = { type: 3, value: "SPECIFICHEATCAPACITYUNIT" };
      }
      static {
        this.THERMALADMITTANCEUNIT = { type: 3, value: "THERMALADMITTANCEUNIT" };
      }
      static {
        this.THERMALCONDUCTANCEUNIT = { type: 3, value: "THERMALCONDUCTANCEUNIT" };
      }
      static {
        this.THERMALRESISTANCEUNIT = { type: 3, value: "THERMALRESISTANCEUNIT" };
      }
      static {
        this.THERMALTRANSMITTANCEUNIT = { type: 3, value: "THERMALTRANSMITTANCEUNIT" };
      }
      static {
        this.VAPORPERMEABILITYUNIT = { type: 3, value: "VAPORPERMEABILITYUNIT" };
      }
      static {
        this.VOLUMETRICFLOWRATEUNIT = { type: 3, value: "VOLUMETRICFLOWRATEUNIT" };
      }
      static {
        this.ROTATIONALFREQUENCYUNIT = { type: 3, value: "ROTATIONALFREQUENCYUNIT" };
      }
      static {
        this.TORQUEUNIT = { type: 3, value: "TORQUEUNIT" };
      }
      static {
        this.MOMENTOFINERTIAUNIT = { type: 3, value: "MOMENTOFINERTIAUNIT" };
      }
      static {
        this.LINEARMOMENTUNIT = { type: 3, value: "LINEARMOMENTUNIT" };
      }
      static {
        this.LINEARFORCEUNIT = { type: 3, value: "LINEARFORCEUNIT" };
      }
      static {
        this.PLANARFORCEUNIT = { type: 3, value: "PLANARFORCEUNIT" };
      }
      static {
        this.MODULUSOFELASTICITYUNIT = { type: 3, value: "MODULUSOFELASTICITYUNIT" };
      }
      static {
        this.SHEARMODULUSUNIT = { type: 3, value: "SHEARMODULUSUNIT" };
      }
      static {
        this.LINEARSTIFFNESSUNIT = { type: 3, value: "LINEARSTIFFNESSUNIT" };
      }
      static {
        this.ROTATIONALSTIFFNESSUNIT = { type: 3, value: "ROTATIONALSTIFFNESSUNIT" };
      }
      static {
        this.MODULUSOFSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFSUBGRADEREACTIONUNIT" };
      }
      static {
        this.ACCELERATIONUNIT = { type: 3, value: "ACCELERATIONUNIT" };
      }
      static {
        this.CURVATUREUNIT = { type: 3, value: "CURVATUREUNIT" };
      }
      static {
        this.HEATINGVALUEUNIT = { type: 3, value: "HEATINGVALUEUNIT" };
      }
      static {
        this.IONCONCENTRATIONUNIT = { type: 3, value: "IONCONCENTRATIONUNIT" };
      }
      static {
        this.LUMINOUSINTENSITYDISTRIBUTIONUNIT = { type: 3, value: "LUMINOUSINTENSITYDISTRIBUTIONUNIT" };
      }
      static {
        this.MASSPERLENGTHUNIT = { type: 3, value: "MASSPERLENGTHUNIT" };
      }
      static {
        this.MODULUSOFLINEARSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFLINEARSUBGRADEREACTIONUNIT" };
      }
      static {
        this.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFROTATIONALSUBGRADEREACTIONUNIT" };
      }
      static {
        this.PHUNIT = { type: 3, value: "PHUNIT" };
      }
      static {
        this.ROTATIONALMASSUNIT = { type: 3, value: "ROTATIONALMASSUNIT" };
      }
      static {
        this.SECTIONAREAINTEGRALUNIT = { type: 3, value: "SECTIONAREAINTEGRALUNIT" };
      }
      static {
        this.SECTIONMODULUSUNIT = { type: 3, value: "SECTIONMODULUSUNIT" };
      }
      static {
        this.SOUNDPOWERUNIT = { type: 3, value: "SOUNDPOWERUNIT" };
      }
      static {
        this.SOUNDPRESSUREUNIT = { type: 3, value: "SOUNDPRESSUREUNIT" };
      }
      static {
        this.TEMPERATUREGRADIENTUNIT = { type: 3, value: "TEMPERATUREGRADIENTUNIT" };
      }
      static {
        this.THERMALEXPANSIONCOEFFICIENTUNIT = { type: 3, value: "THERMALEXPANSIONCOEFFICIENTUNIT" };
      }
      static {
        this.WARPINGCONSTANTUNIT = { type: 3, value: "WARPINGCONSTANTUNIT" };
      }
      static {
        this.WARPINGMOMENTUNIT = { type: 3, value: "WARPINGMOMENTUNIT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
    }
    IFC2X32.IfcDerivedUnitEnum = IfcDerivedUnitEnum;
    class IfcDimensionExtentUsage {
      static {
        this.ORIGIN = { type: 3, value: "ORIGIN" };
      }
      static {
        this.TARGET = { type: 3, value: "TARGET" };
      }
    }
    IFC2X32.IfcDimensionExtentUsage = IfcDimensionExtentUsage;
    class IfcDirectionSenseEnum {
      static {
        this.POSITIVE = { type: 3, value: "POSITIVE" };
      }
      static {
        this.NEGATIVE = { type: 3, value: "NEGATIVE" };
      }
    }
    IFC2X32.IfcDirectionSenseEnum = IfcDirectionSenseEnum;
    class IfcDistributionChamberElementTypeEnum {
      static {
        this.FORMEDDUCT = { type: 3, value: "FORMEDDUCT" };
      }
      static {
        this.INSPECTIONCHAMBER = { type: 3, value: "INSPECTIONCHAMBER" };
      }
      static {
        this.INSPECTIONPIT = { type: 3, value: "INSPECTIONPIT" };
      }
      static {
        this.MANHOLE = { type: 3, value: "MANHOLE" };
      }
      static {
        this.METERCHAMBER = { type: 3, value: "METERCHAMBER" };
      }
      static {
        this.SUMP = { type: 3, value: "SUMP" };
      }
      static {
        this.TRENCH = { type: 3, value: "TRENCH" };
      }
      static {
        this.VALVECHAMBER = { type: 3, value: "VALVECHAMBER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcDistributionChamberElementTypeEnum = IfcDistributionChamberElementTypeEnum;
    class IfcDocumentConfidentialityEnum {
      static {
        this.PUBLIC = { type: 3, value: "PUBLIC" };
      }
      static {
        this.RESTRICTED = { type: 3, value: "RESTRICTED" };
      }
      static {
        this.CONFIDENTIAL = { type: 3, value: "CONFIDENTIAL" };
      }
      static {
        this.PERSONAL = { type: 3, value: "PERSONAL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcDocumentConfidentialityEnum = IfcDocumentConfidentialityEnum;
    class IfcDocumentStatusEnum {
      static {
        this.DRAFT = { type: 3, value: "DRAFT" };
      }
      static {
        this.FINALDRAFT = { type: 3, value: "FINALDRAFT" };
      }
      static {
        this.FINAL = { type: 3, value: "FINAL" };
      }
      static {
        this.REVISION = { type: 3, value: "REVISION" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcDocumentStatusEnum = IfcDocumentStatusEnum;
    class IfcDoorPanelOperationEnum {
      static {
        this.SWINGING = { type: 3, value: "SWINGING" };
      }
      static {
        this.DOUBLE_ACTING = { type: 3, value: "DOUBLE_ACTING" };
      }
      static {
        this.SLIDING = { type: 3, value: "SLIDING" };
      }
      static {
        this.FOLDING = { type: 3, value: "FOLDING" };
      }
      static {
        this.REVOLVING = { type: 3, value: "REVOLVING" };
      }
      static {
        this.ROLLINGUP = { type: 3, value: "ROLLINGUP" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcDoorPanelOperationEnum = IfcDoorPanelOperationEnum;
    class IfcDoorPanelPositionEnum {
      static {
        this.LEFT = { type: 3, value: "LEFT" };
      }
      static {
        this.MIDDLE = { type: 3, value: "MIDDLE" };
      }
      static {
        this.RIGHT = { type: 3, value: "RIGHT" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcDoorPanelPositionEnum = IfcDoorPanelPositionEnum;
    class IfcDoorStyleConstructionEnum {
      static {
        this.ALUMINIUM = { type: 3, value: "ALUMINIUM" };
      }
      static {
        this.HIGH_GRADE_STEEL = { type: 3, value: "HIGH_GRADE_STEEL" };
      }
      static {
        this.STEEL = { type: 3, value: "STEEL" };
      }
      static {
        this.WOOD = { type: 3, value: "WOOD" };
      }
      static {
        this.ALUMINIUM_WOOD = { type: 3, value: "ALUMINIUM_WOOD" };
      }
      static {
        this.ALUMINIUM_PLASTIC = { type: 3, value: "ALUMINIUM_PLASTIC" };
      }
      static {
        this.PLASTIC = { type: 3, value: "PLASTIC" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcDoorStyleConstructionEnum = IfcDoorStyleConstructionEnum;
    class IfcDoorStyleOperationEnum {
      static {
        this.SINGLE_SWING_LEFT = { type: 3, value: "SINGLE_SWING_LEFT" };
      }
      static {
        this.SINGLE_SWING_RIGHT = { type: 3, value: "SINGLE_SWING_RIGHT" };
      }
      static {
        this.DOUBLE_DOOR_SINGLE_SWING = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING" };
      }
      static {
        this.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT" };
      }
      static {
        this.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT" };
      }
      static {
        this.DOUBLE_SWING_LEFT = { type: 3, value: "DOUBLE_SWING_LEFT" };
      }
      static {
        this.DOUBLE_SWING_RIGHT = { type: 3, value: "DOUBLE_SWING_RIGHT" };
      }
      static {
        this.DOUBLE_DOOR_DOUBLE_SWING = { type: 3, value: "DOUBLE_DOOR_DOUBLE_SWING" };
      }
      static {
        this.SLIDING_TO_LEFT = { type: 3, value: "SLIDING_TO_LEFT" };
      }
      static {
        this.SLIDING_TO_RIGHT = { type: 3, value: "SLIDING_TO_RIGHT" };
      }
      static {
        this.DOUBLE_DOOR_SLIDING = { type: 3, value: "DOUBLE_DOOR_SLIDING" };
      }
      static {
        this.FOLDING_TO_LEFT = { type: 3, value: "FOLDING_TO_LEFT" };
      }
      static {
        this.FOLDING_TO_RIGHT = { type: 3, value: "FOLDING_TO_RIGHT" };
      }
      static {
        this.DOUBLE_DOOR_FOLDING = { type: 3, value: "DOUBLE_DOOR_FOLDING" };
      }
      static {
        this.REVOLVING = { type: 3, value: "REVOLVING" };
      }
      static {
        this.ROLLINGUP = { type: 3, value: "ROLLINGUP" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcDoorStyleOperationEnum = IfcDoorStyleOperationEnum;
    class IfcDuctFittingTypeEnum {
      static {
        this.BEND = { type: 3, value: "BEND" };
      }
      static {
        this.CONNECTOR = { type: 3, value: "CONNECTOR" };
      }
      static {
        this.ENTRY = { type: 3, value: "ENTRY" };
      }
      static {
        this.EXIT = { type: 3, value: "EXIT" };
      }
      static {
        this.JUNCTION = { type: 3, value: "JUNCTION" };
      }
      static {
        this.OBSTRUCTION = { type: 3, value: "OBSTRUCTION" };
      }
      static {
        this.TRANSITION = { type: 3, value: "TRANSITION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcDuctFittingTypeEnum = IfcDuctFittingTypeEnum;
    class IfcDuctSegmentTypeEnum {
      static {
        this.RIGIDSEGMENT = { type: 3, value: "RIGIDSEGMENT" };
      }
      static {
        this.FLEXIBLESEGMENT = { type: 3, value: "FLEXIBLESEGMENT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcDuctSegmentTypeEnum = IfcDuctSegmentTypeEnum;
    class IfcDuctSilencerTypeEnum {
      static {
        this.FLATOVAL = { type: 3, value: "FLATOVAL" };
      }
      static {
        this.RECTANGULAR = { type: 3, value: "RECTANGULAR" };
      }
      static {
        this.ROUND = { type: 3, value: "ROUND" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcDuctSilencerTypeEnum = IfcDuctSilencerTypeEnum;
    class IfcElectricApplianceTypeEnum {
      static {
        this.COMPUTER = { type: 3, value: "COMPUTER" };
      }
      static {
        this.DIRECTWATERHEATER = { type: 3, value: "DIRECTWATERHEATER" };
      }
      static {
        this.DISHWASHER = { type: 3, value: "DISHWASHER" };
      }
      static {
        this.ELECTRICCOOKER = { type: 3, value: "ELECTRICCOOKER" };
      }
      static {
        this.ELECTRICHEATER = { type: 3, value: "ELECTRICHEATER" };
      }
      static {
        this.FACSIMILE = { type: 3, value: "FACSIMILE" };
      }
      static {
        this.FREESTANDINGFAN = { type: 3, value: "FREESTANDINGFAN" };
      }
      static {
        this.FREEZER = { type: 3, value: "FREEZER" };
      }
      static {
        this.FRIDGE_FREEZER = { type: 3, value: "FRIDGE_FREEZER" };
      }
      static {
        this.HANDDRYER = { type: 3, value: "HANDDRYER" };
      }
      static {
        this.INDIRECTWATERHEATER = { type: 3, value: "INDIRECTWATERHEATER" };
      }
      static {
        this.MICROWAVE = { type: 3, value: "MICROWAVE" };
      }
      static {
        this.PHOTOCOPIER = { type: 3, value: "PHOTOCOPIER" };
      }
      static {
        this.PRINTER = { type: 3, value: "PRINTER" };
      }
      static {
        this.REFRIGERATOR = { type: 3, value: "REFRIGERATOR" };
      }
      static {
        this.RADIANTHEATER = { type: 3, value: "RADIANTHEATER" };
      }
      static {
        this.SCANNER = { type: 3, value: "SCANNER" };
      }
      static {
        this.TELEPHONE = { type: 3, value: "TELEPHONE" };
      }
      static {
        this.TUMBLEDRYER = { type: 3, value: "TUMBLEDRYER" };
      }
      static {
        this.TV = { type: 3, value: "TV" };
      }
      static {
        this.VENDINGMACHINE = { type: 3, value: "VENDINGMACHINE" };
      }
      static {
        this.WASHINGMACHINE = { type: 3, value: "WASHINGMACHINE" };
      }
      static {
        this.WATERHEATER = { type: 3, value: "WATERHEATER" };
      }
      static {
        this.WATERCOOLER = { type: 3, value: "WATERCOOLER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcElectricApplianceTypeEnum = IfcElectricApplianceTypeEnum;
    class IfcElectricCurrentEnum {
      static {
        this.ALTERNATING = { type: 3, value: "ALTERNATING" };
      }
      static {
        this.DIRECT = { type: 3, value: "DIRECT" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcElectricCurrentEnum = IfcElectricCurrentEnum;
    class IfcElectricDistributionPointFunctionEnum {
      static {
        this.ALARMPANEL = { type: 3, value: "ALARMPANEL" };
      }
      static {
        this.CONSUMERUNIT = { type: 3, value: "CONSUMERUNIT" };
      }
      static {
        this.CONTROLPANEL = { type: 3, value: "CONTROLPANEL" };
      }
      static {
        this.DISTRIBUTIONBOARD = { type: 3, value: "DISTRIBUTIONBOARD" };
      }
      static {
        this.GASDETECTORPANEL = { type: 3, value: "GASDETECTORPANEL" };
      }
      static {
        this.INDICATORPANEL = { type: 3, value: "INDICATORPANEL" };
      }
      static {
        this.MIMICPANEL = { type: 3, value: "MIMICPANEL" };
      }
      static {
        this.MOTORCONTROLCENTRE = { type: 3, value: "MOTORCONTROLCENTRE" };
      }
      static {
        this.SWITCHBOARD = { type: 3, value: "SWITCHBOARD" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcElectricDistributionPointFunctionEnum = IfcElectricDistributionPointFunctionEnum;
    class IfcElectricFlowStorageDeviceTypeEnum {
      static {
        this.BATTERY = { type: 3, value: "BATTERY" };
      }
      static {
        this.CAPACITORBANK = { type: 3, value: "CAPACITORBANK" };
      }
      static {
        this.HARMONICFILTER = { type: 3, value: "HARMONICFILTER" };
      }
      static {
        this.INDUCTORBANK = { type: 3, value: "INDUCTORBANK" };
      }
      static {
        this.UPS = { type: 3, value: "UPS" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcElectricFlowStorageDeviceTypeEnum = IfcElectricFlowStorageDeviceTypeEnum;
    class IfcElectricGeneratorTypeEnum {
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcElectricGeneratorTypeEnum = IfcElectricGeneratorTypeEnum;
    class IfcElectricHeaterTypeEnum {
      static {
        this.ELECTRICPOINTHEATER = { type: 3, value: "ELECTRICPOINTHEATER" };
      }
      static {
        this.ELECTRICCABLEHEATER = { type: 3, value: "ELECTRICCABLEHEATER" };
      }
      static {
        this.ELECTRICMATHEATER = { type: 3, value: "ELECTRICMATHEATER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcElectricHeaterTypeEnum = IfcElectricHeaterTypeEnum;
    class IfcElectricMotorTypeEnum {
      static {
        this.DC = { type: 3, value: "DC" };
      }
      static {
        this.INDUCTION = { type: 3, value: "INDUCTION" };
      }
      static {
        this.POLYPHASE = { type: 3, value: "POLYPHASE" };
      }
      static {
        this.RELUCTANCESYNCHRONOUS = { type: 3, value: "RELUCTANCESYNCHRONOUS" };
      }
      static {
        this.SYNCHRONOUS = { type: 3, value: "SYNCHRONOUS" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcElectricMotorTypeEnum = IfcElectricMotorTypeEnum;
    class IfcElectricTimeControlTypeEnum {
      static {
        this.TIMECLOCK = { type: 3, value: "TIMECLOCK" };
      }
      static {
        this.TIMEDELAY = { type: 3, value: "TIMEDELAY" };
      }
      static {
        this.RELAY = { type: 3, value: "RELAY" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcElectricTimeControlTypeEnum = IfcElectricTimeControlTypeEnum;
    class IfcElementAssemblyTypeEnum {
      static {
        this.ACCESSORY_ASSEMBLY = { type: 3, value: "ACCESSORY_ASSEMBLY" };
      }
      static {
        this.ARCH = { type: 3, value: "ARCH" };
      }
      static {
        this.BEAM_GRID = { type: 3, value: "BEAM_GRID" };
      }
      static {
        this.BRACED_FRAME = { type: 3, value: "BRACED_FRAME" };
      }
      static {
        this.GIRDER = { type: 3, value: "GIRDER" };
      }
      static {
        this.REINFORCEMENT_UNIT = { type: 3, value: "REINFORCEMENT_UNIT" };
      }
      static {
        this.RIGID_FRAME = { type: 3, value: "RIGID_FRAME" };
      }
      static {
        this.SLAB_FIELD = { type: 3, value: "SLAB_FIELD" };
      }
      static {
        this.TRUSS = { type: 3, value: "TRUSS" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcElementAssemblyTypeEnum = IfcElementAssemblyTypeEnum;
    class IfcElementCompositionEnum {
      static {
        this.COMPLEX = { type: 3, value: "COMPLEX" };
      }
      static {
        this.ELEMENT = { type: 3, value: "ELEMENT" };
      }
      static {
        this.PARTIAL = { type: 3, value: "PARTIAL" };
      }
    }
    IFC2X32.IfcElementCompositionEnum = IfcElementCompositionEnum;
    class IfcEnergySequenceEnum {
      static {
        this.PRIMARY = { type: 3, value: "PRIMARY" };
      }
      static {
        this.SECONDARY = { type: 3, value: "SECONDARY" };
      }
      static {
        this.TERTIARY = { type: 3, value: "TERTIARY" };
      }
      static {
        this.AUXILIARY = { type: 3, value: "AUXILIARY" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcEnergySequenceEnum = IfcEnergySequenceEnum;
    class IfcEnvironmentalImpactCategoryEnum {
      static {
        this.COMBINEDVALUE = { type: 3, value: "COMBINEDVALUE" };
      }
      static {
        this.DISPOSAL = { type: 3, value: "DISPOSAL" };
      }
      static {
        this.EXTRACTION = { type: 3, value: "EXTRACTION" };
      }
      static {
        this.INSTALLATION = { type: 3, value: "INSTALLATION" };
      }
      static {
        this.MANUFACTURE = { type: 3, value: "MANUFACTURE" };
      }
      static {
        this.TRANSPORTATION = { type: 3, value: "TRANSPORTATION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcEnvironmentalImpactCategoryEnum = IfcEnvironmentalImpactCategoryEnum;
    class IfcEvaporativeCoolerTypeEnum {
      static {
        this.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER" };
      }
      static {
        this.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER" };
      }
      static {
        this.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER" };
      }
      static {
        this.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER" };
      }
      static {
        this.DIRECTEVAPORATIVEAIRWASHER = { type: 3, value: "DIRECTEVAPORATIVEAIRWASHER" };
      }
      static {
        this.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER = { type: 3, value: "INDIRECTEVAPORATIVEPACKAGEAIRCOOLER" };
      }
      static {
        this.INDIRECTEVAPORATIVEWETCOIL = { type: 3, value: "INDIRECTEVAPORATIVEWETCOIL" };
      }
      static {
        this.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER = { type: 3, value: "INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER" };
      }
      static {
        this.INDIRECTDIRECTCOMBINATION = { type: 3, value: "INDIRECTDIRECTCOMBINATION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcEvaporativeCoolerTypeEnum = IfcEvaporativeCoolerTypeEnum;
    class IfcEvaporatorTypeEnum {
      static {
        this.DIRECTEXPANSIONSHELLANDTUBE = { type: 3, value: "DIRECTEXPANSIONSHELLANDTUBE" };
      }
      static {
        this.DIRECTEXPANSIONTUBEINTUBE = { type: 3, value: "DIRECTEXPANSIONTUBEINTUBE" };
      }
      static {
        this.DIRECTEXPANSIONBRAZEDPLATE = { type: 3, value: "DIRECTEXPANSIONBRAZEDPLATE" };
      }
      static {
        this.FLOODEDSHELLANDTUBE = { type: 3, value: "FLOODEDSHELLANDTUBE" };
      }
      static {
        this.SHELLANDCOIL = { type: 3, value: "SHELLANDCOIL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcEvaporatorTypeEnum = IfcEvaporatorTypeEnum;
    class IfcFanTypeEnum {
      static {
        this.CENTRIFUGALFORWARDCURVED = { type: 3, value: "CENTRIFUGALFORWARDCURVED" };
      }
      static {
        this.CENTRIFUGALRADIAL = { type: 3, value: "CENTRIFUGALRADIAL" };
      }
      static {
        this.CENTRIFUGALBACKWARDINCLINEDCURVED = { type: 3, value: "CENTRIFUGALBACKWARDINCLINEDCURVED" };
      }
      static {
        this.CENTRIFUGALAIRFOIL = { type: 3, value: "CENTRIFUGALAIRFOIL" };
      }
      static {
        this.TUBEAXIAL = { type: 3, value: "TUBEAXIAL" };
      }
      static {
        this.VANEAXIAL = { type: 3, value: "VANEAXIAL" };
      }
      static {
        this.PROPELLORAXIAL = { type: 3, value: "PROPELLORAXIAL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcFanTypeEnum = IfcFanTypeEnum;
    class IfcFilterTypeEnum {
      static {
        this.AIRPARTICLEFILTER = { type: 3, value: "AIRPARTICLEFILTER" };
      }
      static {
        this.ODORFILTER = { type: 3, value: "ODORFILTER" };
      }
      static {
        this.OILFILTER = { type: 3, value: "OILFILTER" };
      }
      static {
        this.STRAINER = { type: 3, value: "STRAINER" };
      }
      static {
        this.WATERFILTER = { type: 3, value: "WATERFILTER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcFilterTypeEnum = IfcFilterTypeEnum;
    class IfcFireSuppressionTerminalTypeEnum {
      static {
        this.BREECHINGINLET = { type: 3, value: "BREECHINGINLET" };
      }
      static {
        this.FIREHYDRANT = { type: 3, value: "FIREHYDRANT" };
      }
      static {
        this.HOSEREEL = { type: 3, value: "HOSEREEL" };
      }
      static {
        this.SPRINKLER = { type: 3, value: "SPRINKLER" };
      }
      static {
        this.SPRINKLERDEFLECTOR = { type: 3, value: "SPRINKLERDEFLECTOR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcFireSuppressionTerminalTypeEnum = IfcFireSuppressionTerminalTypeEnum;
    class IfcFlowDirectionEnum {
      static {
        this.SOURCE = { type: 3, value: "SOURCE" };
      }
      static {
        this.SINK = { type: 3, value: "SINK" };
      }
      static {
        this.SOURCEANDSINK = { type: 3, value: "SOURCEANDSINK" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcFlowDirectionEnum = IfcFlowDirectionEnum;
    class IfcFlowInstrumentTypeEnum {
      static {
        this.PRESSUREGAUGE = { type: 3, value: "PRESSUREGAUGE" };
      }
      static {
        this.THERMOMETER = { type: 3, value: "THERMOMETER" };
      }
      static {
        this.AMMETER = { type: 3, value: "AMMETER" };
      }
      static {
        this.FREQUENCYMETER = { type: 3, value: "FREQUENCYMETER" };
      }
      static {
        this.POWERFACTORMETER = { type: 3, value: "POWERFACTORMETER" };
      }
      static {
        this.PHASEANGLEMETER = { type: 3, value: "PHASEANGLEMETER" };
      }
      static {
        this.VOLTMETER_PEAK = { type: 3, value: "VOLTMETER_PEAK" };
      }
      static {
        this.VOLTMETER_RMS = { type: 3, value: "VOLTMETER_RMS" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcFlowInstrumentTypeEnum = IfcFlowInstrumentTypeEnum;
    class IfcFlowMeterTypeEnum {
      static {
        this.ELECTRICMETER = { type: 3, value: "ELECTRICMETER" };
      }
      static {
        this.ENERGYMETER = { type: 3, value: "ENERGYMETER" };
      }
      static {
        this.FLOWMETER = { type: 3, value: "FLOWMETER" };
      }
      static {
        this.GASMETER = { type: 3, value: "GASMETER" };
      }
      static {
        this.OILMETER = { type: 3, value: "OILMETER" };
      }
      static {
        this.WATERMETER = { type: 3, value: "WATERMETER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcFlowMeterTypeEnum = IfcFlowMeterTypeEnum;
    class IfcFootingTypeEnum {
      static {
        this.FOOTING_BEAM = { type: 3, value: "FOOTING_BEAM" };
      }
      static {
        this.PAD_FOOTING = { type: 3, value: "PAD_FOOTING" };
      }
      static {
        this.PILE_CAP = { type: 3, value: "PILE_CAP" };
      }
      static {
        this.STRIP_FOOTING = { type: 3, value: "STRIP_FOOTING" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcFootingTypeEnum = IfcFootingTypeEnum;
    class IfcGasTerminalTypeEnum {
      static {
        this.GASAPPLIANCE = { type: 3, value: "GASAPPLIANCE" };
      }
      static {
        this.GASBOOSTER = { type: 3, value: "GASBOOSTER" };
      }
      static {
        this.GASBURNER = { type: 3, value: "GASBURNER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcGasTerminalTypeEnum = IfcGasTerminalTypeEnum;
    class IfcGeometricProjectionEnum {
      static {
        this.GRAPH_VIEW = { type: 3, value: "GRAPH_VIEW" };
      }
      static {
        this.SKETCH_VIEW = { type: 3, value: "SKETCH_VIEW" };
      }
      static {
        this.MODEL_VIEW = { type: 3, value: "MODEL_VIEW" };
      }
      static {
        this.PLAN_VIEW = { type: 3, value: "PLAN_VIEW" };
      }
      static {
        this.REFLECTED_PLAN_VIEW = { type: 3, value: "REFLECTED_PLAN_VIEW" };
      }
      static {
        this.SECTION_VIEW = { type: 3, value: "SECTION_VIEW" };
      }
      static {
        this.ELEVATION_VIEW = { type: 3, value: "ELEVATION_VIEW" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcGeometricProjectionEnum = IfcGeometricProjectionEnum;
    class IfcGlobalOrLocalEnum {
      static {
        this.GLOBAL_COORDS = { type: 3, value: "GLOBAL_COORDS" };
      }
      static {
        this.LOCAL_COORDS = { type: 3, value: "LOCAL_COORDS" };
      }
    }
    IFC2X32.IfcGlobalOrLocalEnum = IfcGlobalOrLocalEnum;
    class IfcHeatExchangerTypeEnum {
      static {
        this.PLATE = { type: 3, value: "PLATE" };
      }
      static {
        this.SHELLANDTUBE = { type: 3, value: "SHELLANDTUBE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcHeatExchangerTypeEnum = IfcHeatExchangerTypeEnum;
    class IfcHumidifierTypeEnum {
      static {
        this.STEAMINJECTION = { type: 3, value: "STEAMINJECTION" };
      }
      static {
        this.ADIABATICAIRWASHER = { type: 3, value: "ADIABATICAIRWASHER" };
      }
      static {
        this.ADIABATICPAN = { type: 3, value: "ADIABATICPAN" };
      }
      static {
        this.ADIABATICWETTEDELEMENT = { type: 3, value: "ADIABATICWETTEDELEMENT" };
      }
      static {
        this.ADIABATICATOMIZING = { type: 3, value: "ADIABATICATOMIZING" };
      }
      static {
        this.ADIABATICULTRASONIC = { type: 3, value: "ADIABATICULTRASONIC" };
      }
      static {
        this.ADIABATICRIGIDMEDIA = { type: 3, value: "ADIABATICRIGIDMEDIA" };
      }
      static {
        this.ADIABATICCOMPRESSEDAIRNOZZLE = { type: 3, value: "ADIABATICCOMPRESSEDAIRNOZZLE" };
      }
      static {
        this.ASSISTEDELECTRIC = { type: 3, value: "ASSISTEDELECTRIC" };
      }
      static {
        this.ASSISTEDNATURALGAS = { type: 3, value: "ASSISTEDNATURALGAS" };
      }
      static {
        this.ASSISTEDPROPANE = { type: 3, value: "ASSISTEDPROPANE" };
      }
      static {
        this.ASSISTEDBUTANE = { type: 3, value: "ASSISTEDBUTANE" };
      }
      static {
        this.ASSISTEDSTEAM = { type: 3, value: "ASSISTEDSTEAM" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcHumidifierTypeEnum = IfcHumidifierTypeEnum;
    class IfcInternalOrExternalEnum {
      static {
        this.INTERNAL = { type: 3, value: "INTERNAL" };
      }
      static {
        this.EXTERNAL = { type: 3, value: "EXTERNAL" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcInternalOrExternalEnum = IfcInternalOrExternalEnum;
    class IfcInventoryTypeEnum {
      static {
        this.ASSETINVENTORY = { type: 3, value: "ASSETINVENTORY" };
      }
      static {
        this.SPACEINVENTORY = { type: 3, value: "SPACEINVENTORY" };
      }
      static {
        this.FURNITUREINVENTORY = { type: 3, value: "FURNITUREINVENTORY" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcInventoryTypeEnum = IfcInventoryTypeEnum;
    class IfcJunctionBoxTypeEnum {
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcJunctionBoxTypeEnum = IfcJunctionBoxTypeEnum;
    class IfcLampTypeEnum {
      static {
        this.COMPACTFLUORESCENT = { type: 3, value: "COMPACTFLUORESCENT" };
      }
      static {
        this.FLUORESCENT = { type: 3, value: "FLUORESCENT" };
      }
      static {
        this.HIGHPRESSUREMERCURY = { type: 3, value: "HIGHPRESSUREMERCURY" };
      }
      static {
        this.HIGHPRESSURESODIUM = { type: 3, value: "HIGHPRESSURESODIUM" };
      }
      static {
        this.METALHALIDE = { type: 3, value: "METALHALIDE" };
      }
      static {
        this.TUNGSTENFILAMENT = { type: 3, value: "TUNGSTENFILAMENT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcLampTypeEnum = IfcLampTypeEnum;
    class IfcLayerSetDirectionEnum {
      static {
        this.AXIS1 = { type: 3, value: "AXIS1" };
      }
      static {
        this.AXIS2 = { type: 3, value: "AXIS2" };
      }
      static {
        this.AXIS3 = { type: 3, value: "AXIS3" };
      }
    }
    IFC2X32.IfcLayerSetDirectionEnum = IfcLayerSetDirectionEnum;
    class IfcLightDistributionCurveEnum {
      static {
        this.TYPE_A = { type: 3, value: "TYPE_A" };
      }
      static {
        this.TYPE_B = { type: 3, value: "TYPE_B" };
      }
      static {
        this.TYPE_C = { type: 3, value: "TYPE_C" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcLightDistributionCurveEnum = IfcLightDistributionCurveEnum;
    class IfcLightEmissionSourceEnum {
      static {
        this.COMPACTFLUORESCENT = { type: 3, value: "COMPACTFLUORESCENT" };
      }
      static {
        this.FLUORESCENT = { type: 3, value: "FLUORESCENT" };
      }
      static {
        this.HIGHPRESSUREMERCURY = { type: 3, value: "HIGHPRESSUREMERCURY" };
      }
      static {
        this.HIGHPRESSURESODIUM = { type: 3, value: "HIGHPRESSURESODIUM" };
      }
      static {
        this.LIGHTEMITTINGDIODE = { type: 3, value: "LIGHTEMITTINGDIODE" };
      }
      static {
        this.LOWPRESSURESODIUM = { type: 3, value: "LOWPRESSURESODIUM" };
      }
      static {
        this.LOWVOLTAGEHALOGEN = { type: 3, value: "LOWVOLTAGEHALOGEN" };
      }
      static {
        this.MAINVOLTAGEHALOGEN = { type: 3, value: "MAINVOLTAGEHALOGEN" };
      }
      static {
        this.METALHALIDE = { type: 3, value: "METALHALIDE" };
      }
      static {
        this.TUNGSTENFILAMENT = { type: 3, value: "TUNGSTENFILAMENT" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcLightEmissionSourceEnum = IfcLightEmissionSourceEnum;
    class IfcLightFixtureTypeEnum {
      static {
        this.POINTSOURCE = { type: 3, value: "POINTSOURCE" };
      }
      static {
        this.DIRECTIONSOURCE = { type: 3, value: "DIRECTIONSOURCE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcLightFixtureTypeEnum = IfcLightFixtureTypeEnum;
    class IfcLoadGroupTypeEnum {
      static {
        this.LOAD_GROUP = { type: 3, value: "LOAD_GROUP" };
      }
      static {
        this.LOAD_CASE = { type: 3, value: "LOAD_CASE" };
      }
      static {
        this.LOAD_COMBINATION_GROUP = { type: 3, value: "LOAD_COMBINATION_GROUP" };
      }
      static {
        this.LOAD_COMBINATION = { type: 3, value: "LOAD_COMBINATION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcLoadGroupTypeEnum = IfcLoadGroupTypeEnum;
    class IfcLogicalOperatorEnum {
      static {
        this.LOGICALAND = { type: 3, value: "LOGICALAND" };
      }
      static {
        this.LOGICALOR = { type: 3, value: "LOGICALOR" };
      }
    }
    IFC2X32.IfcLogicalOperatorEnum = IfcLogicalOperatorEnum;
    class IfcMemberTypeEnum {
      static {
        this.BRACE = { type: 3, value: "BRACE" };
      }
      static {
        this.CHORD = { type: 3, value: "CHORD" };
      }
      static {
        this.COLLAR = { type: 3, value: "COLLAR" };
      }
      static {
        this.MEMBER = { type: 3, value: "MEMBER" };
      }
      static {
        this.MULLION = { type: 3, value: "MULLION" };
      }
      static {
        this.PLATE = { type: 3, value: "PLATE" };
      }
      static {
        this.POST = { type: 3, value: "POST" };
      }
      static {
        this.PURLIN = { type: 3, value: "PURLIN" };
      }
      static {
        this.RAFTER = { type: 3, value: "RAFTER" };
      }
      static {
        this.STRINGER = { type: 3, value: "STRINGER" };
      }
      static {
        this.STRUT = { type: 3, value: "STRUT" };
      }
      static {
        this.STUD = { type: 3, value: "STUD" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcMemberTypeEnum = IfcMemberTypeEnum;
    class IfcMotorConnectionTypeEnum {
      static {
        this.BELTDRIVE = { type: 3, value: "BELTDRIVE" };
      }
      static {
        this.COUPLING = { type: 3, value: "COUPLING" };
      }
      static {
        this.DIRECTDRIVE = { type: 3, value: "DIRECTDRIVE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcMotorConnectionTypeEnum = IfcMotorConnectionTypeEnum;
    class IfcNullStyle {
      static {
        this.NULL = { type: 3, value: "NULL" };
      }
    }
    IFC2X32.IfcNullStyle = IfcNullStyle;
    class IfcObjectTypeEnum {
      static {
        this.PRODUCT = { type: 3, value: "PRODUCT" };
      }
      static {
        this.PROCESS = { type: 3, value: "PROCESS" };
      }
      static {
        this.CONTROL = { type: 3, value: "CONTROL" };
      }
      static {
        this.RESOURCE = { type: 3, value: "RESOURCE" };
      }
      static {
        this.ACTOR = { type: 3, value: "ACTOR" };
      }
      static {
        this.GROUP = { type: 3, value: "GROUP" };
      }
      static {
        this.PROJECT = { type: 3, value: "PROJECT" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcObjectTypeEnum = IfcObjectTypeEnum;
    class IfcObjectiveEnum {
      static {
        this.CODECOMPLIANCE = { type: 3, value: "CODECOMPLIANCE" };
      }
      static {
        this.DESIGNINTENT = { type: 3, value: "DESIGNINTENT" };
      }
      static {
        this.HEALTHANDSAFETY = { type: 3, value: "HEALTHANDSAFETY" };
      }
      static {
        this.REQUIREMENT = { type: 3, value: "REQUIREMENT" };
      }
      static {
        this.SPECIFICATION = { type: 3, value: "SPECIFICATION" };
      }
      static {
        this.TRIGGERCONDITION = { type: 3, value: "TRIGGERCONDITION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcObjectiveEnum = IfcObjectiveEnum;
    class IfcOccupantTypeEnum {
      static {
        this.ASSIGNEE = { type: 3, value: "ASSIGNEE" };
      }
      static {
        this.ASSIGNOR = { type: 3, value: "ASSIGNOR" };
      }
      static {
        this.LESSEE = { type: 3, value: "LESSEE" };
      }
      static {
        this.LESSOR = { type: 3, value: "LESSOR" };
      }
      static {
        this.LETTINGAGENT = { type: 3, value: "LETTINGAGENT" };
      }
      static {
        this.OWNER = { type: 3, value: "OWNER" };
      }
      static {
        this.TENANT = { type: 3, value: "TENANT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcOccupantTypeEnum = IfcOccupantTypeEnum;
    class IfcOutletTypeEnum {
      static {
        this.AUDIOVISUALOUTLET = { type: 3, value: "AUDIOVISUALOUTLET" };
      }
      static {
        this.COMMUNICATIONSOUTLET = { type: 3, value: "COMMUNICATIONSOUTLET" };
      }
      static {
        this.POWEROUTLET = { type: 3, value: "POWEROUTLET" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcOutletTypeEnum = IfcOutletTypeEnum;
    class IfcPermeableCoveringOperationEnum {
      static {
        this.GRILL = { type: 3, value: "GRILL" };
      }
      static {
        this.LOUVER = { type: 3, value: "LOUVER" };
      }
      static {
        this.SCREEN = { type: 3, value: "SCREEN" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcPermeableCoveringOperationEnum = IfcPermeableCoveringOperationEnum;
    class IfcPhysicalOrVirtualEnum {
      static {
        this.PHYSICAL = { type: 3, value: "PHYSICAL" };
      }
      static {
        this.VIRTUAL = { type: 3, value: "VIRTUAL" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcPhysicalOrVirtualEnum = IfcPhysicalOrVirtualEnum;
    class IfcPileConstructionEnum {
      static {
        this.CAST_IN_PLACE = { type: 3, value: "CAST_IN_PLACE" };
      }
      static {
        this.COMPOSITE = { type: 3, value: "COMPOSITE" };
      }
      static {
        this.PRECAST_CONCRETE = { type: 3, value: "PRECAST_CONCRETE" };
      }
      static {
        this.PREFAB_STEEL = { type: 3, value: "PREFAB_STEEL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcPileConstructionEnum = IfcPileConstructionEnum;
    class IfcPileTypeEnum {
      static {
        this.COHESION = { type: 3, value: "COHESION" };
      }
      static {
        this.FRICTION = { type: 3, value: "FRICTION" };
      }
      static {
        this.SUPPORT = { type: 3, value: "SUPPORT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcPileTypeEnum = IfcPileTypeEnum;
    class IfcPipeFittingTypeEnum {
      static {
        this.BEND = { type: 3, value: "BEND" };
      }
      static {
        this.CONNECTOR = { type: 3, value: "CONNECTOR" };
      }
      static {
        this.ENTRY = { type: 3, value: "ENTRY" };
      }
      static {
        this.EXIT = { type: 3, value: "EXIT" };
      }
      static {
        this.JUNCTION = { type: 3, value: "JUNCTION" };
      }
      static {
        this.OBSTRUCTION = { type: 3, value: "OBSTRUCTION" };
      }
      static {
        this.TRANSITION = { type: 3, value: "TRANSITION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcPipeFittingTypeEnum = IfcPipeFittingTypeEnum;
    class IfcPipeSegmentTypeEnum {
      static {
        this.FLEXIBLESEGMENT = { type: 3, value: "FLEXIBLESEGMENT" };
      }
      static {
        this.RIGIDSEGMENT = { type: 3, value: "RIGIDSEGMENT" };
      }
      static {
        this.GUTTER = { type: 3, value: "GUTTER" };
      }
      static {
        this.SPOOL = { type: 3, value: "SPOOL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcPipeSegmentTypeEnum = IfcPipeSegmentTypeEnum;
    class IfcPlateTypeEnum {
      static {
        this.CURTAIN_PANEL = { type: 3, value: "CURTAIN_PANEL" };
      }
      static {
        this.SHEET = { type: 3, value: "SHEET" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcPlateTypeEnum = IfcPlateTypeEnum;
    class IfcProcedureTypeEnum {
      static {
        this.ADVICE_CAUTION = { type: 3, value: "ADVICE_CAUTION" };
      }
      static {
        this.ADVICE_NOTE = { type: 3, value: "ADVICE_NOTE" };
      }
      static {
        this.ADVICE_WARNING = { type: 3, value: "ADVICE_WARNING" };
      }
      static {
        this.CALIBRATION = { type: 3, value: "CALIBRATION" };
      }
      static {
        this.DIAGNOSTIC = { type: 3, value: "DIAGNOSTIC" };
      }
      static {
        this.SHUTDOWN = { type: 3, value: "SHUTDOWN" };
      }
      static {
        this.STARTUP = { type: 3, value: "STARTUP" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcProcedureTypeEnum = IfcProcedureTypeEnum;
    class IfcProfileTypeEnum {
      static {
        this.CURVE = { type: 3, value: "CURVE" };
      }
      static {
        this.AREA = { type: 3, value: "AREA" };
      }
    }
    IFC2X32.IfcProfileTypeEnum = IfcProfileTypeEnum;
    class IfcProjectOrderRecordTypeEnum {
      static {
        this.CHANGE = { type: 3, value: "CHANGE" };
      }
      static {
        this.MAINTENANCE = { type: 3, value: "MAINTENANCE" };
      }
      static {
        this.MOVE = { type: 3, value: "MOVE" };
      }
      static {
        this.PURCHASE = { type: 3, value: "PURCHASE" };
      }
      static {
        this.WORK = { type: 3, value: "WORK" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcProjectOrderRecordTypeEnum = IfcProjectOrderRecordTypeEnum;
    class IfcProjectOrderTypeEnum {
      static {
        this.CHANGEORDER = { type: 3, value: "CHANGEORDER" };
      }
      static {
        this.MAINTENANCEWORKORDER = { type: 3, value: "MAINTENANCEWORKORDER" };
      }
      static {
        this.MOVEORDER = { type: 3, value: "MOVEORDER" };
      }
      static {
        this.PURCHASEORDER = { type: 3, value: "PURCHASEORDER" };
      }
      static {
        this.WORKORDER = { type: 3, value: "WORKORDER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcProjectOrderTypeEnum = IfcProjectOrderTypeEnum;
    class IfcProjectedOrTrueLengthEnum {
      static {
        this.PROJECTED_LENGTH = { type: 3, value: "PROJECTED_LENGTH" };
      }
      static {
        this.TRUE_LENGTH = { type: 3, value: "TRUE_LENGTH" };
      }
    }
    IFC2X32.IfcProjectedOrTrueLengthEnum = IfcProjectedOrTrueLengthEnum;
    class IfcPropertySourceEnum {
      static {
        this.DESIGN = { type: 3, value: "DESIGN" };
      }
      static {
        this.DESIGNMAXIMUM = { type: 3, value: "DESIGNMAXIMUM" };
      }
      static {
        this.DESIGNMINIMUM = { type: 3, value: "DESIGNMINIMUM" };
      }
      static {
        this.SIMULATED = { type: 3, value: "SIMULATED" };
      }
      static {
        this.ASBUILT = { type: 3, value: "ASBUILT" };
      }
      static {
        this.COMMISSIONING = { type: 3, value: "COMMISSIONING" };
      }
      static {
        this.MEASURED = { type: 3, value: "MEASURED" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTKNOWN = { type: 3, value: "NOTKNOWN" };
      }
    }
    IFC2X32.IfcPropertySourceEnum = IfcPropertySourceEnum;
    class IfcProtectiveDeviceTypeEnum {
      static {
        this.FUSEDISCONNECTOR = { type: 3, value: "FUSEDISCONNECTOR" };
      }
      static {
        this.CIRCUITBREAKER = { type: 3, value: "CIRCUITBREAKER" };
      }
      static {
        this.EARTHFAILUREDEVICE = { type: 3, value: "EARTHFAILUREDEVICE" };
      }
      static {
        this.RESIDUALCURRENTCIRCUITBREAKER = { type: 3, value: "RESIDUALCURRENTCIRCUITBREAKER" };
      }
      static {
        this.RESIDUALCURRENTSWITCH = { type: 3, value: "RESIDUALCURRENTSWITCH" };
      }
      static {
        this.VARISTOR = { type: 3, value: "VARISTOR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcProtectiveDeviceTypeEnum = IfcProtectiveDeviceTypeEnum;
    class IfcPumpTypeEnum {
      static {
        this.CIRCULATOR = { type: 3, value: "CIRCULATOR" };
      }
      static {
        this.ENDSUCTION = { type: 3, value: "ENDSUCTION" };
      }
      static {
        this.SPLITCASE = { type: 3, value: "SPLITCASE" };
      }
      static {
        this.VERTICALINLINE = { type: 3, value: "VERTICALINLINE" };
      }
      static {
        this.VERTICALTURBINE = { type: 3, value: "VERTICALTURBINE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcPumpTypeEnum = IfcPumpTypeEnum;
    class IfcRailingTypeEnum {
      static {
        this.HANDRAIL = { type: 3, value: "HANDRAIL" };
      }
      static {
        this.GUARDRAIL = { type: 3, value: "GUARDRAIL" };
      }
      static {
        this.BALUSTRADE = { type: 3, value: "BALUSTRADE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcRailingTypeEnum = IfcRailingTypeEnum;
    class IfcRampFlightTypeEnum {
      static {
        this.STRAIGHT = { type: 3, value: "STRAIGHT" };
      }
      static {
        this.SPIRAL = { type: 3, value: "SPIRAL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcRampFlightTypeEnum = IfcRampFlightTypeEnum;
    class IfcRampTypeEnum {
      static {
        this.STRAIGHT_RUN_RAMP = { type: 3, value: "STRAIGHT_RUN_RAMP" };
      }
      static {
        this.TWO_STRAIGHT_RUN_RAMP = { type: 3, value: "TWO_STRAIGHT_RUN_RAMP" };
      }
      static {
        this.QUARTER_TURN_RAMP = { type: 3, value: "QUARTER_TURN_RAMP" };
      }
      static {
        this.TWO_QUARTER_TURN_RAMP = { type: 3, value: "TWO_QUARTER_TURN_RAMP" };
      }
      static {
        this.HALF_TURN_RAMP = { type: 3, value: "HALF_TURN_RAMP" };
      }
      static {
        this.SPIRAL_RAMP = { type: 3, value: "SPIRAL_RAMP" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcRampTypeEnum = IfcRampTypeEnum;
    class IfcReflectanceMethodEnum {
      static {
        this.BLINN = { type: 3, value: "BLINN" };
      }
      static {
        this.FLAT = { type: 3, value: "FLAT" };
      }
      static {
        this.GLASS = { type: 3, value: "GLASS" };
      }
      static {
        this.MATT = { type: 3, value: "MATT" };
      }
      static {
        this.METAL = { type: 3, value: "METAL" };
      }
      static {
        this.MIRROR = { type: 3, value: "MIRROR" };
      }
      static {
        this.PHONG = { type: 3, value: "PHONG" };
      }
      static {
        this.PLASTIC = { type: 3, value: "PLASTIC" };
      }
      static {
        this.STRAUSS = { type: 3, value: "STRAUSS" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcReflectanceMethodEnum = IfcReflectanceMethodEnum;
    class IfcReinforcingBarRoleEnum {
      static {
        this.MAIN = { type: 3, value: "MAIN" };
      }
      static {
        this.SHEAR = { type: 3, value: "SHEAR" };
      }
      static {
        this.LIGATURE = { type: 3, value: "LIGATURE" };
      }
      static {
        this.STUD = { type: 3, value: "STUD" };
      }
      static {
        this.PUNCHING = { type: 3, value: "PUNCHING" };
      }
      static {
        this.EDGE = { type: 3, value: "EDGE" };
      }
      static {
        this.RING = { type: 3, value: "RING" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcReinforcingBarRoleEnum = IfcReinforcingBarRoleEnum;
    class IfcReinforcingBarSurfaceEnum {
      static {
        this.PLAIN = { type: 3, value: "PLAIN" };
      }
      static {
        this.TEXTURED = { type: 3, value: "TEXTURED" };
      }
    }
    IFC2X32.IfcReinforcingBarSurfaceEnum = IfcReinforcingBarSurfaceEnum;
    class IfcResourceConsumptionEnum {
      static {
        this.CONSUMED = { type: 3, value: "CONSUMED" };
      }
      static {
        this.PARTIALLYCONSUMED = { type: 3, value: "PARTIALLYCONSUMED" };
      }
      static {
        this.NOTCONSUMED = { type: 3, value: "NOTCONSUMED" };
      }
      static {
        this.OCCUPIED = { type: 3, value: "OCCUPIED" };
      }
      static {
        this.PARTIALLYOCCUPIED = { type: 3, value: "PARTIALLYOCCUPIED" };
      }
      static {
        this.NOTOCCUPIED = { type: 3, value: "NOTOCCUPIED" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcResourceConsumptionEnum = IfcResourceConsumptionEnum;
    class IfcRibPlateDirectionEnum {
      static {
        this.DIRECTION_X = { type: 3, value: "DIRECTION_X" };
      }
      static {
        this.DIRECTION_Y = { type: 3, value: "DIRECTION_Y" };
      }
    }
    IFC2X32.IfcRibPlateDirectionEnum = IfcRibPlateDirectionEnum;
    class IfcRoleEnum {
      static {
        this.SUPPLIER = { type: 3, value: "SUPPLIER" };
      }
      static {
        this.MANUFACTURER = { type: 3, value: "MANUFACTURER" };
      }
      static {
        this.CONTRACTOR = { type: 3, value: "CONTRACTOR" };
      }
      static {
        this.SUBCONTRACTOR = { type: 3, value: "SUBCONTRACTOR" };
      }
      static {
        this.ARCHITECT = { type: 3, value: "ARCHITECT" };
      }
      static {
        this.STRUCTURALENGINEER = { type: 3, value: "STRUCTURALENGINEER" };
      }
      static {
        this.COSTENGINEER = { type: 3, value: "COSTENGINEER" };
      }
      static {
        this.CLIENT = { type: 3, value: "CLIENT" };
      }
      static {
        this.BUILDINGOWNER = { type: 3, value: "BUILDINGOWNER" };
      }
      static {
        this.BUILDINGOPERATOR = { type: 3, value: "BUILDINGOPERATOR" };
      }
      static {
        this.MECHANICALENGINEER = { type: 3, value: "MECHANICALENGINEER" };
      }
      static {
        this.ELECTRICALENGINEER = { type: 3, value: "ELECTRICALENGINEER" };
      }
      static {
        this.PROJECTMANAGER = { type: 3, value: "PROJECTMANAGER" };
      }
      static {
        this.FACILITIESMANAGER = { type: 3, value: "FACILITIESMANAGER" };
      }
      static {
        this.CIVILENGINEER = { type: 3, value: "CIVILENGINEER" };
      }
      static {
        this.COMISSIONINGENGINEER = { type: 3, value: "COMISSIONINGENGINEER" };
      }
      static {
        this.ENGINEER = { type: 3, value: "ENGINEER" };
      }
      static {
        this.OWNER = { type: 3, value: "OWNER" };
      }
      static {
        this.CONSULTANT = { type: 3, value: "CONSULTANT" };
      }
      static {
        this.CONSTRUCTIONMANAGER = { type: 3, value: "CONSTRUCTIONMANAGER" };
      }
      static {
        this.FIELDCONSTRUCTIONMANAGER = { type: 3, value: "FIELDCONSTRUCTIONMANAGER" };
      }
      static {
        this.RESELLER = { type: 3, value: "RESELLER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
    }
    IFC2X32.IfcRoleEnum = IfcRoleEnum;
    class IfcRoofTypeEnum {
      static {
        this.FLAT_ROOF = { type: 3, value: "FLAT_ROOF" };
      }
      static {
        this.SHED_ROOF = { type: 3, value: "SHED_ROOF" };
      }
      static {
        this.GABLE_ROOF = { type: 3, value: "GABLE_ROOF" };
      }
      static {
        this.HIP_ROOF = { type: 3, value: "HIP_ROOF" };
      }
      static {
        this.HIPPED_GABLE_ROOF = { type: 3, value: "HIPPED_GABLE_ROOF" };
      }
      static {
        this.GAMBREL_ROOF = { type: 3, value: "GAMBREL_ROOF" };
      }
      static {
        this.MANSARD_ROOF = { type: 3, value: "MANSARD_ROOF" };
      }
      static {
        this.BARREL_ROOF = { type: 3, value: "BARREL_ROOF" };
      }
      static {
        this.RAINBOW_ROOF = { type: 3, value: "RAINBOW_ROOF" };
      }
      static {
        this.BUTTERFLY_ROOF = { type: 3, value: "BUTTERFLY_ROOF" };
      }
      static {
        this.PAVILION_ROOF = { type: 3, value: "PAVILION_ROOF" };
      }
      static {
        this.DOME_ROOF = { type: 3, value: "DOME_ROOF" };
      }
      static {
        this.FREEFORM = { type: 3, value: "FREEFORM" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcRoofTypeEnum = IfcRoofTypeEnum;
    class IfcSIPrefix {
      static {
        this.EXA = { type: 3, value: "EXA" };
      }
      static {
        this.PETA = { type: 3, value: "PETA" };
      }
      static {
        this.TERA = { type: 3, value: "TERA" };
      }
      static {
        this.GIGA = { type: 3, value: "GIGA" };
      }
      static {
        this.MEGA = { type: 3, value: "MEGA" };
      }
      static {
        this.KILO = { type: 3, value: "KILO" };
      }
      static {
        this.HECTO = { type: 3, value: "HECTO" };
      }
      static {
        this.DECA = { type: 3, value: "DECA" };
      }
      static {
        this.DECI = { type: 3, value: "DECI" };
      }
      static {
        this.CENTI = { type: 3, value: "CENTI" };
      }
      static {
        this.MILLI = { type: 3, value: "MILLI" };
      }
      static {
        this.MICRO = { type: 3, value: "MICRO" };
      }
      static {
        this.NANO = { type: 3, value: "NANO" };
      }
      static {
        this.PICO = { type: 3, value: "PICO" };
      }
      static {
        this.FEMTO = { type: 3, value: "FEMTO" };
      }
      static {
        this.ATTO = { type: 3, value: "ATTO" };
      }
    }
    IFC2X32.IfcSIPrefix = IfcSIPrefix;
    class IfcSIUnitName {
      static {
        this.AMPERE = { type: 3, value: "AMPERE" };
      }
      static {
        this.BECQUEREL = { type: 3, value: "BECQUEREL" };
      }
      static {
        this.CANDELA = { type: 3, value: "CANDELA" };
      }
      static {
        this.COULOMB = { type: 3, value: "COULOMB" };
      }
      static {
        this.CUBIC_METRE = { type: 3, value: "CUBIC_METRE" };
      }
      static {
        this.DEGREE_CELSIUS = { type: 3, value: "DEGREE_CELSIUS" };
      }
      static {
        this.FARAD = { type: 3, value: "FARAD" };
      }
      static {
        this.GRAM = { type: 3, value: "GRAM" };
      }
      static {
        this.GRAY = { type: 3, value: "GRAY" };
      }
      static {
        this.HENRY = { type: 3, value: "HENRY" };
      }
      static {
        this.HERTZ = { type: 3, value: "HERTZ" };
      }
      static {
        this.JOULE = { type: 3, value: "JOULE" };
      }
      static {
        this.KELVIN = { type: 3, value: "KELVIN" };
      }
      static {
        this.LUMEN = { type: 3, value: "LUMEN" };
      }
      static {
        this.LUX = { type: 3, value: "LUX" };
      }
      static {
        this.METRE = { type: 3, value: "METRE" };
      }
      static {
        this.MOLE = { type: 3, value: "MOLE" };
      }
      static {
        this.NEWTON = { type: 3, value: "NEWTON" };
      }
      static {
        this.OHM = { type: 3, value: "OHM" };
      }
      static {
        this.PASCAL = { type: 3, value: "PASCAL" };
      }
      static {
        this.RADIAN = { type: 3, value: "RADIAN" };
      }
      static {
        this.SECOND = { type: 3, value: "SECOND" };
      }
      static {
        this.SIEMENS = { type: 3, value: "SIEMENS" };
      }
      static {
        this.SIEVERT = { type: 3, value: "SIEVERT" };
      }
      static {
        this.SQUARE_METRE = { type: 3, value: "SQUARE_METRE" };
      }
      static {
        this.STERADIAN = { type: 3, value: "STERADIAN" };
      }
      static {
        this.TESLA = { type: 3, value: "TESLA" };
      }
      static {
        this.VOLT = { type: 3, value: "VOLT" };
      }
      static {
        this.WATT = { type: 3, value: "WATT" };
      }
      static {
        this.WEBER = { type: 3, value: "WEBER" };
      }
    }
    IFC2X32.IfcSIUnitName = IfcSIUnitName;
    class IfcSanitaryTerminalTypeEnum {
      static {
        this.BATH = { type: 3, value: "BATH" };
      }
      static {
        this.BIDET = { type: 3, value: "BIDET" };
      }
      static {
        this.CISTERN = { type: 3, value: "CISTERN" };
      }
      static {
        this.SHOWER = { type: 3, value: "SHOWER" };
      }
      static {
        this.SINK = { type: 3, value: "SINK" };
      }
      static {
        this.SANITARYFOUNTAIN = { type: 3, value: "SANITARYFOUNTAIN" };
      }
      static {
        this.TOILETPAN = { type: 3, value: "TOILETPAN" };
      }
      static {
        this.URINAL = { type: 3, value: "URINAL" };
      }
      static {
        this.WASHHANDBASIN = { type: 3, value: "WASHHANDBASIN" };
      }
      static {
        this.WCSEAT = { type: 3, value: "WCSEAT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcSanitaryTerminalTypeEnum = IfcSanitaryTerminalTypeEnum;
    class IfcSectionTypeEnum {
      static {
        this.UNIFORM = { type: 3, value: "UNIFORM" };
      }
      static {
        this.TAPERED = { type: 3, value: "TAPERED" };
      }
    }
    IFC2X32.IfcSectionTypeEnum = IfcSectionTypeEnum;
    class IfcSensorTypeEnum {
      static {
        this.CO2SENSOR = { type: 3, value: "CO2SENSOR" };
      }
      static {
        this.FIRESENSOR = { type: 3, value: "FIRESENSOR" };
      }
      static {
        this.FLOWSENSOR = { type: 3, value: "FLOWSENSOR" };
      }
      static {
        this.GASSENSOR = { type: 3, value: "GASSENSOR" };
      }
      static {
        this.HEATSENSOR = { type: 3, value: "HEATSENSOR" };
      }
      static {
        this.HUMIDITYSENSOR = { type: 3, value: "HUMIDITYSENSOR" };
      }
      static {
        this.LIGHTSENSOR = { type: 3, value: "LIGHTSENSOR" };
      }
      static {
        this.MOISTURESENSOR = { type: 3, value: "MOISTURESENSOR" };
      }
      static {
        this.MOVEMENTSENSOR = { type: 3, value: "MOVEMENTSENSOR" };
      }
      static {
        this.PRESSURESENSOR = { type: 3, value: "PRESSURESENSOR" };
      }
      static {
        this.SMOKESENSOR = { type: 3, value: "SMOKESENSOR" };
      }
      static {
        this.SOUNDSENSOR = { type: 3, value: "SOUNDSENSOR" };
      }
      static {
        this.TEMPERATURESENSOR = { type: 3, value: "TEMPERATURESENSOR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcSensorTypeEnum = IfcSensorTypeEnum;
    class IfcSequenceEnum {
      static {
        this.START_START = { type: 3, value: "START_START" };
      }
      static {
        this.START_FINISH = { type: 3, value: "START_FINISH" };
      }
      static {
        this.FINISH_START = { type: 3, value: "FINISH_START" };
      }
      static {
        this.FINISH_FINISH = { type: 3, value: "FINISH_FINISH" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcSequenceEnum = IfcSequenceEnum;
    class IfcServiceLifeFactorTypeEnum {
      static {
        this.A_QUALITYOFCOMPONENTS = { type: 3, value: "A_QUALITYOFCOMPONENTS" };
      }
      static {
        this.B_DESIGNLEVEL = { type: 3, value: "B_DESIGNLEVEL" };
      }
      static {
        this.C_WORKEXECUTIONLEVEL = { type: 3, value: "C_WORKEXECUTIONLEVEL" };
      }
      static {
        this.D_INDOORENVIRONMENT = { type: 3, value: "D_INDOORENVIRONMENT" };
      }
      static {
        this.E_OUTDOORENVIRONMENT = { type: 3, value: "E_OUTDOORENVIRONMENT" };
      }
      static {
        this.F_INUSECONDITIONS = { type: 3, value: "F_INUSECONDITIONS" };
      }
      static {
        this.G_MAINTENANCELEVEL = { type: 3, value: "G_MAINTENANCELEVEL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcServiceLifeFactorTypeEnum = IfcServiceLifeFactorTypeEnum;
    class IfcServiceLifeTypeEnum {
      static {
        this.ACTUALSERVICELIFE = { type: 3, value: "ACTUALSERVICELIFE" };
      }
      static {
        this.EXPECTEDSERVICELIFE = { type: 3, value: "EXPECTEDSERVICELIFE" };
      }
      static {
        this.OPTIMISTICREFERENCESERVICELIFE = { type: 3, value: "OPTIMISTICREFERENCESERVICELIFE" };
      }
      static {
        this.PESSIMISTICREFERENCESERVICELIFE = { type: 3, value: "PESSIMISTICREFERENCESERVICELIFE" };
      }
      static {
        this.REFERENCESERVICELIFE = { type: 3, value: "REFERENCESERVICELIFE" };
      }
    }
    IFC2X32.IfcServiceLifeTypeEnum = IfcServiceLifeTypeEnum;
    class IfcSlabTypeEnum {
      static {
        this.FLOOR = { type: 3, value: "FLOOR" };
      }
      static {
        this.ROOF = { type: 3, value: "ROOF" };
      }
      static {
        this.LANDING = { type: 3, value: "LANDING" };
      }
      static {
        this.BASESLAB = { type: 3, value: "BASESLAB" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcSlabTypeEnum = IfcSlabTypeEnum;
    class IfcSoundScaleEnum {
      static {
        this.DBA = { type: 3, value: "DBA" };
      }
      static {
        this.DBB = { type: 3, value: "DBB" };
      }
      static {
        this.DBC = { type: 3, value: "DBC" };
      }
      static {
        this.NC = { type: 3, value: "NC" };
      }
      static {
        this.NR = { type: 3, value: "NR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcSoundScaleEnum = IfcSoundScaleEnum;
    class IfcSpaceHeaterTypeEnum {
      static {
        this.SECTIONALRADIATOR = { type: 3, value: "SECTIONALRADIATOR" };
      }
      static {
        this.PANELRADIATOR = { type: 3, value: "PANELRADIATOR" };
      }
      static {
        this.TUBULARRADIATOR = { type: 3, value: "TUBULARRADIATOR" };
      }
      static {
        this.CONVECTOR = { type: 3, value: "CONVECTOR" };
      }
      static {
        this.BASEBOARDHEATER = { type: 3, value: "BASEBOARDHEATER" };
      }
      static {
        this.FINNEDTUBEUNIT = { type: 3, value: "FINNEDTUBEUNIT" };
      }
      static {
        this.UNITHEATER = { type: 3, value: "UNITHEATER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcSpaceHeaterTypeEnum = IfcSpaceHeaterTypeEnum;
    class IfcSpaceTypeEnum {
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcSpaceTypeEnum = IfcSpaceTypeEnum;
    class IfcStackTerminalTypeEnum {
      static {
        this.BIRDCAGE = { type: 3, value: "BIRDCAGE" };
      }
      static {
        this.COWL = { type: 3, value: "COWL" };
      }
      static {
        this.RAINWATERHOPPER = { type: 3, value: "RAINWATERHOPPER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcStackTerminalTypeEnum = IfcStackTerminalTypeEnum;
    class IfcStairFlightTypeEnum {
      static {
        this.STRAIGHT = { type: 3, value: "STRAIGHT" };
      }
      static {
        this.WINDER = { type: 3, value: "WINDER" };
      }
      static {
        this.SPIRAL = { type: 3, value: "SPIRAL" };
      }
      static {
        this.CURVED = { type: 3, value: "CURVED" };
      }
      static {
        this.FREEFORM = { type: 3, value: "FREEFORM" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcStairFlightTypeEnum = IfcStairFlightTypeEnum;
    class IfcStairTypeEnum {
      static {
        this.STRAIGHT_RUN_STAIR = { type: 3, value: "STRAIGHT_RUN_STAIR" };
      }
      static {
        this.TWO_STRAIGHT_RUN_STAIR = { type: 3, value: "TWO_STRAIGHT_RUN_STAIR" };
      }
      static {
        this.QUARTER_WINDING_STAIR = { type: 3, value: "QUARTER_WINDING_STAIR" };
      }
      static {
        this.QUARTER_TURN_STAIR = { type: 3, value: "QUARTER_TURN_STAIR" };
      }
      static {
        this.HALF_WINDING_STAIR = { type: 3, value: "HALF_WINDING_STAIR" };
      }
      static {
        this.HALF_TURN_STAIR = { type: 3, value: "HALF_TURN_STAIR" };
      }
      static {
        this.TWO_QUARTER_WINDING_STAIR = { type: 3, value: "TWO_QUARTER_WINDING_STAIR" };
      }
      static {
        this.TWO_QUARTER_TURN_STAIR = { type: 3, value: "TWO_QUARTER_TURN_STAIR" };
      }
      static {
        this.THREE_QUARTER_WINDING_STAIR = { type: 3, value: "THREE_QUARTER_WINDING_STAIR" };
      }
      static {
        this.THREE_QUARTER_TURN_STAIR = { type: 3, value: "THREE_QUARTER_TURN_STAIR" };
      }
      static {
        this.SPIRAL_STAIR = { type: 3, value: "SPIRAL_STAIR" };
      }
      static {
        this.DOUBLE_RETURN_STAIR = { type: 3, value: "DOUBLE_RETURN_STAIR" };
      }
      static {
        this.CURVED_RUN_STAIR = { type: 3, value: "CURVED_RUN_STAIR" };
      }
      static {
        this.TWO_CURVED_RUN_STAIR = { type: 3, value: "TWO_CURVED_RUN_STAIR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcStairTypeEnum = IfcStairTypeEnum;
    class IfcStateEnum {
      static {
        this.READWRITE = { type: 3, value: "READWRITE" };
      }
      static {
        this.READONLY = { type: 3, value: "READONLY" };
      }
      static {
        this.LOCKED = { type: 3, value: "LOCKED" };
      }
      static {
        this.READWRITELOCKED = { type: 3, value: "READWRITELOCKED" };
      }
      static {
        this.READONLYLOCKED = { type: 3, value: "READONLYLOCKED" };
      }
    }
    IFC2X32.IfcStateEnum = IfcStateEnum;
    class IfcStructuralCurveTypeEnum {
      static {
        this.RIGID_JOINED_MEMBER = { type: 3, value: "RIGID_JOINED_MEMBER" };
      }
      static {
        this.PIN_JOINED_MEMBER = { type: 3, value: "PIN_JOINED_MEMBER" };
      }
      static {
        this.CABLE = { type: 3, value: "CABLE" };
      }
      static {
        this.TENSION_MEMBER = { type: 3, value: "TENSION_MEMBER" };
      }
      static {
        this.COMPRESSION_MEMBER = { type: 3, value: "COMPRESSION_MEMBER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcStructuralCurveTypeEnum = IfcStructuralCurveTypeEnum;
    class IfcStructuralSurfaceTypeEnum {
      static {
        this.BENDING_ELEMENT = { type: 3, value: "BENDING_ELEMENT" };
      }
      static {
        this.MEMBRANE_ELEMENT = { type: 3, value: "MEMBRANE_ELEMENT" };
      }
      static {
        this.SHELL = { type: 3, value: "SHELL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcStructuralSurfaceTypeEnum = IfcStructuralSurfaceTypeEnum;
    class IfcSurfaceSide {
      static {
        this.POSITIVE = { type: 3, value: "POSITIVE" };
      }
      static {
        this.NEGATIVE = { type: 3, value: "NEGATIVE" };
      }
      static {
        this.BOTH = { type: 3, value: "BOTH" };
      }
    }
    IFC2X32.IfcSurfaceSide = IfcSurfaceSide;
    class IfcSurfaceTextureEnum {
      static {
        this.BUMP = { type: 3, value: "BUMP" };
      }
      static {
        this.OPACITY = { type: 3, value: "OPACITY" };
      }
      static {
        this.REFLECTION = { type: 3, value: "REFLECTION" };
      }
      static {
        this.SELFILLUMINATION = { type: 3, value: "SELFILLUMINATION" };
      }
      static {
        this.SHININESS = { type: 3, value: "SHININESS" };
      }
      static {
        this.SPECULAR = { type: 3, value: "SPECULAR" };
      }
      static {
        this.TEXTURE = { type: 3, value: "TEXTURE" };
      }
      static {
        this.TRANSPARENCYMAP = { type: 3, value: "TRANSPARENCYMAP" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcSurfaceTextureEnum = IfcSurfaceTextureEnum;
    class IfcSwitchingDeviceTypeEnum {
      static {
        this.CONTACTOR = { type: 3, value: "CONTACTOR" };
      }
      static {
        this.EMERGENCYSTOP = { type: 3, value: "EMERGENCYSTOP" };
      }
      static {
        this.STARTER = { type: 3, value: "STARTER" };
      }
      static {
        this.SWITCHDISCONNECTOR = { type: 3, value: "SWITCHDISCONNECTOR" };
      }
      static {
        this.TOGGLESWITCH = { type: 3, value: "TOGGLESWITCH" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcSwitchingDeviceTypeEnum = IfcSwitchingDeviceTypeEnum;
    class IfcTankTypeEnum {
      static {
        this.PREFORMED = { type: 3, value: "PREFORMED" };
      }
      static {
        this.SECTIONAL = { type: 3, value: "SECTIONAL" };
      }
      static {
        this.EXPANSION = { type: 3, value: "EXPANSION" };
      }
      static {
        this.PRESSUREVESSEL = { type: 3, value: "PRESSUREVESSEL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcTankTypeEnum = IfcTankTypeEnum;
    class IfcTendonTypeEnum {
      static {
        this.STRAND = { type: 3, value: "STRAND" };
      }
      static {
        this.WIRE = { type: 3, value: "WIRE" };
      }
      static {
        this.BAR = { type: 3, value: "BAR" };
      }
      static {
        this.COATED = { type: 3, value: "COATED" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcTendonTypeEnum = IfcTendonTypeEnum;
    class IfcTextPath {
      static {
        this.LEFT = { type: 3, value: "LEFT" };
      }
      static {
        this.RIGHT = { type: 3, value: "RIGHT" };
      }
      static {
        this.UP = { type: 3, value: "UP" };
      }
      static {
        this.DOWN = { type: 3, value: "DOWN" };
      }
    }
    IFC2X32.IfcTextPath = IfcTextPath;
    class IfcThermalLoadSourceEnum {
      static {
        this.PEOPLE = { type: 3, value: "PEOPLE" };
      }
      static {
        this.LIGHTING = { type: 3, value: "LIGHTING" };
      }
      static {
        this.EQUIPMENT = { type: 3, value: "EQUIPMENT" };
      }
      static {
        this.VENTILATIONINDOORAIR = { type: 3, value: "VENTILATIONINDOORAIR" };
      }
      static {
        this.VENTILATIONOUTSIDEAIR = { type: 3, value: "VENTILATIONOUTSIDEAIR" };
      }
      static {
        this.RECIRCULATEDAIR = { type: 3, value: "RECIRCULATEDAIR" };
      }
      static {
        this.EXHAUSTAIR = { type: 3, value: "EXHAUSTAIR" };
      }
      static {
        this.AIREXCHANGERATE = { type: 3, value: "AIREXCHANGERATE" };
      }
      static {
        this.DRYBULBTEMPERATURE = { type: 3, value: "DRYBULBTEMPERATURE" };
      }
      static {
        this.RELATIVEHUMIDITY = { type: 3, value: "RELATIVEHUMIDITY" };
      }
      static {
        this.INFILTRATION = { type: 3, value: "INFILTRATION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcThermalLoadSourceEnum = IfcThermalLoadSourceEnum;
    class IfcThermalLoadTypeEnum {
      static {
        this.SENSIBLE = { type: 3, value: "SENSIBLE" };
      }
      static {
        this.LATENT = { type: 3, value: "LATENT" };
      }
      static {
        this.RADIANT = { type: 3, value: "RADIANT" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcThermalLoadTypeEnum = IfcThermalLoadTypeEnum;
    class IfcTimeSeriesDataTypeEnum {
      static {
        this.CONTINUOUS = { type: 3, value: "CONTINUOUS" };
      }
      static {
        this.DISCRETE = { type: 3, value: "DISCRETE" };
      }
      static {
        this.DISCRETEBINARY = { type: 3, value: "DISCRETEBINARY" };
      }
      static {
        this.PIECEWISEBINARY = { type: 3, value: "PIECEWISEBINARY" };
      }
      static {
        this.PIECEWISECONSTANT = { type: 3, value: "PIECEWISECONSTANT" };
      }
      static {
        this.PIECEWISECONTINUOUS = { type: 3, value: "PIECEWISECONTINUOUS" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcTimeSeriesDataTypeEnum = IfcTimeSeriesDataTypeEnum;
    class IfcTimeSeriesScheduleTypeEnum {
      static {
        this.ANNUAL = { type: 3, value: "ANNUAL" };
      }
      static {
        this.MONTHLY = { type: 3, value: "MONTHLY" };
      }
      static {
        this.WEEKLY = { type: 3, value: "WEEKLY" };
      }
      static {
        this.DAILY = { type: 3, value: "DAILY" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcTimeSeriesScheduleTypeEnum = IfcTimeSeriesScheduleTypeEnum;
    class IfcTransformerTypeEnum {
      static {
        this.CURRENT = { type: 3, value: "CURRENT" };
      }
      static {
        this.FREQUENCY = { type: 3, value: "FREQUENCY" };
      }
      static {
        this.VOLTAGE = { type: 3, value: "VOLTAGE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcTransformerTypeEnum = IfcTransformerTypeEnum;
    class IfcTransitionCode {
      static {
        this.DISCONTINUOUS = { type: 3, value: "DISCONTINUOUS" };
      }
      static {
        this.CONTINUOUS = { type: 3, value: "CONTINUOUS" };
      }
      static {
        this.CONTSAMEGRADIENT = { type: 3, value: "CONTSAMEGRADIENT" };
      }
      static {
        this.CONTSAMEGRADIENTSAMECURVATURE = { type: 3, value: "CONTSAMEGRADIENTSAMECURVATURE" };
      }
    }
    IFC2X32.IfcTransitionCode = IfcTransitionCode;
    class IfcTransportElementTypeEnum {
      static {
        this.ELEVATOR = { type: 3, value: "ELEVATOR" };
      }
      static {
        this.ESCALATOR = { type: 3, value: "ESCALATOR" };
      }
      static {
        this.MOVINGWALKWAY = { type: 3, value: "MOVINGWALKWAY" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcTransportElementTypeEnum = IfcTransportElementTypeEnum;
    class IfcTrimmingPreference {
      static {
        this.CARTESIAN = { type: 3, value: "CARTESIAN" };
      }
      static {
        this.PARAMETER = { type: 3, value: "PARAMETER" };
      }
      static {
        this.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" };
      }
    }
    IFC2X32.IfcTrimmingPreference = IfcTrimmingPreference;
    class IfcTubeBundleTypeEnum {
      static {
        this.FINNED = { type: 3, value: "FINNED" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcTubeBundleTypeEnum = IfcTubeBundleTypeEnum;
    class IfcUnitEnum {
      static {
        this.ABSORBEDDOSEUNIT = { type: 3, value: "ABSORBEDDOSEUNIT" };
      }
      static {
        this.AMOUNTOFSUBSTANCEUNIT = { type: 3, value: "AMOUNTOFSUBSTANCEUNIT" };
      }
      static {
        this.AREAUNIT = { type: 3, value: "AREAUNIT" };
      }
      static {
        this.DOSEEQUIVALENTUNIT = { type: 3, value: "DOSEEQUIVALENTUNIT" };
      }
      static {
        this.ELECTRICCAPACITANCEUNIT = { type: 3, value: "ELECTRICCAPACITANCEUNIT" };
      }
      static {
        this.ELECTRICCHARGEUNIT = { type: 3, value: "ELECTRICCHARGEUNIT" };
      }
      static {
        this.ELECTRICCONDUCTANCEUNIT = { type: 3, value: "ELECTRICCONDUCTANCEUNIT" };
      }
      static {
        this.ELECTRICCURRENTUNIT = { type: 3, value: "ELECTRICCURRENTUNIT" };
      }
      static {
        this.ELECTRICRESISTANCEUNIT = { type: 3, value: "ELECTRICRESISTANCEUNIT" };
      }
      static {
        this.ELECTRICVOLTAGEUNIT = { type: 3, value: "ELECTRICVOLTAGEUNIT" };
      }
      static {
        this.ENERGYUNIT = { type: 3, value: "ENERGYUNIT" };
      }
      static {
        this.FORCEUNIT = { type: 3, value: "FORCEUNIT" };
      }
      static {
        this.FREQUENCYUNIT = { type: 3, value: "FREQUENCYUNIT" };
      }
      static {
        this.ILLUMINANCEUNIT = { type: 3, value: "ILLUMINANCEUNIT" };
      }
      static {
        this.INDUCTANCEUNIT = { type: 3, value: "INDUCTANCEUNIT" };
      }
      static {
        this.LENGTHUNIT = { type: 3, value: "LENGTHUNIT" };
      }
      static {
        this.LUMINOUSFLUXUNIT = { type: 3, value: "LUMINOUSFLUXUNIT" };
      }
      static {
        this.LUMINOUSINTENSITYUNIT = { type: 3, value: "LUMINOUSINTENSITYUNIT" };
      }
      static {
        this.MAGNETICFLUXDENSITYUNIT = { type: 3, value: "MAGNETICFLUXDENSITYUNIT" };
      }
      static {
        this.MAGNETICFLUXUNIT = { type: 3, value: "MAGNETICFLUXUNIT" };
      }
      static {
        this.MASSUNIT = { type: 3, value: "MASSUNIT" };
      }
      static {
        this.PLANEANGLEUNIT = { type: 3, value: "PLANEANGLEUNIT" };
      }
      static {
        this.POWERUNIT = { type: 3, value: "POWERUNIT" };
      }
      static {
        this.PRESSUREUNIT = { type: 3, value: "PRESSUREUNIT" };
      }
      static {
        this.RADIOACTIVITYUNIT = { type: 3, value: "RADIOACTIVITYUNIT" };
      }
      static {
        this.SOLIDANGLEUNIT = { type: 3, value: "SOLIDANGLEUNIT" };
      }
      static {
        this.THERMODYNAMICTEMPERATUREUNIT = { type: 3, value: "THERMODYNAMICTEMPERATUREUNIT" };
      }
      static {
        this.TIMEUNIT = { type: 3, value: "TIMEUNIT" };
      }
      static {
        this.VOLUMEUNIT = { type: 3, value: "VOLUMEUNIT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
    }
    IFC2X32.IfcUnitEnum = IfcUnitEnum;
    class IfcUnitaryEquipmentTypeEnum {
      static {
        this.AIRHANDLER = { type: 3, value: "AIRHANDLER" };
      }
      static {
        this.AIRCONDITIONINGUNIT = { type: 3, value: "AIRCONDITIONINGUNIT" };
      }
      static {
        this.SPLITSYSTEM = { type: 3, value: "SPLITSYSTEM" };
      }
      static {
        this.ROOFTOPUNIT = { type: 3, value: "ROOFTOPUNIT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcUnitaryEquipmentTypeEnum = IfcUnitaryEquipmentTypeEnum;
    class IfcValveTypeEnum {
      static {
        this.AIRRELEASE = { type: 3, value: "AIRRELEASE" };
      }
      static {
        this.ANTIVACUUM = { type: 3, value: "ANTIVACUUM" };
      }
      static {
        this.CHANGEOVER = { type: 3, value: "CHANGEOVER" };
      }
      static {
        this.CHECK = { type: 3, value: "CHECK" };
      }
      static {
        this.COMMISSIONING = { type: 3, value: "COMMISSIONING" };
      }
      static {
        this.DIVERTING = { type: 3, value: "DIVERTING" };
      }
      static {
        this.DRAWOFFCOCK = { type: 3, value: "DRAWOFFCOCK" };
      }
      static {
        this.DOUBLECHECK = { type: 3, value: "DOUBLECHECK" };
      }
      static {
        this.DOUBLEREGULATING = { type: 3, value: "DOUBLEREGULATING" };
      }
      static {
        this.FAUCET = { type: 3, value: "FAUCET" };
      }
      static {
        this.FLUSHING = { type: 3, value: "FLUSHING" };
      }
      static {
        this.GASCOCK = { type: 3, value: "GASCOCK" };
      }
      static {
        this.GASTAP = { type: 3, value: "GASTAP" };
      }
      static {
        this.ISOLATING = { type: 3, value: "ISOLATING" };
      }
      static {
        this.MIXING = { type: 3, value: "MIXING" };
      }
      static {
        this.PRESSUREREDUCING = { type: 3, value: "PRESSUREREDUCING" };
      }
      static {
        this.PRESSURERELIEF = { type: 3, value: "PRESSURERELIEF" };
      }
      static {
        this.REGULATING = { type: 3, value: "REGULATING" };
      }
      static {
        this.SAFETYCUTOFF = { type: 3, value: "SAFETYCUTOFF" };
      }
      static {
        this.STEAMTRAP = { type: 3, value: "STEAMTRAP" };
      }
      static {
        this.STOPCOCK = { type: 3, value: "STOPCOCK" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcValveTypeEnum = IfcValveTypeEnum;
    class IfcVibrationIsolatorTypeEnum {
      static {
        this.COMPRESSION = { type: 3, value: "COMPRESSION" };
      }
      static {
        this.SPRING = { type: 3, value: "SPRING" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcVibrationIsolatorTypeEnum = IfcVibrationIsolatorTypeEnum;
    class IfcWallTypeEnum {
      static {
        this.STANDARD = { type: 3, value: "STANDARD" };
      }
      static {
        this.POLYGONAL = { type: 3, value: "POLYGONAL" };
      }
      static {
        this.SHEAR = { type: 3, value: "SHEAR" };
      }
      static {
        this.ELEMENTEDWALL = { type: 3, value: "ELEMENTEDWALL" };
      }
      static {
        this.PLUMBINGWALL = { type: 3, value: "PLUMBINGWALL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcWallTypeEnum = IfcWallTypeEnum;
    class IfcWasteTerminalTypeEnum {
      static {
        this.FLOORTRAP = { type: 3, value: "FLOORTRAP" };
      }
      static {
        this.FLOORWASTE = { type: 3, value: "FLOORWASTE" };
      }
      static {
        this.GULLYSUMP = { type: 3, value: "GULLYSUMP" };
      }
      static {
        this.GULLYTRAP = { type: 3, value: "GULLYTRAP" };
      }
      static {
        this.GREASEINTERCEPTOR = { type: 3, value: "GREASEINTERCEPTOR" };
      }
      static {
        this.OILINTERCEPTOR = { type: 3, value: "OILINTERCEPTOR" };
      }
      static {
        this.PETROLINTERCEPTOR = { type: 3, value: "PETROLINTERCEPTOR" };
      }
      static {
        this.ROOFDRAIN = { type: 3, value: "ROOFDRAIN" };
      }
      static {
        this.WASTEDISPOSALUNIT = { type: 3, value: "WASTEDISPOSALUNIT" };
      }
      static {
        this.WASTETRAP = { type: 3, value: "WASTETRAP" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcWasteTerminalTypeEnum = IfcWasteTerminalTypeEnum;
    class IfcWindowPanelOperationEnum {
      static {
        this.SIDEHUNGRIGHTHAND = { type: 3, value: "SIDEHUNGRIGHTHAND" };
      }
      static {
        this.SIDEHUNGLEFTHAND = { type: 3, value: "SIDEHUNGLEFTHAND" };
      }
      static {
        this.TILTANDTURNRIGHTHAND = { type: 3, value: "TILTANDTURNRIGHTHAND" };
      }
      static {
        this.TILTANDTURNLEFTHAND = { type: 3, value: "TILTANDTURNLEFTHAND" };
      }
      static {
        this.TOPHUNG = { type: 3, value: "TOPHUNG" };
      }
      static {
        this.BOTTOMHUNG = { type: 3, value: "BOTTOMHUNG" };
      }
      static {
        this.PIVOTHORIZONTAL = { type: 3, value: "PIVOTHORIZONTAL" };
      }
      static {
        this.PIVOTVERTICAL = { type: 3, value: "PIVOTVERTICAL" };
      }
      static {
        this.SLIDINGHORIZONTAL = { type: 3, value: "SLIDINGHORIZONTAL" };
      }
      static {
        this.SLIDINGVERTICAL = { type: 3, value: "SLIDINGVERTICAL" };
      }
      static {
        this.REMOVABLECASEMENT = { type: 3, value: "REMOVABLECASEMENT" };
      }
      static {
        this.FIXEDCASEMENT = { type: 3, value: "FIXEDCASEMENT" };
      }
      static {
        this.OTHEROPERATION = { type: 3, value: "OTHEROPERATION" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcWindowPanelOperationEnum = IfcWindowPanelOperationEnum;
    class IfcWindowPanelPositionEnum {
      static {
        this.LEFT = { type: 3, value: "LEFT" };
      }
      static {
        this.MIDDLE = { type: 3, value: "MIDDLE" };
      }
      static {
        this.RIGHT = { type: 3, value: "RIGHT" };
      }
      static {
        this.BOTTOM = { type: 3, value: "BOTTOM" };
      }
      static {
        this.TOP = { type: 3, value: "TOP" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcWindowPanelPositionEnum = IfcWindowPanelPositionEnum;
    class IfcWindowStyleConstructionEnum {
      static {
        this.ALUMINIUM = { type: 3, value: "ALUMINIUM" };
      }
      static {
        this.HIGH_GRADE_STEEL = { type: 3, value: "HIGH_GRADE_STEEL" };
      }
      static {
        this.STEEL = { type: 3, value: "STEEL" };
      }
      static {
        this.WOOD = { type: 3, value: "WOOD" };
      }
      static {
        this.ALUMINIUM_WOOD = { type: 3, value: "ALUMINIUM_WOOD" };
      }
      static {
        this.PLASTIC = { type: 3, value: "PLASTIC" };
      }
      static {
        this.OTHER_CONSTRUCTION = { type: 3, value: "OTHER_CONSTRUCTION" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcWindowStyleConstructionEnum = IfcWindowStyleConstructionEnum;
    class IfcWindowStyleOperationEnum {
      static {
        this.SINGLE_PANEL = { type: 3, value: "SINGLE_PANEL" };
      }
      static {
        this.DOUBLE_PANEL_VERTICAL = { type: 3, value: "DOUBLE_PANEL_VERTICAL" };
      }
      static {
        this.DOUBLE_PANEL_HORIZONTAL = { type: 3, value: "DOUBLE_PANEL_HORIZONTAL" };
      }
      static {
        this.TRIPLE_PANEL_VERTICAL = { type: 3, value: "TRIPLE_PANEL_VERTICAL" };
      }
      static {
        this.TRIPLE_PANEL_BOTTOM = { type: 3, value: "TRIPLE_PANEL_BOTTOM" };
      }
      static {
        this.TRIPLE_PANEL_TOP = { type: 3, value: "TRIPLE_PANEL_TOP" };
      }
      static {
        this.TRIPLE_PANEL_LEFT = { type: 3, value: "TRIPLE_PANEL_LEFT" };
      }
      static {
        this.TRIPLE_PANEL_RIGHT = { type: 3, value: "TRIPLE_PANEL_RIGHT" };
      }
      static {
        this.TRIPLE_PANEL_HORIZONTAL = { type: 3, value: "TRIPLE_PANEL_HORIZONTAL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcWindowStyleOperationEnum = IfcWindowStyleOperationEnum;
    class IfcWorkControlTypeEnum {
      static {
        this.ACTUAL = { type: 3, value: "ACTUAL" };
      }
      static {
        this.BASELINE = { type: 3, value: "BASELINE" };
      }
      static {
        this.PLANNED = { type: 3, value: "PLANNED" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC2X32.IfcWorkControlTypeEnum = IfcWorkControlTypeEnum;
    class IfcActorRole extends IfcLineObject {
      constructor(Role, UserDefinedRole, Description) {
        super();
        this.Role = Role;
        this.UserDefinedRole = UserDefinedRole;
        this.Description = Description;
        this.type = 3630933823;
      }
    }
    IFC2X32.IfcActorRole = IfcActorRole;
    class IfcAddress extends IfcLineObject {
      constructor(Purpose, Description, UserDefinedPurpose) {
        super();
        this.Purpose = Purpose;
        this.Description = Description;
        this.UserDefinedPurpose = UserDefinedPurpose;
        this.type = 618182010;
      }
    }
    IFC2X32.IfcAddress = IfcAddress;
    class IfcApplication extends IfcLineObject {
      constructor(ApplicationDeveloper, Version, ApplicationFullName, ApplicationIdentifier) {
        super();
        this.ApplicationDeveloper = ApplicationDeveloper;
        this.Version = Version;
        this.ApplicationFullName = ApplicationFullName;
        this.ApplicationIdentifier = ApplicationIdentifier;
        this.type = 639542469;
      }
    }
    IFC2X32.IfcApplication = IfcApplication;
    class IfcAppliedValue extends IfcLineObject {
      constructor(Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.AppliedValue = AppliedValue;
        this.UnitBasis = UnitBasis;
        this.ApplicableDate = ApplicableDate;
        this.FixedUntilDate = FixedUntilDate;
        this.type = 411424972;
      }
    }
    IFC2X32.IfcAppliedValue = IfcAppliedValue;
    class IfcAppliedValueRelationship extends IfcLineObject {
      constructor(ComponentOfTotal, Components, ArithmeticOperator, Name, Description) {
        super();
        this.ComponentOfTotal = ComponentOfTotal;
        this.Components = Components;
        this.ArithmeticOperator = ArithmeticOperator;
        this.Name = Name;
        this.Description = Description;
        this.type = 1110488051;
      }
    }
    IFC2X32.IfcAppliedValueRelationship = IfcAppliedValueRelationship;
    class IfcApproval extends IfcLineObject {
      constructor(Description, ApprovalDateTime, ApprovalStatus, ApprovalLevel, ApprovalQualifier, Name, Identifier) {
        super();
        this.Description = Description;
        this.ApprovalDateTime = ApprovalDateTime;
        this.ApprovalStatus = ApprovalStatus;
        this.ApprovalLevel = ApprovalLevel;
        this.ApprovalQualifier = ApprovalQualifier;
        this.Name = Name;
        this.Identifier = Identifier;
        this.type = 130549933;
      }
    }
    IFC2X32.IfcApproval = IfcApproval;
    class IfcApprovalActorRelationship extends IfcLineObject {
      constructor(Actor, Approval, Role) {
        super();
        this.Actor = Actor;
        this.Approval = Approval;
        this.Role = Role;
        this.type = 2080292479;
      }
    }
    IFC2X32.IfcApprovalActorRelationship = IfcApprovalActorRelationship;
    class IfcApprovalPropertyRelationship extends IfcLineObject {
      constructor(ApprovedProperties, Approval) {
        super();
        this.ApprovedProperties = ApprovedProperties;
        this.Approval = Approval;
        this.type = 390851274;
      }
    }
    IFC2X32.IfcApprovalPropertyRelationship = IfcApprovalPropertyRelationship;
    class IfcApprovalRelationship extends IfcLineObject {
      constructor(RelatedApproval, RelatingApproval, Description, Name) {
        super();
        this.RelatedApproval = RelatedApproval;
        this.RelatingApproval = RelatingApproval;
        this.Description = Description;
        this.Name = Name;
        this.type = 3869604511;
      }
    }
    IFC2X32.IfcApprovalRelationship = IfcApprovalRelationship;
    class IfcBoundaryCondition extends IfcLineObject {
      constructor(Name) {
        super();
        this.Name = Name;
        this.type = 4037036970;
      }
    }
    IFC2X32.IfcBoundaryCondition = IfcBoundaryCondition;
    class IfcBoundaryEdgeCondition extends IfcBoundaryCondition {
      constructor(Name, LinearStiffnessByLengthX, LinearStiffnessByLengthY, LinearStiffnessByLengthZ, RotationalStiffnessByLengthX, RotationalStiffnessByLengthY, RotationalStiffnessByLengthZ) {
        super(Name);
        this.Name = Name;
        this.LinearStiffnessByLengthX = LinearStiffnessByLengthX;
        this.LinearStiffnessByLengthY = LinearStiffnessByLengthY;
        this.LinearStiffnessByLengthZ = LinearStiffnessByLengthZ;
        this.RotationalStiffnessByLengthX = RotationalStiffnessByLengthX;
        this.RotationalStiffnessByLengthY = RotationalStiffnessByLengthY;
        this.RotationalStiffnessByLengthZ = RotationalStiffnessByLengthZ;
        this.type = 1560379544;
      }
    }
    IFC2X32.IfcBoundaryEdgeCondition = IfcBoundaryEdgeCondition;
    class IfcBoundaryFaceCondition extends IfcBoundaryCondition {
      constructor(Name, LinearStiffnessByAreaX, LinearStiffnessByAreaY, LinearStiffnessByAreaZ) {
        super(Name);
        this.Name = Name;
        this.LinearStiffnessByAreaX = LinearStiffnessByAreaX;
        this.LinearStiffnessByAreaY = LinearStiffnessByAreaY;
        this.LinearStiffnessByAreaZ = LinearStiffnessByAreaZ;
        this.type = 3367102660;
      }
    }
    IFC2X32.IfcBoundaryFaceCondition = IfcBoundaryFaceCondition;
    class IfcBoundaryNodeCondition extends IfcBoundaryCondition {
      constructor(Name, LinearStiffnessX, LinearStiffnessY, LinearStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ) {
        super(Name);
        this.Name = Name;
        this.LinearStiffnessX = LinearStiffnessX;
        this.LinearStiffnessY = LinearStiffnessY;
        this.LinearStiffnessZ = LinearStiffnessZ;
        this.RotationalStiffnessX = RotationalStiffnessX;
        this.RotationalStiffnessY = RotationalStiffnessY;
        this.RotationalStiffnessZ = RotationalStiffnessZ;
        this.type = 1387855156;
      }
    }
    IFC2X32.IfcBoundaryNodeCondition = IfcBoundaryNodeCondition;
    class IfcBoundaryNodeConditionWarping extends IfcBoundaryNodeCondition {
      constructor(Name, LinearStiffnessX, LinearStiffnessY, LinearStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ, WarpingStiffness) {
        super(Name, LinearStiffnessX, LinearStiffnessY, LinearStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ);
        this.Name = Name;
        this.LinearStiffnessX = LinearStiffnessX;
        this.LinearStiffnessY = LinearStiffnessY;
        this.LinearStiffnessZ = LinearStiffnessZ;
        this.RotationalStiffnessX = RotationalStiffnessX;
        this.RotationalStiffnessY = RotationalStiffnessY;
        this.RotationalStiffnessZ = RotationalStiffnessZ;
        this.WarpingStiffness = WarpingStiffness;
        this.type = 2069777674;
      }
    }
    IFC2X32.IfcBoundaryNodeConditionWarping = IfcBoundaryNodeConditionWarping;
    class IfcCalendarDate extends IfcLineObject {
      constructor(DayComponent, MonthComponent, YearComponent) {
        super();
        this.DayComponent = DayComponent;
        this.MonthComponent = MonthComponent;
        this.YearComponent = YearComponent;
        this.type = 622194075;
      }
    }
    IFC2X32.IfcCalendarDate = IfcCalendarDate;
    class IfcClassification extends IfcLineObject {
      constructor(Source, Edition, EditionDate, Name) {
        super();
        this.Source = Source;
        this.Edition = Edition;
        this.EditionDate = EditionDate;
        this.Name = Name;
        this.type = 747523909;
      }
    }
    IFC2X32.IfcClassification = IfcClassification;
    class IfcClassificationItem extends IfcLineObject {
      constructor(Notation, ItemOf, Title) {
        super();
        this.Notation = Notation;
        this.ItemOf = ItemOf;
        this.Title = Title;
        this.type = 1767535486;
      }
    }
    IFC2X32.IfcClassificationItem = IfcClassificationItem;
    class IfcClassificationItemRelationship extends IfcLineObject {
      constructor(RelatingItem, RelatedItems) {
        super();
        this.RelatingItem = RelatingItem;
        this.RelatedItems = RelatedItems;
        this.type = 1098599126;
      }
    }
    IFC2X32.IfcClassificationItemRelationship = IfcClassificationItemRelationship;
    class IfcClassificationNotation extends IfcLineObject {
      constructor(NotationFacets) {
        super();
        this.NotationFacets = NotationFacets;
        this.type = 938368621;
      }
    }
    IFC2X32.IfcClassificationNotation = IfcClassificationNotation;
    class IfcClassificationNotationFacet extends IfcLineObject {
      constructor(NotationValue) {
        super();
        this.NotationValue = NotationValue;
        this.type = 3639012971;
      }
    }
    IFC2X32.IfcClassificationNotationFacet = IfcClassificationNotationFacet;
    class IfcColourSpecification extends IfcLineObject {
      constructor(Name) {
        super();
        this.Name = Name;
        this.type = 3264961684;
      }
    }
    IFC2X32.IfcColourSpecification = IfcColourSpecification;
    class IfcConnectionGeometry extends IfcLineObject {
      constructor() {
        super();
        this.type = 2859738748;
      }
    }
    IFC2X32.IfcConnectionGeometry = IfcConnectionGeometry;
    class IfcConnectionPointGeometry extends IfcConnectionGeometry {
      constructor(PointOnRelatingElement, PointOnRelatedElement) {
        super();
        this.PointOnRelatingElement = PointOnRelatingElement;
        this.PointOnRelatedElement = PointOnRelatedElement;
        this.type = 2614616156;
      }
    }
    IFC2X32.IfcConnectionPointGeometry = IfcConnectionPointGeometry;
    class IfcConnectionPortGeometry extends IfcConnectionGeometry {
      constructor(LocationAtRelatingElement, LocationAtRelatedElement, ProfileOfPort) {
        super();
        this.LocationAtRelatingElement = LocationAtRelatingElement;
        this.LocationAtRelatedElement = LocationAtRelatedElement;
        this.ProfileOfPort = ProfileOfPort;
        this.type = 4257277454;
      }
    }
    IFC2X32.IfcConnectionPortGeometry = IfcConnectionPortGeometry;
    class IfcConnectionSurfaceGeometry extends IfcConnectionGeometry {
      constructor(SurfaceOnRelatingElement, SurfaceOnRelatedElement) {
        super();
        this.SurfaceOnRelatingElement = SurfaceOnRelatingElement;
        this.SurfaceOnRelatedElement = SurfaceOnRelatedElement;
        this.type = 2732653382;
      }
    }
    IFC2X32.IfcConnectionSurfaceGeometry = IfcConnectionSurfaceGeometry;
    class IfcConstraint extends IfcLineObject {
      constructor(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.ConstraintGrade = ConstraintGrade;
        this.ConstraintSource = ConstraintSource;
        this.CreatingActor = CreatingActor;
        this.CreationTime = CreationTime;
        this.UserDefinedGrade = UserDefinedGrade;
        this.type = 1959218052;
      }
    }
    IFC2X32.IfcConstraint = IfcConstraint;
    class IfcConstraintAggregationRelationship extends IfcLineObject {
      constructor(Name, Description, RelatingConstraint, RelatedConstraints, LogicalAggregator) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.RelatingConstraint = RelatingConstraint;
        this.RelatedConstraints = RelatedConstraints;
        this.LogicalAggregator = LogicalAggregator;
        this.type = 1658513725;
      }
    }
    IFC2X32.IfcConstraintAggregationRelationship = IfcConstraintAggregationRelationship;
    class IfcConstraintClassificationRelationship extends IfcLineObject {
      constructor(ClassifiedConstraint, RelatedClassifications) {
        super();
        this.ClassifiedConstraint = ClassifiedConstraint;
        this.RelatedClassifications = RelatedClassifications;
        this.type = 613356794;
      }
    }
    IFC2X32.IfcConstraintClassificationRelationship = IfcConstraintClassificationRelationship;
    class IfcConstraintRelationship extends IfcLineObject {
      constructor(Name, Description, RelatingConstraint, RelatedConstraints) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.RelatingConstraint = RelatingConstraint;
        this.RelatedConstraints = RelatedConstraints;
        this.type = 347226245;
      }
    }
    IFC2X32.IfcConstraintRelationship = IfcConstraintRelationship;
    class IfcCoordinatedUniversalTimeOffset extends IfcLineObject {
      constructor(HourOffset, MinuteOffset, Sense) {
        super();
        this.HourOffset = HourOffset;
        this.MinuteOffset = MinuteOffset;
        this.Sense = Sense;
        this.type = 1065062679;
      }
    }
    IFC2X32.IfcCoordinatedUniversalTimeOffset = IfcCoordinatedUniversalTimeOffset;
    class IfcCostValue extends IfcAppliedValue {
      constructor(Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, CostType, Condition) {
        super(Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate);
        this.Name = Name;
        this.Description = Description;
        this.AppliedValue = AppliedValue;
        this.UnitBasis = UnitBasis;
        this.ApplicableDate = ApplicableDate;
        this.FixedUntilDate = FixedUntilDate;
        this.CostType = CostType;
        this.Condition = Condition;
        this.type = 602808272;
      }
    }
    IFC2X32.IfcCostValue = IfcCostValue;
    class IfcCurrencyRelationship extends IfcLineObject {
      constructor(RelatingMonetaryUnit, RelatedMonetaryUnit, ExchangeRate, RateDateTime, RateSource) {
        super();
        this.RelatingMonetaryUnit = RelatingMonetaryUnit;
        this.RelatedMonetaryUnit = RelatedMonetaryUnit;
        this.ExchangeRate = ExchangeRate;
        this.RateDateTime = RateDateTime;
        this.RateSource = RateSource;
        this.type = 539742890;
      }
    }
    IFC2X32.IfcCurrencyRelationship = IfcCurrencyRelationship;
    class IfcCurveStyleFont extends IfcLineObject {
      constructor(Name, PatternList) {
        super();
        this.Name = Name;
        this.PatternList = PatternList;
        this.type = 1105321065;
      }
    }
    IFC2X32.IfcCurveStyleFont = IfcCurveStyleFont;
    class IfcCurveStyleFontAndScaling extends IfcLineObject {
      constructor(Name, CurveFont, CurveFontScaling) {
        super();
        this.Name = Name;
        this.CurveFont = CurveFont;
        this.CurveFontScaling = CurveFontScaling;
        this.type = 2367409068;
      }
    }
    IFC2X32.IfcCurveStyleFontAndScaling = IfcCurveStyleFontAndScaling;
    class IfcCurveStyleFontPattern extends IfcLineObject {
      constructor(VisibleSegmentLength, InvisibleSegmentLength) {
        super();
        this.VisibleSegmentLength = VisibleSegmentLength;
        this.InvisibleSegmentLength = InvisibleSegmentLength;
        this.type = 3510044353;
      }
    }
    IFC2X32.IfcCurveStyleFontPattern = IfcCurveStyleFontPattern;
    class IfcDateAndTime extends IfcLineObject {
      constructor(DateComponent, TimeComponent) {
        super();
        this.DateComponent = DateComponent;
        this.TimeComponent = TimeComponent;
        this.type = 1072939445;
      }
    }
    IFC2X32.IfcDateAndTime = IfcDateAndTime;
    class IfcDerivedUnit extends IfcLineObject {
      constructor(Elements, UnitType, UserDefinedType) {
        super();
        this.Elements = Elements;
        this.UnitType = UnitType;
        this.UserDefinedType = UserDefinedType;
        this.type = 1765591967;
      }
    }
    IFC2X32.IfcDerivedUnit = IfcDerivedUnit;
    class IfcDerivedUnitElement extends IfcLineObject {
      constructor(Unit, Exponent) {
        super();
        this.Unit = Unit;
        this.Exponent = Exponent;
        this.type = 1045800335;
      }
    }
    IFC2X32.IfcDerivedUnitElement = IfcDerivedUnitElement;
    class IfcDimensionalExponents extends IfcLineObject {
      constructor(LengthExponent, MassExponent, TimeExponent, ElectricCurrentExponent, ThermodynamicTemperatureExponent, AmountOfSubstanceExponent, LuminousIntensityExponent) {
        super();
        this.LengthExponent = LengthExponent;
        this.MassExponent = MassExponent;
        this.TimeExponent = TimeExponent;
        this.ElectricCurrentExponent = ElectricCurrentExponent;
        this.ThermodynamicTemperatureExponent = ThermodynamicTemperatureExponent;
        this.AmountOfSubstanceExponent = AmountOfSubstanceExponent;
        this.LuminousIntensityExponent = LuminousIntensityExponent;
        this.type = 2949456006;
      }
    }
    IFC2X32.IfcDimensionalExponents = IfcDimensionalExponents;
    class IfcDocumentElectronicFormat extends IfcLineObject {
      constructor(FileExtension, MimeContentType, MimeSubtype) {
        super();
        this.FileExtension = FileExtension;
        this.MimeContentType = MimeContentType;
        this.MimeSubtype = MimeSubtype;
        this.type = 1376555844;
      }
    }
    IFC2X32.IfcDocumentElectronicFormat = IfcDocumentElectronicFormat;
    class IfcDocumentInformation extends IfcLineObject {
      constructor(DocumentId, Name, Description, DocumentReferences, Purpose, IntendedUse, Scope, Revision, DocumentOwner, Editors, CreationTime, LastRevisionTime, ElectronicFormat, ValidFrom, ValidUntil, Confidentiality, Status) {
        super();
        this.DocumentId = DocumentId;
        this.Name = Name;
        this.Description = Description;
        this.DocumentReferences = DocumentReferences;
        this.Purpose = Purpose;
        this.IntendedUse = IntendedUse;
        this.Scope = Scope;
        this.Revision = Revision;
        this.DocumentOwner = DocumentOwner;
        this.Editors = Editors;
        this.CreationTime = CreationTime;
        this.LastRevisionTime = LastRevisionTime;
        this.ElectronicFormat = ElectronicFormat;
        this.ValidFrom = ValidFrom;
        this.ValidUntil = ValidUntil;
        this.Confidentiality = Confidentiality;
        this.Status = Status;
        this.type = 1154170062;
      }
    }
    IFC2X32.IfcDocumentInformation = IfcDocumentInformation;
    class IfcDocumentInformationRelationship extends IfcLineObject {
      constructor(RelatingDocument, RelatedDocuments, RelationshipType) {
        super();
        this.RelatingDocument = RelatingDocument;
        this.RelatedDocuments = RelatedDocuments;
        this.RelationshipType = RelationshipType;
        this.type = 770865208;
      }
    }
    IFC2X32.IfcDocumentInformationRelationship = IfcDocumentInformationRelationship;
    class IfcDraughtingCalloutRelationship extends IfcLineObject {
      constructor(Name, Description, RelatingDraughtingCallout, RelatedDraughtingCallout) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.RelatingDraughtingCallout = RelatingDraughtingCallout;
        this.RelatedDraughtingCallout = RelatedDraughtingCallout;
        this.type = 3796139169;
      }
    }
    IFC2X32.IfcDraughtingCalloutRelationship = IfcDraughtingCalloutRelationship;
    class IfcEnvironmentalImpactValue extends IfcAppliedValue {
      constructor(Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, ImpactType, Category, UserDefinedCategory) {
        super(Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate);
        this.Name = Name;
        this.Description = Description;
        this.AppliedValue = AppliedValue;
        this.UnitBasis = UnitBasis;
        this.ApplicableDate = ApplicableDate;
        this.FixedUntilDate = FixedUntilDate;
        this.ImpactType = ImpactType;
        this.Category = Category;
        this.UserDefinedCategory = UserDefinedCategory;
        this.type = 1648886627;
      }
    }
    IFC2X32.IfcEnvironmentalImpactValue = IfcEnvironmentalImpactValue;
    class IfcExternalReference extends IfcLineObject {
      constructor(Location, ItemReference, Name) {
        super();
        this.Location = Location;
        this.ItemReference = ItemReference;
        this.Name = Name;
        this.type = 3200245327;
      }
    }
    IFC2X32.IfcExternalReference = IfcExternalReference;
    class IfcExternallyDefinedHatchStyle extends IfcExternalReference {
      constructor(Location, ItemReference, Name) {
        super(Location, ItemReference, Name);
        this.Location = Location;
        this.ItemReference = ItemReference;
        this.Name = Name;
        this.type = 2242383968;
      }
    }
    IFC2X32.IfcExternallyDefinedHatchStyle = IfcExternallyDefinedHatchStyle;
    class IfcExternallyDefinedSurfaceStyle extends IfcExternalReference {
      constructor(Location, ItemReference, Name) {
        super(Location, ItemReference, Name);
        this.Location = Location;
        this.ItemReference = ItemReference;
        this.Name = Name;
        this.type = 1040185647;
      }
    }
    IFC2X32.IfcExternallyDefinedSurfaceStyle = IfcExternallyDefinedSurfaceStyle;
    class IfcExternallyDefinedSymbol extends IfcExternalReference {
      constructor(Location, ItemReference, Name) {
        super(Location, ItemReference, Name);
        this.Location = Location;
        this.ItemReference = ItemReference;
        this.Name = Name;
        this.type = 3207319532;
      }
    }
    IFC2X32.IfcExternallyDefinedSymbol = IfcExternallyDefinedSymbol;
    class IfcExternallyDefinedTextFont extends IfcExternalReference {
      constructor(Location, ItemReference, Name) {
        super(Location, ItemReference, Name);
        this.Location = Location;
        this.ItemReference = ItemReference;
        this.Name = Name;
        this.type = 3548104201;
      }
    }
    IFC2X32.IfcExternallyDefinedTextFont = IfcExternallyDefinedTextFont;
    class IfcGridAxis extends IfcLineObject {
      constructor(AxisTag, AxisCurve, SameSense) {
        super();
        this.AxisTag = AxisTag;
        this.AxisCurve = AxisCurve;
        this.SameSense = SameSense;
        this.type = 852622518;
      }
    }
    IFC2X32.IfcGridAxis = IfcGridAxis;
    class IfcIrregularTimeSeriesValue extends IfcLineObject {
      constructor(TimeStamp, ListValues) {
        super();
        this.TimeStamp = TimeStamp;
        this.ListValues = ListValues;
        this.type = 3020489413;
      }
    }
    IFC2X32.IfcIrregularTimeSeriesValue = IfcIrregularTimeSeriesValue;
    class IfcLibraryInformation extends IfcLineObject {
      constructor(Name, Version, Publisher, VersionDate, LibraryReference) {
        super();
        this.Name = Name;
        this.Version = Version;
        this.Publisher = Publisher;
        this.VersionDate = VersionDate;
        this.LibraryReference = LibraryReference;
        this.type = 2655187982;
      }
    }
    IFC2X32.IfcLibraryInformation = IfcLibraryInformation;
    class IfcLibraryReference extends IfcExternalReference {
      constructor(Location, ItemReference, Name) {
        super(Location, ItemReference, Name);
        this.Location = Location;
        this.ItemReference = ItemReference;
        this.Name = Name;
        this.type = 3452421091;
      }
    }
    IFC2X32.IfcLibraryReference = IfcLibraryReference;
    class IfcLightDistributionData extends IfcLineObject {
      constructor(MainPlaneAngle, SecondaryPlaneAngle, LuminousIntensity) {
        super();
        this.MainPlaneAngle = MainPlaneAngle;
        this.SecondaryPlaneAngle = SecondaryPlaneAngle;
        this.LuminousIntensity = LuminousIntensity;
        this.type = 4162380809;
      }
    }
    IFC2X32.IfcLightDistributionData = IfcLightDistributionData;
    class IfcLightIntensityDistribution extends IfcLineObject {
      constructor(LightDistributionCurve, DistributionData) {
        super();
        this.LightDistributionCurve = LightDistributionCurve;
        this.DistributionData = DistributionData;
        this.type = 1566485204;
      }
    }
    IFC2X32.IfcLightIntensityDistribution = IfcLightIntensityDistribution;
    class IfcLocalTime extends IfcLineObject {
      constructor(HourComponent, MinuteComponent, SecondComponent, Zone, DaylightSavingOffset) {
        super();
        this.HourComponent = HourComponent;
        this.MinuteComponent = MinuteComponent;
        this.SecondComponent = SecondComponent;
        this.Zone = Zone;
        this.DaylightSavingOffset = DaylightSavingOffset;
        this.type = 30780891;
      }
    }
    IFC2X32.IfcLocalTime = IfcLocalTime;
    class IfcMaterial extends IfcLineObject {
      constructor(Name) {
        super();
        this.Name = Name;
        this.type = 1838606355;
      }
    }
    IFC2X32.IfcMaterial = IfcMaterial;
    class IfcMaterialClassificationRelationship extends IfcLineObject {
      constructor(MaterialClassifications, ClassifiedMaterial) {
        super();
        this.MaterialClassifications = MaterialClassifications;
        this.ClassifiedMaterial = ClassifiedMaterial;
        this.type = 1847130766;
      }
    }
    IFC2X32.IfcMaterialClassificationRelationship = IfcMaterialClassificationRelationship;
    class IfcMaterialLayer extends IfcLineObject {
      constructor(Material, LayerThickness, IsVentilated) {
        super();
        this.Material = Material;
        this.LayerThickness = LayerThickness;
        this.IsVentilated = IsVentilated;
        this.type = 248100487;
      }
    }
    IFC2X32.IfcMaterialLayer = IfcMaterialLayer;
    class IfcMaterialLayerSet extends IfcLineObject {
      constructor(MaterialLayers, LayerSetName) {
        super();
        this.MaterialLayers = MaterialLayers;
        this.LayerSetName = LayerSetName;
        this.type = 3303938423;
      }
    }
    IFC2X32.IfcMaterialLayerSet = IfcMaterialLayerSet;
    class IfcMaterialLayerSetUsage extends IfcLineObject {
      constructor(ForLayerSet, LayerSetDirection, DirectionSense, OffsetFromReferenceLine) {
        super();
        this.ForLayerSet = ForLayerSet;
        this.LayerSetDirection = LayerSetDirection;
        this.DirectionSense = DirectionSense;
        this.OffsetFromReferenceLine = OffsetFromReferenceLine;
        this.type = 1303795690;
      }
    }
    IFC2X32.IfcMaterialLayerSetUsage = IfcMaterialLayerSetUsage;
    class IfcMaterialList extends IfcLineObject {
      constructor(Materials) {
        super();
        this.Materials = Materials;
        this.type = 2199411900;
      }
    }
    IFC2X32.IfcMaterialList = IfcMaterialList;
    class IfcMaterialProperties extends IfcLineObject {
      constructor(Material) {
        super();
        this.Material = Material;
        this.type = 3265635763;
      }
    }
    IFC2X32.IfcMaterialProperties = IfcMaterialProperties;
    class IfcMeasureWithUnit extends IfcLineObject {
      constructor(ValueComponent, UnitComponent) {
        super();
        this.ValueComponent = ValueComponent;
        this.UnitComponent = UnitComponent;
        this.type = 2597039031;
      }
    }
    IFC2X32.IfcMeasureWithUnit = IfcMeasureWithUnit;
    class IfcMechanicalMaterialProperties extends IfcMaterialProperties {
      constructor(Material, DynamicViscosity, YoungModulus, ShearModulus, PoissonRatio, ThermalExpansionCoefficient) {
        super(Material);
        this.Material = Material;
        this.DynamicViscosity = DynamicViscosity;
        this.YoungModulus = YoungModulus;
        this.ShearModulus = ShearModulus;
        this.PoissonRatio = PoissonRatio;
        this.ThermalExpansionCoefficient = ThermalExpansionCoefficient;
        this.type = 4256014907;
      }
    }
    IFC2X32.IfcMechanicalMaterialProperties = IfcMechanicalMaterialProperties;
    class IfcMechanicalSteelMaterialProperties extends IfcMechanicalMaterialProperties {
      constructor(Material, DynamicViscosity, YoungModulus, ShearModulus, PoissonRatio, ThermalExpansionCoefficient, YieldStress, UltimateStress, UltimateStrain, HardeningModule, ProportionalStress, PlasticStrain, Relaxations) {
        super(Material, DynamicViscosity, YoungModulus, ShearModulus, PoissonRatio, ThermalExpansionCoefficient);
        this.Material = Material;
        this.DynamicViscosity = DynamicViscosity;
        this.YoungModulus = YoungModulus;
        this.ShearModulus = ShearModulus;
        this.PoissonRatio = PoissonRatio;
        this.ThermalExpansionCoefficient = ThermalExpansionCoefficient;
        this.YieldStress = YieldStress;
        this.UltimateStress = UltimateStress;
        this.UltimateStrain = UltimateStrain;
        this.HardeningModule = HardeningModule;
        this.ProportionalStress = ProportionalStress;
        this.PlasticStrain = PlasticStrain;
        this.Relaxations = Relaxations;
        this.type = 677618848;
      }
    }
    IFC2X32.IfcMechanicalSteelMaterialProperties = IfcMechanicalSteelMaterialProperties;
    class IfcMetric extends IfcConstraint {
      constructor(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade, Benchmark, ValueSource, DataValue) {
        super(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade);
        this.Name = Name;
        this.Description = Description;
        this.ConstraintGrade = ConstraintGrade;
        this.ConstraintSource = ConstraintSource;
        this.CreatingActor = CreatingActor;
        this.CreationTime = CreationTime;
        this.UserDefinedGrade = UserDefinedGrade;
        this.Benchmark = Benchmark;
        this.ValueSource = ValueSource;
        this.DataValue = DataValue;
        this.type = 3368373690;
      }
    }
    IFC2X32.IfcMetric = IfcMetric;
    class IfcMonetaryUnit extends IfcLineObject {
      constructor(Currency) {
        super();
        this.Currency = Currency;
        this.type = 2706619895;
      }
    }
    IFC2X32.IfcMonetaryUnit = IfcMonetaryUnit;
    class IfcNamedUnit extends IfcLineObject {
      constructor(Dimensions, UnitType) {
        super();
        this.Dimensions = Dimensions;
        this.UnitType = UnitType;
        this.type = 1918398963;
      }
    }
    IFC2X32.IfcNamedUnit = IfcNamedUnit;
    class IfcObjectPlacement extends IfcLineObject {
      constructor() {
        super();
        this.type = 3701648758;
      }
    }
    IFC2X32.IfcObjectPlacement = IfcObjectPlacement;
    class IfcObjective extends IfcConstraint {
      constructor(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade, BenchmarkValues, ResultValues, ObjectiveQualifier, UserDefinedQualifier) {
        super(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade);
        this.Name = Name;
        this.Description = Description;
        this.ConstraintGrade = ConstraintGrade;
        this.ConstraintSource = ConstraintSource;
        this.CreatingActor = CreatingActor;
        this.CreationTime = CreationTime;
        this.UserDefinedGrade = UserDefinedGrade;
        this.BenchmarkValues = BenchmarkValues;
        this.ResultValues = ResultValues;
        this.ObjectiveQualifier = ObjectiveQualifier;
        this.UserDefinedQualifier = UserDefinedQualifier;
        this.type = 2251480897;
      }
    }
    IFC2X32.IfcObjective = IfcObjective;
    class IfcOpticalMaterialProperties extends IfcMaterialProperties {
      constructor(Material, VisibleTransmittance, SolarTransmittance, ThermalIrTransmittance, ThermalIrEmissivityBack, ThermalIrEmissivityFront, VisibleReflectanceBack, VisibleReflectanceFront, SolarReflectanceFront, SolarReflectanceBack) {
        super(Material);
        this.Material = Material;
        this.VisibleTransmittance = VisibleTransmittance;
        this.SolarTransmittance = SolarTransmittance;
        this.ThermalIrTransmittance = ThermalIrTransmittance;
        this.ThermalIrEmissivityBack = ThermalIrEmissivityBack;
        this.ThermalIrEmissivityFront = ThermalIrEmissivityFront;
        this.VisibleReflectanceBack = VisibleReflectanceBack;
        this.VisibleReflectanceFront = VisibleReflectanceFront;
        this.SolarReflectanceFront = SolarReflectanceFront;
        this.SolarReflectanceBack = SolarReflectanceBack;
        this.type = 1227763645;
      }
    }
    IFC2X32.IfcOpticalMaterialProperties = IfcOpticalMaterialProperties;
    class IfcOrganization extends IfcLineObject {
      constructor(Id, Name, Description, Roles, Addresses) {
        super();
        this.Id = Id;
        this.Name = Name;
        this.Description = Description;
        this.Roles = Roles;
        this.Addresses = Addresses;
        this.type = 4251960020;
      }
    }
    IFC2X32.IfcOrganization = IfcOrganization;
    class IfcOrganizationRelationship extends IfcLineObject {
      constructor(Name, Description, RelatingOrganization, RelatedOrganizations) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.RelatingOrganization = RelatingOrganization;
        this.RelatedOrganizations = RelatedOrganizations;
        this.type = 1411181986;
      }
    }
    IFC2X32.IfcOrganizationRelationship = IfcOrganizationRelationship;
    class IfcOwnerHistory extends IfcLineObject {
      constructor(OwningUser, OwningApplication, State, ChangeAction, LastModifiedDate, LastModifyingUser, LastModifyingApplication, CreationDate) {
        super();
        this.OwningUser = OwningUser;
        this.OwningApplication = OwningApplication;
        this.State = State;
        this.ChangeAction = ChangeAction;
        this.LastModifiedDate = LastModifiedDate;
        this.LastModifyingUser = LastModifyingUser;
        this.LastModifyingApplication = LastModifyingApplication;
        this.CreationDate = CreationDate;
        this.type = 1207048766;
      }
    }
    IFC2X32.IfcOwnerHistory = IfcOwnerHistory;
    class IfcPerson extends IfcLineObject {
      constructor(Id, FamilyName, GivenName, MiddleNames, PrefixTitles, SuffixTitles, Roles, Addresses) {
        super();
        this.Id = Id;
        this.FamilyName = FamilyName;
        this.GivenName = GivenName;
        this.MiddleNames = MiddleNames;
        this.PrefixTitles = PrefixTitles;
        this.SuffixTitles = SuffixTitles;
        this.Roles = Roles;
        this.Addresses = Addresses;
        this.type = 2077209135;
      }
    }
    IFC2X32.IfcPerson = IfcPerson;
    class IfcPersonAndOrganization extends IfcLineObject {
      constructor(ThePerson, TheOrganization, Roles) {
        super();
        this.ThePerson = ThePerson;
        this.TheOrganization = TheOrganization;
        this.Roles = Roles;
        this.type = 101040310;
      }
    }
    IFC2X32.IfcPersonAndOrganization = IfcPersonAndOrganization;
    class IfcPhysicalQuantity extends IfcLineObject {
      constructor(Name, Description) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.type = 2483315170;
      }
    }
    IFC2X32.IfcPhysicalQuantity = IfcPhysicalQuantity;
    class IfcPhysicalSimpleQuantity extends IfcPhysicalQuantity {
      constructor(Name, Description, Unit) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.type = 2226359599;
      }
    }
    IFC2X32.IfcPhysicalSimpleQuantity = IfcPhysicalSimpleQuantity;
    class IfcPostalAddress extends IfcAddress {
      constructor(Purpose, Description, UserDefinedPurpose, InternalLocation, AddressLines, PostalBox, Town, Region, PostalCode, Country) {
        super(Purpose, Description, UserDefinedPurpose);
        this.Purpose = Purpose;
        this.Description = Description;
        this.UserDefinedPurpose = UserDefinedPurpose;
        this.InternalLocation = InternalLocation;
        this.AddressLines = AddressLines;
        this.PostalBox = PostalBox;
        this.Town = Town;
        this.Region = Region;
        this.PostalCode = PostalCode;
        this.Country = Country;
        this.type = 3355820592;
      }
    }
    IFC2X32.IfcPostalAddress = IfcPostalAddress;
    class IfcPreDefinedItem extends IfcLineObject {
      constructor(Name) {
        super();
        this.Name = Name;
        this.type = 3727388367;
      }
    }
    IFC2X32.IfcPreDefinedItem = IfcPreDefinedItem;
    class IfcPreDefinedSymbol extends IfcPreDefinedItem {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 990879717;
      }
    }
    IFC2X32.IfcPreDefinedSymbol = IfcPreDefinedSymbol;
    class IfcPreDefinedTerminatorSymbol extends IfcPreDefinedSymbol {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 3213052703;
      }
    }
    IFC2X32.IfcPreDefinedTerminatorSymbol = IfcPreDefinedTerminatorSymbol;
    class IfcPreDefinedTextFont extends IfcPreDefinedItem {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 1775413392;
      }
    }
    IFC2X32.IfcPreDefinedTextFont = IfcPreDefinedTextFont;
    class IfcPresentationLayerAssignment extends IfcLineObject {
      constructor(Name, Description, AssignedItems, Identifier) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.AssignedItems = AssignedItems;
        this.Identifier = Identifier;
        this.type = 2022622350;
      }
    }
    IFC2X32.IfcPresentationLayerAssignment = IfcPresentationLayerAssignment;
    class IfcPresentationLayerWithStyle extends IfcPresentationLayerAssignment {
      constructor(Name, Description, AssignedItems, Identifier, LayerOn, LayerFrozen, LayerBlocked, LayerStyles) {
        super(Name, Description, AssignedItems, Identifier);
        this.Name = Name;
        this.Description = Description;
        this.AssignedItems = AssignedItems;
        this.Identifier = Identifier;
        this.LayerOn = LayerOn;
        this.LayerFrozen = LayerFrozen;
        this.LayerBlocked = LayerBlocked;
        this.LayerStyles = LayerStyles;
        this.type = 1304840413;
      }
    }
    IFC2X32.IfcPresentationLayerWithStyle = IfcPresentationLayerWithStyle;
    class IfcPresentationStyle extends IfcLineObject {
      constructor(Name) {
        super();
        this.Name = Name;
        this.type = 3119450353;
      }
    }
    IFC2X32.IfcPresentationStyle = IfcPresentationStyle;
    class IfcPresentationStyleAssignment extends IfcLineObject {
      constructor(Styles) {
        super();
        this.Styles = Styles;
        this.type = 2417041796;
      }
    }
    IFC2X32.IfcPresentationStyleAssignment = IfcPresentationStyleAssignment;
    class IfcProductRepresentation extends IfcLineObject {
      constructor(Name, Description, Representations) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.Representations = Representations;
        this.type = 2095639259;
      }
    }
    IFC2X32.IfcProductRepresentation = IfcProductRepresentation;
    class IfcProductsOfCombustionProperties extends IfcMaterialProperties {
      constructor(Material, SpecificHeatCapacity, N20Content, COContent, CO2Content) {
        super(Material);
        this.Material = Material;
        this.SpecificHeatCapacity = SpecificHeatCapacity;
        this.N20Content = N20Content;
        this.COContent = COContent;
        this.CO2Content = CO2Content;
        this.type = 2267347899;
      }
    }
    IFC2X32.IfcProductsOfCombustionProperties = IfcProductsOfCombustionProperties;
    class IfcProfileDef extends IfcLineObject {
      constructor(ProfileType, ProfileName) {
        super();
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.type = 3958567839;
      }
    }
    IFC2X32.IfcProfileDef = IfcProfileDef;
    class IfcProfileProperties extends IfcLineObject {
      constructor(ProfileName, ProfileDefinition) {
        super();
        this.ProfileName = ProfileName;
        this.ProfileDefinition = ProfileDefinition;
        this.type = 2802850158;
      }
    }
    IFC2X32.IfcProfileProperties = IfcProfileProperties;
    class IfcProperty extends IfcLineObject {
      constructor(Name, Description) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.type = 2598011224;
      }
    }
    IFC2X32.IfcProperty = IfcProperty;
    class IfcPropertyConstraintRelationship extends IfcLineObject {
      constructor(RelatingConstraint, RelatedProperties, Name, Description) {
        super();
        this.RelatingConstraint = RelatingConstraint;
        this.RelatedProperties = RelatedProperties;
        this.Name = Name;
        this.Description = Description;
        this.type = 3896028662;
      }
    }
    IFC2X32.IfcPropertyConstraintRelationship = IfcPropertyConstraintRelationship;
    class IfcPropertyDependencyRelationship extends IfcLineObject {
      constructor(DependingProperty, DependantProperty, Name, Description, Expression) {
        super();
        this.DependingProperty = DependingProperty;
        this.DependantProperty = DependantProperty;
        this.Name = Name;
        this.Description = Description;
        this.Expression = Expression;
        this.type = 148025276;
      }
    }
    IFC2X32.IfcPropertyDependencyRelationship = IfcPropertyDependencyRelationship;
    class IfcPropertyEnumeration extends IfcLineObject {
      constructor(Name, EnumerationValues, Unit) {
        super();
        this.Name = Name;
        this.EnumerationValues = EnumerationValues;
        this.Unit = Unit;
        this.type = 3710013099;
      }
    }
    IFC2X32.IfcPropertyEnumeration = IfcPropertyEnumeration;
    class IfcQuantityArea extends IfcPhysicalSimpleQuantity {
      constructor(Name, Description, Unit, AreaValue) {
        super(Name, Description, Unit);
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.AreaValue = AreaValue;
        this.type = 2044713172;
      }
    }
    IFC2X32.IfcQuantityArea = IfcQuantityArea;
    class IfcQuantityCount extends IfcPhysicalSimpleQuantity {
      constructor(Name, Description, Unit, CountValue) {
        super(Name, Description, Unit);
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.CountValue = CountValue;
        this.type = 2093928680;
      }
    }
    IFC2X32.IfcQuantityCount = IfcQuantityCount;
    class IfcQuantityLength extends IfcPhysicalSimpleQuantity {
      constructor(Name, Description, Unit, LengthValue) {
        super(Name, Description, Unit);
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.LengthValue = LengthValue;
        this.type = 931644368;
      }
    }
    IFC2X32.IfcQuantityLength = IfcQuantityLength;
    class IfcQuantityTime extends IfcPhysicalSimpleQuantity {
      constructor(Name, Description, Unit, TimeValue) {
        super(Name, Description, Unit);
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.TimeValue = TimeValue;
        this.type = 3252649465;
      }
    }
    IFC2X32.IfcQuantityTime = IfcQuantityTime;
    class IfcQuantityVolume extends IfcPhysicalSimpleQuantity {
      constructor(Name, Description, Unit, VolumeValue) {
        super(Name, Description, Unit);
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.VolumeValue = VolumeValue;
        this.type = 2405470396;
      }
    }
    IFC2X32.IfcQuantityVolume = IfcQuantityVolume;
    class IfcQuantityWeight extends IfcPhysicalSimpleQuantity {
      constructor(Name, Description, Unit, WeightValue) {
        super(Name, Description, Unit);
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.WeightValue = WeightValue;
        this.type = 825690147;
      }
    }
    IFC2X32.IfcQuantityWeight = IfcQuantityWeight;
    class IfcReferencesValueDocument extends IfcLineObject {
      constructor(ReferencedDocument, ReferencingValues, Name, Description) {
        super();
        this.ReferencedDocument = ReferencedDocument;
        this.ReferencingValues = ReferencingValues;
        this.Name = Name;
        this.Description = Description;
        this.type = 2692823254;
      }
    }
    IFC2X32.IfcReferencesValueDocument = IfcReferencesValueDocument;
    class IfcReinforcementBarProperties extends IfcLineObject {
      constructor(TotalCrossSectionArea, SteelGrade, BarSurface, EffectiveDepth, NominalBarDiameter, BarCount) {
        super();
        this.TotalCrossSectionArea = TotalCrossSectionArea;
        this.SteelGrade = SteelGrade;
        this.BarSurface = BarSurface;
        this.EffectiveDepth = EffectiveDepth;
        this.NominalBarDiameter = NominalBarDiameter;
        this.BarCount = BarCount;
        this.type = 1580146022;
      }
    }
    IFC2X32.IfcReinforcementBarProperties = IfcReinforcementBarProperties;
    class IfcRelaxation extends IfcLineObject {
      constructor(RelaxationValue, InitialStress) {
        super();
        this.RelaxationValue = RelaxationValue;
        this.InitialStress = InitialStress;
        this.type = 1222501353;
      }
    }
    IFC2X32.IfcRelaxation = IfcRelaxation;
    class IfcRepresentation extends IfcLineObject {
      constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
        super();
        this.ContextOfItems = ContextOfItems;
        this.RepresentationIdentifier = RepresentationIdentifier;
        this.RepresentationType = RepresentationType;
        this.Items = Items;
        this.type = 1076942058;
      }
    }
    IFC2X32.IfcRepresentation = IfcRepresentation;
    class IfcRepresentationContext extends IfcLineObject {
      constructor(ContextIdentifier, ContextType) {
        super();
        this.ContextIdentifier = ContextIdentifier;
        this.ContextType = ContextType;
        this.type = 3377609919;
      }
    }
    IFC2X32.IfcRepresentationContext = IfcRepresentationContext;
    class IfcRepresentationItem extends IfcLineObject {
      constructor() {
        super();
        this.type = 3008791417;
      }
    }
    IFC2X32.IfcRepresentationItem = IfcRepresentationItem;
    class IfcRepresentationMap extends IfcLineObject {
      constructor(MappingOrigin, MappedRepresentation) {
        super();
        this.MappingOrigin = MappingOrigin;
        this.MappedRepresentation = MappedRepresentation;
        this.type = 1660063152;
      }
    }
    IFC2X32.IfcRepresentationMap = IfcRepresentationMap;
    class IfcRibPlateProfileProperties extends IfcProfileProperties {
      constructor(ProfileName, ProfileDefinition, Thickness, RibHeight, RibWidth, RibSpacing, Direction) {
        super(ProfileName, ProfileDefinition);
        this.ProfileName = ProfileName;
        this.ProfileDefinition = ProfileDefinition;
        this.Thickness = Thickness;
        this.RibHeight = RibHeight;
        this.RibWidth = RibWidth;
        this.RibSpacing = RibSpacing;
        this.Direction = Direction;
        this.type = 3679540991;
      }
    }
    IFC2X32.IfcRibPlateProfileProperties = IfcRibPlateProfileProperties;
    class IfcRoot extends IfcLineObject {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super();
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 2341007311;
      }
    }
    IFC2X32.IfcRoot = IfcRoot;
    class IfcSIUnit extends IfcNamedUnit {
      constructor(UnitType, Prefix, Name) {
        super(new Handle(0), UnitType);
        this.UnitType = UnitType;
        this.Prefix = Prefix;
        this.Name = Name;
        this.type = 448429030;
      }
    }
    IFC2X32.IfcSIUnit = IfcSIUnit;
    class IfcSectionProperties extends IfcLineObject {
      constructor(SectionType, StartProfile, EndProfile) {
        super();
        this.SectionType = SectionType;
        this.StartProfile = StartProfile;
        this.EndProfile = EndProfile;
        this.type = 2042790032;
      }
    }
    IFC2X32.IfcSectionProperties = IfcSectionProperties;
    class IfcSectionReinforcementProperties extends IfcLineObject {
      constructor(LongitudinalStartPosition, LongitudinalEndPosition, TransversePosition, ReinforcementRole, SectionDefinition, CrossSectionReinforcementDefinitions) {
        super();
        this.LongitudinalStartPosition = LongitudinalStartPosition;
        this.LongitudinalEndPosition = LongitudinalEndPosition;
        this.TransversePosition = TransversePosition;
        this.ReinforcementRole = ReinforcementRole;
        this.SectionDefinition = SectionDefinition;
        this.CrossSectionReinforcementDefinitions = CrossSectionReinforcementDefinitions;
        this.type = 4165799628;
      }
    }
    IFC2X32.IfcSectionReinforcementProperties = IfcSectionReinforcementProperties;
    class IfcShapeAspect extends IfcLineObject {
      constructor(ShapeRepresentations, Name, Description, ProductDefinitional, PartOfProductDefinitionShape) {
        super();
        this.ShapeRepresentations = ShapeRepresentations;
        this.Name = Name;
        this.Description = Description;
        this.ProductDefinitional = ProductDefinitional;
        this.PartOfProductDefinitionShape = PartOfProductDefinitionShape;
        this.type = 867548509;
      }
    }
    IFC2X32.IfcShapeAspect = IfcShapeAspect;
    class IfcShapeModel extends IfcRepresentation {
      constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
        super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items);
        this.ContextOfItems = ContextOfItems;
        this.RepresentationIdentifier = RepresentationIdentifier;
        this.RepresentationType = RepresentationType;
        this.Items = Items;
        this.type = 3982875396;
      }
    }
    IFC2X32.IfcShapeModel = IfcShapeModel;
    class IfcShapeRepresentation extends IfcShapeModel {
      constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
        super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items);
        this.ContextOfItems = ContextOfItems;
        this.RepresentationIdentifier = RepresentationIdentifier;
        this.RepresentationType = RepresentationType;
        this.Items = Items;
        this.type = 4240577450;
      }
    }
    IFC2X32.IfcShapeRepresentation = IfcShapeRepresentation;
    class IfcSimpleProperty extends IfcProperty {
      constructor(Name, Description) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.type = 3692461612;
      }
    }
    IFC2X32.IfcSimpleProperty = IfcSimpleProperty;
    class IfcStructuralConnectionCondition extends IfcLineObject {
      constructor(Name) {
        super();
        this.Name = Name;
        this.type = 2273995522;
      }
    }
    IFC2X32.IfcStructuralConnectionCondition = IfcStructuralConnectionCondition;
    class IfcStructuralLoad extends IfcLineObject {
      constructor(Name) {
        super();
        this.Name = Name;
        this.type = 2162789131;
      }
    }
    IFC2X32.IfcStructuralLoad = IfcStructuralLoad;
    class IfcStructuralLoadStatic extends IfcStructuralLoad {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 2525727697;
      }
    }
    IFC2X32.IfcStructuralLoadStatic = IfcStructuralLoadStatic;
    class IfcStructuralLoadTemperature extends IfcStructuralLoadStatic {
      constructor(Name, DeltaT_Constant, DeltaT_Y, DeltaT_Z) {
        super(Name);
        this.Name = Name;
        this.DeltaT_Constant = DeltaT_Constant;
        this.DeltaT_Y = DeltaT_Y;
        this.DeltaT_Z = DeltaT_Z;
        this.type = 3408363356;
      }
    }
    IFC2X32.IfcStructuralLoadTemperature = IfcStructuralLoadTemperature;
    class IfcStyleModel extends IfcRepresentation {
      constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
        super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items);
        this.ContextOfItems = ContextOfItems;
        this.RepresentationIdentifier = RepresentationIdentifier;
        this.RepresentationType = RepresentationType;
        this.Items = Items;
        this.type = 2830218821;
      }
    }
    IFC2X32.IfcStyleModel = IfcStyleModel;
    class IfcStyledItem extends IfcRepresentationItem {
      constructor(Item, Styles, Name) {
        super();
        this.Item = Item;
        this.Styles = Styles;
        this.Name = Name;
        this.type = 3958052878;
      }
    }
    IFC2X32.IfcStyledItem = IfcStyledItem;
    class IfcStyledRepresentation extends IfcStyleModel {
      constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
        super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items);
        this.ContextOfItems = ContextOfItems;
        this.RepresentationIdentifier = RepresentationIdentifier;
        this.RepresentationType = RepresentationType;
        this.Items = Items;
        this.type = 3049322572;
      }
    }
    IFC2X32.IfcStyledRepresentation = IfcStyledRepresentation;
    class IfcSurfaceStyle extends IfcPresentationStyle {
      constructor(Name, Side, Styles) {
        super(Name);
        this.Name = Name;
        this.Side = Side;
        this.Styles = Styles;
        this.type = 1300840506;
      }
    }
    IFC2X32.IfcSurfaceStyle = IfcSurfaceStyle;
    class IfcSurfaceStyleLighting extends IfcLineObject {
      constructor(DiffuseTransmissionColour, DiffuseReflectionColour, TransmissionColour, ReflectanceColour) {
        super();
        this.DiffuseTransmissionColour = DiffuseTransmissionColour;
        this.DiffuseReflectionColour = DiffuseReflectionColour;
        this.TransmissionColour = TransmissionColour;
        this.ReflectanceColour = ReflectanceColour;
        this.type = 3303107099;
      }
    }
    IFC2X32.IfcSurfaceStyleLighting = IfcSurfaceStyleLighting;
    class IfcSurfaceStyleRefraction extends IfcLineObject {
      constructor(RefractionIndex, DispersionFactor) {
        super();
        this.RefractionIndex = RefractionIndex;
        this.DispersionFactor = DispersionFactor;
        this.type = 1607154358;
      }
    }
    IFC2X32.IfcSurfaceStyleRefraction = IfcSurfaceStyleRefraction;
    class IfcSurfaceStyleShading extends IfcLineObject {
      constructor(SurfaceColour) {
        super();
        this.SurfaceColour = SurfaceColour;
        this.type = 846575682;
      }
    }
    IFC2X32.IfcSurfaceStyleShading = IfcSurfaceStyleShading;
    class IfcSurfaceStyleWithTextures extends IfcLineObject {
      constructor(Textures) {
        super();
        this.Textures = Textures;
        this.type = 1351298697;
      }
    }
    IFC2X32.IfcSurfaceStyleWithTextures = IfcSurfaceStyleWithTextures;
    class IfcSurfaceTexture extends IfcLineObject {
      constructor(RepeatS, RepeatT, TextureType, TextureTransform) {
        super();
        this.RepeatS = RepeatS;
        this.RepeatT = RepeatT;
        this.TextureType = TextureType;
        this.TextureTransform = TextureTransform;
        this.type = 626085974;
      }
    }
    IFC2X32.IfcSurfaceTexture = IfcSurfaceTexture;
    class IfcSymbolStyle extends IfcPresentationStyle {
      constructor(Name, StyleOfSymbol) {
        super(Name);
        this.Name = Name;
        this.StyleOfSymbol = StyleOfSymbol;
        this.type = 1290481447;
      }
    }
    IFC2X32.IfcSymbolStyle = IfcSymbolStyle;
    class IfcTable extends IfcLineObject {
      constructor(Name, Rows) {
        super();
        this.Name = Name;
        this.Rows = Rows;
        this.type = 985171141;
      }
    }
    IFC2X32.IfcTable = IfcTable;
    class IfcTableRow extends IfcLineObject {
      constructor(RowCells, IsHeading) {
        super();
        this.RowCells = RowCells;
        this.IsHeading = IsHeading;
        this.type = 531007025;
      }
    }
    IFC2X32.IfcTableRow = IfcTableRow;
    class IfcTelecomAddress extends IfcAddress {
      constructor(Purpose, Description, UserDefinedPurpose, TelephoneNumbers, FacsimileNumbers, PagerNumber, ElectronicMailAddresses, WWWHomePageURL) {
        super(Purpose, Description, UserDefinedPurpose);
        this.Purpose = Purpose;
        this.Description = Description;
        this.UserDefinedPurpose = UserDefinedPurpose;
        this.TelephoneNumbers = TelephoneNumbers;
        this.FacsimileNumbers = FacsimileNumbers;
        this.PagerNumber = PagerNumber;
        this.ElectronicMailAddresses = ElectronicMailAddresses;
        this.WWWHomePageURL = WWWHomePageURL;
        this.type = 912023232;
      }
    }
    IFC2X32.IfcTelecomAddress = IfcTelecomAddress;
    class IfcTextStyle extends IfcPresentationStyle {
      constructor(Name, TextCharacterAppearance, TextStyle, TextFontStyle) {
        super(Name);
        this.Name = Name;
        this.TextCharacterAppearance = TextCharacterAppearance;
        this.TextStyle = TextStyle;
        this.TextFontStyle = TextFontStyle;
        this.type = 1447204868;
      }
    }
    IFC2X32.IfcTextStyle = IfcTextStyle;
    class IfcTextStyleFontModel extends IfcPreDefinedTextFont {
      constructor(Name, FontFamily, FontStyle, FontVariant, FontWeight, FontSize) {
        super(Name);
        this.Name = Name;
        this.FontFamily = FontFamily;
        this.FontStyle = FontStyle;
        this.FontVariant = FontVariant;
        this.FontWeight = FontWeight;
        this.FontSize = FontSize;
        this.type = 1983826977;
      }
    }
    IFC2X32.IfcTextStyleFontModel = IfcTextStyleFontModel;
    class IfcTextStyleForDefinedFont extends IfcLineObject {
      constructor(Colour, BackgroundColour) {
        super();
        this.Colour = Colour;
        this.BackgroundColour = BackgroundColour;
        this.type = 2636378356;
      }
    }
    IFC2X32.IfcTextStyleForDefinedFont = IfcTextStyleForDefinedFont;
    class IfcTextStyleTextModel extends IfcLineObject {
      constructor(TextIndent, TextAlign, TextDecoration, LetterSpacing, WordSpacing, TextTransform, LineHeight) {
        super();
        this.TextIndent = TextIndent;
        this.TextAlign = TextAlign;
        this.TextDecoration = TextDecoration;
        this.LetterSpacing = LetterSpacing;
        this.WordSpacing = WordSpacing;
        this.TextTransform = TextTransform;
        this.LineHeight = LineHeight;
        this.type = 1640371178;
      }
    }
    IFC2X32.IfcTextStyleTextModel = IfcTextStyleTextModel;
    class IfcTextStyleWithBoxCharacteristics extends IfcLineObject {
      constructor(BoxHeight, BoxWidth, BoxSlantAngle, BoxRotateAngle, CharacterSpacing) {
        super();
        this.BoxHeight = BoxHeight;
        this.BoxWidth = BoxWidth;
        this.BoxSlantAngle = BoxSlantAngle;
        this.BoxRotateAngle = BoxRotateAngle;
        this.CharacterSpacing = CharacterSpacing;
        this.type = 1484833681;
      }
    }
    IFC2X32.IfcTextStyleWithBoxCharacteristics = IfcTextStyleWithBoxCharacteristics;
    class IfcTextureCoordinate extends IfcLineObject {
      constructor() {
        super();
        this.type = 280115917;
      }
    }
    IFC2X32.IfcTextureCoordinate = IfcTextureCoordinate;
    class IfcTextureCoordinateGenerator extends IfcTextureCoordinate {
      constructor(Mode, Parameter) {
        super();
        this.Mode = Mode;
        this.Parameter = Parameter;
        this.type = 1742049831;
      }
    }
    IFC2X32.IfcTextureCoordinateGenerator = IfcTextureCoordinateGenerator;
    class IfcTextureMap extends IfcTextureCoordinate {
      constructor(TextureMaps) {
        super();
        this.TextureMaps = TextureMaps;
        this.type = 2552916305;
      }
    }
    IFC2X32.IfcTextureMap = IfcTextureMap;
    class IfcTextureVertex extends IfcLineObject {
      constructor(Coordinates) {
        super();
        this.Coordinates = Coordinates;
        this.type = 1210645708;
      }
    }
    IFC2X32.IfcTextureVertex = IfcTextureVertex;
    class IfcThermalMaterialProperties extends IfcMaterialProperties {
      constructor(Material, SpecificHeatCapacity, BoilingPoint, FreezingPoint, ThermalConductivity) {
        super(Material);
        this.Material = Material;
        this.SpecificHeatCapacity = SpecificHeatCapacity;
        this.BoilingPoint = BoilingPoint;
        this.FreezingPoint = FreezingPoint;
        this.ThermalConductivity = ThermalConductivity;
        this.type = 3317419933;
      }
    }
    IFC2X32.IfcThermalMaterialProperties = IfcThermalMaterialProperties;
    class IfcTimeSeries extends IfcLineObject {
      constructor(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.StartTime = StartTime;
        this.EndTime = EndTime;
        this.TimeSeriesDataType = TimeSeriesDataType;
        this.DataOrigin = DataOrigin;
        this.UserDefinedDataOrigin = UserDefinedDataOrigin;
        this.Unit = Unit;
        this.type = 3101149627;
      }
    }
    IFC2X32.IfcTimeSeries = IfcTimeSeries;
    class IfcTimeSeriesReferenceRelationship extends IfcLineObject {
      constructor(ReferencedTimeSeries, TimeSeriesReferences) {
        super();
        this.ReferencedTimeSeries = ReferencedTimeSeries;
        this.TimeSeriesReferences = TimeSeriesReferences;
        this.type = 1718945513;
      }
    }
    IFC2X32.IfcTimeSeriesReferenceRelationship = IfcTimeSeriesReferenceRelationship;
    class IfcTimeSeriesValue extends IfcLineObject {
      constructor(ListValues) {
        super();
        this.ListValues = ListValues;
        this.type = 581633288;
      }
    }
    IFC2X32.IfcTimeSeriesValue = IfcTimeSeriesValue;
    class IfcTopologicalRepresentationItem extends IfcRepresentationItem {
      constructor() {
        super();
        this.type = 1377556343;
      }
    }
    IFC2X32.IfcTopologicalRepresentationItem = IfcTopologicalRepresentationItem;
    class IfcTopologyRepresentation extends IfcShapeModel {
      constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
        super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items);
        this.ContextOfItems = ContextOfItems;
        this.RepresentationIdentifier = RepresentationIdentifier;
        this.RepresentationType = RepresentationType;
        this.Items = Items;
        this.type = 1735638870;
      }
    }
    IFC2X32.IfcTopologyRepresentation = IfcTopologyRepresentation;
    class IfcUnitAssignment extends IfcLineObject {
      constructor(Units) {
        super();
        this.Units = Units;
        this.type = 180925521;
      }
    }
    IFC2X32.IfcUnitAssignment = IfcUnitAssignment;
    class IfcVertex extends IfcTopologicalRepresentationItem {
      constructor() {
        super();
        this.type = 2799835756;
      }
    }
    IFC2X32.IfcVertex = IfcVertex;
    class IfcVertexBasedTextureMap extends IfcLineObject {
      constructor(TextureVertices, TexturePoints) {
        super();
        this.TextureVertices = TextureVertices;
        this.TexturePoints = TexturePoints;
        this.type = 3304826586;
      }
    }
    IFC2X32.IfcVertexBasedTextureMap = IfcVertexBasedTextureMap;
    class IfcVertexPoint extends IfcVertex {
      constructor(VertexGeometry) {
        super();
        this.VertexGeometry = VertexGeometry;
        this.type = 1907098498;
      }
    }
    IFC2X32.IfcVertexPoint = IfcVertexPoint;
    class IfcVirtualGridIntersection extends IfcLineObject {
      constructor(IntersectingAxes, OffsetDistances) {
        super();
        this.IntersectingAxes = IntersectingAxes;
        this.OffsetDistances = OffsetDistances;
        this.type = 891718957;
      }
    }
    IFC2X32.IfcVirtualGridIntersection = IfcVirtualGridIntersection;
    class IfcWaterProperties extends IfcMaterialProperties {
      constructor(Material, IsPotable, Hardness, AlkalinityConcentration, AcidityConcentration, ImpuritiesContent, PHLevel, DissolvedSolidsContent) {
        super(Material);
        this.Material = Material;
        this.IsPotable = IsPotable;
        this.Hardness = Hardness;
        this.AlkalinityConcentration = AlkalinityConcentration;
        this.AcidityConcentration = AcidityConcentration;
        this.ImpuritiesContent = ImpuritiesContent;
        this.PHLevel = PHLevel;
        this.DissolvedSolidsContent = DissolvedSolidsContent;
        this.type = 1065908215;
      }
    }
    IFC2X32.IfcWaterProperties = IfcWaterProperties;
    class IfcAnnotationOccurrence extends IfcStyledItem {
      constructor(Item, Styles, Name) {
        super(Item, Styles, Name);
        this.Item = Item;
        this.Styles = Styles;
        this.Name = Name;
        this.type = 2442683028;
      }
    }
    IFC2X32.IfcAnnotationOccurrence = IfcAnnotationOccurrence;
    class IfcAnnotationSurfaceOccurrence extends IfcAnnotationOccurrence {
      constructor(Item, Styles, Name) {
        super(Item, Styles, Name);
        this.Item = Item;
        this.Styles = Styles;
        this.Name = Name;
        this.type = 962685235;
      }
    }
    IFC2X32.IfcAnnotationSurfaceOccurrence = IfcAnnotationSurfaceOccurrence;
    class IfcAnnotationSymbolOccurrence extends IfcAnnotationOccurrence {
      constructor(Item, Styles, Name) {
        super(Item, Styles, Name);
        this.Item = Item;
        this.Styles = Styles;
        this.Name = Name;
        this.type = 3612888222;
      }
    }
    IFC2X32.IfcAnnotationSymbolOccurrence = IfcAnnotationSymbolOccurrence;
    class IfcAnnotationTextOccurrence extends IfcAnnotationOccurrence {
      constructor(Item, Styles, Name) {
        super(Item, Styles, Name);
        this.Item = Item;
        this.Styles = Styles;
        this.Name = Name;
        this.type = 2297822566;
      }
    }
    IFC2X32.IfcAnnotationTextOccurrence = IfcAnnotationTextOccurrence;
    class IfcArbitraryClosedProfileDef extends IfcProfileDef {
      constructor(ProfileType, ProfileName, OuterCurve) {
        super(ProfileType, ProfileName);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.OuterCurve = OuterCurve;
        this.type = 3798115385;
      }
    }
    IFC2X32.IfcArbitraryClosedProfileDef = IfcArbitraryClosedProfileDef;
    class IfcArbitraryOpenProfileDef extends IfcProfileDef {
      constructor(ProfileType, ProfileName, Curve) {
        super(ProfileType, ProfileName);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Curve = Curve;
        this.type = 1310608509;
      }
    }
    IFC2X32.IfcArbitraryOpenProfileDef = IfcArbitraryOpenProfileDef;
    class IfcArbitraryProfileDefWithVoids extends IfcArbitraryClosedProfileDef {
      constructor(ProfileType, ProfileName, OuterCurve, InnerCurves) {
        super(ProfileType, ProfileName, OuterCurve);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.OuterCurve = OuterCurve;
        this.InnerCurves = InnerCurves;
        this.type = 2705031697;
      }
    }
    IFC2X32.IfcArbitraryProfileDefWithVoids = IfcArbitraryProfileDefWithVoids;
    class IfcBlobTexture extends IfcSurfaceTexture {
      constructor(RepeatS, RepeatT, TextureType, TextureTransform, RasterFormat, RasterCode) {
        super(RepeatS, RepeatT, TextureType, TextureTransform);
        this.RepeatS = RepeatS;
        this.RepeatT = RepeatT;
        this.TextureType = TextureType;
        this.TextureTransform = TextureTransform;
        this.RasterFormat = RasterFormat;
        this.RasterCode = RasterCode;
        this.type = 616511568;
      }
    }
    IFC2X32.IfcBlobTexture = IfcBlobTexture;
    class IfcCenterLineProfileDef extends IfcArbitraryOpenProfileDef {
      constructor(ProfileType, ProfileName, Curve, Thickness) {
        super(ProfileType, ProfileName, Curve);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Curve = Curve;
        this.Thickness = Thickness;
        this.type = 3150382593;
      }
    }
    IFC2X32.IfcCenterLineProfileDef = IfcCenterLineProfileDef;
    class IfcClassificationReference extends IfcExternalReference {
      constructor(Location, ItemReference, Name, ReferencedSource) {
        super(Location, ItemReference, Name);
        this.Location = Location;
        this.ItemReference = ItemReference;
        this.Name = Name;
        this.ReferencedSource = ReferencedSource;
        this.type = 647927063;
      }
    }
    IFC2X32.IfcClassificationReference = IfcClassificationReference;
    class IfcColourRgb extends IfcColourSpecification {
      constructor(Name, Red, Green, Blue) {
        super(Name);
        this.Name = Name;
        this.Red = Red;
        this.Green = Green;
        this.Blue = Blue;
        this.type = 776857604;
      }
    }
    IFC2X32.IfcColourRgb = IfcColourRgb;
    class IfcComplexProperty extends IfcProperty {
      constructor(Name, Description, UsageName, HasProperties) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.UsageName = UsageName;
        this.HasProperties = HasProperties;
        this.type = 2542286263;
      }
    }
    IFC2X32.IfcComplexProperty = IfcComplexProperty;
    class IfcCompositeProfileDef extends IfcProfileDef {
      constructor(ProfileType, ProfileName, Profiles, Label) {
        super(ProfileType, ProfileName);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Profiles = Profiles;
        this.Label = Label;
        this.type = 1485152156;
      }
    }
    IFC2X32.IfcCompositeProfileDef = IfcCompositeProfileDef;
    class IfcConnectedFaceSet extends IfcTopologicalRepresentationItem {
      constructor(CfsFaces) {
        super();
        this.CfsFaces = CfsFaces;
        this.type = 370225590;
      }
    }
    IFC2X32.IfcConnectedFaceSet = IfcConnectedFaceSet;
    class IfcConnectionCurveGeometry extends IfcConnectionGeometry {
      constructor(CurveOnRelatingElement, CurveOnRelatedElement) {
        super();
        this.CurveOnRelatingElement = CurveOnRelatingElement;
        this.CurveOnRelatedElement = CurveOnRelatedElement;
        this.type = 1981873012;
      }
    }
    IFC2X32.IfcConnectionCurveGeometry = IfcConnectionCurveGeometry;
    class IfcConnectionPointEccentricity extends IfcConnectionPointGeometry {
      constructor(PointOnRelatingElement, PointOnRelatedElement, EccentricityInX, EccentricityInY, EccentricityInZ) {
        super(PointOnRelatingElement, PointOnRelatedElement);
        this.PointOnRelatingElement = PointOnRelatingElement;
        this.PointOnRelatedElement = PointOnRelatedElement;
        this.EccentricityInX = EccentricityInX;
        this.EccentricityInY = EccentricityInY;
        this.EccentricityInZ = EccentricityInZ;
        this.type = 45288368;
      }
    }
    IFC2X32.IfcConnectionPointEccentricity = IfcConnectionPointEccentricity;
    class IfcContextDependentUnit extends IfcNamedUnit {
      constructor(Dimensions, UnitType, Name) {
        super(Dimensions, UnitType);
        this.Dimensions = Dimensions;
        this.UnitType = UnitType;
        this.Name = Name;
        this.type = 3050246964;
      }
    }
    IFC2X32.IfcContextDependentUnit = IfcContextDependentUnit;
    class IfcConversionBasedUnit extends IfcNamedUnit {
      constructor(Dimensions, UnitType, Name, ConversionFactor) {
        super(Dimensions, UnitType);
        this.Dimensions = Dimensions;
        this.UnitType = UnitType;
        this.Name = Name;
        this.ConversionFactor = ConversionFactor;
        this.type = 2889183280;
      }
    }
    IFC2X32.IfcConversionBasedUnit = IfcConversionBasedUnit;
    class IfcCurveStyle extends IfcPresentationStyle {
      constructor(Name, CurveFont, CurveWidth, CurveColour) {
        super(Name);
        this.Name = Name;
        this.CurveFont = CurveFont;
        this.CurveWidth = CurveWidth;
        this.CurveColour = CurveColour;
        this.type = 3800577675;
      }
    }
    IFC2X32.IfcCurveStyle = IfcCurveStyle;
    class IfcDerivedProfileDef extends IfcProfileDef {
      constructor(ProfileType, ProfileName, ParentProfile, Operator, Label) {
        super(ProfileType, ProfileName);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.ParentProfile = ParentProfile;
        this.Operator = Operator;
        this.Label = Label;
        this.type = 3632507154;
      }
    }
    IFC2X32.IfcDerivedProfileDef = IfcDerivedProfileDef;
    class IfcDimensionCalloutRelationship extends IfcDraughtingCalloutRelationship {
      constructor(Name, Description, RelatingDraughtingCallout, RelatedDraughtingCallout) {
        super(Name, Description, RelatingDraughtingCallout, RelatedDraughtingCallout);
        this.Name = Name;
        this.Description = Description;
        this.RelatingDraughtingCallout = RelatingDraughtingCallout;
        this.RelatedDraughtingCallout = RelatedDraughtingCallout;
        this.type = 2273265877;
      }
    }
    IFC2X32.IfcDimensionCalloutRelationship = IfcDimensionCalloutRelationship;
    class IfcDimensionPair extends IfcDraughtingCalloutRelationship {
      constructor(Name, Description, RelatingDraughtingCallout, RelatedDraughtingCallout) {
        super(Name, Description, RelatingDraughtingCallout, RelatedDraughtingCallout);
        this.Name = Name;
        this.Description = Description;
        this.RelatingDraughtingCallout = RelatingDraughtingCallout;
        this.RelatedDraughtingCallout = RelatedDraughtingCallout;
        this.type = 1694125774;
      }
    }
    IFC2X32.IfcDimensionPair = IfcDimensionPair;
    class IfcDocumentReference extends IfcExternalReference {
      constructor(Location, ItemReference, Name) {
        super(Location, ItemReference, Name);
        this.Location = Location;
        this.ItemReference = ItemReference;
        this.Name = Name;
        this.type = 3732053477;
      }
    }
    IFC2X32.IfcDocumentReference = IfcDocumentReference;
    class IfcDraughtingPreDefinedTextFont extends IfcPreDefinedTextFont {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 4170525392;
      }
    }
    IFC2X32.IfcDraughtingPreDefinedTextFont = IfcDraughtingPreDefinedTextFont;
    class IfcEdge extends IfcTopologicalRepresentationItem {
      constructor(EdgeStart, EdgeEnd) {
        super();
        this.EdgeStart = EdgeStart;
        this.EdgeEnd = EdgeEnd;
        this.type = 3900360178;
      }
    }
    IFC2X32.IfcEdge = IfcEdge;
    class IfcEdgeCurve extends IfcEdge {
      constructor(EdgeStart, EdgeEnd, EdgeGeometry, SameSense) {
        super(EdgeStart, EdgeEnd);
        this.EdgeStart = EdgeStart;
        this.EdgeEnd = EdgeEnd;
        this.EdgeGeometry = EdgeGeometry;
        this.SameSense = SameSense;
        this.type = 476780140;
      }
    }
    IFC2X32.IfcEdgeCurve = IfcEdgeCurve;
    class IfcExtendedMaterialProperties extends IfcMaterialProperties {
      constructor(Material, ExtendedProperties, Description, Name) {
        super(Material);
        this.Material = Material;
        this.ExtendedProperties = ExtendedProperties;
        this.Description = Description;
        this.Name = Name;
        this.type = 1860660968;
      }
    }
    IFC2X32.IfcExtendedMaterialProperties = IfcExtendedMaterialProperties;
    class IfcFace extends IfcTopologicalRepresentationItem {
      constructor(Bounds) {
        super();
        this.Bounds = Bounds;
        this.type = 2556980723;
      }
    }
    IFC2X32.IfcFace = IfcFace;
    class IfcFaceBound extends IfcTopologicalRepresentationItem {
      constructor(Bound, Orientation) {
        super();
        this.Bound = Bound;
        this.Orientation = Orientation;
        this.type = 1809719519;
      }
    }
    IFC2X32.IfcFaceBound = IfcFaceBound;
    class IfcFaceOuterBound extends IfcFaceBound {
      constructor(Bound, Orientation) {
        super(Bound, Orientation);
        this.Bound = Bound;
        this.Orientation = Orientation;
        this.type = 803316827;
      }
    }
    IFC2X32.IfcFaceOuterBound = IfcFaceOuterBound;
    class IfcFaceSurface extends IfcFace {
      constructor(Bounds, FaceSurface, SameSense) {
        super(Bounds);
        this.Bounds = Bounds;
        this.FaceSurface = FaceSurface;
        this.SameSense = SameSense;
        this.type = 3008276851;
      }
    }
    IFC2X32.IfcFaceSurface = IfcFaceSurface;
    class IfcFailureConnectionCondition extends IfcStructuralConnectionCondition {
      constructor(Name, TensionFailureX, TensionFailureY, TensionFailureZ, CompressionFailureX, CompressionFailureY, CompressionFailureZ) {
        super(Name);
        this.Name = Name;
        this.TensionFailureX = TensionFailureX;
        this.TensionFailureY = TensionFailureY;
        this.TensionFailureZ = TensionFailureZ;
        this.CompressionFailureX = CompressionFailureX;
        this.CompressionFailureY = CompressionFailureY;
        this.CompressionFailureZ = CompressionFailureZ;
        this.type = 4219587988;
      }
    }
    IFC2X32.IfcFailureConnectionCondition = IfcFailureConnectionCondition;
    class IfcFillAreaStyle extends IfcPresentationStyle {
      constructor(Name, FillStyles) {
        super(Name);
        this.Name = Name;
        this.FillStyles = FillStyles;
        this.type = 738692330;
      }
    }
    IFC2X32.IfcFillAreaStyle = IfcFillAreaStyle;
    class IfcFuelProperties extends IfcMaterialProperties {
      constructor(Material, CombustionTemperature, CarbonContent, LowerHeatingValue, HigherHeatingValue) {
        super(Material);
        this.Material = Material;
        this.CombustionTemperature = CombustionTemperature;
        this.CarbonContent = CarbonContent;
        this.LowerHeatingValue = LowerHeatingValue;
        this.HigherHeatingValue = HigherHeatingValue;
        this.type = 3857492461;
      }
    }
    IFC2X32.IfcFuelProperties = IfcFuelProperties;
    class IfcGeneralMaterialProperties extends IfcMaterialProperties {
      constructor(Material, MolecularWeight, Porosity, MassDensity) {
        super(Material);
        this.Material = Material;
        this.MolecularWeight = MolecularWeight;
        this.Porosity = Porosity;
        this.MassDensity = MassDensity;
        this.type = 803998398;
      }
    }
    IFC2X32.IfcGeneralMaterialProperties = IfcGeneralMaterialProperties;
    class IfcGeneralProfileProperties extends IfcProfileProperties {
      constructor(ProfileName, ProfileDefinition, PhysicalWeight, Perimeter, MinimumPlateThickness, MaximumPlateThickness, CrossSectionArea) {
        super(ProfileName, ProfileDefinition);
        this.ProfileName = ProfileName;
        this.ProfileDefinition = ProfileDefinition;
        this.PhysicalWeight = PhysicalWeight;
        this.Perimeter = Perimeter;
        this.MinimumPlateThickness = MinimumPlateThickness;
        this.MaximumPlateThickness = MaximumPlateThickness;
        this.CrossSectionArea = CrossSectionArea;
        this.type = 1446786286;
      }
    }
    IFC2X32.IfcGeneralProfileProperties = IfcGeneralProfileProperties;
    class IfcGeometricRepresentationContext extends IfcRepresentationContext {
      constructor(ContextIdentifier, ContextType, CoordinateSpaceDimension, Precision, WorldCoordinateSystem, TrueNorth) {
        super(ContextIdentifier, ContextType);
        this.ContextIdentifier = ContextIdentifier;
        this.ContextType = ContextType;
        this.CoordinateSpaceDimension = CoordinateSpaceDimension;
        this.Precision = Precision;
        this.WorldCoordinateSystem = WorldCoordinateSystem;
        this.TrueNorth = TrueNorth;
        this.type = 3448662350;
      }
    }
    IFC2X32.IfcGeometricRepresentationContext = IfcGeometricRepresentationContext;
    class IfcGeometricRepresentationItem extends IfcRepresentationItem {
      constructor() {
        super();
        this.type = 2453401579;
      }
    }
    IFC2X32.IfcGeometricRepresentationItem = IfcGeometricRepresentationItem;
    class IfcGeometricRepresentationSubContext extends IfcGeometricRepresentationContext {
      constructor(ContextIdentifier, ContextType, ParentContext, TargetScale, TargetView, UserDefinedTargetView) {
        super(ContextIdentifier, ContextType, new IfcDimensionCount(0), null, new Handle(0), null);
        this.ContextIdentifier = ContextIdentifier;
        this.ContextType = ContextType;
        this.ParentContext = ParentContext;
        this.TargetScale = TargetScale;
        this.TargetView = TargetView;
        this.UserDefinedTargetView = UserDefinedTargetView;
        this.type = 4142052618;
      }
    }
    IFC2X32.IfcGeometricRepresentationSubContext = IfcGeometricRepresentationSubContext;
    class IfcGeometricSet extends IfcGeometricRepresentationItem {
      constructor(Elements) {
        super();
        this.Elements = Elements;
        this.type = 3590301190;
      }
    }
    IFC2X32.IfcGeometricSet = IfcGeometricSet;
    class IfcGridPlacement extends IfcObjectPlacement {
      constructor(PlacementLocation, PlacementRefDirection) {
        super();
        this.PlacementLocation = PlacementLocation;
        this.PlacementRefDirection = PlacementRefDirection;
        this.type = 178086475;
      }
    }
    IFC2X32.IfcGridPlacement = IfcGridPlacement;
    class IfcHalfSpaceSolid extends IfcGeometricRepresentationItem {
      constructor(BaseSurface, AgreementFlag) {
        super();
        this.BaseSurface = BaseSurface;
        this.AgreementFlag = AgreementFlag;
        this.type = 812098782;
      }
    }
    IFC2X32.IfcHalfSpaceSolid = IfcHalfSpaceSolid;
    class IfcHygroscopicMaterialProperties extends IfcMaterialProperties {
      constructor(Material, UpperVaporResistanceFactor, LowerVaporResistanceFactor, IsothermalMoistureCapacity, VaporPermeability, MoistureDiffusivity) {
        super(Material);
        this.Material = Material;
        this.UpperVaporResistanceFactor = UpperVaporResistanceFactor;
        this.LowerVaporResistanceFactor = LowerVaporResistanceFactor;
        this.IsothermalMoistureCapacity = IsothermalMoistureCapacity;
        this.VaporPermeability = VaporPermeability;
        this.MoistureDiffusivity = MoistureDiffusivity;
        this.type = 2445078500;
      }
    }
    IFC2X32.IfcHygroscopicMaterialProperties = IfcHygroscopicMaterialProperties;
    class IfcImageTexture extends IfcSurfaceTexture {
      constructor(RepeatS, RepeatT, TextureType, TextureTransform, UrlReference) {
        super(RepeatS, RepeatT, TextureType, TextureTransform);
        this.RepeatS = RepeatS;
        this.RepeatT = RepeatT;
        this.TextureType = TextureType;
        this.TextureTransform = TextureTransform;
        this.UrlReference = UrlReference;
        this.type = 3905492369;
      }
    }
    IFC2X32.IfcImageTexture = IfcImageTexture;
    class IfcIrregularTimeSeries extends IfcTimeSeries {
      constructor(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit, Values) {
        super(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit);
        this.Name = Name;
        this.Description = Description;
        this.StartTime = StartTime;
        this.EndTime = EndTime;
        this.TimeSeriesDataType = TimeSeriesDataType;
        this.DataOrigin = DataOrigin;
        this.UserDefinedDataOrigin = UserDefinedDataOrigin;
        this.Unit = Unit;
        this.Values = Values;
        this.type = 3741457305;
      }
    }
    IFC2X32.IfcIrregularTimeSeries = IfcIrregularTimeSeries;
    class IfcLightSource extends IfcGeometricRepresentationItem {
      constructor(Name, LightColour, AmbientIntensity, Intensity) {
        super();
        this.Name = Name;
        this.LightColour = LightColour;
        this.AmbientIntensity = AmbientIntensity;
        this.Intensity = Intensity;
        this.type = 1402838566;
      }
    }
    IFC2X32.IfcLightSource = IfcLightSource;
    class IfcLightSourceAmbient extends IfcLightSource {
      constructor(Name, LightColour, AmbientIntensity, Intensity) {
        super(Name, LightColour, AmbientIntensity, Intensity);
        this.Name = Name;
        this.LightColour = LightColour;
        this.AmbientIntensity = AmbientIntensity;
        this.Intensity = Intensity;
        this.type = 125510826;
      }
    }
    IFC2X32.IfcLightSourceAmbient = IfcLightSourceAmbient;
    class IfcLightSourceDirectional extends IfcLightSource {
      constructor(Name, LightColour, AmbientIntensity, Intensity, Orientation) {
        super(Name, LightColour, AmbientIntensity, Intensity);
        this.Name = Name;
        this.LightColour = LightColour;
        this.AmbientIntensity = AmbientIntensity;
        this.Intensity = Intensity;
        this.Orientation = Orientation;
        this.type = 2604431987;
      }
    }
    IFC2X32.IfcLightSourceDirectional = IfcLightSourceDirectional;
    class IfcLightSourceGoniometric extends IfcLightSource {
      constructor(Name, LightColour, AmbientIntensity, Intensity, Position, ColourAppearance, ColourTemperature, LuminousFlux, LightEmissionSource, LightDistributionDataSource) {
        super(Name, LightColour, AmbientIntensity, Intensity);
        this.Name = Name;
        this.LightColour = LightColour;
        this.AmbientIntensity = AmbientIntensity;
        this.Intensity = Intensity;
        this.Position = Position;
        this.ColourAppearance = ColourAppearance;
        this.ColourTemperature = ColourTemperature;
        this.LuminousFlux = LuminousFlux;
        this.LightEmissionSource = LightEmissionSource;
        this.LightDistributionDataSource = LightDistributionDataSource;
        this.type = 4266656042;
      }
    }
    IFC2X32.IfcLightSourceGoniometric = IfcLightSourceGoniometric;
    class IfcLightSourcePositional extends IfcLightSource {
      constructor(Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation) {
        super(Name, LightColour, AmbientIntensity, Intensity);
        this.Name = Name;
        this.LightColour = LightColour;
        this.AmbientIntensity = AmbientIntensity;
        this.Intensity = Intensity;
        this.Position = Position;
        this.Radius = Radius;
        this.ConstantAttenuation = ConstantAttenuation;
        this.DistanceAttenuation = DistanceAttenuation;
        this.QuadricAttenuation = QuadricAttenuation;
        this.type = 1520743889;
      }
    }
    IFC2X32.IfcLightSourcePositional = IfcLightSourcePositional;
    class IfcLightSourceSpot extends IfcLightSourcePositional {
      constructor(Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation, Orientation, ConcentrationExponent, SpreadAngle, BeamWidthAngle) {
        super(Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation);
        this.Name = Name;
        this.LightColour = LightColour;
        this.AmbientIntensity = AmbientIntensity;
        this.Intensity = Intensity;
        this.Position = Position;
        this.Radius = Radius;
        this.ConstantAttenuation = ConstantAttenuation;
        this.DistanceAttenuation = DistanceAttenuation;
        this.QuadricAttenuation = QuadricAttenuation;
        this.Orientation = Orientation;
        this.ConcentrationExponent = ConcentrationExponent;
        this.SpreadAngle = SpreadAngle;
        this.BeamWidthAngle = BeamWidthAngle;
        this.type = 3422422726;
      }
    }
    IFC2X32.IfcLightSourceSpot = IfcLightSourceSpot;
    class IfcLocalPlacement extends IfcObjectPlacement {
      constructor(PlacementRelTo, RelativePlacement) {
        super();
        this.PlacementRelTo = PlacementRelTo;
        this.RelativePlacement = RelativePlacement;
        this.type = 2624227202;
      }
    }
    IFC2X32.IfcLocalPlacement = IfcLocalPlacement;
    class IfcLoop extends IfcTopologicalRepresentationItem {
      constructor() {
        super();
        this.type = 1008929658;
      }
    }
    IFC2X32.IfcLoop = IfcLoop;
    class IfcMappedItem extends IfcRepresentationItem {
      constructor(MappingSource, MappingTarget) {
        super();
        this.MappingSource = MappingSource;
        this.MappingTarget = MappingTarget;
        this.type = 2347385850;
      }
    }
    IFC2X32.IfcMappedItem = IfcMappedItem;
    class IfcMaterialDefinitionRepresentation extends IfcProductRepresentation {
      constructor(Name, Description, Representations, RepresentedMaterial) {
        super(Name, Description, Representations);
        this.Name = Name;
        this.Description = Description;
        this.Representations = Representations;
        this.RepresentedMaterial = RepresentedMaterial;
        this.type = 2022407955;
      }
    }
    IFC2X32.IfcMaterialDefinitionRepresentation = IfcMaterialDefinitionRepresentation;
    class IfcMechanicalConcreteMaterialProperties extends IfcMechanicalMaterialProperties {
      constructor(Material, DynamicViscosity, YoungModulus, ShearModulus, PoissonRatio, ThermalExpansionCoefficient, CompressiveStrength, MaxAggregateSize, AdmixturesDescription, Workability, ProtectivePoreRatio, WaterImpermeability) {
        super(Material, DynamicViscosity, YoungModulus, ShearModulus, PoissonRatio, ThermalExpansionCoefficient);
        this.Material = Material;
        this.DynamicViscosity = DynamicViscosity;
        this.YoungModulus = YoungModulus;
        this.ShearModulus = ShearModulus;
        this.PoissonRatio = PoissonRatio;
        this.ThermalExpansionCoefficient = ThermalExpansionCoefficient;
        this.CompressiveStrength = CompressiveStrength;
        this.MaxAggregateSize = MaxAggregateSize;
        this.AdmixturesDescription = AdmixturesDescription;
        this.Workability = Workability;
        this.ProtectivePoreRatio = ProtectivePoreRatio;
        this.WaterImpermeability = WaterImpermeability;
        this.type = 1430189142;
      }
    }
    IFC2X32.IfcMechanicalConcreteMaterialProperties = IfcMechanicalConcreteMaterialProperties;
    class IfcObjectDefinition extends IfcRoot {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 219451334;
      }
    }
    IFC2X32.IfcObjectDefinition = IfcObjectDefinition;
    class IfcOneDirectionRepeatFactor extends IfcGeometricRepresentationItem {
      constructor(RepeatFactor) {
        super();
        this.RepeatFactor = RepeatFactor;
        this.type = 2833995503;
      }
    }
    IFC2X32.IfcOneDirectionRepeatFactor = IfcOneDirectionRepeatFactor;
    class IfcOpenShell extends IfcConnectedFaceSet {
      constructor(CfsFaces) {
        super(CfsFaces);
        this.CfsFaces = CfsFaces;
        this.type = 2665983363;
      }
    }
    IFC2X32.IfcOpenShell = IfcOpenShell;
    class IfcOrientedEdge extends IfcEdge {
      constructor(EdgeElement, Orientation) {
        super(new Handle(0), new Handle(0));
        this.EdgeElement = EdgeElement;
        this.Orientation = Orientation;
        this.type = 1029017970;
      }
    }
    IFC2X32.IfcOrientedEdge = IfcOrientedEdge;
    class IfcParameterizedProfileDef extends IfcProfileDef {
      constructor(ProfileType, ProfileName, Position) {
        super(ProfileType, ProfileName);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.type = 2529465313;
      }
    }
    IFC2X32.IfcParameterizedProfileDef = IfcParameterizedProfileDef;
    class IfcPath extends IfcTopologicalRepresentationItem {
      constructor(EdgeList) {
        super();
        this.EdgeList = EdgeList;
        this.type = 2519244187;
      }
    }
    IFC2X32.IfcPath = IfcPath;
    class IfcPhysicalComplexQuantity extends IfcPhysicalQuantity {
      constructor(Name, Description, HasQuantities, Discrimination, Quality, Usage) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.HasQuantities = HasQuantities;
        this.Discrimination = Discrimination;
        this.Quality = Quality;
        this.Usage = Usage;
        this.type = 3021840470;
      }
    }
    IFC2X32.IfcPhysicalComplexQuantity = IfcPhysicalComplexQuantity;
    class IfcPixelTexture extends IfcSurfaceTexture {
      constructor(RepeatS, RepeatT, TextureType, TextureTransform, Width, Height, ColourComponents, Pixel) {
        super(RepeatS, RepeatT, TextureType, TextureTransform);
        this.RepeatS = RepeatS;
        this.RepeatT = RepeatT;
        this.TextureType = TextureType;
        this.TextureTransform = TextureTransform;
        this.Width = Width;
        this.Height = Height;
        this.ColourComponents = ColourComponents;
        this.Pixel = Pixel;
        this.type = 597895409;
      }
    }
    IFC2X32.IfcPixelTexture = IfcPixelTexture;
    class IfcPlacement extends IfcGeometricRepresentationItem {
      constructor(Location) {
        super();
        this.Location = Location;
        this.type = 2004835150;
      }
    }
    IFC2X32.IfcPlacement = IfcPlacement;
    class IfcPlanarExtent extends IfcGeometricRepresentationItem {
      constructor(SizeInX, SizeInY) {
        super();
        this.SizeInX = SizeInX;
        this.SizeInY = SizeInY;
        this.type = 1663979128;
      }
    }
    IFC2X32.IfcPlanarExtent = IfcPlanarExtent;
    class IfcPoint extends IfcGeometricRepresentationItem {
      constructor() {
        super();
        this.type = 2067069095;
      }
    }
    IFC2X32.IfcPoint = IfcPoint;
    class IfcPointOnCurve extends IfcPoint {
      constructor(BasisCurve, PointParameter) {
        super();
        this.BasisCurve = BasisCurve;
        this.PointParameter = PointParameter;
        this.type = 4022376103;
      }
    }
    IFC2X32.IfcPointOnCurve = IfcPointOnCurve;
    class IfcPointOnSurface extends IfcPoint {
      constructor(BasisSurface, PointParameterU, PointParameterV) {
        super();
        this.BasisSurface = BasisSurface;
        this.PointParameterU = PointParameterU;
        this.PointParameterV = PointParameterV;
        this.type = 1423911732;
      }
    }
    IFC2X32.IfcPointOnSurface = IfcPointOnSurface;
    class IfcPolyLoop extends IfcLoop {
      constructor(Polygon) {
        super();
        this.Polygon = Polygon;
        this.type = 2924175390;
      }
    }
    IFC2X32.IfcPolyLoop = IfcPolyLoop;
    class IfcPolygonalBoundedHalfSpace extends IfcHalfSpaceSolid {
      constructor(BaseSurface, AgreementFlag, Position, PolygonalBoundary) {
        super(BaseSurface, AgreementFlag);
        this.BaseSurface = BaseSurface;
        this.AgreementFlag = AgreementFlag;
        this.Position = Position;
        this.PolygonalBoundary = PolygonalBoundary;
        this.type = 2775532180;
      }
    }
    IFC2X32.IfcPolygonalBoundedHalfSpace = IfcPolygonalBoundedHalfSpace;
    class IfcPreDefinedColour extends IfcPreDefinedItem {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 759155922;
      }
    }
    IFC2X32.IfcPreDefinedColour = IfcPreDefinedColour;
    class IfcPreDefinedCurveFont extends IfcPreDefinedItem {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 2559016684;
      }
    }
    IFC2X32.IfcPreDefinedCurveFont = IfcPreDefinedCurveFont;
    class IfcPreDefinedDimensionSymbol extends IfcPreDefinedSymbol {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 433424934;
      }
    }
    IFC2X32.IfcPreDefinedDimensionSymbol = IfcPreDefinedDimensionSymbol;
    class IfcPreDefinedPointMarkerSymbol extends IfcPreDefinedSymbol {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 179317114;
      }
    }
    IFC2X32.IfcPreDefinedPointMarkerSymbol = IfcPreDefinedPointMarkerSymbol;
    class IfcProductDefinitionShape extends IfcProductRepresentation {
      constructor(Name, Description, Representations) {
        super(Name, Description, Representations);
        this.Name = Name;
        this.Description = Description;
        this.Representations = Representations;
        this.type = 673634403;
      }
    }
    IFC2X32.IfcProductDefinitionShape = IfcProductDefinitionShape;
    class IfcPropertyBoundedValue extends IfcSimpleProperty {
      constructor(Name, Description, UpperBoundValue, LowerBoundValue, Unit) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.UpperBoundValue = UpperBoundValue;
        this.LowerBoundValue = LowerBoundValue;
        this.Unit = Unit;
        this.type = 871118103;
      }
    }
    IFC2X32.IfcPropertyBoundedValue = IfcPropertyBoundedValue;
    class IfcPropertyDefinition extends IfcRoot {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 1680319473;
      }
    }
    IFC2X32.IfcPropertyDefinition = IfcPropertyDefinition;
    class IfcPropertyEnumeratedValue extends IfcSimpleProperty {
      constructor(Name, Description, EnumerationValues, EnumerationReference) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.EnumerationValues = EnumerationValues;
        this.EnumerationReference = EnumerationReference;
        this.type = 4166981789;
      }
    }
    IFC2X32.IfcPropertyEnumeratedValue = IfcPropertyEnumeratedValue;
    class IfcPropertyListValue extends IfcSimpleProperty {
      constructor(Name, Description, ListValues, Unit) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.ListValues = ListValues;
        this.Unit = Unit;
        this.type = 2752243245;
      }
    }
    IFC2X32.IfcPropertyListValue = IfcPropertyListValue;
    class IfcPropertyReferenceValue extends IfcSimpleProperty {
      constructor(Name, Description, UsageName, PropertyReference) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.UsageName = UsageName;
        this.PropertyReference = PropertyReference;
        this.type = 941946838;
      }
    }
    IFC2X32.IfcPropertyReferenceValue = IfcPropertyReferenceValue;
    class IfcPropertySetDefinition extends IfcPropertyDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 3357820518;
      }
    }
    IFC2X32.IfcPropertySetDefinition = IfcPropertySetDefinition;
    class IfcPropertySingleValue extends IfcSimpleProperty {
      constructor(Name, Description, NominalValue, Unit) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.NominalValue = NominalValue;
        this.Unit = Unit;
        this.type = 3650150729;
      }
    }
    IFC2X32.IfcPropertySingleValue = IfcPropertySingleValue;
    class IfcPropertyTableValue extends IfcSimpleProperty {
      constructor(Name, Description, DefiningValues, DefinedValues, Expression, DefiningUnit, DefinedUnit) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.DefiningValues = DefiningValues;
        this.DefinedValues = DefinedValues;
        this.Expression = Expression;
        this.DefiningUnit = DefiningUnit;
        this.DefinedUnit = DefinedUnit;
        this.type = 110355661;
      }
    }
    IFC2X32.IfcPropertyTableValue = IfcPropertyTableValue;
    class IfcRectangleProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, XDim, YDim) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.XDim = XDim;
        this.YDim = YDim;
        this.type = 3615266464;
      }
    }
    IFC2X32.IfcRectangleProfileDef = IfcRectangleProfileDef;
    class IfcRegularTimeSeries extends IfcTimeSeries {
      constructor(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit, TimeStep, Values) {
        super(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit);
        this.Name = Name;
        this.Description = Description;
        this.StartTime = StartTime;
        this.EndTime = EndTime;
        this.TimeSeriesDataType = TimeSeriesDataType;
        this.DataOrigin = DataOrigin;
        this.UserDefinedDataOrigin = UserDefinedDataOrigin;
        this.Unit = Unit;
        this.TimeStep = TimeStep;
        this.Values = Values;
        this.type = 3413951693;
      }
    }
    IFC2X32.IfcRegularTimeSeries = IfcRegularTimeSeries;
    class IfcReinforcementDefinitionProperties extends IfcPropertySetDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, DefinitionType, ReinforcementSectionDefinitions) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.DefinitionType = DefinitionType;
        this.ReinforcementSectionDefinitions = ReinforcementSectionDefinitions;
        this.type = 3765753017;
      }
    }
    IFC2X32.IfcReinforcementDefinitionProperties = IfcReinforcementDefinitionProperties;
    class IfcRelationship extends IfcRoot {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 478536968;
      }
    }
    IFC2X32.IfcRelationship = IfcRelationship;
    class IfcRoundedRectangleProfileDef extends IfcRectangleProfileDef {
      constructor(ProfileType, ProfileName, Position, XDim, YDim, RoundingRadius) {
        super(ProfileType, ProfileName, Position, XDim, YDim);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.XDim = XDim;
        this.YDim = YDim;
        this.RoundingRadius = RoundingRadius;
        this.type = 2778083089;
      }
    }
    IFC2X32.IfcRoundedRectangleProfileDef = IfcRoundedRectangleProfileDef;
    class IfcSectionedSpine extends IfcGeometricRepresentationItem {
      constructor(SpineCurve, CrossSections, CrossSectionPositions) {
        super();
        this.SpineCurve = SpineCurve;
        this.CrossSections = CrossSections;
        this.CrossSectionPositions = CrossSectionPositions;
        this.type = 1509187699;
      }
    }
    IFC2X32.IfcSectionedSpine = IfcSectionedSpine;
    class IfcServiceLifeFactor extends IfcPropertySetDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, PredefinedType, UpperValue, MostUsedValue, LowerValue) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.PredefinedType = PredefinedType;
        this.UpperValue = UpperValue;
        this.MostUsedValue = MostUsedValue;
        this.LowerValue = LowerValue;
        this.type = 2411513650;
      }
    }
    IFC2X32.IfcServiceLifeFactor = IfcServiceLifeFactor;
    class IfcShellBasedSurfaceModel extends IfcGeometricRepresentationItem {
      constructor(SbsmBoundary) {
        super();
        this.SbsmBoundary = SbsmBoundary;
        this.type = 4124623270;
      }
    }
    IFC2X32.IfcShellBasedSurfaceModel = IfcShellBasedSurfaceModel;
    class IfcSlippageConnectionCondition extends IfcStructuralConnectionCondition {
      constructor(Name, SlippageX, SlippageY, SlippageZ) {
        super(Name);
        this.Name = Name;
        this.SlippageX = SlippageX;
        this.SlippageY = SlippageY;
        this.SlippageZ = SlippageZ;
        this.type = 2609359061;
      }
    }
    IFC2X32.IfcSlippageConnectionCondition = IfcSlippageConnectionCondition;
    class IfcSolidModel extends IfcGeometricRepresentationItem {
      constructor() {
        super();
        this.type = 723233188;
      }
    }
    IFC2X32.IfcSolidModel = IfcSolidModel;
    class IfcSoundProperties extends IfcPropertySetDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, IsAttenuating, SoundScale, SoundValues) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.IsAttenuating = IsAttenuating;
        this.SoundScale = SoundScale;
        this.SoundValues = SoundValues;
        this.type = 2485662743;
      }
    }
    IFC2X32.IfcSoundProperties = IfcSoundProperties;
    class IfcSoundValue extends IfcPropertySetDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, SoundLevelTimeSeries, Frequency, SoundLevelSingleValue) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.SoundLevelTimeSeries = SoundLevelTimeSeries;
        this.Frequency = Frequency;
        this.SoundLevelSingleValue = SoundLevelSingleValue;
        this.type = 1202362311;
      }
    }
    IFC2X32.IfcSoundValue = IfcSoundValue;
    class IfcSpaceThermalLoadProperties extends IfcPropertySetDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableValueRatio, ThermalLoadSource, PropertySource, SourceDescription, MaximumValue, MinimumValue, ThermalLoadTimeSeriesValues, UserDefinedThermalLoadSource, UserDefinedPropertySource, ThermalLoadType) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableValueRatio = ApplicableValueRatio;
        this.ThermalLoadSource = ThermalLoadSource;
        this.PropertySource = PropertySource;
        this.SourceDescription = SourceDescription;
        this.MaximumValue = MaximumValue;
        this.MinimumValue = MinimumValue;
        this.ThermalLoadTimeSeriesValues = ThermalLoadTimeSeriesValues;
        this.UserDefinedThermalLoadSource = UserDefinedThermalLoadSource;
        this.UserDefinedPropertySource = UserDefinedPropertySource;
        this.ThermalLoadType = ThermalLoadType;
        this.type = 390701378;
      }
    }
    IFC2X32.IfcSpaceThermalLoadProperties = IfcSpaceThermalLoadProperties;
    class IfcStructuralLoadLinearForce extends IfcStructuralLoadStatic {
      constructor(Name, LinearForceX, LinearForceY, LinearForceZ, LinearMomentX, LinearMomentY, LinearMomentZ) {
        super(Name);
        this.Name = Name;
        this.LinearForceX = LinearForceX;
        this.LinearForceY = LinearForceY;
        this.LinearForceZ = LinearForceZ;
        this.LinearMomentX = LinearMomentX;
        this.LinearMomentY = LinearMomentY;
        this.LinearMomentZ = LinearMomentZ;
        this.type = 1595516126;
      }
    }
    IFC2X32.IfcStructuralLoadLinearForce = IfcStructuralLoadLinearForce;
    class IfcStructuralLoadPlanarForce extends IfcStructuralLoadStatic {
      constructor(Name, PlanarForceX, PlanarForceY, PlanarForceZ) {
        super(Name);
        this.Name = Name;
        this.PlanarForceX = PlanarForceX;
        this.PlanarForceY = PlanarForceY;
        this.PlanarForceZ = PlanarForceZ;
        this.type = 2668620305;
      }
    }
    IFC2X32.IfcStructuralLoadPlanarForce = IfcStructuralLoadPlanarForce;
    class IfcStructuralLoadSingleDisplacement extends IfcStructuralLoadStatic {
      constructor(Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ) {
        super(Name);
        this.Name = Name;
        this.DisplacementX = DisplacementX;
        this.DisplacementY = DisplacementY;
        this.DisplacementZ = DisplacementZ;
        this.RotationalDisplacementRX = RotationalDisplacementRX;
        this.RotationalDisplacementRY = RotationalDisplacementRY;
        this.RotationalDisplacementRZ = RotationalDisplacementRZ;
        this.type = 2473145415;
      }
    }
    IFC2X32.IfcStructuralLoadSingleDisplacement = IfcStructuralLoadSingleDisplacement;
    class IfcStructuralLoadSingleDisplacementDistortion extends IfcStructuralLoadSingleDisplacement {
      constructor(Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ, Distortion) {
        super(Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ);
        this.Name = Name;
        this.DisplacementX = DisplacementX;
        this.DisplacementY = DisplacementY;
        this.DisplacementZ = DisplacementZ;
        this.RotationalDisplacementRX = RotationalDisplacementRX;
        this.RotationalDisplacementRY = RotationalDisplacementRY;
        this.RotationalDisplacementRZ = RotationalDisplacementRZ;
        this.Distortion = Distortion;
        this.type = 1973038258;
      }
    }
    IFC2X32.IfcStructuralLoadSingleDisplacementDistortion = IfcStructuralLoadSingleDisplacementDistortion;
    class IfcStructuralLoadSingleForce extends IfcStructuralLoadStatic {
      constructor(Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ) {
        super(Name);
        this.Name = Name;
        this.ForceX = ForceX;
        this.ForceY = ForceY;
        this.ForceZ = ForceZ;
        this.MomentX = MomentX;
        this.MomentY = MomentY;
        this.MomentZ = MomentZ;
        this.type = 1597423693;
      }
    }
    IFC2X32.IfcStructuralLoadSingleForce = IfcStructuralLoadSingleForce;
    class IfcStructuralLoadSingleForceWarping extends IfcStructuralLoadSingleForce {
      constructor(Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ, WarpingMoment) {
        super(Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ);
        this.Name = Name;
        this.ForceX = ForceX;
        this.ForceY = ForceY;
        this.ForceZ = ForceZ;
        this.MomentX = MomentX;
        this.MomentY = MomentY;
        this.MomentZ = MomentZ;
        this.WarpingMoment = WarpingMoment;
        this.type = 1190533807;
      }
    }
    IFC2X32.IfcStructuralLoadSingleForceWarping = IfcStructuralLoadSingleForceWarping;
    class IfcStructuralProfileProperties extends IfcGeneralProfileProperties {
      constructor(ProfileName, ProfileDefinition, PhysicalWeight, Perimeter, MinimumPlateThickness, MaximumPlateThickness, CrossSectionArea, TorsionalConstantX, MomentOfInertiaYZ, MomentOfInertiaY, MomentOfInertiaZ, WarpingConstant, ShearCentreZ, ShearCentreY, ShearDeformationAreaZ, ShearDeformationAreaY, MaximumSectionModulusY, MinimumSectionModulusY, MaximumSectionModulusZ, MinimumSectionModulusZ, TorsionalSectionModulus, CentreOfGravityInX, CentreOfGravityInY) {
        super(ProfileName, ProfileDefinition, PhysicalWeight, Perimeter, MinimumPlateThickness, MaximumPlateThickness, CrossSectionArea);
        this.ProfileName = ProfileName;
        this.ProfileDefinition = ProfileDefinition;
        this.PhysicalWeight = PhysicalWeight;
        this.Perimeter = Perimeter;
        this.MinimumPlateThickness = MinimumPlateThickness;
        this.MaximumPlateThickness = MaximumPlateThickness;
        this.CrossSectionArea = CrossSectionArea;
        this.TorsionalConstantX = TorsionalConstantX;
        this.MomentOfInertiaYZ = MomentOfInertiaYZ;
        this.MomentOfInertiaY = MomentOfInertiaY;
        this.MomentOfInertiaZ = MomentOfInertiaZ;
        this.WarpingConstant = WarpingConstant;
        this.ShearCentreZ = ShearCentreZ;
        this.ShearCentreY = ShearCentreY;
        this.ShearDeformationAreaZ = ShearDeformationAreaZ;
        this.ShearDeformationAreaY = ShearDeformationAreaY;
        this.MaximumSectionModulusY = MaximumSectionModulusY;
        this.MinimumSectionModulusY = MinimumSectionModulusY;
        this.MaximumSectionModulusZ = MaximumSectionModulusZ;
        this.MinimumSectionModulusZ = MinimumSectionModulusZ;
        this.TorsionalSectionModulus = TorsionalSectionModulus;
        this.CentreOfGravityInX = CentreOfGravityInX;
        this.CentreOfGravityInY = CentreOfGravityInY;
        this.type = 3843319758;
      }
    }
    IFC2X32.IfcStructuralProfileProperties = IfcStructuralProfileProperties;
    class IfcStructuralSteelProfileProperties extends IfcStructuralProfileProperties {
      constructor(ProfileName, ProfileDefinition, PhysicalWeight, Perimeter, MinimumPlateThickness, MaximumPlateThickness, CrossSectionArea, TorsionalConstantX, MomentOfInertiaYZ, MomentOfInertiaY, MomentOfInertiaZ, WarpingConstant, ShearCentreZ, ShearCentreY, ShearDeformationAreaZ, ShearDeformationAreaY, MaximumSectionModulusY, MinimumSectionModulusY, MaximumSectionModulusZ, MinimumSectionModulusZ, TorsionalSectionModulus, CentreOfGravityInX, CentreOfGravityInY, ShearAreaZ, ShearAreaY, PlasticShapeFactorY, PlasticShapeFactorZ) {
        super(ProfileName, ProfileDefinition, PhysicalWeight, Perimeter, MinimumPlateThickness, MaximumPlateThickness, CrossSectionArea, TorsionalConstantX, MomentOfInertiaYZ, MomentOfInertiaY, MomentOfInertiaZ, WarpingConstant, ShearCentreZ, ShearCentreY, ShearDeformationAreaZ, ShearDeformationAreaY, MaximumSectionModulusY, MinimumSectionModulusY, MaximumSectionModulusZ, MinimumSectionModulusZ, TorsionalSectionModulus, CentreOfGravityInX, CentreOfGravityInY);
        this.ProfileName = ProfileName;
        this.ProfileDefinition = ProfileDefinition;
        this.PhysicalWeight = PhysicalWeight;
        this.Perimeter = Perimeter;
        this.MinimumPlateThickness = MinimumPlateThickness;
        this.MaximumPlateThickness = MaximumPlateThickness;
        this.CrossSectionArea = CrossSectionArea;
        this.TorsionalConstantX = TorsionalConstantX;
        this.MomentOfInertiaYZ = MomentOfInertiaYZ;
        this.MomentOfInertiaY = MomentOfInertiaY;
        this.MomentOfInertiaZ = MomentOfInertiaZ;
        this.WarpingConstant = WarpingConstant;
        this.ShearCentreZ = ShearCentreZ;
        this.ShearCentreY = ShearCentreY;
        this.ShearDeformationAreaZ = ShearDeformationAreaZ;
        this.ShearDeformationAreaY = ShearDeformationAreaY;
        this.MaximumSectionModulusY = MaximumSectionModulusY;
        this.MinimumSectionModulusY = MinimumSectionModulusY;
        this.MaximumSectionModulusZ = MaximumSectionModulusZ;
        this.MinimumSectionModulusZ = MinimumSectionModulusZ;
        this.TorsionalSectionModulus = TorsionalSectionModulus;
        this.CentreOfGravityInX = CentreOfGravityInX;
        this.CentreOfGravityInY = CentreOfGravityInY;
        this.ShearAreaZ = ShearAreaZ;
        this.ShearAreaY = ShearAreaY;
        this.PlasticShapeFactorY = PlasticShapeFactorY;
        this.PlasticShapeFactorZ = PlasticShapeFactorZ;
        this.type = 3653947884;
      }
    }
    IFC2X32.IfcStructuralSteelProfileProperties = IfcStructuralSteelProfileProperties;
    class IfcSubedge extends IfcEdge {
      constructor(EdgeStart, EdgeEnd, ParentEdge) {
        super(EdgeStart, EdgeEnd);
        this.EdgeStart = EdgeStart;
        this.EdgeEnd = EdgeEnd;
        this.ParentEdge = ParentEdge;
        this.type = 2233826070;
      }
    }
    IFC2X32.IfcSubedge = IfcSubedge;
    class IfcSurface extends IfcGeometricRepresentationItem {
      constructor() {
        super();
        this.type = 2513912981;
      }
    }
    IFC2X32.IfcSurface = IfcSurface;
    class IfcSurfaceStyleRendering extends IfcSurfaceStyleShading {
      constructor(SurfaceColour, Transparency, DiffuseColour, TransmissionColour, DiffuseTransmissionColour, ReflectionColour, SpecularColour, SpecularHighlight, ReflectanceMethod) {
        super(SurfaceColour);
        this.SurfaceColour = SurfaceColour;
        this.Transparency = Transparency;
        this.DiffuseColour = DiffuseColour;
        this.TransmissionColour = TransmissionColour;
        this.DiffuseTransmissionColour = DiffuseTransmissionColour;
        this.ReflectionColour = ReflectionColour;
        this.SpecularColour = SpecularColour;
        this.SpecularHighlight = SpecularHighlight;
        this.ReflectanceMethod = ReflectanceMethod;
        this.type = 1878645084;
      }
    }
    IFC2X32.IfcSurfaceStyleRendering = IfcSurfaceStyleRendering;
    class IfcSweptAreaSolid extends IfcSolidModel {
      constructor(SweptArea, Position) {
        super();
        this.SweptArea = SweptArea;
        this.Position = Position;
        this.type = 2247615214;
      }
    }
    IFC2X32.IfcSweptAreaSolid = IfcSweptAreaSolid;
    class IfcSweptDiskSolid extends IfcSolidModel {
      constructor(Directrix, Radius, InnerRadius, StartParam, EndParam) {
        super();
        this.Directrix = Directrix;
        this.Radius = Radius;
        this.InnerRadius = InnerRadius;
        this.StartParam = StartParam;
        this.EndParam = EndParam;
        this.type = 1260650574;
      }
    }
    IFC2X32.IfcSweptDiskSolid = IfcSweptDiskSolid;
    class IfcSweptSurface extends IfcSurface {
      constructor(SweptCurve, Position) {
        super();
        this.SweptCurve = SweptCurve;
        this.Position = Position;
        this.type = 230924584;
      }
    }
    IFC2X32.IfcSweptSurface = IfcSweptSurface;
    class IfcTShapeProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, FlangeEdgeRadius, WebEdgeRadius, WebSlope, FlangeSlope, CentreOfGravityInY) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.Depth = Depth;
        this.FlangeWidth = FlangeWidth;
        this.WebThickness = WebThickness;
        this.FlangeThickness = FlangeThickness;
        this.FilletRadius = FilletRadius;
        this.FlangeEdgeRadius = FlangeEdgeRadius;
        this.WebEdgeRadius = WebEdgeRadius;
        this.WebSlope = WebSlope;
        this.FlangeSlope = FlangeSlope;
        this.CentreOfGravityInY = CentreOfGravityInY;
        this.type = 3071757647;
      }
    }
    IFC2X32.IfcTShapeProfileDef = IfcTShapeProfileDef;
    class IfcTerminatorSymbol extends IfcAnnotationSymbolOccurrence {
      constructor(Item, Styles, Name, AnnotatedCurve) {
        super(Item, Styles, Name);
        this.Item = Item;
        this.Styles = Styles;
        this.Name = Name;
        this.AnnotatedCurve = AnnotatedCurve;
        this.type = 3028897424;
      }
    }
    IFC2X32.IfcTerminatorSymbol = IfcTerminatorSymbol;
    class IfcTextLiteral extends IfcGeometricRepresentationItem {
      constructor(Literal, Placement, Path) {
        super();
        this.Literal = Literal;
        this.Placement = Placement;
        this.Path = Path;
        this.type = 4282788508;
      }
    }
    IFC2X32.IfcTextLiteral = IfcTextLiteral;
    class IfcTextLiteralWithExtent extends IfcTextLiteral {
      constructor(Literal, Placement, Path, Extent, BoxAlignment) {
        super(Literal, Placement, Path);
        this.Literal = Literal;
        this.Placement = Placement;
        this.Path = Path;
        this.Extent = Extent;
        this.BoxAlignment = BoxAlignment;
        this.type = 3124975700;
      }
    }
    IFC2X32.IfcTextLiteralWithExtent = IfcTextLiteralWithExtent;
    class IfcTrapeziumProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, BottomXDim, TopXDim, YDim, TopXOffset) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.BottomXDim = BottomXDim;
        this.TopXDim = TopXDim;
        this.YDim = YDim;
        this.TopXOffset = TopXOffset;
        this.type = 2715220739;
      }
    }
    IFC2X32.IfcTrapeziumProfileDef = IfcTrapeziumProfileDef;
    class IfcTwoDirectionRepeatFactor extends IfcOneDirectionRepeatFactor {
      constructor(RepeatFactor, SecondRepeatFactor) {
        super(RepeatFactor);
        this.RepeatFactor = RepeatFactor;
        this.SecondRepeatFactor = SecondRepeatFactor;
        this.type = 1345879162;
      }
    }
    IFC2X32.IfcTwoDirectionRepeatFactor = IfcTwoDirectionRepeatFactor;
    class IfcTypeObject extends IfcObjectDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.type = 1628702193;
      }
    }
    IFC2X32.IfcTypeObject = IfcTypeObject;
    class IfcTypeProduct extends IfcTypeObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.type = 2347495698;
      }
    }
    IFC2X32.IfcTypeProduct = IfcTypeProduct;
    class IfcUShapeProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, EdgeRadius, FlangeSlope, CentreOfGravityInX) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.Depth = Depth;
        this.FlangeWidth = FlangeWidth;
        this.WebThickness = WebThickness;
        this.FlangeThickness = FlangeThickness;
        this.FilletRadius = FilletRadius;
        this.EdgeRadius = EdgeRadius;
        this.FlangeSlope = FlangeSlope;
        this.CentreOfGravityInX = CentreOfGravityInX;
        this.type = 427810014;
      }
    }
    IFC2X32.IfcUShapeProfileDef = IfcUShapeProfileDef;
    class IfcVector extends IfcGeometricRepresentationItem {
      constructor(Orientation, Magnitude) {
        super();
        this.Orientation = Orientation;
        this.Magnitude = Magnitude;
        this.type = 1417489154;
      }
    }
    IFC2X32.IfcVector = IfcVector;
    class IfcVertexLoop extends IfcLoop {
      constructor(LoopVertex) {
        super();
        this.LoopVertex = LoopVertex;
        this.type = 2759199220;
      }
    }
    IFC2X32.IfcVertexLoop = IfcVertexLoop;
    class IfcWindowLiningProperties extends IfcPropertySetDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, LiningDepth, LiningThickness, TransomThickness, MullionThickness, FirstTransomOffset, SecondTransomOffset, FirstMullionOffset, SecondMullionOffset, ShapeAspectStyle) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.LiningDepth = LiningDepth;
        this.LiningThickness = LiningThickness;
        this.TransomThickness = TransomThickness;
        this.MullionThickness = MullionThickness;
        this.FirstTransomOffset = FirstTransomOffset;
        this.SecondTransomOffset = SecondTransomOffset;
        this.FirstMullionOffset = FirstMullionOffset;
        this.SecondMullionOffset = SecondMullionOffset;
        this.ShapeAspectStyle = ShapeAspectStyle;
        this.type = 336235671;
      }
    }
    IFC2X32.IfcWindowLiningProperties = IfcWindowLiningProperties;
    class IfcWindowPanelProperties extends IfcPropertySetDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, OperationType, PanelPosition, FrameDepth, FrameThickness, ShapeAspectStyle) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.OperationType = OperationType;
        this.PanelPosition = PanelPosition;
        this.FrameDepth = FrameDepth;
        this.FrameThickness = FrameThickness;
        this.ShapeAspectStyle = ShapeAspectStyle;
        this.type = 512836454;
      }
    }
    IFC2X32.IfcWindowPanelProperties = IfcWindowPanelProperties;
    class IfcWindowStyle extends IfcTypeProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ConstructionType, OperationType, ParameterTakesPrecedence, Sizeable) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ConstructionType = ConstructionType;
        this.OperationType = OperationType;
        this.ParameterTakesPrecedence = ParameterTakesPrecedence;
        this.Sizeable = Sizeable;
        this.type = 1299126871;
      }
    }
    IFC2X32.IfcWindowStyle = IfcWindowStyle;
    class IfcZShapeProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, EdgeRadius) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.Depth = Depth;
        this.FlangeWidth = FlangeWidth;
        this.WebThickness = WebThickness;
        this.FlangeThickness = FlangeThickness;
        this.FilletRadius = FilletRadius;
        this.EdgeRadius = EdgeRadius;
        this.type = 2543172580;
      }
    }
    IFC2X32.IfcZShapeProfileDef = IfcZShapeProfileDef;
    class IfcAnnotationCurveOccurrence extends IfcAnnotationOccurrence {
      constructor(Item, Styles, Name) {
        super(Item, Styles, Name);
        this.Item = Item;
        this.Styles = Styles;
        this.Name = Name;
        this.type = 3288037868;
      }
    }
    IFC2X32.IfcAnnotationCurveOccurrence = IfcAnnotationCurveOccurrence;
    class IfcAnnotationFillArea extends IfcGeometricRepresentationItem {
      constructor(OuterBoundary, InnerBoundaries) {
        super();
        this.OuterBoundary = OuterBoundary;
        this.InnerBoundaries = InnerBoundaries;
        this.type = 669184980;
      }
    }
    IFC2X32.IfcAnnotationFillArea = IfcAnnotationFillArea;
    class IfcAnnotationFillAreaOccurrence extends IfcAnnotationOccurrence {
      constructor(Item, Styles, Name, FillStyleTarget, GlobalOrLocal) {
        super(Item, Styles, Name);
        this.Item = Item;
        this.Styles = Styles;
        this.Name = Name;
        this.FillStyleTarget = FillStyleTarget;
        this.GlobalOrLocal = GlobalOrLocal;
        this.type = 2265737646;
      }
    }
    IFC2X32.IfcAnnotationFillAreaOccurrence = IfcAnnotationFillAreaOccurrence;
    class IfcAnnotationSurface extends IfcGeometricRepresentationItem {
      constructor(Item, TextureCoordinates) {
        super();
        this.Item = Item;
        this.TextureCoordinates = TextureCoordinates;
        this.type = 1302238472;
      }
    }
    IFC2X32.IfcAnnotationSurface = IfcAnnotationSurface;
    class IfcAxis1Placement extends IfcPlacement {
      constructor(Location, Axis) {
        super(Location);
        this.Location = Location;
        this.Axis = Axis;
        this.type = 4261334040;
      }
    }
    IFC2X32.IfcAxis1Placement = IfcAxis1Placement;
    class IfcAxis2Placement2D extends IfcPlacement {
      constructor(Location, RefDirection) {
        super(Location);
        this.Location = Location;
        this.RefDirection = RefDirection;
        this.type = 3125803723;
      }
    }
    IFC2X32.IfcAxis2Placement2D = IfcAxis2Placement2D;
    class IfcAxis2Placement3D extends IfcPlacement {
      constructor(Location, Axis, RefDirection) {
        super(Location);
        this.Location = Location;
        this.Axis = Axis;
        this.RefDirection = RefDirection;
        this.type = 2740243338;
      }
    }
    IFC2X32.IfcAxis2Placement3D = IfcAxis2Placement3D;
    class IfcBooleanResult extends IfcGeometricRepresentationItem {
      constructor(Operator, FirstOperand, SecondOperand) {
        super();
        this.Operator = Operator;
        this.FirstOperand = FirstOperand;
        this.SecondOperand = SecondOperand;
        this.type = 2736907675;
      }
    }
    IFC2X32.IfcBooleanResult = IfcBooleanResult;
    class IfcBoundedSurface extends IfcSurface {
      constructor() {
        super();
        this.type = 4182860854;
      }
    }
    IFC2X32.IfcBoundedSurface = IfcBoundedSurface;
    class IfcBoundingBox extends IfcGeometricRepresentationItem {
      constructor(Corner, XDim, YDim, ZDim) {
        super();
        this.Corner = Corner;
        this.XDim = XDim;
        this.YDim = YDim;
        this.ZDim = ZDim;
        this.type = 2581212453;
      }
    }
    IFC2X32.IfcBoundingBox = IfcBoundingBox;
    class IfcBoxedHalfSpace extends IfcHalfSpaceSolid {
      constructor(BaseSurface, AgreementFlag, Enclosure) {
        super(BaseSurface, AgreementFlag);
        this.BaseSurface = BaseSurface;
        this.AgreementFlag = AgreementFlag;
        this.Enclosure = Enclosure;
        this.type = 2713105998;
      }
    }
    IFC2X32.IfcBoxedHalfSpace = IfcBoxedHalfSpace;
    class IfcCShapeProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, Depth, Width, WallThickness, Girth, InternalFilletRadius, CentreOfGravityInX) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.Depth = Depth;
        this.Width = Width;
        this.WallThickness = WallThickness;
        this.Girth = Girth;
        this.InternalFilletRadius = InternalFilletRadius;
        this.CentreOfGravityInX = CentreOfGravityInX;
        this.type = 2898889636;
      }
    }
    IFC2X32.IfcCShapeProfileDef = IfcCShapeProfileDef;
    class IfcCartesianPoint extends IfcPoint {
      constructor(Coordinates) {
        super();
        this.Coordinates = Coordinates;
        this.type = 1123145078;
      }
    }
    IFC2X32.IfcCartesianPoint = IfcCartesianPoint;
    class IfcCartesianTransformationOperator extends IfcGeometricRepresentationItem {
      constructor(Axis1, Axis2, LocalOrigin, Scale) {
        super();
        this.Axis1 = Axis1;
        this.Axis2 = Axis2;
        this.LocalOrigin = LocalOrigin;
        this.Scale = Scale;
        this.type = 59481748;
      }
    }
    IFC2X32.IfcCartesianTransformationOperator = IfcCartesianTransformationOperator;
    class IfcCartesianTransformationOperator2D extends IfcCartesianTransformationOperator {
      constructor(Axis1, Axis2, LocalOrigin, Scale) {
        super(Axis1, Axis2, LocalOrigin, Scale);
        this.Axis1 = Axis1;
        this.Axis2 = Axis2;
        this.LocalOrigin = LocalOrigin;
        this.Scale = Scale;
        this.type = 3749851601;
      }
    }
    IFC2X32.IfcCartesianTransformationOperator2D = IfcCartesianTransformationOperator2D;
    class IfcCartesianTransformationOperator2DnonUniform extends IfcCartesianTransformationOperator2D {
      constructor(Axis1, Axis2, LocalOrigin, Scale, Scale2) {
        super(Axis1, Axis2, LocalOrigin, Scale);
        this.Axis1 = Axis1;
        this.Axis2 = Axis2;
        this.LocalOrigin = LocalOrigin;
        this.Scale = Scale;
        this.Scale2 = Scale2;
        this.type = 3486308946;
      }
    }
    IFC2X32.IfcCartesianTransformationOperator2DnonUniform = IfcCartesianTransformationOperator2DnonUniform;
    class IfcCartesianTransformationOperator3D extends IfcCartesianTransformationOperator {
      constructor(Axis1, Axis2, LocalOrigin, Scale, Axis3) {
        super(Axis1, Axis2, LocalOrigin, Scale);
        this.Axis1 = Axis1;
        this.Axis2 = Axis2;
        this.LocalOrigin = LocalOrigin;
        this.Scale = Scale;
        this.Axis3 = Axis3;
        this.type = 3331915920;
      }
    }
    IFC2X32.IfcCartesianTransformationOperator3D = IfcCartesianTransformationOperator3D;
    class IfcCartesianTransformationOperator3DnonUniform extends IfcCartesianTransformationOperator3D {
      constructor(Axis1, Axis2, LocalOrigin, Scale, Axis3, Scale2, Scale3) {
        super(Axis1, Axis2, LocalOrigin, Scale, Axis3);
        this.Axis1 = Axis1;
        this.Axis2 = Axis2;
        this.LocalOrigin = LocalOrigin;
        this.Scale = Scale;
        this.Axis3 = Axis3;
        this.Scale2 = Scale2;
        this.Scale3 = Scale3;
        this.type = 1416205885;
      }
    }
    IFC2X32.IfcCartesianTransformationOperator3DnonUniform = IfcCartesianTransformationOperator3DnonUniform;
    class IfcCircleProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, Radius) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.Radius = Radius;
        this.type = 1383045692;
      }
    }
    IFC2X32.IfcCircleProfileDef = IfcCircleProfileDef;
    class IfcClosedShell extends IfcConnectedFaceSet {
      constructor(CfsFaces) {
        super(CfsFaces);
        this.CfsFaces = CfsFaces;
        this.type = 2205249479;
      }
    }
    IFC2X32.IfcClosedShell = IfcClosedShell;
    class IfcCompositeCurveSegment extends IfcGeometricRepresentationItem {
      constructor(Transition, SameSense, ParentCurve) {
        super();
        this.Transition = Transition;
        this.SameSense = SameSense;
        this.ParentCurve = ParentCurve;
        this.type = 2485617015;
      }
    }
    IFC2X32.IfcCompositeCurveSegment = IfcCompositeCurveSegment;
    class IfcCraneRailAShapeProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, OverallHeight, BaseWidth2, Radius, HeadWidth, HeadDepth2, HeadDepth3, WebThickness, BaseWidth4, BaseDepth1, BaseDepth2, BaseDepth3, CentreOfGravityInY) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.OverallHeight = OverallHeight;
        this.BaseWidth2 = BaseWidth2;
        this.Radius = Radius;
        this.HeadWidth = HeadWidth;
        this.HeadDepth2 = HeadDepth2;
        this.HeadDepth3 = HeadDepth3;
        this.WebThickness = WebThickness;
        this.BaseWidth4 = BaseWidth4;
        this.BaseDepth1 = BaseDepth1;
        this.BaseDepth2 = BaseDepth2;
        this.BaseDepth3 = BaseDepth3;
        this.CentreOfGravityInY = CentreOfGravityInY;
        this.type = 4133800736;
      }
    }
    IFC2X32.IfcCraneRailAShapeProfileDef = IfcCraneRailAShapeProfileDef;
    class IfcCraneRailFShapeProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, OverallHeight, HeadWidth, Radius, HeadDepth2, HeadDepth3, WebThickness, BaseDepth1, BaseDepth2, CentreOfGravityInY) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.OverallHeight = OverallHeight;
        this.HeadWidth = HeadWidth;
        this.Radius = Radius;
        this.HeadDepth2 = HeadDepth2;
        this.HeadDepth3 = HeadDepth3;
        this.WebThickness = WebThickness;
        this.BaseDepth1 = BaseDepth1;
        this.BaseDepth2 = BaseDepth2;
        this.CentreOfGravityInY = CentreOfGravityInY;
        this.type = 194851669;
      }
    }
    IFC2X32.IfcCraneRailFShapeProfileDef = IfcCraneRailFShapeProfileDef;
    class IfcCsgPrimitive3D extends IfcGeometricRepresentationItem {
      constructor(Position) {
        super();
        this.Position = Position;
        this.type = 2506170314;
      }
    }
    IFC2X32.IfcCsgPrimitive3D = IfcCsgPrimitive3D;
    class IfcCsgSolid extends IfcSolidModel {
      constructor(TreeRootExpression) {
        super();
        this.TreeRootExpression = TreeRootExpression;
        this.type = 2147822146;
      }
    }
    IFC2X32.IfcCsgSolid = IfcCsgSolid;
    class IfcCurve extends IfcGeometricRepresentationItem {
      constructor() {
        super();
        this.type = 2601014836;
      }
    }
    IFC2X32.IfcCurve = IfcCurve;
    class IfcCurveBoundedPlane extends IfcBoundedSurface {
      constructor(BasisSurface, OuterBoundary, InnerBoundaries) {
        super();
        this.BasisSurface = BasisSurface;
        this.OuterBoundary = OuterBoundary;
        this.InnerBoundaries = InnerBoundaries;
        this.type = 2827736869;
      }
    }
    IFC2X32.IfcCurveBoundedPlane = IfcCurveBoundedPlane;
    class IfcDefinedSymbol extends IfcGeometricRepresentationItem {
      constructor(Definition, Target) {
        super();
        this.Definition = Definition;
        this.Target = Target;
        this.type = 693772133;
      }
    }
    IFC2X32.IfcDefinedSymbol = IfcDefinedSymbol;
    class IfcDimensionCurve extends IfcAnnotationCurveOccurrence {
      constructor(Item, Styles, Name) {
        super(Item, Styles, Name);
        this.Item = Item;
        this.Styles = Styles;
        this.Name = Name;
        this.type = 606661476;
      }
    }
    IFC2X32.IfcDimensionCurve = IfcDimensionCurve;
    class IfcDimensionCurveTerminator extends IfcTerminatorSymbol {
      constructor(Item, Styles, Name, AnnotatedCurve, Role) {
        super(Item, Styles, Name, AnnotatedCurve);
        this.Item = Item;
        this.Styles = Styles;
        this.Name = Name;
        this.AnnotatedCurve = AnnotatedCurve;
        this.Role = Role;
        this.type = 4054601972;
      }
    }
    IFC2X32.IfcDimensionCurveTerminator = IfcDimensionCurveTerminator;
    class IfcDirection extends IfcGeometricRepresentationItem {
      constructor(DirectionRatios) {
        super();
        this.DirectionRatios = DirectionRatios;
        this.type = 32440307;
      }
    }
    IFC2X32.IfcDirection = IfcDirection;
    class IfcDoorLiningProperties extends IfcPropertySetDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, LiningDepth, LiningThickness, ThresholdDepth, ThresholdThickness, TransomThickness, TransomOffset, LiningOffset, ThresholdOffset, CasingThickness, CasingDepth, ShapeAspectStyle) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.LiningDepth = LiningDepth;
        this.LiningThickness = LiningThickness;
        this.ThresholdDepth = ThresholdDepth;
        this.ThresholdThickness = ThresholdThickness;
        this.TransomThickness = TransomThickness;
        this.TransomOffset = TransomOffset;
        this.LiningOffset = LiningOffset;
        this.ThresholdOffset = ThresholdOffset;
        this.CasingThickness = CasingThickness;
        this.CasingDepth = CasingDepth;
        this.ShapeAspectStyle = ShapeAspectStyle;
        this.type = 2963535650;
      }
    }
    IFC2X32.IfcDoorLiningProperties = IfcDoorLiningProperties;
    class IfcDoorPanelProperties extends IfcPropertySetDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, PanelDepth, PanelOperation, PanelWidth, PanelPosition, ShapeAspectStyle) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.PanelDepth = PanelDepth;
        this.PanelOperation = PanelOperation;
        this.PanelWidth = PanelWidth;
        this.PanelPosition = PanelPosition;
        this.ShapeAspectStyle = ShapeAspectStyle;
        this.type = 1714330368;
      }
    }
    IFC2X32.IfcDoorPanelProperties = IfcDoorPanelProperties;
    class IfcDoorStyle extends IfcTypeProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, OperationType, ConstructionType, ParameterTakesPrecedence, Sizeable) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.OperationType = OperationType;
        this.ConstructionType = ConstructionType;
        this.ParameterTakesPrecedence = ParameterTakesPrecedence;
        this.Sizeable = Sizeable;
        this.type = 526551008;
      }
    }
    IFC2X32.IfcDoorStyle = IfcDoorStyle;
    class IfcDraughtingCallout extends IfcGeometricRepresentationItem {
      constructor(Contents) {
        super();
        this.Contents = Contents;
        this.type = 3073041342;
      }
    }
    IFC2X32.IfcDraughtingCallout = IfcDraughtingCallout;
    class IfcDraughtingPreDefinedColour extends IfcPreDefinedColour {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 445594917;
      }
    }
    IFC2X32.IfcDraughtingPreDefinedColour = IfcDraughtingPreDefinedColour;
    class IfcDraughtingPreDefinedCurveFont extends IfcPreDefinedCurveFont {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 4006246654;
      }
    }
    IFC2X32.IfcDraughtingPreDefinedCurveFont = IfcDraughtingPreDefinedCurveFont;
    class IfcEdgeLoop extends IfcLoop {
      constructor(EdgeList) {
        super();
        this.EdgeList = EdgeList;
        this.type = 1472233963;
      }
    }
    IFC2X32.IfcEdgeLoop = IfcEdgeLoop;
    class IfcElementQuantity extends IfcPropertySetDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, MethodOfMeasurement, Quantities) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.MethodOfMeasurement = MethodOfMeasurement;
        this.Quantities = Quantities;
        this.type = 1883228015;
      }
    }
    IFC2X32.IfcElementQuantity = IfcElementQuantity;
    class IfcElementType extends IfcTypeProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 339256511;
      }
    }
    IFC2X32.IfcElementType = IfcElementType;
    class IfcElementarySurface extends IfcSurface {
      constructor(Position) {
        super();
        this.Position = Position;
        this.type = 2777663545;
      }
    }
    IFC2X32.IfcElementarySurface = IfcElementarySurface;
    class IfcEllipseProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, SemiAxis1, SemiAxis2) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.SemiAxis1 = SemiAxis1;
        this.SemiAxis2 = SemiAxis2;
        this.type = 2835456948;
      }
    }
    IFC2X32.IfcEllipseProfileDef = IfcEllipseProfileDef;
    class IfcEnergyProperties extends IfcPropertySetDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, EnergySequence, UserDefinedEnergySequence) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.EnergySequence = EnergySequence;
        this.UserDefinedEnergySequence = UserDefinedEnergySequence;
        this.type = 80994333;
      }
    }
    IFC2X32.IfcEnergyProperties = IfcEnergyProperties;
    class IfcExtrudedAreaSolid extends IfcSweptAreaSolid {
      constructor(SweptArea, Position, ExtrudedDirection, Depth) {
        super(SweptArea, Position);
        this.SweptArea = SweptArea;
        this.Position = Position;
        this.ExtrudedDirection = ExtrudedDirection;
        this.Depth = Depth;
        this.type = 477187591;
      }
    }
    IFC2X32.IfcExtrudedAreaSolid = IfcExtrudedAreaSolid;
    class IfcFaceBasedSurfaceModel extends IfcGeometricRepresentationItem {
      constructor(FbsmFaces) {
        super();
        this.FbsmFaces = FbsmFaces;
        this.type = 2047409740;
      }
    }
    IFC2X32.IfcFaceBasedSurfaceModel = IfcFaceBasedSurfaceModel;
    class IfcFillAreaStyleHatching extends IfcGeometricRepresentationItem {
      constructor(HatchLineAppearance, StartOfNextHatchLine, PointOfReferenceHatchLine, PatternStart, HatchLineAngle) {
        super();
        this.HatchLineAppearance = HatchLineAppearance;
        this.StartOfNextHatchLine = StartOfNextHatchLine;
        this.PointOfReferenceHatchLine = PointOfReferenceHatchLine;
        this.PatternStart = PatternStart;
        this.HatchLineAngle = HatchLineAngle;
        this.type = 374418227;
      }
    }
    IFC2X32.IfcFillAreaStyleHatching = IfcFillAreaStyleHatching;
    class IfcFillAreaStyleTileSymbolWithStyle extends IfcGeometricRepresentationItem {
      constructor(Symbol2) {
        super();
        this.Symbol = Symbol2;
        this.type = 4203026998;
      }
    }
    IFC2X32.IfcFillAreaStyleTileSymbolWithStyle = IfcFillAreaStyleTileSymbolWithStyle;
    class IfcFillAreaStyleTiles extends IfcGeometricRepresentationItem {
      constructor(TilingPattern, Tiles, TilingScale) {
        super();
        this.TilingPattern = TilingPattern;
        this.Tiles = Tiles;
        this.TilingScale = TilingScale;
        this.type = 315944413;
      }
    }
    IFC2X32.IfcFillAreaStyleTiles = IfcFillAreaStyleTiles;
    class IfcFluidFlowProperties extends IfcPropertySetDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, PropertySource, FlowConditionTimeSeries, VelocityTimeSeries, FlowrateTimeSeries, Fluid, PressureTimeSeries, UserDefinedPropertySource, TemperatureSingleValue, WetBulbTemperatureSingleValue, WetBulbTemperatureTimeSeries, TemperatureTimeSeries, FlowrateSingleValue, FlowConditionSingleValue, VelocitySingleValue, PressureSingleValue) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.PropertySource = PropertySource;
        this.FlowConditionTimeSeries = FlowConditionTimeSeries;
        this.VelocityTimeSeries = VelocityTimeSeries;
        this.FlowrateTimeSeries = FlowrateTimeSeries;
        this.Fluid = Fluid;
        this.PressureTimeSeries = PressureTimeSeries;
        this.UserDefinedPropertySource = UserDefinedPropertySource;
        this.TemperatureSingleValue = TemperatureSingleValue;
        this.WetBulbTemperatureSingleValue = WetBulbTemperatureSingleValue;
        this.WetBulbTemperatureTimeSeries = WetBulbTemperatureTimeSeries;
        this.TemperatureTimeSeries = TemperatureTimeSeries;
        this.FlowrateSingleValue = FlowrateSingleValue;
        this.FlowConditionSingleValue = FlowConditionSingleValue;
        this.VelocitySingleValue = VelocitySingleValue;
        this.PressureSingleValue = PressureSingleValue;
        this.type = 3455213021;
      }
    }
    IFC2X32.IfcFluidFlowProperties = IfcFluidFlowProperties;
    class IfcFurnishingElementType extends IfcElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 4238390223;
      }
    }
    IFC2X32.IfcFurnishingElementType = IfcFurnishingElementType;
    class IfcFurnitureType extends IfcFurnishingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, AssemblyPlace) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.AssemblyPlace = AssemblyPlace;
        this.type = 1268542332;
      }
    }
    IFC2X32.IfcFurnitureType = IfcFurnitureType;
    class IfcGeometricCurveSet extends IfcGeometricSet {
      constructor(Elements) {
        super(Elements);
        this.Elements = Elements;
        this.type = 987898635;
      }
    }
    IFC2X32.IfcGeometricCurveSet = IfcGeometricCurveSet;
    class IfcIShapeProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, OverallWidth, OverallDepth, WebThickness, FlangeThickness, FilletRadius) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.OverallWidth = OverallWidth;
        this.OverallDepth = OverallDepth;
        this.WebThickness = WebThickness;
        this.FlangeThickness = FlangeThickness;
        this.FilletRadius = FilletRadius;
        this.type = 1484403080;
      }
    }
    IFC2X32.IfcIShapeProfileDef = IfcIShapeProfileDef;
    class IfcLShapeProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, Depth, Width, Thickness, FilletRadius, EdgeRadius, LegSlope, CentreOfGravityInX, CentreOfGravityInY) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.Depth = Depth;
        this.Width = Width;
        this.Thickness = Thickness;
        this.FilletRadius = FilletRadius;
        this.EdgeRadius = EdgeRadius;
        this.LegSlope = LegSlope;
        this.CentreOfGravityInX = CentreOfGravityInX;
        this.CentreOfGravityInY = CentreOfGravityInY;
        this.type = 572779678;
      }
    }
    IFC2X32.IfcLShapeProfileDef = IfcLShapeProfileDef;
    class IfcLine extends IfcCurve {
      constructor(Pnt, Dir) {
        super();
        this.Pnt = Pnt;
        this.Dir = Dir;
        this.type = 1281925730;
      }
    }
    IFC2X32.IfcLine = IfcLine;
    class IfcManifoldSolidBrep extends IfcSolidModel {
      constructor(Outer) {
        super();
        this.Outer = Outer;
        this.type = 1425443689;
      }
    }
    IFC2X32.IfcManifoldSolidBrep = IfcManifoldSolidBrep;
    class IfcObject extends IfcObjectDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.type = 3888040117;
      }
    }
    IFC2X32.IfcObject = IfcObject;
    class IfcOffsetCurve2D extends IfcCurve {
      constructor(BasisCurve, Distance, SelfIntersect) {
        super();
        this.BasisCurve = BasisCurve;
        this.Distance = Distance;
        this.SelfIntersect = SelfIntersect;
        this.type = 3388369263;
      }
    }
    IFC2X32.IfcOffsetCurve2D = IfcOffsetCurve2D;
    class IfcOffsetCurve3D extends IfcCurve {
      constructor(BasisCurve, Distance, SelfIntersect, RefDirection) {
        super();
        this.BasisCurve = BasisCurve;
        this.Distance = Distance;
        this.SelfIntersect = SelfIntersect;
        this.RefDirection = RefDirection;
        this.type = 3505215534;
      }
    }
    IFC2X32.IfcOffsetCurve3D = IfcOffsetCurve3D;
    class IfcPermeableCoveringProperties extends IfcPropertySetDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, OperationType, PanelPosition, FrameDepth, FrameThickness, ShapeAspectStyle) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.OperationType = OperationType;
        this.PanelPosition = PanelPosition;
        this.FrameDepth = FrameDepth;
        this.FrameThickness = FrameThickness;
        this.ShapeAspectStyle = ShapeAspectStyle;
        this.type = 3566463478;
      }
    }
    IFC2X32.IfcPermeableCoveringProperties = IfcPermeableCoveringProperties;
    class IfcPlanarBox extends IfcPlanarExtent {
      constructor(SizeInX, SizeInY, Placement) {
        super(SizeInX, SizeInY);
        this.SizeInX = SizeInX;
        this.SizeInY = SizeInY;
        this.Placement = Placement;
        this.type = 603570806;
      }
    }
    IFC2X32.IfcPlanarBox = IfcPlanarBox;
    class IfcPlane extends IfcElementarySurface {
      constructor(Position) {
        super(Position);
        this.Position = Position;
        this.type = 220341763;
      }
    }
    IFC2X32.IfcPlane = IfcPlane;
    class IfcProcess extends IfcObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.type = 2945172077;
      }
    }
    IFC2X32.IfcProcess = IfcProcess;
    class IfcProduct extends IfcObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.type = 4208778838;
      }
    }
    IFC2X32.IfcProduct = IfcProduct;
    class IfcProject extends IfcObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.LongName = LongName;
        this.Phase = Phase;
        this.RepresentationContexts = RepresentationContexts;
        this.UnitsInContext = UnitsInContext;
        this.type = 103090709;
      }
    }
    IFC2X32.IfcProject = IfcProject;
    class IfcProjectionCurve extends IfcAnnotationCurveOccurrence {
      constructor(Item, Styles, Name) {
        super(Item, Styles, Name);
        this.Item = Item;
        this.Styles = Styles;
        this.Name = Name;
        this.type = 4194566429;
      }
    }
    IFC2X32.IfcProjectionCurve = IfcProjectionCurve;
    class IfcPropertySet extends IfcPropertySetDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, HasProperties) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.HasProperties = HasProperties;
        this.type = 1451395588;
      }
    }
    IFC2X32.IfcPropertySet = IfcPropertySet;
    class IfcProxy extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, ProxyType, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.ProxyType = ProxyType;
        this.Tag = Tag;
        this.type = 3219374653;
      }
    }
    IFC2X32.IfcProxy = IfcProxy;
    class IfcRectangleHollowProfileDef extends IfcRectangleProfileDef {
      constructor(ProfileType, ProfileName, Position, XDim, YDim, WallThickness, InnerFilletRadius, OuterFilletRadius) {
        super(ProfileType, ProfileName, Position, XDim, YDim);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.XDim = XDim;
        this.YDim = YDim;
        this.WallThickness = WallThickness;
        this.InnerFilletRadius = InnerFilletRadius;
        this.OuterFilletRadius = OuterFilletRadius;
        this.type = 2770003689;
      }
    }
    IFC2X32.IfcRectangleHollowProfileDef = IfcRectangleHollowProfileDef;
    class IfcRectangularPyramid extends IfcCsgPrimitive3D {
      constructor(Position, XLength, YLength, Height) {
        super(Position);
        this.Position = Position;
        this.XLength = XLength;
        this.YLength = YLength;
        this.Height = Height;
        this.type = 2798486643;
      }
    }
    IFC2X32.IfcRectangularPyramid = IfcRectangularPyramid;
    class IfcRectangularTrimmedSurface extends IfcBoundedSurface {
      constructor(BasisSurface, U1, V1, U2, V2, Usense, Vsense) {
        super();
        this.BasisSurface = BasisSurface;
        this.U1 = U1;
        this.V1 = V1;
        this.U2 = U2;
        this.V2 = V2;
        this.Usense = Usense;
        this.Vsense = Vsense;
        this.type = 3454111270;
      }
    }
    IFC2X32.IfcRectangularTrimmedSurface = IfcRectangularTrimmedSurface;
    class IfcRelAssigns extends IfcRelationship {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.type = 3939117080;
      }
    }
    IFC2X32.IfcRelAssigns = IfcRelAssigns;
    class IfcRelAssignsToActor extends IfcRelAssigns {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingActor, ActingRole) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingActor = RelatingActor;
        this.ActingRole = ActingRole;
        this.type = 1683148259;
      }
    }
    IFC2X32.IfcRelAssignsToActor = IfcRelAssignsToActor;
    class IfcRelAssignsToControl extends IfcRelAssigns {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingControl = RelatingControl;
        this.type = 2495723537;
      }
    }
    IFC2X32.IfcRelAssignsToControl = IfcRelAssignsToControl;
    class IfcRelAssignsToGroup extends IfcRelAssigns {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingGroup = RelatingGroup;
        this.type = 1307041759;
      }
    }
    IFC2X32.IfcRelAssignsToGroup = IfcRelAssignsToGroup;
    class IfcRelAssignsToProcess extends IfcRelAssigns {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingProcess, QuantityInProcess) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingProcess = RelatingProcess;
        this.QuantityInProcess = QuantityInProcess;
        this.type = 4278684876;
      }
    }
    IFC2X32.IfcRelAssignsToProcess = IfcRelAssignsToProcess;
    class IfcRelAssignsToProduct extends IfcRelAssigns {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingProduct) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingProduct = RelatingProduct;
        this.type = 2857406711;
      }
    }
    IFC2X32.IfcRelAssignsToProduct = IfcRelAssignsToProduct;
    class IfcRelAssignsToProjectOrder extends IfcRelAssignsToControl {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingControl = RelatingControl;
        this.type = 3372526763;
      }
    }
    IFC2X32.IfcRelAssignsToProjectOrder = IfcRelAssignsToProjectOrder;
    class IfcRelAssignsToResource extends IfcRelAssigns {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingResource) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingResource = RelatingResource;
        this.type = 205026976;
      }
    }
    IFC2X32.IfcRelAssignsToResource = IfcRelAssignsToResource;
    class IfcRelAssociates extends IfcRelationship {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.type = 1865459582;
      }
    }
    IFC2X32.IfcRelAssociates = IfcRelAssociates;
    class IfcRelAssociatesAppliedValue extends IfcRelAssociates {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingAppliedValue) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingAppliedValue = RelatingAppliedValue;
        this.type = 1327628568;
      }
    }
    IFC2X32.IfcRelAssociatesAppliedValue = IfcRelAssociatesAppliedValue;
    class IfcRelAssociatesApproval extends IfcRelAssociates {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingApproval) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingApproval = RelatingApproval;
        this.type = 4095574036;
      }
    }
    IFC2X32.IfcRelAssociatesApproval = IfcRelAssociatesApproval;
    class IfcRelAssociatesClassification extends IfcRelAssociates {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingClassification) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingClassification = RelatingClassification;
        this.type = 919958153;
      }
    }
    IFC2X32.IfcRelAssociatesClassification = IfcRelAssociatesClassification;
    class IfcRelAssociatesConstraint extends IfcRelAssociates {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, Intent, RelatingConstraint) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.Intent = Intent;
        this.RelatingConstraint = RelatingConstraint;
        this.type = 2728634034;
      }
    }
    IFC2X32.IfcRelAssociatesConstraint = IfcRelAssociatesConstraint;
    class IfcRelAssociatesDocument extends IfcRelAssociates {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingDocument) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingDocument = RelatingDocument;
        this.type = 982818633;
      }
    }
    IFC2X32.IfcRelAssociatesDocument = IfcRelAssociatesDocument;
    class IfcRelAssociatesLibrary extends IfcRelAssociates {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingLibrary) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingLibrary = RelatingLibrary;
        this.type = 3840914261;
      }
    }
    IFC2X32.IfcRelAssociatesLibrary = IfcRelAssociatesLibrary;
    class IfcRelAssociatesMaterial extends IfcRelAssociates {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingMaterial) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingMaterial = RelatingMaterial;
        this.type = 2655215786;
      }
    }
    IFC2X32.IfcRelAssociatesMaterial = IfcRelAssociatesMaterial;
    class IfcRelAssociatesProfileProperties extends IfcRelAssociates {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingProfileProperties, ProfileSectionLocation, ProfileOrientation) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingProfileProperties = RelatingProfileProperties;
        this.ProfileSectionLocation = ProfileSectionLocation;
        this.ProfileOrientation = ProfileOrientation;
        this.type = 2851387026;
      }
    }
    IFC2X32.IfcRelAssociatesProfileProperties = IfcRelAssociatesProfileProperties;
    class IfcRelConnects extends IfcRelationship {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 826625072;
      }
    }
    IFC2X32.IfcRelConnects = IfcRelConnects;
    class IfcRelConnectsElements extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ConnectionGeometry = ConnectionGeometry;
        this.RelatingElement = RelatingElement;
        this.RelatedElement = RelatedElement;
        this.type = 1204542856;
      }
    }
    IFC2X32.IfcRelConnectsElements = IfcRelConnectsElements;
    class IfcRelConnectsPathElements extends IfcRelConnectsElements {
      constructor(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement, RelatingPriorities, RelatedPriorities, RelatedConnectionType, RelatingConnectionType) {
        super(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ConnectionGeometry = ConnectionGeometry;
        this.RelatingElement = RelatingElement;
        this.RelatedElement = RelatedElement;
        this.RelatingPriorities = RelatingPriorities;
        this.RelatedPriorities = RelatedPriorities;
        this.RelatedConnectionType = RelatedConnectionType;
        this.RelatingConnectionType = RelatingConnectionType;
        this.type = 3945020480;
      }
    }
    IFC2X32.IfcRelConnectsPathElements = IfcRelConnectsPathElements;
    class IfcRelConnectsPortToElement extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingPort, RelatedElement) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingPort = RelatingPort;
        this.RelatedElement = RelatedElement;
        this.type = 4201705270;
      }
    }
    IFC2X32.IfcRelConnectsPortToElement = IfcRelConnectsPortToElement;
    class IfcRelConnectsPorts extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingPort, RelatedPort, RealizingElement) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingPort = RelatingPort;
        this.RelatedPort = RelatedPort;
        this.RealizingElement = RealizingElement;
        this.type = 3190031847;
      }
    }
    IFC2X32.IfcRelConnectsPorts = IfcRelConnectsPorts;
    class IfcRelConnectsStructuralActivity extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedStructuralActivity) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingElement = RelatingElement;
        this.RelatedStructuralActivity = RelatedStructuralActivity;
        this.type = 2127690289;
      }
    }
    IFC2X32.IfcRelConnectsStructuralActivity = IfcRelConnectsStructuralActivity;
    class IfcRelConnectsStructuralElement extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedStructuralMember) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingElement = RelatingElement;
        this.RelatedStructuralMember = RelatedStructuralMember;
        this.type = 3912681535;
      }
    }
    IFC2X32.IfcRelConnectsStructuralElement = IfcRelConnectsStructuralElement;
    class IfcRelConnectsStructuralMember extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingStructuralMember = RelatingStructuralMember;
        this.RelatedStructuralConnection = RelatedStructuralConnection;
        this.AppliedCondition = AppliedCondition;
        this.AdditionalConditions = AdditionalConditions;
        this.SupportedLength = SupportedLength;
        this.ConditionCoordinateSystem = ConditionCoordinateSystem;
        this.type = 1638771189;
      }
    }
    IFC2X32.IfcRelConnectsStructuralMember = IfcRelConnectsStructuralMember;
    class IfcRelConnectsWithEccentricity extends IfcRelConnectsStructuralMember {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem, ConnectionConstraint) {
        super(GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingStructuralMember = RelatingStructuralMember;
        this.RelatedStructuralConnection = RelatedStructuralConnection;
        this.AppliedCondition = AppliedCondition;
        this.AdditionalConditions = AdditionalConditions;
        this.SupportedLength = SupportedLength;
        this.ConditionCoordinateSystem = ConditionCoordinateSystem;
        this.ConnectionConstraint = ConnectionConstraint;
        this.type = 504942748;
      }
    }
    IFC2X32.IfcRelConnectsWithEccentricity = IfcRelConnectsWithEccentricity;
    class IfcRelConnectsWithRealizingElements extends IfcRelConnectsElements {
      constructor(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement, RealizingElements, ConnectionType) {
        super(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ConnectionGeometry = ConnectionGeometry;
        this.RelatingElement = RelatingElement;
        this.RelatedElement = RelatedElement;
        this.RealizingElements = RealizingElements;
        this.ConnectionType = ConnectionType;
        this.type = 3678494232;
      }
    }
    IFC2X32.IfcRelConnectsWithRealizingElements = IfcRelConnectsWithRealizingElements;
    class IfcRelContainedInSpatialStructure extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedElements, RelatingStructure) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedElements = RelatedElements;
        this.RelatingStructure = RelatingStructure;
        this.type = 3242617779;
      }
    }
    IFC2X32.IfcRelContainedInSpatialStructure = IfcRelContainedInSpatialStructure;
    class IfcRelCoversBldgElements extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingBuildingElement, RelatedCoverings) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingBuildingElement = RelatingBuildingElement;
        this.RelatedCoverings = RelatedCoverings;
        this.type = 886880790;
      }
    }
    IFC2X32.IfcRelCoversBldgElements = IfcRelCoversBldgElements;
    class IfcRelCoversSpaces extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedSpace, RelatedCoverings) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedSpace = RelatedSpace;
        this.RelatedCoverings = RelatedCoverings;
        this.type = 2802773753;
      }
    }
    IFC2X32.IfcRelCoversSpaces = IfcRelCoversSpaces;
    class IfcRelDecomposes extends IfcRelationship {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingObject = RelatingObject;
        this.RelatedObjects = RelatedObjects;
        this.type = 2551354335;
      }
    }
    IFC2X32.IfcRelDecomposes = IfcRelDecomposes;
    class IfcRelDefines extends IfcRelationship {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.type = 693640335;
      }
    }
    IFC2X32.IfcRelDefines = IfcRelDefines;
    class IfcRelDefinesByProperties extends IfcRelDefines {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingPropertyDefinition) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingPropertyDefinition = RelatingPropertyDefinition;
        this.type = 4186316022;
      }
    }
    IFC2X32.IfcRelDefinesByProperties = IfcRelDefinesByProperties;
    class IfcRelDefinesByType extends IfcRelDefines {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingType) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingType = RelatingType;
        this.type = 781010003;
      }
    }
    IFC2X32.IfcRelDefinesByType = IfcRelDefinesByType;
    class IfcRelFillsElement extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingOpeningElement, RelatedBuildingElement) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingOpeningElement = RelatingOpeningElement;
        this.RelatedBuildingElement = RelatedBuildingElement;
        this.type = 3940055652;
      }
    }
    IFC2X32.IfcRelFillsElement = IfcRelFillsElement;
    class IfcRelFlowControlElements extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedControlElements, RelatingFlowElement) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedControlElements = RelatedControlElements;
        this.RelatingFlowElement = RelatingFlowElement;
        this.type = 279856033;
      }
    }
    IFC2X32.IfcRelFlowControlElements = IfcRelFlowControlElements;
    class IfcRelInteractionRequirements extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, DailyInteraction, ImportanceRating, LocationOfInteraction, RelatedSpaceProgram, RelatingSpaceProgram) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.DailyInteraction = DailyInteraction;
        this.ImportanceRating = ImportanceRating;
        this.LocationOfInteraction = LocationOfInteraction;
        this.RelatedSpaceProgram = RelatedSpaceProgram;
        this.RelatingSpaceProgram = RelatingSpaceProgram;
        this.type = 4189434867;
      }
    }
    IFC2X32.IfcRelInteractionRequirements = IfcRelInteractionRequirements;
    class IfcRelNests extends IfcRelDecomposes {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects) {
        super(GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingObject = RelatingObject;
        this.RelatedObjects = RelatedObjects;
        this.type = 3268803585;
      }
    }
    IFC2X32.IfcRelNests = IfcRelNests;
    class IfcRelOccupiesSpaces extends IfcRelAssignsToActor {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingActor, ActingRole) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingActor, ActingRole);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingActor = RelatingActor;
        this.ActingRole = ActingRole;
        this.type = 2051452291;
      }
    }
    IFC2X32.IfcRelOccupiesSpaces = IfcRelOccupiesSpaces;
    class IfcRelOverridesProperties extends IfcRelDefinesByProperties {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingPropertyDefinition, OverridingProperties) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingPropertyDefinition);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingPropertyDefinition = RelatingPropertyDefinition;
        this.OverridingProperties = OverridingProperties;
        this.type = 202636808;
      }
    }
    IFC2X32.IfcRelOverridesProperties = IfcRelOverridesProperties;
    class IfcRelProjectsElement extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedFeatureElement) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingElement = RelatingElement;
        this.RelatedFeatureElement = RelatedFeatureElement;
        this.type = 750771296;
      }
    }
    IFC2X32.IfcRelProjectsElement = IfcRelProjectsElement;
    class IfcRelReferencedInSpatialStructure extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedElements, RelatingStructure) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedElements = RelatedElements;
        this.RelatingStructure = RelatingStructure;
        this.type = 1245217292;
      }
    }
    IFC2X32.IfcRelReferencedInSpatialStructure = IfcRelReferencedInSpatialStructure;
    class IfcRelSchedulesCostItems extends IfcRelAssignsToControl {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingControl = RelatingControl;
        this.type = 1058617721;
      }
    }
    IFC2X32.IfcRelSchedulesCostItems = IfcRelSchedulesCostItems;
    class IfcRelSequence extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingProcess, RelatedProcess, TimeLag, SequenceType) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingProcess = RelatingProcess;
        this.RelatedProcess = RelatedProcess;
        this.TimeLag = TimeLag;
        this.SequenceType = SequenceType;
        this.type = 4122056220;
      }
    }
    IFC2X32.IfcRelSequence = IfcRelSequence;
    class IfcRelServicesBuildings extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingSystem, RelatedBuildings) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingSystem = RelatingSystem;
        this.RelatedBuildings = RelatedBuildings;
        this.type = 366585022;
      }
    }
    IFC2X32.IfcRelServicesBuildings = IfcRelServicesBuildings;
    class IfcRelSpaceBoundary extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingSpace = RelatingSpace;
        this.RelatedBuildingElement = RelatedBuildingElement;
        this.ConnectionGeometry = ConnectionGeometry;
        this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary;
        this.InternalOrExternalBoundary = InternalOrExternalBoundary;
        this.type = 3451746338;
      }
    }
    IFC2X32.IfcRelSpaceBoundary = IfcRelSpaceBoundary;
    class IfcRelVoidsElement extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingBuildingElement, RelatedOpeningElement) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingBuildingElement = RelatingBuildingElement;
        this.RelatedOpeningElement = RelatedOpeningElement;
        this.type = 1401173127;
      }
    }
    IFC2X32.IfcRelVoidsElement = IfcRelVoidsElement;
    class IfcResource extends IfcObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.type = 2914609552;
      }
    }
    IFC2X32.IfcResource = IfcResource;
    class IfcRevolvedAreaSolid extends IfcSweptAreaSolid {
      constructor(SweptArea, Position, Axis, Angle) {
        super(SweptArea, Position);
        this.SweptArea = SweptArea;
        this.Position = Position;
        this.Axis = Axis;
        this.Angle = Angle;
        this.type = 1856042241;
      }
    }
    IFC2X32.IfcRevolvedAreaSolid = IfcRevolvedAreaSolid;
    class IfcRightCircularCone extends IfcCsgPrimitive3D {
      constructor(Position, Height, BottomRadius) {
        super(Position);
        this.Position = Position;
        this.Height = Height;
        this.BottomRadius = BottomRadius;
        this.type = 4158566097;
      }
    }
    IFC2X32.IfcRightCircularCone = IfcRightCircularCone;
    class IfcRightCircularCylinder extends IfcCsgPrimitive3D {
      constructor(Position, Height, Radius) {
        super(Position);
        this.Position = Position;
        this.Height = Height;
        this.Radius = Radius;
        this.type = 3626867408;
      }
    }
    IFC2X32.IfcRightCircularCylinder = IfcRightCircularCylinder;
    class IfcSpatialStructureElement extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.type = 2706606064;
      }
    }
    IFC2X32.IfcSpatialStructureElement = IfcSpatialStructureElement;
    class IfcSpatialStructureElementType extends IfcElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 3893378262;
      }
    }
    IFC2X32.IfcSpatialStructureElementType = IfcSpatialStructureElementType;
    class IfcSphere extends IfcCsgPrimitive3D {
      constructor(Position, Radius) {
        super(Position);
        this.Position = Position;
        this.Radius = Radius;
        this.type = 451544542;
      }
    }
    IFC2X32.IfcSphere = IfcSphere;
    class IfcStructuralActivity extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.type = 3544373492;
      }
    }
    IFC2X32.IfcStructuralActivity = IfcStructuralActivity;
    class IfcStructuralItem extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.type = 3136571912;
      }
    }
    IFC2X32.IfcStructuralItem = IfcStructuralItem;
    class IfcStructuralMember extends IfcStructuralItem {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.type = 530289379;
      }
    }
    IFC2X32.IfcStructuralMember = IfcStructuralMember;
    class IfcStructuralReaction extends IfcStructuralActivity {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.type = 3689010777;
      }
    }
    IFC2X32.IfcStructuralReaction = IfcStructuralReaction;
    class IfcStructuralSurfaceMember extends IfcStructuralMember {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.PredefinedType = PredefinedType;
        this.Thickness = Thickness;
        this.type = 3979015343;
      }
    }
    IFC2X32.IfcStructuralSurfaceMember = IfcStructuralSurfaceMember;
    class IfcStructuralSurfaceMemberVarying extends IfcStructuralSurfaceMember {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness, SubsequentThickness, VaryingThicknessLocation) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.PredefinedType = PredefinedType;
        this.Thickness = Thickness;
        this.SubsequentThickness = SubsequentThickness;
        this.VaryingThicknessLocation = VaryingThicknessLocation;
        this.type = 2218152070;
      }
    }
    IFC2X32.IfcStructuralSurfaceMemberVarying = IfcStructuralSurfaceMemberVarying;
    class IfcStructuredDimensionCallout extends IfcDraughtingCallout {
      constructor(Contents) {
        super(Contents);
        this.Contents = Contents;
        this.type = 4070609034;
      }
    }
    IFC2X32.IfcStructuredDimensionCallout = IfcStructuredDimensionCallout;
    class IfcSurfaceCurveSweptAreaSolid extends IfcSweptAreaSolid {
      constructor(SweptArea, Position, Directrix, StartParam, EndParam, ReferenceSurface) {
        super(SweptArea, Position);
        this.SweptArea = SweptArea;
        this.Position = Position;
        this.Directrix = Directrix;
        this.StartParam = StartParam;
        this.EndParam = EndParam;
        this.ReferenceSurface = ReferenceSurface;
        this.type = 2028607225;
      }
    }
    IFC2X32.IfcSurfaceCurveSweptAreaSolid = IfcSurfaceCurveSweptAreaSolid;
    class IfcSurfaceOfLinearExtrusion extends IfcSweptSurface {
      constructor(SweptCurve, Position, ExtrudedDirection, Depth) {
        super(SweptCurve, Position);
        this.SweptCurve = SweptCurve;
        this.Position = Position;
        this.ExtrudedDirection = ExtrudedDirection;
        this.Depth = Depth;
        this.type = 2809605785;
      }
    }
    IFC2X32.IfcSurfaceOfLinearExtrusion = IfcSurfaceOfLinearExtrusion;
    class IfcSurfaceOfRevolution extends IfcSweptSurface {
      constructor(SweptCurve, Position, AxisPosition) {
        super(SweptCurve, Position);
        this.SweptCurve = SweptCurve;
        this.Position = Position;
        this.AxisPosition = AxisPosition;
        this.type = 4124788165;
      }
    }
    IFC2X32.IfcSurfaceOfRevolution = IfcSurfaceOfRevolution;
    class IfcSystemFurnitureElementType extends IfcFurnishingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 1580310250;
      }
    }
    IFC2X32.IfcSystemFurnitureElementType = IfcSystemFurnitureElementType;
    class IfcTask extends IfcProcess {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TaskId, Status, WorkMethod, IsMilestone, Priority) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.TaskId = TaskId;
        this.Status = Status;
        this.WorkMethod = WorkMethod;
        this.IsMilestone = IsMilestone;
        this.Priority = Priority;
        this.type = 3473067441;
      }
    }
    IFC2X32.IfcTask = IfcTask;
    class IfcTransportElementType extends IfcElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2097647324;
      }
    }
    IFC2X32.IfcTransportElementType = IfcTransportElementType;
    class IfcActor extends IfcObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.TheActor = TheActor;
        this.type = 2296667514;
      }
    }
    IFC2X32.IfcActor = IfcActor;
    class IfcAnnotation extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.type = 1674181508;
      }
    }
    IFC2X32.IfcAnnotation = IfcAnnotation;
    class IfcAsymmetricIShapeProfileDef extends IfcIShapeProfileDef {
      constructor(ProfileType, ProfileName, Position, OverallWidth, OverallDepth, WebThickness, FlangeThickness, FilletRadius, TopFlangeWidth, TopFlangeThickness, TopFlangeFilletRadius, CentreOfGravityInY) {
        super(ProfileType, ProfileName, Position, OverallWidth, OverallDepth, WebThickness, FlangeThickness, FilletRadius);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.OverallWidth = OverallWidth;
        this.OverallDepth = OverallDepth;
        this.WebThickness = WebThickness;
        this.FlangeThickness = FlangeThickness;
        this.FilletRadius = FilletRadius;
        this.TopFlangeWidth = TopFlangeWidth;
        this.TopFlangeThickness = TopFlangeThickness;
        this.TopFlangeFilletRadius = TopFlangeFilletRadius;
        this.CentreOfGravityInY = CentreOfGravityInY;
        this.type = 3207858831;
      }
    }
    IFC2X32.IfcAsymmetricIShapeProfileDef = IfcAsymmetricIShapeProfileDef;
    class IfcBlock extends IfcCsgPrimitive3D {
      constructor(Position, XLength, YLength, ZLength) {
        super(Position);
        this.Position = Position;
        this.XLength = XLength;
        this.YLength = YLength;
        this.ZLength = ZLength;
        this.type = 1334484129;
      }
    }
    IFC2X32.IfcBlock = IfcBlock;
    class IfcBooleanClippingResult extends IfcBooleanResult {
      constructor(Operator, FirstOperand, SecondOperand) {
        super(Operator, FirstOperand, SecondOperand);
        this.Operator = Operator;
        this.FirstOperand = FirstOperand;
        this.SecondOperand = SecondOperand;
        this.type = 3649129432;
      }
    }
    IFC2X32.IfcBooleanClippingResult = IfcBooleanClippingResult;
    class IfcBoundedCurve extends IfcCurve {
      constructor() {
        super();
        this.type = 1260505505;
      }
    }
    IFC2X32.IfcBoundedCurve = IfcBoundedCurve;
    class IfcBuilding extends IfcSpatialStructureElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, ElevationOfRefHeight, ElevationOfTerrain, BuildingAddress) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.ElevationOfRefHeight = ElevationOfRefHeight;
        this.ElevationOfTerrain = ElevationOfTerrain;
        this.BuildingAddress = BuildingAddress;
        this.type = 4031249490;
      }
    }
    IFC2X32.IfcBuilding = IfcBuilding;
    class IfcBuildingElementType extends IfcElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 1950629157;
      }
    }
    IFC2X32.IfcBuildingElementType = IfcBuildingElementType;
    class IfcBuildingStorey extends IfcSpatialStructureElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, Elevation) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.Elevation = Elevation;
        this.type = 3124254112;
      }
    }
    IFC2X32.IfcBuildingStorey = IfcBuildingStorey;
    class IfcCircleHollowProfileDef extends IfcCircleProfileDef {
      constructor(ProfileType, ProfileName, Position, Radius, WallThickness) {
        super(ProfileType, ProfileName, Position, Radius);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.Radius = Radius;
        this.WallThickness = WallThickness;
        this.type = 2937912522;
      }
    }
    IFC2X32.IfcCircleHollowProfileDef = IfcCircleHollowProfileDef;
    class IfcColumnType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 300633059;
      }
    }
    IFC2X32.IfcColumnType = IfcColumnType;
    class IfcCompositeCurve extends IfcBoundedCurve {
      constructor(Segments, SelfIntersect) {
        super();
        this.Segments = Segments;
        this.SelfIntersect = SelfIntersect;
        this.type = 3732776249;
      }
    }
    IFC2X32.IfcCompositeCurve = IfcCompositeCurve;
    class IfcConic extends IfcCurve {
      constructor(Position) {
        super();
        this.Position = Position;
        this.type = 2510884976;
      }
    }
    IFC2X32.IfcConic = IfcConic;
    class IfcConstructionResource extends IfcResource {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ResourceIdentifier = ResourceIdentifier;
        this.ResourceGroup = ResourceGroup;
        this.ResourceConsumption = ResourceConsumption;
        this.BaseQuantity = BaseQuantity;
        this.type = 2559216714;
      }
    }
    IFC2X32.IfcConstructionResource = IfcConstructionResource;
    class IfcControl extends IfcObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.type = 3293443760;
      }
    }
    IFC2X32.IfcControl = IfcControl;
    class IfcCostItem extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.type = 3895139033;
      }
    }
    IFC2X32.IfcCostItem = IfcCostItem;
    class IfcCostSchedule extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, SubmittedBy, PreparedBy, SubmittedOn, Status, TargetUsers, UpdateDate, ID, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.SubmittedBy = SubmittedBy;
        this.PreparedBy = PreparedBy;
        this.SubmittedOn = SubmittedOn;
        this.Status = Status;
        this.TargetUsers = TargetUsers;
        this.UpdateDate = UpdateDate;
        this.ID = ID;
        this.PredefinedType = PredefinedType;
        this.type = 1419761937;
      }
    }
    IFC2X32.IfcCostSchedule = IfcCostSchedule;
    class IfcCoveringType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1916426348;
      }
    }
    IFC2X32.IfcCoveringType = IfcCoveringType;
    class IfcCrewResource extends IfcConstructionResource {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ResourceIdentifier = ResourceIdentifier;
        this.ResourceGroup = ResourceGroup;
        this.ResourceConsumption = ResourceConsumption;
        this.BaseQuantity = BaseQuantity;
        this.type = 3295246426;
      }
    }
    IFC2X32.IfcCrewResource = IfcCrewResource;
    class IfcCurtainWallType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1457835157;
      }
    }
    IFC2X32.IfcCurtainWallType = IfcCurtainWallType;
    class IfcDimensionCurveDirectedCallout extends IfcDraughtingCallout {
      constructor(Contents) {
        super(Contents);
        this.Contents = Contents;
        this.type = 681481545;
      }
    }
    IFC2X32.IfcDimensionCurveDirectedCallout = IfcDimensionCurveDirectedCallout;
    class IfcDistributionElementType extends IfcElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 3256556792;
      }
    }
    IFC2X32.IfcDistributionElementType = IfcDistributionElementType;
    class IfcDistributionFlowElementType extends IfcDistributionElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 3849074793;
      }
    }
    IFC2X32.IfcDistributionFlowElementType = IfcDistributionFlowElementType;
    class IfcElectricalBaseProperties extends IfcEnergyProperties {
      constructor(GlobalId, OwnerHistory, Name, Description, EnergySequence, UserDefinedEnergySequence, ElectricCurrentType, InputVoltage, InputFrequency, FullLoadCurrent, MinimumCircuitCurrent, MaximumPowerInput, RatedPowerInput, InputPhase) {
        super(GlobalId, OwnerHistory, Name, Description, EnergySequence, UserDefinedEnergySequence);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.EnergySequence = EnergySequence;
        this.UserDefinedEnergySequence = UserDefinedEnergySequence;
        this.ElectricCurrentType = ElectricCurrentType;
        this.InputVoltage = InputVoltage;
        this.InputFrequency = InputFrequency;
        this.FullLoadCurrent = FullLoadCurrent;
        this.MinimumCircuitCurrent = MinimumCircuitCurrent;
        this.MaximumPowerInput = MaximumPowerInput;
        this.RatedPowerInput = RatedPowerInput;
        this.InputPhase = InputPhase;
        this.type = 360485395;
      }
    }
    IFC2X32.IfcElectricalBaseProperties = IfcElectricalBaseProperties;
    class IfcElement extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1758889154;
      }
    }
    IFC2X32.IfcElement = IfcElement;
    class IfcElementAssembly extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, AssemblyPlace, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.AssemblyPlace = AssemblyPlace;
        this.PredefinedType = PredefinedType;
        this.type = 4123344466;
      }
    }
    IFC2X32.IfcElementAssembly = IfcElementAssembly;
    class IfcElementComponent extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1623761950;
      }
    }
    IFC2X32.IfcElementComponent = IfcElementComponent;
    class IfcElementComponentType extends IfcElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 2590856083;
      }
    }
    IFC2X32.IfcElementComponentType = IfcElementComponentType;
    class IfcEllipse extends IfcConic {
      constructor(Position, SemiAxis1, SemiAxis2) {
        super(Position);
        this.Position = Position;
        this.SemiAxis1 = SemiAxis1;
        this.SemiAxis2 = SemiAxis2;
        this.type = 1704287377;
      }
    }
    IFC2X32.IfcEllipse = IfcEllipse;
    class IfcEnergyConversionDeviceType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 2107101300;
      }
    }
    IFC2X32.IfcEnergyConversionDeviceType = IfcEnergyConversionDeviceType;
    class IfcEquipmentElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1962604670;
      }
    }
    IFC2X32.IfcEquipmentElement = IfcEquipmentElement;
    class IfcEquipmentStandard extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.type = 3272907226;
      }
    }
    IFC2X32.IfcEquipmentStandard = IfcEquipmentStandard;
    class IfcEvaporativeCoolerType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3174744832;
      }
    }
    IFC2X32.IfcEvaporativeCoolerType = IfcEvaporativeCoolerType;
    class IfcEvaporatorType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3390157468;
      }
    }
    IFC2X32.IfcEvaporatorType = IfcEvaporatorType;
    class IfcFacetedBrep extends IfcManifoldSolidBrep {
      constructor(Outer) {
        super(Outer);
        this.Outer = Outer;
        this.type = 807026263;
      }
    }
    IFC2X32.IfcFacetedBrep = IfcFacetedBrep;
    class IfcFacetedBrepWithVoids extends IfcManifoldSolidBrep {
      constructor(Outer, Voids) {
        super(Outer);
        this.Outer = Outer;
        this.Voids = Voids;
        this.type = 3737207727;
      }
    }
    IFC2X32.IfcFacetedBrepWithVoids = IfcFacetedBrepWithVoids;
    class IfcFastener extends IfcElementComponent {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 647756555;
      }
    }
    IFC2X32.IfcFastener = IfcFastener;
    class IfcFastenerType extends IfcElementComponentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 2489546625;
      }
    }
    IFC2X32.IfcFastenerType = IfcFastenerType;
    class IfcFeatureElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 2827207264;
      }
    }
    IFC2X32.IfcFeatureElement = IfcFeatureElement;
    class IfcFeatureElementAddition extends IfcFeatureElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 2143335405;
      }
    }
    IFC2X32.IfcFeatureElementAddition = IfcFeatureElementAddition;
    class IfcFeatureElementSubtraction extends IfcFeatureElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1287392070;
      }
    }
    IFC2X32.IfcFeatureElementSubtraction = IfcFeatureElementSubtraction;
    class IfcFlowControllerType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 3907093117;
      }
    }
    IFC2X32.IfcFlowControllerType = IfcFlowControllerType;
    class IfcFlowFittingType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 3198132628;
      }
    }
    IFC2X32.IfcFlowFittingType = IfcFlowFittingType;
    class IfcFlowMeterType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3815607619;
      }
    }
    IFC2X32.IfcFlowMeterType = IfcFlowMeterType;
    class IfcFlowMovingDeviceType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 1482959167;
      }
    }
    IFC2X32.IfcFlowMovingDeviceType = IfcFlowMovingDeviceType;
    class IfcFlowSegmentType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 1834744321;
      }
    }
    IFC2X32.IfcFlowSegmentType = IfcFlowSegmentType;
    class IfcFlowStorageDeviceType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 1339347760;
      }
    }
    IFC2X32.IfcFlowStorageDeviceType = IfcFlowStorageDeviceType;
    class IfcFlowTerminalType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 2297155007;
      }
    }
    IFC2X32.IfcFlowTerminalType = IfcFlowTerminalType;
    class IfcFlowTreatmentDeviceType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 3009222698;
      }
    }
    IFC2X32.IfcFlowTreatmentDeviceType = IfcFlowTreatmentDeviceType;
    class IfcFurnishingElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 263784265;
      }
    }
    IFC2X32.IfcFurnishingElement = IfcFurnishingElement;
    class IfcFurnitureStandard extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.type = 814719939;
      }
    }
    IFC2X32.IfcFurnitureStandard = IfcFurnitureStandard;
    class IfcGasTerminalType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 200128114;
      }
    }
    IFC2X32.IfcGasTerminalType = IfcGasTerminalType;
    class IfcGrid extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, UAxes, VAxes, WAxes) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.UAxes = UAxes;
        this.VAxes = VAxes;
        this.WAxes = WAxes;
        this.type = 3009204131;
      }
    }
    IFC2X32.IfcGrid = IfcGrid;
    class IfcGroup extends IfcObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.type = 2706460486;
      }
    }
    IFC2X32.IfcGroup = IfcGroup;
    class IfcHeatExchangerType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1251058090;
      }
    }
    IFC2X32.IfcHeatExchangerType = IfcHeatExchangerType;
    class IfcHumidifierType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1806887404;
      }
    }
    IFC2X32.IfcHumidifierType = IfcHumidifierType;
    class IfcInventory extends IfcGroup {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, InventoryType, Jurisdiction, ResponsiblePersons, LastUpdateDate, CurrentValue, OriginalValue) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.InventoryType = InventoryType;
        this.Jurisdiction = Jurisdiction;
        this.ResponsiblePersons = ResponsiblePersons;
        this.LastUpdateDate = LastUpdateDate;
        this.CurrentValue = CurrentValue;
        this.OriginalValue = OriginalValue;
        this.type = 2391368822;
      }
    }
    IFC2X32.IfcInventory = IfcInventory;
    class IfcJunctionBoxType extends IfcFlowFittingType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 4288270099;
      }
    }
    IFC2X32.IfcJunctionBoxType = IfcJunctionBoxType;
    class IfcLaborResource extends IfcConstructionResource {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity, SkillSet) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ResourceIdentifier = ResourceIdentifier;
        this.ResourceGroup = ResourceGroup;
        this.ResourceConsumption = ResourceConsumption;
        this.BaseQuantity = BaseQuantity;
        this.SkillSet = SkillSet;
        this.type = 3827777499;
      }
    }
    IFC2X32.IfcLaborResource = IfcLaborResource;
    class IfcLampType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1051575348;
      }
    }
    IFC2X32.IfcLampType = IfcLampType;
    class IfcLightFixtureType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1161773419;
      }
    }
    IFC2X32.IfcLightFixtureType = IfcLightFixtureType;
    class IfcLinearDimension extends IfcDimensionCurveDirectedCallout {
      constructor(Contents) {
        super(Contents);
        this.Contents = Contents;
        this.type = 2506943328;
      }
    }
    IFC2X32.IfcLinearDimension = IfcLinearDimension;
    class IfcMechanicalFastener extends IfcFastener {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, NominalDiameter, NominalLength) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.NominalDiameter = NominalDiameter;
        this.NominalLength = NominalLength;
        this.type = 377706215;
      }
    }
    IFC2X32.IfcMechanicalFastener = IfcMechanicalFastener;
    class IfcMechanicalFastenerType extends IfcFastenerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 2108223431;
      }
    }
    IFC2X32.IfcMechanicalFastenerType = IfcMechanicalFastenerType;
    class IfcMemberType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3181161470;
      }
    }
    IFC2X32.IfcMemberType = IfcMemberType;
    class IfcMotorConnectionType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 977012517;
      }
    }
    IFC2X32.IfcMotorConnectionType = IfcMotorConnectionType;
    class IfcMove extends IfcTask {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TaskId, Status, WorkMethod, IsMilestone, Priority, MoveFrom, MoveTo, PunchList) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, TaskId, Status, WorkMethod, IsMilestone, Priority);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.TaskId = TaskId;
        this.Status = Status;
        this.WorkMethod = WorkMethod;
        this.IsMilestone = IsMilestone;
        this.Priority = Priority;
        this.MoveFrom = MoveFrom;
        this.MoveTo = MoveTo;
        this.PunchList = PunchList;
        this.type = 1916936684;
      }
    }
    IFC2X32.IfcMove = IfcMove;
    class IfcOccupant extends IfcActor {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.TheActor = TheActor;
        this.PredefinedType = PredefinedType;
        this.type = 4143007308;
      }
    }
    IFC2X32.IfcOccupant = IfcOccupant;
    class IfcOpeningElement extends IfcFeatureElementSubtraction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 3588315303;
      }
    }
    IFC2X32.IfcOpeningElement = IfcOpeningElement;
    class IfcOrderAction extends IfcTask {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TaskId, Status, WorkMethod, IsMilestone, Priority, ActionID) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, TaskId, Status, WorkMethod, IsMilestone, Priority);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.TaskId = TaskId;
        this.Status = Status;
        this.WorkMethod = WorkMethod;
        this.IsMilestone = IsMilestone;
        this.Priority = Priority;
        this.ActionID = ActionID;
        this.type = 3425660407;
      }
    }
    IFC2X32.IfcOrderAction = IfcOrderAction;
    class IfcOutletType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2837617999;
      }
    }
    IFC2X32.IfcOutletType = IfcOutletType;
    class IfcPerformanceHistory extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LifeCyclePhase) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.LifeCyclePhase = LifeCyclePhase;
        this.type = 2382730787;
      }
    }
    IFC2X32.IfcPerformanceHistory = IfcPerformanceHistory;
    class IfcPermit extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PermitID) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.PermitID = PermitID;
        this.type = 3327091369;
      }
    }
    IFC2X32.IfcPermit = IfcPermit;
    class IfcPipeFittingType extends IfcFlowFittingType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 804291784;
      }
    }
    IFC2X32.IfcPipeFittingType = IfcPipeFittingType;
    class IfcPipeSegmentType extends IfcFlowSegmentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 4231323485;
      }
    }
    IFC2X32.IfcPipeSegmentType = IfcPipeSegmentType;
    class IfcPlateType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 4017108033;
      }
    }
    IFC2X32.IfcPlateType = IfcPlateType;
    class IfcPolyline extends IfcBoundedCurve {
      constructor(Points) {
        super();
        this.Points = Points;
        this.type = 3724593414;
      }
    }
    IFC2X32.IfcPolyline = IfcPolyline;
    class IfcPort extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.type = 3740093272;
      }
    }
    IFC2X32.IfcPort = IfcPort;
    class IfcProcedure extends IfcProcess {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ProcedureID, ProcedureType, UserDefinedProcedureType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ProcedureID = ProcedureID;
        this.ProcedureType = ProcedureType;
        this.UserDefinedProcedureType = UserDefinedProcedureType;
        this.type = 2744685151;
      }
    }
    IFC2X32.IfcProcedure = IfcProcedure;
    class IfcProjectOrder extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ID, PredefinedType, Status) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ID = ID;
        this.PredefinedType = PredefinedType;
        this.Status = Status;
        this.type = 2904328755;
      }
    }
    IFC2X32.IfcProjectOrder = IfcProjectOrder;
    class IfcProjectOrderRecord extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Records, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Records = Records;
        this.PredefinedType = PredefinedType;
        this.type = 3642467123;
      }
    }
    IFC2X32.IfcProjectOrderRecord = IfcProjectOrderRecord;
    class IfcProjectionElement extends IfcFeatureElementAddition {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 3651124850;
      }
    }
    IFC2X32.IfcProjectionElement = IfcProjectionElement;
    class IfcProtectiveDeviceType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1842657554;
      }
    }
    IFC2X32.IfcProtectiveDeviceType = IfcProtectiveDeviceType;
    class IfcPumpType extends IfcFlowMovingDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2250791053;
      }
    }
    IFC2X32.IfcPumpType = IfcPumpType;
    class IfcRadiusDimension extends IfcDimensionCurveDirectedCallout {
      constructor(Contents) {
        super(Contents);
        this.Contents = Contents;
        this.type = 3248260540;
      }
    }
    IFC2X32.IfcRadiusDimension = IfcRadiusDimension;
    class IfcRailingType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2893384427;
      }
    }
    IFC2X32.IfcRailingType = IfcRailingType;
    class IfcRampFlightType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2324767716;
      }
    }
    IFC2X32.IfcRampFlightType = IfcRampFlightType;
    class IfcRelAggregates extends IfcRelDecomposes {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects) {
        super(GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingObject = RelatingObject;
        this.RelatedObjects = RelatedObjects;
        this.type = 160246688;
      }
    }
    IFC2X32.IfcRelAggregates = IfcRelAggregates;
    class IfcRelAssignsTasks extends IfcRelAssignsToControl {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl, TimeForTask) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingControl = RelatingControl;
        this.TimeForTask = TimeForTask;
        this.type = 2863920197;
      }
    }
    IFC2X32.IfcRelAssignsTasks = IfcRelAssignsTasks;
    class IfcSanitaryTerminalType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1768891740;
      }
    }
    IFC2X32.IfcSanitaryTerminalType = IfcSanitaryTerminalType;
    class IfcScheduleTimeControl extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ActualStart, EarlyStart, LateStart, ScheduleStart, ActualFinish, EarlyFinish, LateFinish, ScheduleFinish, ScheduleDuration, ActualDuration, RemainingTime, FreeFloat, TotalFloat, IsCritical, StatusTime, StartFloat, FinishFloat, Completion) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ActualStart = ActualStart;
        this.EarlyStart = EarlyStart;
        this.LateStart = LateStart;
        this.ScheduleStart = ScheduleStart;
        this.ActualFinish = ActualFinish;
        this.EarlyFinish = EarlyFinish;
        this.LateFinish = LateFinish;
        this.ScheduleFinish = ScheduleFinish;
        this.ScheduleDuration = ScheduleDuration;
        this.ActualDuration = ActualDuration;
        this.RemainingTime = RemainingTime;
        this.FreeFloat = FreeFloat;
        this.TotalFloat = TotalFloat;
        this.IsCritical = IsCritical;
        this.StatusTime = StatusTime;
        this.StartFloat = StartFloat;
        this.FinishFloat = FinishFloat;
        this.Completion = Completion;
        this.type = 3517283431;
      }
    }
    IFC2X32.IfcScheduleTimeControl = IfcScheduleTimeControl;
    class IfcServiceLife extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ServiceLifeType, ServiceLifeDuration) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ServiceLifeType = ServiceLifeType;
        this.ServiceLifeDuration = ServiceLifeDuration;
        this.type = 4105383287;
      }
    }
    IFC2X32.IfcServiceLife = IfcServiceLife;
    class IfcSite extends IfcSpatialStructureElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, RefLatitude, RefLongitude, RefElevation, LandTitleNumber, SiteAddress) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.RefLatitude = RefLatitude;
        this.RefLongitude = RefLongitude;
        this.RefElevation = RefElevation;
        this.LandTitleNumber = LandTitleNumber;
        this.SiteAddress = SiteAddress;
        this.type = 4097777520;
      }
    }
    IFC2X32.IfcSite = IfcSite;
    class IfcSlabType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2533589738;
      }
    }
    IFC2X32.IfcSlabType = IfcSlabType;
    class IfcSpace extends IfcSpatialStructureElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, InteriorOrExteriorSpace, ElevationWithFlooring) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.InteriorOrExteriorSpace = InteriorOrExteriorSpace;
        this.ElevationWithFlooring = ElevationWithFlooring;
        this.type = 3856911033;
      }
    }
    IFC2X32.IfcSpace = IfcSpace;
    class IfcSpaceHeaterType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1305183839;
      }
    }
    IFC2X32.IfcSpaceHeaterType = IfcSpaceHeaterType;
    class IfcSpaceProgram extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, SpaceProgramIdentifier, MaxRequiredArea, MinRequiredArea, RequestedLocation, StandardRequiredArea) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.SpaceProgramIdentifier = SpaceProgramIdentifier;
        this.MaxRequiredArea = MaxRequiredArea;
        this.MinRequiredArea = MinRequiredArea;
        this.RequestedLocation = RequestedLocation;
        this.StandardRequiredArea = StandardRequiredArea;
        this.type = 652456506;
      }
    }
    IFC2X32.IfcSpaceProgram = IfcSpaceProgram;
    class IfcSpaceType extends IfcSpatialStructureElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3812236995;
      }
    }
    IFC2X32.IfcSpaceType = IfcSpaceType;
    class IfcStackTerminalType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3112655638;
      }
    }
    IFC2X32.IfcStackTerminalType = IfcStackTerminalType;
    class IfcStairFlightType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1039846685;
      }
    }
    IFC2X32.IfcStairFlightType = IfcStairFlightType;
    class IfcStructuralAction extends IfcStructuralActivity {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.DestabilizingLoad = DestabilizingLoad;
        this.CausedBy = CausedBy;
        this.type = 682877961;
      }
    }
    IFC2X32.IfcStructuralAction = IfcStructuralAction;
    class IfcStructuralConnection extends IfcStructuralItem {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedCondition = AppliedCondition;
        this.type = 1179482911;
      }
    }
    IFC2X32.IfcStructuralConnection = IfcStructuralConnection;
    class IfcStructuralCurveConnection extends IfcStructuralConnection {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedCondition = AppliedCondition;
        this.type = 4243806635;
      }
    }
    IFC2X32.IfcStructuralCurveConnection = IfcStructuralCurveConnection;
    class IfcStructuralCurveMember extends IfcStructuralMember {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.PredefinedType = PredefinedType;
        this.type = 214636428;
      }
    }
    IFC2X32.IfcStructuralCurveMember = IfcStructuralCurveMember;
    class IfcStructuralCurveMemberVarying extends IfcStructuralCurveMember {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.PredefinedType = PredefinedType;
        this.type = 2445595289;
      }
    }
    IFC2X32.IfcStructuralCurveMemberVarying = IfcStructuralCurveMemberVarying;
    class IfcStructuralLinearAction extends IfcStructuralAction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy, ProjectedOrTrue) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.DestabilizingLoad = DestabilizingLoad;
        this.CausedBy = CausedBy;
        this.ProjectedOrTrue = ProjectedOrTrue;
        this.type = 1807405624;
      }
    }
    IFC2X32.IfcStructuralLinearAction = IfcStructuralLinearAction;
    class IfcStructuralLinearActionVarying extends IfcStructuralLinearAction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy, ProjectedOrTrue, VaryingAppliedLoadLocation, SubsequentAppliedLoads) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy, ProjectedOrTrue);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.DestabilizingLoad = DestabilizingLoad;
        this.CausedBy = CausedBy;
        this.ProjectedOrTrue = ProjectedOrTrue;
        this.VaryingAppliedLoadLocation = VaryingAppliedLoadLocation;
        this.SubsequentAppliedLoads = SubsequentAppliedLoads;
        this.type = 1721250024;
      }
    }
    IFC2X32.IfcStructuralLinearActionVarying = IfcStructuralLinearActionVarying;
    class IfcStructuralLoadGroup extends IfcGroup {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.PredefinedType = PredefinedType;
        this.ActionType = ActionType;
        this.ActionSource = ActionSource;
        this.Coefficient = Coefficient;
        this.Purpose = Purpose;
        this.type = 1252848954;
      }
    }
    IFC2X32.IfcStructuralLoadGroup = IfcStructuralLoadGroup;
    class IfcStructuralPlanarAction extends IfcStructuralAction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy, ProjectedOrTrue) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.DestabilizingLoad = DestabilizingLoad;
        this.CausedBy = CausedBy;
        this.ProjectedOrTrue = ProjectedOrTrue;
        this.type = 1621171031;
      }
    }
    IFC2X32.IfcStructuralPlanarAction = IfcStructuralPlanarAction;
    class IfcStructuralPlanarActionVarying extends IfcStructuralPlanarAction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy, ProjectedOrTrue, VaryingAppliedLoadLocation, SubsequentAppliedLoads) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy, ProjectedOrTrue);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.DestabilizingLoad = DestabilizingLoad;
        this.CausedBy = CausedBy;
        this.ProjectedOrTrue = ProjectedOrTrue;
        this.VaryingAppliedLoadLocation = VaryingAppliedLoadLocation;
        this.SubsequentAppliedLoads = SubsequentAppliedLoads;
        this.type = 3987759626;
      }
    }
    IFC2X32.IfcStructuralPlanarActionVarying = IfcStructuralPlanarActionVarying;
    class IfcStructuralPointAction extends IfcStructuralAction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, CausedBy);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.DestabilizingLoad = DestabilizingLoad;
        this.CausedBy = CausedBy;
        this.type = 2082059205;
      }
    }
    IFC2X32.IfcStructuralPointAction = IfcStructuralPointAction;
    class IfcStructuralPointConnection extends IfcStructuralConnection {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedCondition = AppliedCondition;
        this.type = 734778138;
      }
    }
    IFC2X32.IfcStructuralPointConnection = IfcStructuralPointConnection;
    class IfcStructuralPointReaction extends IfcStructuralReaction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.type = 1235345126;
      }
    }
    IFC2X32.IfcStructuralPointReaction = IfcStructuralPointReaction;
    class IfcStructuralResultGroup extends IfcGroup {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TheoryType, ResultForLoadGroup, IsLinear) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.TheoryType = TheoryType;
        this.ResultForLoadGroup = ResultForLoadGroup;
        this.IsLinear = IsLinear;
        this.type = 2986769608;
      }
    }
    IFC2X32.IfcStructuralResultGroup = IfcStructuralResultGroup;
    class IfcStructuralSurfaceConnection extends IfcStructuralConnection {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedCondition = AppliedCondition;
        this.type = 1975003073;
      }
    }
    IFC2X32.IfcStructuralSurfaceConnection = IfcStructuralSurfaceConnection;
    class IfcSubContractResource extends IfcConstructionResource {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity, SubContractor, JobDescription) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ResourceIdentifier = ResourceIdentifier;
        this.ResourceGroup = ResourceGroup;
        this.ResourceConsumption = ResourceConsumption;
        this.BaseQuantity = BaseQuantity;
        this.SubContractor = SubContractor;
        this.JobDescription = JobDescription;
        this.type = 148013059;
      }
    }
    IFC2X32.IfcSubContractResource = IfcSubContractResource;
    class IfcSwitchingDeviceType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2315554128;
      }
    }
    IFC2X32.IfcSwitchingDeviceType = IfcSwitchingDeviceType;
    class IfcSystem extends IfcGroup {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.type = 2254336722;
      }
    }
    IFC2X32.IfcSystem = IfcSystem;
    class IfcTankType extends IfcFlowStorageDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 5716631;
      }
    }
    IFC2X32.IfcTankType = IfcTankType;
    class IfcTimeSeriesSchedule extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ApplicableDates, TimeSeriesScheduleType, TimeSeries) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ApplicableDates = ApplicableDates;
        this.TimeSeriesScheduleType = TimeSeriesScheduleType;
        this.TimeSeries = TimeSeries;
        this.type = 1637806684;
      }
    }
    IFC2X32.IfcTimeSeriesSchedule = IfcTimeSeriesSchedule;
    class IfcTransformerType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1692211062;
      }
    }
    IFC2X32.IfcTransformerType = IfcTransformerType;
    class IfcTransportElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OperationType, CapacityByWeight, CapacityByNumber) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.OperationType = OperationType;
        this.CapacityByWeight = CapacityByWeight;
        this.CapacityByNumber = CapacityByNumber;
        this.type = 1620046519;
      }
    }
    IFC2X32.IfcTransportElement = IfcTransportElement;
    class IfcTrimmedCurve extends IfcBoundedCurve {
      constructor(BasisCurve, Trim1, Trim2, SenseAgreement, MasterRepresentation) {
        super();
        this.BasisCurve = BasisCurve;
        this.Trim1 = Trim1;
        this.Trim2 = Trim2;
        this.SenseAgreement = SenseAgreement;
        this.MasterRepresentation = MasterRepresentation;
        this.type = 3593883385;
      }
    }
    IFC2X32.IfcTrimmedCurve = IfcTrimmedCurve;
    class IfcTubeBundleType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1600972822;
      }
    }
    IFC2X32.IfcTubeBundleType = IfcTubeBundleType;
    class IfcUnitaryEquipmentType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1911125066;
      }
    }
    IFC2X32.IfcUnitaryEquipmentType = IfcUnitaryEquipmentType;
    class IfcValveType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 728799441;
      }
    }
    IFC2X32.IfcValveType = IfcValveType;
    class IfcVirtualElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 2769231204;
      }
    }
    IFC2X32.IfcVirtualElement = IfcVirtualElement;
    class IfcWallType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1898987631;
      }
    }
    IFC2X32.IfcWallType = IfcWallType;
    class IfcWasteTerminalType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1133259667;
      }
    }
    IFC2X32.IfcWasteTerminalType = IfcWasteTerminalType;
    class IfcWorkControl extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identifier, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, WorkControlType, UserDefinedControlType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identifier = Identifier;
        this.CreationDate = CreationDate;
        this.Creators = Creators;
        this.Purpose = Purpose;
        this.Duration = Duration;
        this.TotalFloat = TotalFloat;
        this.StartTime = StartTime;
        this.FinishTime = FinishTime;
        this.WorkControlType = WorkControlType;
        this.UserDefinedControlType = UserDefinedControlType;
        this.type = 1028945134;
      }
    }
    IFC2X32.IfcWorkControl = IfcWorkControl;
    class IfcWorkPlan extends IfcWorkControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identifier, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, WorkControlType, UserDefinedControlType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identifier, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, WorkControlType, UserDefinedControlType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identifier = Identifier;
        this.CreationDate = CreationDate;
        this.Creators = Creators;
        this.Purpose = Purpose;
        this.Duration = Duration;
        this.TotalFloat = TotalFloat;
        this.StartTime = StartTime;
        this.FinishTime = FinishTime;
        this.WorkControlType = WorkControlType;
        this.UserDefinedControlType = UserDefinedControlType;
        this.type = 4218914973;
      }
    }
    IFC2X32.IfcWorkPlan = IfcWorkPlan;
    class IfcWorkSchedule extends IfcWorkControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identifier, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, WorkControlType, UserDefinedControlType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identifier, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, WorkControlType, UserDefinedControlType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identifier = Identifier;
        this.CreationDate = CreationDate;
        this.Creators = Creators;
        this.Purpose = Purpose;
        this.Duration = Duration;
        this.TotalFloat = TotalFloat;
        this.StartTime = StartTime;
        this.FinishTime = FinishTime;
        this.WorkControlType = WorkControlType;
        this.UserDefinedControlType = UserDefinedControlType;
        this.type = 3342526732;
      }
    }
    IFC2X32.IfcWorkSchedule = IfcWorkSchedule;
    class IfcZone extends IfcGroup {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.type = 1033361043;
      }
    }
    IFC2X32.IfcZone = IfcZone;
    class Ifc2DCompositeCurve extends IfcCompositeCurve {
      constructor(Segments, SelfIntersect) {
        super(Segments, SelfIntersect);
        this.Segments = Segments;
        this.SelfIntersect = SelfIntersect;
        this.type = 1213861670;
      }
    }
    IFC2X32.Ifc2DCompositeCurve = Ifc2DCompositeCurve;
    class IfcActionRequest extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, RequestID) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.RequestID = RequestID;
        this.type = 3821786052;
      }
    }
    IFC2X32.IfcActionRequest = IfcActionRequest;
    class IfcAirTerminalBoxType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1411407467;
      }
    }
    IFC2X32.IfcAirTerminalBoxType = IfcAirTerminalBoxType;
    class IfcAirTerminalType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3352864051;
      }
    }
    IFC2X32.IfcAirTerminalType = IfcAirTerminalType;
    class IfcAirToAirHeatRecoveryType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1871374353;
      }
    }
    IFC2X32.IfcAirToAirHeatRecoveryType = IfcAirToAirHeatRecoveryType;
    class IfcAngularDimension extends IfcDimensionCurveDirectedCallout {
      constructor(Contents) {
        super(Contents);
        this.Contents = Contents;
        this.type = 2470393545;
      }
    }
    IFC2X32.IfcAngularDimension = IfcAngularDimension;
    class IfcAsset extends IfcGroup {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, AssetID, OriginalValue, CurrentValue, TotalReplacementCost, Owner, User, ResponsiblePerson, IncorporationDate, DepreciatedValue) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.AssetID = AssetID;
        this.OriginalValue = OriginalValue;
        this.CurrentValue = CurrentValue;
        this.TotalReplacementCost = TotalReplacementCost;
        this.Owner = Owner;
        this.User = User;
        this.ResponsiblePerson = ResponsiblePerson;
        this.IncorporationDate = IncorporationDate;
        this.DepreciatedValue = DepreciatedValue;
        this.type = 3460190687;
      }
    }
    IFC2X32.IfcAsset = IfcAsset;
    class IfcBSplineCurve extends IfcBoundedCurve {
      constructor(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect) {
        super();
        this.Degree = Degree;
        this.ControlPointsList = ControlPointsList;
        this.CurveForm = CurveForm;
        this.ClosedCurve = ClosedCurve;
        this.SelfIntersect = SelfIntersect;
        this.type = 1967976161;
      }
    }
    IFC2X32.IfcBSplineCurve = IfcBSplineCurve;
    class IfcBeamType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 819618141;
      }
    }
    IFC2X32.IfcBeamType = IfcBeamType;
    class IfcBezierCurve extends IfcBSplineCurve {
      constructor(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect) {
        super(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect);
        this.Degree = Degree;
        this.ControlPointsList = ControlPointsList;
        this.CurveForm = CurveForm;
        this.ClosedCurve = ClosedCurve;
        this.SelfIntersect = SelfIntersect;
        this.type = 1916977116;
      }
    }
    IFC2X32.IfcBezierCurve = IfcBezierCurve;
    class IfcBoilerType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 231477066;
      }
    }
    IFC2X32.IfcBoilerType = IfcBoilerType;
    class IfcBuildingElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 3299480353;
      }
    }
    IFC2X32.IfcBuildingElement = IfcBuildingElement;
    class IfcBuildingElementComponent extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 52481810;
      }
    }
    IFC2X32.IfcBuildingElementComponent = IfcBuildingElementComponent;
    class IfcBuildingElementPart extends IfcBuildingElementComponent {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 2979338954;
      }
    }
    IFC2X32.IfcBuildingElementPart = IfcBuildingElementPart;
    class IfcBuildingElementProxy extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, CompositionType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.CompositionType = CompositionType;
        this.type = 1095909175;
      }
    }
    IFC2X32.IfcBuildingElementProxy = IfcBuildingElementProxy;
    class IfcBuildingElementProxyType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1909888760;
      }
    }
    IFC2X32.IfcBuildingElementProxyType = IfcBuildingElementProxyType;
    class IfcCableCarrierFittingType extends IfcFlowFittingType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 395041908;
      }
    }
    IFC2X32.IfcCableCarrierFittingType = IfcCableCarrierFittingType;
    class IfcCableCarrierSegmentType extends IfcFlowSegmentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3293546465;
      }
    }
    IFC2X32.IfcCableCarrierSegmentType = IfcCableCarrierSegmentType;
    class IfcCableSegmentType extends IfcFlowSegmentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1285652485;
      }
    }
    IFC2X32.IfcCableSegmentType = IfcCableSegmentType;
    class IfcChillerType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2951183804;
      }
    }
    IFC2X32.IfcChillerType = IfcChillerType;
    class IfcCircle extends IfcConic {
      constructor(Position, Radius) {
        super(Position);
        this.Position = Position;
        this.Radius = Radius;
        this.type = 2611217952;
      }
    }
    IFC2X32.IfcCircle = IfcCircle;
    class IfcCoilType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2301859152;
      }
    }
    IFC2X32.IfcCoilType = IfcCoilType;
    class IfcColumn extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 843113511;
      }
    }
    IFC2X32.IfcColumn = IfcColumn;
    class IfcCompressorType extends IfcFlowMovingDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3850581409;
      }
    }
    IFC2X32.IfcCompressorType = IfcCompressorType;
    class IfcCondenserType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2816379211;
      }
    }
    IFC2X32.IfcCondenserType = IfcCondenserType;
    class IfcCondition extends IfcGroup {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.type = 2188551683;
      }
    }
    IFC2X32.IfcCondition = IfcCondition;
    class IfcConditionCriterion extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Criterion, CriterionDateTime) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Criterion = Criterion;
        this.CriterionDateTime = CriterionDateTime;
        this.type = 1163958913;
      }
    }
    IFC2X32.IfcConditionCriterion = IfcConditionCriterion;
    class IfcConstructionEquipmentResource extends IfcConstructionResource {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ResourceIdentifier = ResourceIdentifier;
        this.ResourceGroup = ResourceGroup;
        this.ResourceConsumption = ResourceConsumption;
        this.BaseQuantity = BaseQuantity;
        this.type = 3898045240;
      }
    }
    IFC2X32.IfcConstructionEquipmentResource = IfcConstructionEquipmentResource;
    class IfcConstructionMaterialResource extends IfcConstructionResource {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity, Suppliers, UsageRatio) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ResourceIdentifier = ResourceIdentifier;
        this.ResourceGroup = ResourceGroup;
        this.ResourceConsumption = ResourceConsumption;
        this.BaseQuantity = BaseQuantity;
        this.Suppliers = Suppliers;
        this.UsageRatio = UsageRatio;
        this.type = 1060000209;
      }
    }
    IFC2X32.IfcConstructionMaterialResource = IfcConstructionMaterialResource;
    class IfcConstructionProductResource extends IfcConstructionResource {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ResourceIdentifier, ResourceGroup, ResourceConsumption, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ResourceIdentifier = ResourceIdentifier;
        this.ResourceGroup = ResourceGroup;
        this.ResourceConsumption = ResourceConsumption;
        this.BaseQuantity = BaseQuantity;
        this.type = 488727124;
      }
    }
    IFC2X32.IfcConstructionProductResource = IfcConstructionProductResource;
    class IfcCooledBeamType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 335055490;
      }
    }
    IFC2X32.IfcCooledBeamType = IfcCooledBeamType;
    class IfcCoolingTowerType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2954562838;
      }
    }
    IFC2X32.IfcCoolingTowerType = IfcCoolingTowerType;
    class IfcCovering extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1973544240;
      }
    }
    IFC2X32.IfcCovering = IfcCovering;
    class IfcCurtainWall extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 3495092785;
      }
    }
    IFC2X32.IfcCurtainWall = IfcCurtainWall;
    class IfcDamperType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3961806047;
      }
    }
    IFC2X32.IfcDamperType = IfcDamperType;
    class IfcDiameterDimension extends IfcDimensionCurveDirectedCallout {
      constructor(Contents) {
        super(Contents);
        this.Contents = Contents;
        this.type = 4147604152;
      }
    }
    IFC2X32.IfcDiameterDimension = IfcDiameterDimension;
    class IfcDiscreteAccessory extends IfcElementComponent {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1335981549;
      }
    }
    IFC2X32.IfcDiscreteAccessory = IfcDiscreteAccessory;
    class IfcDiscreteAccessoryType extends IfcElementComponentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 2635815018;
      }
    }
    IFC2X32.IfcDiscreteAccessoryType = IfcDiscreteAccessoryType;
    class IfcDistributionChamberElementType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1599208980;
      }
    }
    IFC2X32.IfcDistributionChamberElementType = IfcDistributionChamberElementType;
    class IfcDistributionControlElementType extends IfcDistributionElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 2063403501;
      }
    }
    IFC2X32.IfcDistributionControlElementType = IfcDistributionControlElementType;
    class IfcDistributionElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1945004755;
      }
    }
    IFC2X32.IfcDistributionElement = IfcDistributionElement;
    class IfcDistributionFlowElement extends IfcDistributionElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 3040386961;
      }
    }
    IFC2X32.IfcDistributionFlowElement = IfcDistributionFlowElement;
    class IfcDistributionPort extends IfcPort {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, FlowDirection) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.FlowDirection = FlowDirection;
        this.type = 3041715199;
      }
    }
    IFC2X32.IfcDistributionPort = IfcDistributionPort;
    class IfcDoor extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.OverallHeight = OverallHeight;
        this.OverallWidth = OverallWidth;
        this.type = 395920057;
      }
    }
    IFC2X32.IfcDoor = IfcDoor;
    class IfcDuctFittingType extends IfcFlowFittingType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 869906466;
      }
    }
    IFC2X32.IfcDuctFittingType = IfcDuctFittingType;
    class IfcDuctSegmentType extends IfcFlowSegmentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3760055223;
      }
    }
    IFC2X32.IfcDuctSegmentType = IfcDuctSegmentType;
    class IfcDuctSilencerType extends IfcFlowTreatmentDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2030761528;
      }
    }
    IFC2X32.IfcDuctSilencerType = IfcDuctSilencerType;
    class IfcEdgeFeature extends IfcFeatureElementSubtraction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, FeatureLength) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.FeatureLength = FeatureLength;
        this.type = 855621170;
      }
    }
    IFC2X32.IfcEdgeFeature = IfcEdgeFeature;
    class IfcElectricApplianceType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 663422040;
      }
    }
    IFC2X32.IfcElectricApplianceType = IfcElectricApplianceType;
    class IfcElectricFlowStorageDeviceType extends IfcFlowStorageDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3277789161;
      }
    }
    IFC2X32.IfcElectricFlowStorageDeviceType = IfcElectricFlowStorageDeviceType;
    class IfcElectricGeneratorType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1534661035;
      }
    }
    IFC2X32.IfcElectricGeneratorType = IfcElectricGeneratorType;
    class IfcElectricHeaterType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1365060375;
      }
    }
    IFC2X32.IfcElectricHeaterType = IfcElectricHeaterType;
    class IfcElectricMotorType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1217240411;
      }
    }
    IFC2X32.IfcElectricMotorType = IfcElectricMotorType;
    class IfcElectricTimeControlType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 712377611;
      }
    }
    IFC2X32.IfcElectricTimeControlType = IfcElectricTimeControlType;
    class IfcElectricalCircuit extends IfcSystem {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.type = 1634875225;
      }
    }
    IFC2X32.IfcElectricalCircuit = IfcElectricalCircuit;
    class IfcElectricalElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 857184966;
      }
    }
    IFC2X32.IfcElectricalElement = IfcElectricalElement;
    class IfcEnergyConversionDevice extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1658829314;
      }
    }
    IFC2X32.IfcEnergyConversionDevice = IfcEnergyConversionDevice;
    class IfcFanType extends IfcFlowMovingDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 346874300;
      }
    }
    IFC2X32.IfcFanType = IfcFanType;
    class IfcFilterType extends IfcFlowTreatmentDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1810631287;
      }
    }
    IFC2X32.IfcFilterType = IfcFilterType;
    class IfcFireSuppressionTerminalType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 4222183408;
      }
    }
    IFC2X32.IfcFireSuppressionTerminalType = IfcFireSuppressionTerminalType;
    class IfcFlowController extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 2058353004;
      }
    }
    IFC2X32.IfcFlowController = IfcFlowController;
    class IfcFlowFitting extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 4278956645;
      }
    }
    IFC2X32.IfcFlowFitting = IfcFlowFitting;
    class IfcFlowInstrumentType extends IfcDistributionControlElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 4037862832;
      }
    }
    IFC2X32.IfcFlowInstrumentType = IfcFlowInstrumentType;
    class IfcFlowMovingDevice extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 3132237377;
      }
    }
    IFC2X32.IfcFlowMovingDevice = IfcFlowMovingDevice;
    class IfcFlowSegment extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 987401354;
      }
    }
    IFC2X32.IfcFlowSegment = IfcFlowSegment;
    class IfcFlowStorageDevice extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 707683696;
      }
    }
    IFC2X32.IfcFlowStorageDevice = IfcFlowStorageDevice;
    class IfcFlowTerminal extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 2223149337;
      }
    }
    IFC2X32.IfcFlowTerminal = IfcFlowTerminal;
    class IfcFlowTreatmentDevice extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 3508470533;
      }
    }
    IFC2X32.IfcFlowTreatmentDevice = IfcFlowTreatmentDevice;
    class IfcFooting extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 900683007;
      }
    }
    IFC2X32.IfcFooting = IfcFooting;
    class IfcMember extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1073191201;
      }
    }
    IFC2X32.IfcMember = IfcMember;
    class IfcPile extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType, ConstructionType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.ConstructionType = ConstructionType;
        this.type = 1687234759;
      }
    }
    IFC2X32.IfcPile = IfcPile;
    class IfcPlate extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 3171933400;
      }
    }
    IFC2X32.IfcPlate = IfcPlate;
    class IfcRailing extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2262370178;
      }
    }
    IFC2X32.IfcRailing = IfcRailing;
    class IfcRamp extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, ShapeType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.ShapeType = ShapeType;
        this.type = 3024970846;
      }
    }
    IFC2X32.IfcRamp = IfcRamp;
    class IfcRampFlight extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 3283111854;
      }
    }
    IFC2X32.IfcRampFlight = IfcRampFlight;
    class IfcRationalBezierCurve extends IfcBezierCurve {
      constructor(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, WeightsData) {
        super(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect);
        this.Degree = Degree;
        this.ControlPointsList = ControlPointsList;
        this.CurveForm = CurveForm;
        this.ClosedCurve = ClosedCurve;
        this.SelfIntersect = SelfIntersect;
        this.WeightsData = WeightsData;
        this.type = 3055160366;
      }
    }
    IFC2X32.IfcRationalBezierCurve = IfcRationalBezierCurve;
    class IfcReinforcingElement extends IfcBuildingElementComponent {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.SteelGrade = SteelGrade;
        this.type = 3027567501;
      }
    }
    IFC2X32.IfcReinforcingElement = IfcReinforcingElement;
    class IfcReinforcingMesh extends IfcReinforcingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, MeshLength, MeshWidth, LongitudinalBarNominalDiameter, TransverseBarNominalDiameter, LongitudinalBarCrossSectionArea, TransverseBarCrossSectionArea, LongitudinalBarSpacing, TransverseBarSpacing) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.SteelGrade = SteelGrade;
        this.MeshLength = MeshLength;
        this.MeshWidth = MeshWidth;
        this.LongitudinalBarNominalDiameter = LongitudinalBarNominalDiameter;
        this.TransverseBarNominalDiameter = TransverseBarNominalDiameter;
        this.LongitudinalBarCrossSectionArea = LongitudinalBarCrossSectionArea;
        this.TransverseBarCrossSectionArea = TransverseBarCrossSectionArea;
        this.LongitudinalBarSpacing = LongitudinalBarSpacing;
        this.TransverseBarSpacing = TransverseBarSpacing;
        this.type = 2320036040;
      }
    }
    IFC2X32.IfcReinforcingMesh = IfcReinforcingMesh;
    class IfcRoof extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, ShapeType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.ShapeType = ShapeType;
        this.type = 2016517767;
      }
    }
    IFC2X32.IfcRoof = IfcRoof;
    class IfcRoundedEdgeFeature extends IfcEdgeFeature {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, FeatureLength, Radius) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, FeatureLength);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.FeatureLength = FeatureLength;
        this.Radius = Radius;
        this.type = 1376911519;
      }
    }
    IFC2X32.IfcRoundedEdgeFeature = IfcRoundedEdgeFeature;
    class IfcSensorType extends IfcDistributionControlElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1783015770;
      }
    }
    IFC2X32.IfcSensorType = IfcSensorType;
    class IfcSlab extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1529196076;
      }
    }
    IFC2X32.IfcSlab = IfcSlab;
    class IfcStair extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, ShapeType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.ShapeType = ShapeType;
        this.type = 331165859;
      }
    }
    IFC2X32.IfcStair = IfcStair;
    class IfcStairFlight extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, NumberOfRiser, NumberOfTreads, RiserHeight, TreadLength) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.NumberOfRiser = NumberOfRiser;
        this.NumberOfTreads = NumberOfTreads;
        this.RiserHeight = RiserHeight;
        this.TreadLength = TreadLength;
        this.type = 4252922144;
      }
    }
    IFC2X32.IfcStairFlight = IfcStairFlight;
    class IfcStructuralAnalysisModel extends IfcSystem {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, OrientationOf2DPlane, LoadedBy, HasResults) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.PredefinedType = PredefinedType;
        this.OrientationOf2DPlane = OrientationOf2DPlane;
        this.LoadedBy = LoadedBy;
        this.HasResults = HasResults;
        this.type = 2515109513;
      }
    }
    IFC2X32.IfcStructuralAnalysisModel = IfcStructuralAnalysisModel;
    class IfcTendon extends IfcReinforcingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType, NominalDiameter, CrossSectionArea, TensionForce, PreStress, FrictionCoefficient, AnchorageSlip, MinCurvatureRadius) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.SteelGrade = SteelGrade;
        this.PredefinedType = PredefinedType;
        this.NominalDiameter = NominalDiameter;
        this.CrossSectionArea = CrossSectionArea;
        this.TensionForce = TensionForce;
        this.PreStress = PreStress;
        this.FrictionCoefficient = FrictionCoefficient;
        this.AnchorageSlip = AnchorageSlip;
        this.MinCurvatureRadius = MinCurvatureRadius;
        this.type = 3824725483;
      }
    }
    IFC2X32.IfcTendon = IfcTendon;
    class IfcTendonAnchor extends IfcReinforcingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.SteelGrade = SteelGrade;
        this.type = 2347447852;
      }
    }
    IFC2X32.IfcTendonAnchor = IfcTendonAnchor;
    class IfcVibrationIsolatorType extends IfcDiscreteAccessoryType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3313531582;
      }
    }
    IFC2X32.IfcVibrationIsolatorType = IfcVibrationIsolatorType;
    class IfcWall extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 2391406946;
      }
    }
    IFC2X32.IfcWall = IfcWall;
    class IfcWallStandardCase extends IfcWall {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 3512223829;
      }
    }
    IFC2X32.IfcWallStandardCase = IfcWallStandardCase;
    class IfcWindow extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.OverallHeight = OverallHeight;
        this.OverallWidth = OverallWidth;
        this.type = 3304561284;
      }
    }
    IFC2X32.IfcWindow = IfcWindow;
    class IfcActuatorType extends IfcDistributionControlElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2874132201;
      }
    }
    IFC2X32.IfcActuatorType = IfcActuatorType;
    class IfcAlarmType extends IfcDistributionControlElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3001207471;
      }
    }
    IFC2X32.IfcAlarmType = IfcAlarmType;
    class IfcBeam extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 753842376;
      }
    }
    IFC2X32.IfcBeam = IfcBeam;
    class IfcChamferEdgeFeature extends IfcEdgeFeature {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, FeatureLength, Width, Height) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, FeatureLength);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.FeatureLength = FeatureLength;
        this.Width = Width;
        this.Height = Height;
        this.type = 2454782716;
      }
    }
    IFC2X32.IfcChamferEdgeFeature = IfcChamferEdgeFeature;
    class IfcControllerType extends IfcDistributionControlElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 578613899;
      }
    }
    IFC2X32.IfcControllerType = IfcControllerType;
    class IfcDistributionChamberElement extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1052013943;
      }
    }
    IFC2X32.IfcDistributionChamberElement = IfcDistributionChamberElement;
    class IfcDistributionControlElement extends IfcDistributionElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, ControlElementId) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.ControlElementId = ControlElementId;
        this.type = 1062813311;
      }
    }
    IFC2X32.IfcDistributionControlElement = IfcDistributionControlElement;
    class IfcElectricDistributionPoint extends IfcFlowController {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, DistributionPointFunction, UserDefinedFunction) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.DistributionPointFunction = DistributionPointFunction;
        this.UserDefinedFunction = UserDefinedFunction;
        this.type = 3700593921;
      }
    }
    IFC2X32.IfcElectricDistributionPoint = IfcElectricDistributionPoint;
    class IfcReinforcingBar extends IfcReinforcingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, NominalDiameter, CrossSectionArea, BarLength, BarRole, BarSurface) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.SteelGrade = SteelGrade;
        this.NominalDiameter = NominalDiameter;
        this.CrossSectionArea = CrossSectionArea;
        this.BarLength = BarLength;
        this.BarRole = BarRole;
        this.BarSurface = BarSurface;
        this.type = 979691226;
      }
    }
    IFC2X32.IfcReinforcingBar = IfcReinforcingBar;
  })(IFC2X3 || (IFC2X3 = {}));
  SchemaNames[2] = ["IFC4"];
  FromRawLineData[2] = {
    3630933823: (v) => new IFC4.IfcActorRole(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcText((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    618182010: (v) => new IFC4.IfcAddress(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    639542469: (v) => new IFC4.IfcApplication(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4.IfcIdentifier((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    411424972: (v) => new IFC4.IfcAppliedValue((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcDate((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcDate((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    130549933: (v) => new IFC4.IfcApproval((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcText((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcDateTime((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 2, v[8])),
    4037036970: (v) => new IFC4.IfcBoundaryCondition((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    1560379544: (v) => new IFC4.IfcBoundaryEdgeCondition((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : TypeInitialiser(2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : TypeInitialiser(2, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : TypeInitialiser(2, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : TypeInitialiser(2, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : TypeInitialiser(2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : TypeInitialiser(2, v[6])),
    3367102660: (v) => new IFC4.IfcBoundaryFaceCondition((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : TypeInitialiser(2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : TypeInitialiser(2, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : TypeInitialiser(2, v[3])),
    1387855156: (v) => new IFC4.IfcBoundaryNodeCondition((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : TypeInitialiser(2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : TypeInitialiser(2, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : TypeInitialiser(2, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : TypeInitialiser(2, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : TypeInitialiser(2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : TypeInitialiser(2, v[6])),
    2069777674: (v) => new IFC4.IfcBoundaryNodeConditionWarping((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : TypeInitialiser(2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : TypeInitialiser(2, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : TypeInitialiser(2, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : TypeInitialiser(2, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : TypeInitialiser(2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : TypeInitialiser(2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : TypeInitialiser(2, v[7])),
    2859738748: (_) => new IFC4.IfcConnectionGeometry(),
    2614616156: (v) => new IFC4.IfcConnectionPointGeometry(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1])),
    2732653382: (v) => new IFC4.IfcConnectionSurfaceGeometry(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1])),
    775493141: (v) => new IFC4.IfcConnectionVolumeGeometry(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1])),
    1959218052: (v) => new IFC4.IfcConstraint(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcDateTime((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    1785450214: (v) => new IFC4.IfcCoordinateOperation(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1])),
    1466758467: (v) => new IFC4.IfcCoordinateReferenceSystem(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcIdentifier((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcIdentifier((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    602808272: (v) => new IFC4.IfcCostValue((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcDate((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcDate((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    1765591967: (v) => new IFC4.IfcDerivedUnit(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[1], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    1045800335: (v) => new IFC4.IfcDerivedUnitElement(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new NumberHandle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 10)),
    2949456006: (v) => new IFC4.IfcDimensionalExponents(new NumberHandle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 10), new NumberHandle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 10), new NumberHandle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 10), new NumberHandle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 10), new NumberHandle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 10), new NumberHandle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 10), new NumberHandle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 10)),
    4294318154: (_) => new IFC4.IfcExternalInformation(),
    3200245327: (v) => new IFC4.IfcExternalReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcURIReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    2242383968: (v) => new IFC4.IfcExternallyDefinedHatchStyle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcURIReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    1040185647: (v) => new IFC4.IfcExternallyDefinedSurfaceStyle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcURIReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3548104201: (v) => new IFC4.IfcExternallyDefinedTextFont((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcURIReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    852622518: (v) => new IFC4.IfcGridAxis((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new IFC4.IfcBoolean((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3020489413: (v) => new IFC4.IfcIrregularTimeSeriesValue(new IFC4.IfcDateTime((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(2, p) : null) || []),
    2655187982: (v) => new IFC4.IfcLibraryInformation(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcDateTime((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcURIReference((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcText((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    3452421091: (v) => new IFC4.IfcLibraryReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcURIReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLanguageId((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5])),
    4162380809: (v) => new IFC4.IfcLightDistributionData(new IFC4.IfcPlaneAngleMeasure((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcPlaneAngleMeasure(p.value) : null) || [], v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcLuminousIntensityDistributionMeasure(p.value) : null) || []),
    1566485204: (v) => new IFC4.IfcLightIntensityDistribution(v[0], v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    3057273783: (v) => new IFC4.IfcMapConversion(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new IFC4.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4.IfcLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcReal((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcReal((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcReal((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    1847130766: (v) => new IFC4.IfcMaterialClassificationRelationship(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1])),
    760658860: (_) => new IFC4.IfcMaterialDefinition(),
    248100487: (v) => new IFC4.IfcMaterialLayer((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcNonNegativeLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLogical((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcText((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcInteger((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    3303938423: (v) => new IFC4.IfcMaterialLayerSet(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcText((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    1847252529: (v) => new IFC4.IfcMaterialLayerWithOffsets((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcNonNegativeLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLogical((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcText((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcInteger((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7], new IFC4.IfcLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2199411900: (v) => new IFC4.IfcMaterialList(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    2235152071: (v) => new IFC4.IfcMaterialProfile((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcInteger((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    164193824: (v) => new IFC4.IfcMaterialProfileSet((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3])),
    552965576: (v) => new IFC4.IfcMaterialProfileWithOffsets((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcInteger((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4.IfcLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    1507914824: (_) => new IFC4.IfcMaterialUsageDefinition(),
    2597039031: (v) => new IFC4.IfcMeasureWithUnit(TypeInitialiser(2, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1])),
    3368373690: (v) => new IFC4.IfcMetric(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcDateTime((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 2, v[9]), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 2, v[10])),
    2706619895: (v) => new IFC4.IfcMonetaryUnit(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    1918398963: (v) => new IFC4.IfcNamedUnit(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), v[1]),
    3701648758: (_) => new IFC4.IfcObjectPlacement(),
    2251480897: (v) => new IFC4.IfcObjective(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcDateTime((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[8], v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcLabel((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value)),
    4251960020: (v) => new IFC4.IfcOrganization((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcText((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    1207048766: (v) => new IFC4.IfcOwnerHistory(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), v[2], v[3], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcTimeStamp((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), new IFC4.IfcTimeStamp((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2077209135: (v) => new IFC4.IfcPerson((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcLabel(p.value) : null) || [], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcLabel(p.value) : null) || [], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcLabel(p.value) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    101040310: (v) => new IFC4.IfcPersonAndOrganization(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    2483315170: (v) => new IFC4.IfcPhysicalQuantity(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    2226359599: (v) => new IFC4.IfcPhysicalSimpleQuantity(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2])),
    3355820592: (v) => new IFC4.IfcPostalAddress(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcLabel(p.value) : null) || [], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcLabel((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    677532197: (_) => new IFC4.IfcPresentationItem(),
    2022622350: (v) => new IFC4.IfcPresentationLayerAssignment(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcIdentifier((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    1304840413: (v) => new IFC4.IfcPresentationLayerWithStyle(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcIdentifier((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4.IfcLogical((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4.IfcLogical((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4.IfcLogical((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    3119450353: (v) => new IFC4.IfcPresentationStyle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    2417041796: (v) => new IFC4.IfcPresentationStyleAssignment(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    2095639259: (v) => new IFC4.IfcProductRepresentation((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    3958567839: (v) => new IFC4.IfcProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    3843373140: (v) => new IFC4.IfcProjectedCRS(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcIdentifier((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcIdentifier((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6])),
    986844984: (_) => new IFC4.IfcPropertyAbstraction(),
    3710013099: (v) => new IFC4.IfcPropertyEnumeration(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(2, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2])),
    2044713172: (v) => new IFC4.IfcQuantityArea(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcAreaMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    2093928680: (v) => new IFC4.IfcQuantityCount(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcCountMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    931644368: (v) => new IFC4.IfcQuantityLength(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3252649465: (v) => new IFC4.IfcQuantityTime(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcTimeMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    2405470396: (v) => new IFC4.IfcQuantityVolume(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcVolumeMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    825690147: (v) => new IFC4.IfcQuantityWeight(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcMassMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3915482550: (v) => new IFC4.IfcRecurrencePattern(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcDayInMonthNumber(p.value) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcDayInWeekNumber(p.value) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcMonthInYearNumber(p.value) : null) || [], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcInteger((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcInteger((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcInteger((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    2433181523: (v) => new IFC4.IfcReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcInteger(p.value) : null) || [], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4])),
    1076942058: (v) => new IFC4.IfcRepresentation(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    3377609919: (v) => new IFC4.IfcRepresentationContext((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    3008791417: (_) => new IFC4.IfcRepresentationItem(),
    1660063152: (v) => new IFC4.IfcRepresentationMap(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1])),
    2439245199: (v) => new IFC4.IfcResourceLevelRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    2341007311: (v) => new IFC4.IfcRoot(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    448429030: (v) => new IFC4.IfcSIUnit(v[0], v[1], v[2]),
    1054537805: (v) => new IFC4.IfcSchedulingTime((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    867548509: (v) => new IFC4.IfcShapeAspect(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcText((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4.IfcLogical((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4])),
    3982875396: (v) => new IFC4.IfcShapeModel(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    4240577450: (v) => new IFC4.IfcShapeRepresentation(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    2273995522: (v) => new IFC4.IfcStructuralConnectionCondition((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    2162789131: (v) => new IFC4.IfcStructuralLoad((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    3478079324: (v) => new IFC4.IfcStructuralLoadConfiguration((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new IFC4.IfcLengthMeasure(p2.value) : null) || [])),
    609421318: (v) => new IFC4.IfcStructuralLoadOrResult((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    2525727697: (v) => new IFC4.IfcStructuralLoadStatic((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    3408363356: (v) => new IFC4.IfcStructuralLoadTemperature((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcThermodynamicTemperatureMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcThermodynamicTemperatureMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcThermodynamicTemperatureMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2830218821: (v) => new IFC4.IfcStyleModel(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    3958052878: (v) => new IFC4.IfcStyledItem((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3049322572: (v) => new IFC4.IfcStyledRepresentation(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    2934153892: (v) => new IFC4.IfcSurfaceReinforcementArea((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcLengthMeasure(p.value) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcLengthMeasure(p.value) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    1300840506: (v) => new IFC4.IfcSurfaceStyle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1], v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    3303107099: (v) => new IFC4.IfcSurfaceStyleLighting(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3])),
    1607154358: (v) => new IFC4.IfcSurfaceStyleRefraction((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcReal((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcReal((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    846575682: (v) => new IFC4.IfcSurfaceStyleShading(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcNormalisedRatioMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    1351298697: (v) => new IFC4.IfcSurfaceStyleWithTextures(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    626085974: (v) => new IFC4.IfcSurfaceTexture(new IFC4.IfcBoolean((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcIdentifier((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcIdentifier(p.value) : null) || []),
    985171141: (v) => new IFC4.IfcTable((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    2043862942: (v) => new IFC4.IfcTableColumn((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcText((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4])),
    531007025: (v) => new IFC4.IfcTableRow((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(2, p) : null) || [], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    1549132990: (v) => new IFC4.IfcTaskTime((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcDuration((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcDateTime((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcDateTime((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcDateTime((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcDateTime((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcDateTime((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcDateTime((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4.IfcDuration((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4.IfcDuration((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC4.IfcBoolean((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC4.IfcDateTime((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value), (v[15] ?? void 0) === void 0 || v[15] === "" ? null : new IFC4.IfcDuration((v[15] ?? void 0) === void 0 || v[15] === "" ? null : v[15].value), (v[16] ?? void 0) === void 0 || v[16] === "" ? null : new IFC4.IfcDateTime((v[16] ?? void 0) === void 0 || v[16] === "" ? null : v[16].value), (v[17] ?? void 0) === void 0 || v[17] === "" ? null : new IFC4.IfcDateTime((v[17] ?? void 0) === void 0 || v[17] === "" ? null : v[17].value), (v[18] ?? void 0) === void 0 || v[18] === "" ? null : new IFC4.IfcDuration((v[18] ?? void 0) === void 0 || v[18] === "" ? null : v[18].value), (v[19] ?? void 0) === void 0 || v[19] === "" ? null : new IFC4.IfcPositiveRatioMeasure((v[19] ?? void 0) === void 0 || v[19] === "" ? null : v[19].value)),
    2771591690: (v) => new IFC4.IfcTaskTimeRecurring((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcDuration((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcDateTime((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcDateTime((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcDateTime((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcDateTime((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcDateTime((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcDateTime((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4.IfcDuration((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4.IfcDuration((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC4.IfcBoolean((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC4.IfcDateTime((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value), (v[15] ?? void 0) === void 0 || v[15] === "" ? null : new IFC4.IfcDuration((v[15] ?? void 0) === void 0 || v[15] === "" ? null : v[15].value), (v[16] ?? void 0) === void 0 || v[16] === "" ? null : new IFC4.IfcDateTime((v[16] ?? void 0) === void 0 || v[16] === "" ? null : v[16].value), (v[17] ?? void 0) === void 0 || v[17] === "" ? null : new IFC4.IfcDateTime((v[17] ?? void 0) === void 0 || v[17] === "" ? null : v[17].value), (v[18] ?? void 0) === void 0 || v[18] === "" ? null : new IFC4.IfcDuration((v[18] ?? void 0) === void 0 || v[18] === "" ? null : v[18].value), (v[19] ?? void 0) === void 0 || v[19] === "" ? null : new IFC4.IfcPositiveRatioMeasure((v[19] ?? void 0) === void 0 || v[19] === "" ? null : v[19].value), new Handle((v[20] ?? void 0) === void 0 || v[20] === "" ? null : v[20].value, 2, v[20])),
    912023232: (v) => new IFC4.IfcTelecomAddress(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcLabel(p.value) : null) || [], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcLabel(p.value) : null) || [], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcLabel(p.value) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcURIReference((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcURIReference(p.value) : null) || []),
    1447204868: (v) => new IFC4.IfcTextStyle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcBoolean((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    2636378356: (v) => new IFC4.IfcTextStyleForDefinedFont(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1])),
    1640371178: (v) => new IFC4.IfcTextStyleTextModel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : TypeInitialiser(2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcTextAlignment((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcTextDecoration((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : TypeInitialiser(2, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : TypeInitialiser(2, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcTextTransformation((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : TypeInitialiser(2, v[6])),
    280115917: (v) => new IFC4.IfcTextureCoordinate(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    1742049831: (v) => new IFC4.IfcTextureCoordinateGenerator(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcReal(p.value) : null) || []),
    2552916305: (v) => new IFC4.IfcTextureMap(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2])),
    1210645708: (v) => new IFC4.IfcTextureVertex(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcParameterValue(p.value) : null) || []),
    3611470254: (v) => new IFC4.IfcTextureVertexList(v[0]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new IFC4.IfcParameterValue(p2.value) : null) || [])),
    1199560280: (v) => new IFC4.IfcTimePeriod(new IFC4.IfcTime((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4.IfcTime((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    3101149627: (v) => new IFC4.IfcTimeSeries(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4.IfcDateTime((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4.IfcDateTime((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4], v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7])),
    581633288: (v) => new IFC4.IfcTimeSeriesValue(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(2, p) : null) || []),
    1377556343: (_) => new IFC4.IfcTopologicalRepresentationItem(),
    1735638870: (v) => new IFC4.IfcTopologyRepresentation(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    180925521: (v) => new IFC4.IfcUnitAssignment(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    2799835756: (_) => new IFC4.IfcVertex(),
    1907098498: (v) => new IFC4.IfcVertexPoint(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0])),
    891718957: (v) => new IFC4.IfcVirtualGridIntersection(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcLengthMeasure(p.value) : null) || []),
    1236880293: (v) => new IFC4.IfcWorkTime((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcDate((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcDate((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    3869604511: (v) => new IFC4.IfcApprovalRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    3798115385: (v) => new IFC4.IfcArbitraryClosedProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2])),
    1310608509: (v) => new IFC4.IfcArbitraryOpenProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2])),
    2705031697: (v) => new IFC4.IfcArbitraryProfileDefWithVoids(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    616511568: (v) => new IFC4.IfcBlobTexture(new IFC4.IfcBoolean((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcIdentifier((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcIdentifier(p.value) : null) || [], new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4.IfcBinary((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    3150382593: (v) => new IFC4.IfcCenterLineProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    747523909: (v) => new IFC4.IfcClassification((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcDate((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcText((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcURIReference((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcIdentifier(p.value) : null) || []),
    647927063: (v) => new IFC4.IfcClassificationReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcURIReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcText((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    3285139300: (v) => new IFC4.IfcColourRgbList(v[0]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new IFC4.IfcNormalisedRatioMeasure(p2.value) : null) || [])),
    3264961684: (v) => new IFC4.IfcColourSpecification((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    1485152156: (v) => new IFC4.IfcCompositeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    370225590: (v) => new IFC4.IfcConnectedFaceSet(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    1981873012: (v) => new IFC4.IfcConnectionCurveGeometry(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1])),
    45288368: (v) => new IFC4.IfcConnectionPointEccentricity(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3050246964: (v) => new IFC4.IfcContextDependentUnit(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), v[1], new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    2889183280: (v) => new IFC4.IfcConversionBasedUnit(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), v[1], new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3])),
    2713554722: (v) => new IFC4.IfcConversionBasedUnitWithOffset(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), v[1], new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3]), new IFC4.IfcReal((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    539742890: (v) => new IFC4.IfcCurrencyRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3]), new IFC4.IfcPositiveRatioMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcDateTime((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6])),
    3800577675: (v) => new IFC4.IfcCurveStyle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : TypeInitialiser(2, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcBoolean((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    1105321065: (v) => new IFC4.IfcCurveStyleFont((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    2367409068: (v) => new IFC4.IfcCurveStyleFontAndScaling((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new IFC4.IfcPositiveRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3510044353: (v) => new IFC4.IfcCurveStyleFontPattern(new IFC4.IfcLengthMeasure((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    3632507154: (v) => new IFC4.IfcDerivedProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    1154170062: (v) => new IFC4.IfcDocumentInformation(new IFC4.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcText((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcURIReference((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcText((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcText((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 2, v[8]), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcDateTime((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4.IfcDateTime((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4.IfcIdentifier((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC4.IfcDate((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC4.IfcDate((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value), v[15], v[16]),
    770865208: (v) => new IFC4.IfcDocumentInformationRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3732053477: (v) => new IFC4.IfcDocumentReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcURIReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4])),
    3900360178: (v) => new IFC4.IfcEdge(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1])),
    476780140: (v) => new IFC4.IfcEdgeCurve(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcBoolean((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    211053100: (v) => new IFC4.IfcEventTime((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcDateTime((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcDateTime((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcDateTime((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcDateTime((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    297599258: (v) => new IFC4.IfcExtendedProperties((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    1437805879: (v) => new IFC4.IfcExternalReferenceRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    2556980723: (v) => new IFC4.IfcFace(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    1809719519: (v) => new IFC4.IfcFaceBound(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    803316827: (v) => new IFC4.IfcFaceOuterBound(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    3008276851: (v) => new IFC4.IfcFaceSurface(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new IFC4.IfcBoolean((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    4219587988: (v) => new IFC4.IfcFailureConnectionCondition((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcForceMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcForceMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcForceMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcForceMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcForceMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcForceMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    738692330: (v) => new IFC4.IfcFillAreaStyle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcBoolean((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3448662350: (v) => new IFC4.IfcGeometricRepresentationContext((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4.IfcDimensionCount((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcReal((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5])),
    2453401579: (_) => new IFC4.IfcGeometricRepresentationItem(),
    4142052618: (v) => new IFC4.IfcGeometricRepresentationSubContext((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcPositiveRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    3590301190: (v) => new IFC4.IfcGeometricSet(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    178086475: (v) => new IFC4.IfcGridPlacement(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1])),
    812098782: (v) => new IFC4.IfcHalfSpaceSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    3905492369: (v) => new IFC4.IfcImageTexture(new IFC4.IfcBoolean((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcIdentifier((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcIdentifier(p.value) : null) || [], new IFC4.IfcURIReference((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    3570813810: (v) => new IFC4.IfcIndexedColourMap(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcNormalisedRatioMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcPositiveInteger(p.value) : null) || []),
    1437953363: (v) => new IFC4.IfcIndexedTextureMap(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2])),
    2133299955: (v) => new IFC4.IfcIndexedTriangleTextureMap(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new IFC4.IfcPositiveInteger(p2.value) : null) || [])),
    3741457305: (v) => new IFC4.IfcIrregularTimeSeries(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4.IfcDateTime((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4.IfcDateTime((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4], v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    1585845231: (v) => new IFC4.IfcLagTime((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), TypeInitialiser(2, v[3]), v[4]),
    1402838566: (v) => new IFC4.IfcLightSource((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcNormalisedRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcNormalisedRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    125510826: (v) => new IFC4.IfcLightSourceAmbient((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcNormalisedRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcNormalisedRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2604431987: (v) => new IFC4.IfcLightSourceDirectional((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcNormalisedRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcNormalisedRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4])),
    4266656042: (v) => new IFC4.IfcLightSourceGoniometric((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcNormalisedRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcNormalisedRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), new IFC4.IfcThermodynamicTemperatureMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), new IFC4.IfcLuminousFluxMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 2, v[9])),
    1520743889: (v) => new IFC4.IfcLightSourcePositional((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcNormalisedRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcNormalisedRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), new IFC4.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4.IfcReal((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), new IFC4.IfcReal((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), new IFC4.IfcReal((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3422422726: (v) => new IFC4.IfcLightSourceSpot((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcNormalisedRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcNormalisedRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), new IFC4.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4.IfcReal((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), new IFC4.IfcReal((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), new IFC4.IfcReal((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 2, v[9]), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcReal((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), new IFC4.IfcPositivePlaneAngleMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), new IFC4.IfcPositivePlaneAngleMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value)),
    2624227202: (v) => new IFC4.IfcLocalPlacement((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1])),
    1008929658: (_) => new IFC4.IfcLoop(),
    2347385850: (v) => new IFC4.IfcMappedItem(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1])),
    1838606355: (v) => new IFC4.IfcMaterial(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3708119e3: (v) => new IFC4.IfcMaterialConstituent((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcNormalisedRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    2852063980: (v) => new IFC4.IfcMaterialConstituentSet((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    2022407955: (v) => new IFC4.IfcMaterialDefinitionRepresentation((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3])),
    1303795690: (v) => new IFC4.IfcMaterialLayerSetUsage(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), v[1], v[2], new IFC4.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3079605661: (v) => new IFC4.IfcMaterialProfileSetUsage(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcCardinalPointReference((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3404854881: (v) => new IFC4.IfcMaterialProfileSetUsageTapering(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcCardinalPointReference((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcCardinalPointReference((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3265635763: (v) => new IFC4.IfcMaterialProperties((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3])),
    853536259: (v) => new IFC4.IfcMaterialRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    2998442950: (v) => new IFC4.IfcMirroredProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    219451334: (v) => new IFC4.IfcObjectDefinition(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2665983363: (v) => new IFC4.IfcOpenShell(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    1411181986: (v) => new IFC4.IfcOrganizationRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    1029017970: (v) => new IFC4.IfcOrientedEdge(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    2529465313: (v) => new IFC4.IfcParameterizedProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2])),
    2519244187: (v) => new IFC4.IfcPath(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    3021840470: (v) => new IFC4.IfcPhysicalComplexQuantity(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new IFC4.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    597895409: (v) => new IFC4.IfcPixelTexture(new IFC4.IfcBoolean((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcIdentifier((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcIdentifier(p.value) : null) || [], new IFC4.IfcInteger((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4.IfcInteger((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), new IFC4.IfcInteger((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcBinary(p.value) : null) || []),
    2004835150: (v) => new IFC4.IfcPlacement(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0])),
    1663979128: (v) => new IFC4.IfcPlanarExtent(new IFC4.IfcLengthMeasure((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    2067069095: (_) => new IFC4.IfcPoint(),
    4022376103: (v) => new IFC4.IfcPointOnCurve(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcParameterValue((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    1423911732: (v) => new IFC4.IfcPointOnSurface(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcParameterValue((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4.IfcParameterValue((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    2924175390: (v) => new IFC4.IfcPolyLoop(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    2775532180: (v) => new IFC4.IfcPolygonalBoundedHalfSpace(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3])),
    3727388367: (v) => new IFC4.IfcPreDefinedItem(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    3778827333: (_) => new IFC4.IfcPreDefinedProperties(),
    1775413392: (v) => new IFC4.IfcPreDefinedTextFont(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    673634403: (v) => new IFC4.IfcProductDefinitionShape((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    2802850158: (v) => new IFC4.IfcProfileProperties((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3])),
    2598011224: (v) => new IFC4.IfcProperty(new IFC4.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    1680319473: (v) => new IFC4.IfcPropertyDefinition(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    148025276: (v) => new IFC4.IfcPropertyDependencyRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcText((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3357820518: (v) => new IFC4.IfcPropertySetDefinition(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    1482703590: (v) => new IFC4.IfcPropertyTemplateDefinition(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2090586900: (v) => new IFC4.IfcQuantitySet(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    3615266464: (v) => new IFC4.IfcRectangleProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3413951693: (v) => new IFC4.IfcRegularTimeSeries(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4.IfcDateTime((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4.IfcDateTime((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4], v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), new IFC4.IfcTimeMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    1580146022: (v) => new IFC4.IfcReinforcementBarProperties(new IFC4.IfcAreaMeasure((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcCountMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    478536968: (v) => new IFC4.IfcRelationship(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2943643501: (v) => new IFC4.IfcResourceApprovalRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3])),
    1608871552: (v) => new IFC4.IfcResourceConstraintRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    1042787934: (v) => new IFC4.IfcResourceTime((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcDuration((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcPositiveRatioMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcDateTime((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcDateTime((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcDuration((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcBoolean((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcDateTime((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4.IfcDuration((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4.IfcPositiveRatioMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC4.IfcDateTime((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC4.IfcDateTime((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value), (v[15] ?? void 0) === void 0 || v[15] === "" ? null : new IFC4.IfcDuration((v[15] ?? void 0) === void 0 || v[15] === "" ? null : v[15].value), (v[16] ?? void 0) === void 0 || v[16] === "" ? null : new IFC4.IfcPositiveRatioMeasure((v[16] ?? void 0) === void 0 || v[16] === "" ? null : v[16].value), (v[17] ?? void 0) === void 0 || v[17] === "" ? null : new IFC4.IfcPositiveRatioMeasure((v[17] ?? void 0) === void 0 || v[17] === "" ? null : v[17].value)),
    2778083089: (v) => new IFC4.IfcRoundedRectangleProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    2042790032: (v) => new IFC4.IfcSectionProperties(v[0], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2])),
    4165799628: (v) => new IFC4.IfcSectionReinforcementProperties(new IFC4.IfcLengthMeasure((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3], new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    1509187699: (v) => new IFC4.IfcSectionedSpine(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    4124623270: (v) => new IFC4.IfcShellBasedSurfaceModel(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    3692461612: (v) => new IFC4.IfcSimpleProperty(new IFC4.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    2609359061: (v) => new IFC4.IfcSlippageConnectionCondition((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    723233188: (_) => new IFC4.IfcSolidModel(),
    1595516126: (v) => new IFC4.IfcStructuralLoadLinearForce((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLinearForceMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLinearForceMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcLinearForceMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLinearMomentMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcLinearMomentMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcLinearMomentMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    2668620305: (v) => new IFC4.IfcStructuralLoadPlanarForce((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcPlanarForceMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcPlanarForceMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcPlanarForceMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2473145415: (v) => new IFC4.IfcStructuralLoadSingleDisplacement((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcPlaneAngleMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcPlaneAngleMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcPlaneAngleMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    1973038258: (v) => new IFC4.IfcStructuralLoadSingleDisplacementDistortion((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcPlaneAngleMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcPlaneAngleMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcPlaneAngleMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcCurvatureMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    1597423693: (v) => new IFC4.IfcStructuralLoadSingleForce((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcForceMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcForceMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcForceMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcTorqueMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcTorqueMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcTorqueMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    1190533807: (v) => new IFC4.IfcStructuralLoadSingleForceWarping((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcForceMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcForceMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcForceMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcTorqueMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcTorqueMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcTorqueMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcWarpingMomentMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2233826070: (v) => new IFC4.IfcSubedge(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2])),
    2513912981: (_) => new IFC4.IfcSurface(),
    1878645084: (v) => new IFC4.IfcSurfaceStyleRendering(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcNormalisedRatioMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : TypeInitialiser(2, v[7]), v[8]),
    2247615214: (v) => new IFC4.IfcSweptAreaSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1])),
    1260650574: (v) => new IFC4.IfcSweptDiskSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcParameterValue((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcParameterValue((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    1096409881: (v) => new IFC4.IfcSweptDiskSolidPolygonal(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcParameterValue((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcParameterValue((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    230924584: (v) => new IFC4.IfcSweptSurface(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1])),
    3071757647: (v) => new IFC4.IfcTShapeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcPlaneAngleMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4.IfcPlaneAngleMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value)),
    901063453: (_) => new IFC4.IfcTessellatedItem(),
    4282788508: (v) => new IFC4.IfcTextLiteral(new IFC4.IfcPresentableText((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), v[2]),
    3124975700: (v) => new IFC4.IfcTextLiteralWithExtent(new IFC4.IfcPresentableText((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), v[2], new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3]), new IFC4.IfcBoxAlignment((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    1983826977: (v) => new IFC4.IfcTextStyleFontModel(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcTextFontName(p.value) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcFontStyle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcFontVariant((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcFontWeight((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), TypeInitialiser(2, v[5])),
    2715220739: (v) => new IFC4.IfcTrapeziumProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4.IfcLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    1628702193: (v) => new IFC4.IfcTypeObject(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    3736923433: (v) => new IFC4.IfcTypeProcess(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2347495698: (v) => new IFC4.IfcTypeProduct(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3698973494: (v) => new IFC4.IfcTypeResource(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    427810014: (v) => new IFC4.IfcUShapeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcPlaneAngleMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    1417489154: (v) => new IFC4.IfcVector(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    2759199220: (v) => new IFC4.IfcVertexLoop(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0])),
    1299126871: (v) => new IFC4.IfcWindowStyle(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], v[9], new IFC4.IfcBoolean((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), new IFC4.IfcBoolean((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value)),
    2543172580: (v) => new IFC4.IfcZShapeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3406155212: (v) => new IFC4.IfcAdvancedFace(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new IFC4.IfcBoolean((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    669184980: (v) => new IFC4.IfcAnnotationFillArea(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    3207858831: (v) => new IFC4.IfcAsymmetricIShapeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), new IFC4.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4.IfcPlaneAngleMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC4.IfcPlaneAngleMeasure((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value)),
    4261334040: (v) => new IFC4.IfcAxis1Placement(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1])),
    3125803723: (v) => new IFC4.IfcAxis2Placement2D(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1])),
    2740243338: (v) => new IFC4.IfcAxis2Placement3D(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2])),
    2736907675: (v) => new IFC4.IfcBooleanResult(v[0], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2])),
    4182860854: (_) => new IFC4.IfcBoundedSurface(),
    2581212453: (v) => new IFC4.IfcBoundingBox(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2713105998: (v) => new IFC4.IfcBoxedHalfSpace(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2])),
    2898889636: (v) => new IFC4.IfcCShapeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    1123145078: (v) => new IFC4.IfcCartesianPoint(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcLengthMeasure(p.value) : null) || []),
    574549367: (_) => new IFC4.IfcCartesianPointList(),
    1675464909: (v) => new IFC4.IfcCartesianPointList2D(v[0]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new IFC4.IfcLengthMeasure(p2.value) : null) || [])),
    2059837836: (v) => new IFC4.IfcCartesianPointList3D(v[0]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new IFC4.IfcLengthMeasure(p2.value) : null) || [])),
    59481748: (v) => new IFC4.IfcCartesianTransformationOperator((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcReal((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    3749851601: (v) => new IFC4.IfcCartesianTransformationOperator2D((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcReal((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    3486308946: (v) => new IFC4.IfcCartesianTransformationOperator2DnonUniform((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcReal((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcReal((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3331915920: (v) => new IFC4.IfcCartesianTransformationOperator3D((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcReal((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4])),
    1416205885: (v) => new IFC4.IfcCartesianTransformationOperator3DnonUniform((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcReal((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcReal((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcReal((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    1383045692: (v) => new IFC4.IfcCircleProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2205249479: (v) => new IFC4.IfcClosedShell(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    776857604: (v) => new IFC4.IfcColourRgb((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4.IfcNormalisedRatioMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4.IfcNormalisedRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4.IfcNormalisedRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2542286263: (v) => new IFC4.IfcComplexProperty(new IFC4.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4.IfcIdentifier((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    2485617015: (v) => new IFC4.IfcCompositeCurveSegment(v[0], new IFC4.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2])),
    2574617495: (v) => new IFC4.IfcConstructionResourceType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 2, v[10])),
    3419103109: (v) => new IFC4.IfcContext(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 2, v[8])),
    1815067380: (v) => new IFC4.IfcCrewResourceType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 2, v[10]), v[11]),
    2506170314: (v) => new IFC4.IfcCsgPrimitive3D(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0])),
    2147822146: (v) => new IFC4.IfcCsgSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0])),
    2601014836: (_) => new IFC4.IfcCurve(),
    2827736869: (v) => new IFC4.IfcCurveBoundedPlane(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    2629017746: (v) => new IFC4.IfcCurveBoundedSurface(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new IFC4.IfcBoolean((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    32440307: (v) => new IFC4.IfcDirection(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcReal(p.value) : null) || []),
    526551008: (v) => new IFC4.IfcDoorStyle(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], v[9], new IFC4.IfcBoolean((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), new IFC4.IfcBoolean((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value)),
    1472233963: (v) => new IFC4.IfcEdgeLoop(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    1883228015: (v) => new IFC4.IfcElementQuantity(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    339256511: (v) => new IFC4.IfcElementType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2777663545: (v) => new IFC4.IfcElementarySurface(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0])),
    2835456948: (v) => new IFC4.IfcEllipseProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    4024345920: (v) => new IFC4.IfcEventType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], v[10], (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4.IfcLabel((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value)),
    477187591: (v) => new IFC4.IfcExtrudedAreaSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2804161546: (v) => new IFC4.IfcExtrudedAreaSolidTapered(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4])),
    2047409740: (v) => new IFC4.IfcFaceBasedSurfaceModel(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    374418227: (v) => new IFC4.IfcFillAreaStyleHatching(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3]), new IFC4.IfcPlaneAngleMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    315944413: (v) => new IFC4.IfcFillAreaStyleTiles(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new IFC4.IfcPositiveRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    2652556860: (v) => new IFC4.IfcFixedReferenceSweptAreaSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcParameterValue((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcParameterValue((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5])),
    4238390223: (v) => new IFC4.IfcFurnishingElementType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1268542332: (v) => new IFC4.IfcFurnitureType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], v[10]),
    4095422895: (v) => new IFC4.IfcGeographicElementType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    987898635: (v) => new IFC4.IfcGeometricCurveSet(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    1484403080: (v) => new IFC4.IfcIShapeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcPlaneAngleMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    178912537: (v) => new IFC4.IfcIndexedPolygonalFace(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcPositiveInteger(p.value) : null) || []),
    2294589976: (v) => new IFC4.IfcIndexedPolygonalFaceWithVoids(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcPositiveInteger(p.value) : null) || [], v[1]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new IFC4.IfcPositiveInteger(p2.value) : null) || [])),
    572779678: (v) => new IFC4.IfcLShapeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcPlaneAngleMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    428585644: (v) => new IFC4.IfcLaborResourceType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 2, v[10]), v[11]),
    1281925730: (v) => new IFC4.IfcLine(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1])),
    1425443689: (v) => new IFC4.IfcManifoldSolidBrep(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0])),
    3888040117: (v) => new IFC4.IfcObject(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3388369263: (v) => new IFC4.IfcOffsetCurve2D(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4.IfcLogical((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3505215534: (v) => new IFC4.IfcOffsetCurve3D(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4.IfcLogical((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3])),
    1682466193: (v) => new IFC4.IfcPcurve(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1])),
    603570806: (v) => new IFC4.IfcPlanarBox(new IFC4.IfcLengthMeasure((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2])),
    220341763: (v) => new IFC4.IfcPlane(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0])),
    759155922: (v) => new IFC4.IfcPreDefinedColour(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    2559016684: (v) => new IFC4.IfcPreDefinedCurveFont(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    3967405729: (v) => new IFC4.IfcPreDefinedPropertySet(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    569719735: (v) => new IFC4.IfcProcedureType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2945172077: (v) => new IFC4.IfcProcess(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    4208778838: (v) => new IFC4.IfcProduct(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6])),
    103090709: (v) => new IFC4.IfcProject(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 2, v[8])),
    653396225: (v) => new IFC4.IfcProjectLibrary(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 2, v[8])),
    871118103: (v) => new IFC4.IfcPropertyBoundedValue(new IFC4.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : TypeInitialiser(2, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : TypeInitialiser(2, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : TypeInitialiser(2, v[5])),
    4166981789: (v) => new IFC4.IfcPropertyEnumeratedValue(new IFC4.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(2, p) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3])),
    2752243245: (v) => new IFC4.IfcPropertyListValue(new IFC4.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(2, p) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3])),
    941946838: (v) => new IFC4.IfcPropertyReferenceValue(new IFC4.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcText((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3])),
    1451395588: (v) => new IFC4.IfcPropertySet(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    492091185: (v) => new IFC4.IfcPropertySetTemplate(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    3650150729: (v) => new IFC4.IfcPropertySingleValue(new IFC4.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : TypeInitialiser(2, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 2, v[3])),
    110355661: (v) => new IFC4.IfcPropertyTableValue(new IFC4.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(2, p) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(2, p) : null) || [], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcText((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), v[7]),
    3521284610: (v) => new IFC4.IfcPropertyTemplate(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    3219374653: (v) => new IFC4.IfcProxy(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2770003689: (v) => new IFC4.IfcRectangleHollowProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2798486643: (v) => new IFC4.IfcRectangularPyramid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    3454111270: (v) => new IFC4.IfcRectangularTrimmedSurface(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcParameterValue((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4.IfcParameterValue((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4.IfcParameterValue((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4.IfcParameterValue((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4.IfcBoolean((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4.IfcBoolean((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    3765753017: (v) => new IFC4.IfcReinforcementDefinitionProperties(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    3939117080: (v) => new IFC4.IfcRelAssigns(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[5]),
    1683148259: (v) => new IFC4.IfcRelAssignsToActor(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[5], new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7])),
    2495723537: (v) => new IFC4.IfcRelAssignsToControl(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[5], new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6])),
    1307041759: (v) => new IFC4.IfcRelAssignsToGroup(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[5], new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6])),
    1027710054: (v) => new IFC4.IfcRelAssignsToGroupByFactor(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[5], new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), new IFC4.IfcRatioMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    4278684876: (v) => new IFC4.IfcRelAssignsToProcess(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[5], new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7])),
    2857406711: (v) => new IFC4.IfcRelAssignsToProduct(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[5], new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6])),
    205026976: (v) => new IFC4.IfcRelAssignsToResource(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[5], new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6])),
    1865459582: (v) => new IFC4.IfcRelAssociates(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    4095574036: (v) => new IFC4.IfcRelAssociatesApproval(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5])),
    919958153: (v) => new IFC4.IfcRelAssociatesClassification(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5])),
    2728634034: (v) => new IFC4.IfcRelAssociatesConstraint(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6])),
    982818633: (v) => new IFC4.IfcRelAssociatesDocument(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5])),
    3840914261: (v) => new IFC4.IfcRelAssociatesLibrary(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5])),
    2655215786: (v) => new IFC4.IfcRelAssociatesMaterial(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5])),
    826625072: (v) => new IFC4.IfcRelConnects(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    1204542856: (v) => new IFC4.IfcRelConnectsElements(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6])),
    3945020480: (v) => new IFC4.IfcRelConnectsPathElements(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcInteger(p.value) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcInteger(p.value) : null) || [], v[9], v[10]),
    4201705270: (v) => new IFC4.IfcRelConnectsPortToElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5])),
    3190031847: (v) => new IFC4.IfcRelConnectsPorts(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6])),
    2127690289: (v) => new IFC4.IfcRelConnectsStructuralActivity(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5])),
    1638771189: (v) => new IFC4.IfcRelConnectsStructuralMember(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 2, v[9])),
    504942748: (v) => new IFC4.IfcRelConnectsWithEccentricity(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 2, v[9]), new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 2, v[10])),
    3678494232: (v) => new IFC4.IfcRelConnectsWithRealizingElements(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3242617779: (v) => new IFC4.IfcRelContainedInSpatialStructure(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5])),
    886880790: (v) => new IFC4.IfcRelCoversBldgElements(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    2802773753: (v) => new IFC4.IfcRelCoversSpaces(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    2565941209: (v) => new IFC4.IfcRelDeclares(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    2551354335: (v) => new IFC4.IfcRelDecomposes(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    693640335: (v) => new IFC4.IfcRelDefines(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    1462361463: (v) => new IFC4.IfcRelDefinesByObject(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5])),
    4186316022: (v) => new IFC4.IfcRelDefinesByProperties(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5])),
    307848117: (v) => new IFC4.IfcRelDefinesByTemplate(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5])),
    781010003: (v) => new IFC4.IfcRelDefinesByType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5])),
    3940055652: (v) => new IFC4.IfcRelFillsElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5])),
    279856033: (v) => new IFC4.IfcRelFlowControlElements(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5])),
    427948657: (v) => new IFC4.IfcRelInterferesElements(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value),
    3268803585: (v) => new IFC4.IfcRelNests(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    750771296: (v) => new IFC4.IfcRelProjectsElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5])),
    1245217292: (v) => new IFC4.IfcRelReferencedInSpatialStructure(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5])),
    4122056220: (v) => new IFC4.IfcRelSequence(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    366585022: (v) => new IFC4.IfcRelServicesBuildings(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    3451746338: (v) => new IFC4.IfcRelSpaceBoundary(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), v[7], v[8]),
    3523091289: (v) => new IFC4.IfcRelSpaceBoundary1stLevel(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), v[7], v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 2, v[9])),
    1521410863: (v) => new IFC4.IfcRelSpaceBoundary2ndLevel(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), v[7], v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 2, v[9]), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 2, v[10])),
    1401173127: (v) => new IFC4.IfcRelVoidsElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5])),
    816062949: (v) => new IFC4.IfcReparametrisedCompositeCurveSegment(v[0], new IFC4.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcParameterValue((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2914609552: (v) => new IFC4.IfcResource(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    1856042241: (v) => new IFC4.IfcRevolvedAreaSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcPlaneAngleMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    3243963512: (v) => new IFC4.IfcRevolvedAreaSolidTapered(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcPlaneAngleMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4])),
    4158566097: (v) => new IFC4.IfcRightCircularCone(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3626867408: (v) => new IFC4.IfcRightCircularCylinder(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3663146110: (v) => new IFC4.IfcSimplePropertyTemplate(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 2, v[8]), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 2, v[9]), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcLabel((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), v[11]),
    1412071761: (v) => new IFC4.IfcSpatialElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    710998568: (v) => new IFC4.IfcSpatialElementType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2706606064: (v) => new IFC4.IfcSpatialStructureElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3893378262: (v) => new IFC4.IfcSpatialStructureElementType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    463610769: (v) => new IFC4.IfcSpatialZone(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2481509218: (v) => new IFC4.IfcSpatialZoneType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcLabel((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value)),
    451544542: (v) => new IFC4.IfcSphere(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    4015995234: (v) => new IFC4.IfcSphericalSurface(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    3544373492: (v) => new IFC4.IfcStructuralActivity(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), v[8]),
    3136571912: (v) => new IFC4.IfcStructuralItem(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6])),
    530289379: (v) => new IFC4.IfcStructuralMember(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6])),
    3689010777: (v) => new IFC4.IfcStructuralReaction(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), v[8]),
    3979015343: (v) => new IFC4.IfcStructuralSurfaceMember(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2218152070: (v) => new IFC4.IfcStructuralSurfaceMemberVarying(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    603775116: (v) => new IFC4.IfcStructuralSurfaceReaction(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), v[8], v[9]),
    4095615324: (v) => new IFC4.IfcSubContractResourceType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 2, v[10]), v[11]),
    699246055: (v) => new IFC4.IfcSurfaceCurve(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[2]),
    2028607225: (v) => new IFC4.IfcSurfaceCurveSweptAreaSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcParameterValue((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcParameterValue((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5])),
    2809605785: (v) => new IFC4.IfcSurfaceOfLinearExtrusion(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    4124788165: (v) => new IFC4.IfcSurfaceOfRevolution(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2])),
    1580310250: (v) => new IFC4.IfcSystemFurnitureElementType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3473067441: (v) => new IFC4.IfcTask(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), new IFC4.IfcBoolean((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcInteger((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new Handle((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value, 2, v[11]), v[12]),
    3206491090: (v) => new IFC4.IfcTaskType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcLabel((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value)),
    2387106220: (v) => new IFC4.IfcTessellatedFaceSet(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0])),
    1935646853: (v) => new IFC4.IfcToroidalSurface(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    2097647324: (v) => new IFC4.IfcTransportElementType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2916149573: (v) => new IFC4.IfcTriangulatedFaceSet(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new IFC4.IfcParameterValue(p2.value) : null) || []), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcBoolean((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new IFC4.IfcPositiveInteger(p2.value) : null) || []), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcPositiveInteger(p.value) : null) || []),
    336235671: (v) => new IFC4.IfcWindowLiningProperties(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcNormalisedRatioMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcNormalisedRatioMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcNormalisedRatioMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4.IfcNormalisedRatioMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new Handle((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value, 2, v[12]), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC4.IfcLengthMeasure((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC4.IfcLengthMeasure((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value), (v[15] ?? void 0) === void 0 || v[15] === "" ? null : new IFC4.IfcLengthMeasure((v[15] ?? void 0) === void 0 || v[15] === "" ? null : v[15].value)),
    512836454: (v) => new IFC4.IfcWindowPanelProperties(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4], v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 2, v[8])),
    2296667514: (v) => new IFC4.IfcActor(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5])),
    1635779807: (v) => new IFC4.IfcAdvancedBrep(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0])),
    2603310189: (v) => new IFC4.IfcAdvancedBrepWithVoids(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    1674181508: (v) => new IFC4.IfcAnnotation(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6])),
    2887950389: (v) => new IFC4.IfcBSplineSurface(new IFC4.IfcInteger((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4.IfcInteger((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new Handle(p2.value, 2, p2) : null) || []), v[3], new IFC4.IfcLogical((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4.IfcLogical((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4.IfcLogical((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    167062518: (v) => new IFC4.IfcBSplineSurfaceWithKnots(new IFC4.IfcInteger((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4.IfcInteger((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new Handle(p2.value, 2, p2) : null) || []), v[3], new IFC4.IfcLogical((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4.IfcLogical((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4.IfcLogical((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcInteger(p.value) : null) || [], v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcInteger(p.value) : null) || [], v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcParameterValue(p.value) : null) || [], v[10]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcParameterValue(p.value) : null) || [], v[11]),
    1334484129: (v) => new IFC4.IfcBlock(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    3649129432: (v) => new IFC4.IfcBooleanClippingResult(v[0], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2])),
    1260505505: (_) => new IFC4.IfcBoundedCurve(),
    4031249490: (v) => new IFC4.IfcBuilding(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new Handle((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value, 2, v[11])),
    1950629157: (v) => new IFC4.IfcBuildingElementType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3124254112: (v) => new IFC4.IfcBuildingStorey(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    2197970202: (v) => new IFC4.IfcChimneyType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2937912522: (v) => new IFC4.IfcCircleHollowProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 2, v[2]), new IFC4.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3893394355: (v) => new IFC4.IfcCivilElementType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    300633059: (v) => new IFC4.IfcColumnType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3875453745: (v) => new IFC4.IfcComplexPropertyTemplate(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    3732776249: (v) => new IFC4.IfcCompositeCurve(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new IFC4.IfcLogical((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    15328376: (v) => new IFC4.IfcCompositeCurveOnSurface(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new IFC4.IfcLogical((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    2510884976: (v) => new IFC4.IfcConic(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0])),
    2185764099: (v) => new IFC4.IfcConstructionEquipmentResourceType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 2, v[10]), v[11]),
    4105962743: (v) => new IFC4.IfcConstructionMaterialResourceType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 2, v[10]), v[11]),
    1525564444: (v) => new IFC4.IfcConstructionProductResourceType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 2, v[10]), v[11]),
    2559216714: (v) => new IFC4.IfcConstructionResource(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 2, v[9])),
    3293443760: (v) => new IFC4.IfcControl(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    3895139033: (v) => new IFC4.IfcCostItem(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), v[6], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    1419761937: (v) => new IFC4.IfcCostSchedule(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), v[6], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcDateTime((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcDateTime((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    1916426348: (v) => new IFC4.IfcCoveringType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3295246426: (v) => new IFC4.IfcCrewResource(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 2, v[9]), v[10]),
    1457835157: (v) => new IFC4.IfcCurtainWallType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1213902940: (v) => new IFC4.IfcCylindricalSurface(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    3256556792: (v) => new IFC4.IfcDistributionElementType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3849074793: (v) => new IFC4.IfcDistributionFlowElementType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2963535650: (v) => new IFC4.IfcDoorLiningProperties(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcNonNegativeLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4.IfcLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new Handle((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value, 2, v[14]), (v[15] ?? void 0) === void 0 || v[15] === "" ? null : new IFC4.IfcLengthMeasure((v[15] ?? void 0) === void 0 || v[15] === "" ? null : v[15].value), (v[16] ?? void 0) === void 0 || v[16] === "" ? null : new IFC4.IfcLengthMeasure((v[16] ?? void 0) === void 0 || v[16] === "" ? null : v[16].value)),
    1714330368: (v) => new IFC4.IfcDoorPanelProperties(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcNormalisedRatioMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 2, v[8])),
    2323601079: (v) => new IFC4.IfcDoorType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], v[10], (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4.IfcBoolean((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4.IfcLabel((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value)),
    445594917: (v) => new IFC4.IfcDraughtingPreDefinedColour(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    4006246654: (v) => new IFC4.IfcDraughtingPreDefinedCurveFont(new IFC4.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    1758889154: (v) => new IFC4.IfcElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    4123344466: (v) => new IFC4.IfcElementAssembly(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], v[9]),
    2397081782: (v) => new IFC4.IfcElementAssemblyType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1623761950: (v) => new IFC4.IfcElementComponent(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2590856083: (v) => new IFC4.IfcElementComponentType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1704287377: (v) => new IFC4.IfcEllipse(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    2107101300: (v) => new IFC4.IfcEnergyConversionDeviceType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    132023988: (v) => new IFC4.IfcEngineType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3174744832: (v) => new IFC4.IfcEvaporativeCoolerType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3390157468: (v) => new IFC4.IfcEvaporatorType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    4148101412: (v) => new IFC4.IfcEvent(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7], v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcLabel((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 2, v[10])),
    2853485674: (v) => new IFC4.IfcExternalSpatialStructureElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    807026263: (v) => new IFC4.IfcFacetedBrep(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0])),
    3737207727: (v) => new IFC4.IfcFacetedBrepWithVoids(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    647756555: (v) => new IFC4.IfcFastener(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2489546625: (v) => new IFC4.IfcFastenerType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2827207264: (v) => new IFC4.IfcFeatureElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2143335405: (v) => new IFC4.IfcFeatureElementAddition(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    1287392070: (v) => new IFC4.IfcFeatureElementSubtraction(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3907093117: (v) => new IFC4.IfcFlowControllerType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3198132628: (v) => new IFC4.IfcFlowFittingType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3815607619: (v) => new IFC4.IfcFlowMeterType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1482959167: (v) => new IFC4.IfcFlowMovingDeviceType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1834744321: (v) => new IFC4.IfcFlowSegmentType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1339347760: (v) => new IFC4.IfcFlowStorageDeviceType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2297155007: (v) => new IFC4.IfcFlowTerminalType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3009222698: (v) => new IFC4.IfcFlowTreatmentDeviceType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1893162501: (v) => new IFC4.IfcFootingType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    263784265: (v) => new IFC4.IfcFurnishingElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    1509553395: (v) => new IFC4.IfcFurniture(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3493046030: (v) => new IFC4.IfcGeographicElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3009204131: (v) => new IFC4.IfcGrid(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[10]),
    2706460486: (v) => new IFC4.IfcGroup(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    1251058090: (v) => new IFC4.IfcHeatExchangerType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1806887404: (v) => new IFC4.IfcHumidifierType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2571569899: (v) => new IFC4.IfcIndexedPolyCurve(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(2, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcBoolean((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3946677679: (v) => new IFC4.IfcInterceptorType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3113134337: (v) => new IFC4.IfcIntersectionCurve(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[2]),
    2391368822: (v) => new IFC4.IfcInventory(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcDate((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 2, v[9]), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 2, v[10])),
    4288270099: (v) => new IFC4.IfcJunctionBoxType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3827777499: (v) => new IFC4.IfcLaborResource(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 2, v[9]), v[10]),
    1051575348: (v) => new IFC4.IfcLampType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1161773419: (v) => new IFC4.IfcLightFixtureType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    377706215: (v) => new IFC4.IfcMechanicalFastener(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), v[10]),
    2108223431: (v) => new IFC4.IfcMechanicalFastenerType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value)),
    1114901282: (v) => new IFC4.IfcMedicalDeviceType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3181161470: (v) => new IFC4.IfcMemberType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    977012517: (v) => new IFC4.IfcMotorConnectionType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    4143007308: (v) => new IFC4.IfcOccupant(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), v[6]),
    3588315303: (v) => new IFC4.IfcOpeningElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3079942009: (v) => new IFC4.IfcOpeningStandardCase(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2837617999: (v) => new IFC4.IfcOutletType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2382730787: (v) => new IFC4.IfcPerformanceHistory(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7]),
    3566463478: (v) => new IFC4.IfcPermeableCoveringProperties(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4], v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 2, v[8])),
    3327091369: (v) => new IFC4.IfcPermit(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), v[6], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcText((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1158309216: (v) => new IFC4.IfcPileType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    804291784: (v) => new IFC4.IfcPipeFittingType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    4231323485: (v) => new IFC4.IfcPipeSegmentType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    4017108033: (v) => new IFC4.IfcPlateType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2839578677: (v) => new IFC4.IfcPolygonalFaceSet(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcPositiveInteger(p.value) : null) || []),
    3724593414: (v) => new IFC4.IfcPolyline(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    3740093272: (v) => new IFC4.IfcPort(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6])),
    2744685151: (v) => new IFC4.IfcProcedure(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7]),
    2904328755: (v) => new IFC4.IfcProjectOrder(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), v[6], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcText((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3651124850: (v) => new IFC4.IfcProjectionElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1842657554: (v) => new IFC4.IfcProtectiveDeviceType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2250791053: (v) => new IFC4.IfcPumpType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2893384427: (v) => new IFC4.IfcRailingType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2324767716: (v) => new IFC4.IfcRampFlightType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1469900589: (v) => new IFC4.IfcRampType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    683857671: (v) => new IFC4.IfcRationalBSplineSurfaceWithKnots(new IFC4.IfcInteger((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4.IfcInteger((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new Handle(p2.value, 2, p2) : null) || []), v[3], new IFC4.IfcLogical((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4.IfcLogical((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4.IfcLogical((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcInteger(p.value) : null) || [], v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcInteger(p.value) : null) || [], v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcParameterValue(p.value) : null) || [], v[10]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcParameterValue(p.value) : null) || [], v[11], v[12]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new IFC4.IfcReal(p2.value) : null) || [])),
    3027567501: (v) => new IFC4.IfcReinforcingElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    964333572: (v) => new IFC4.IfcReinforcingElementType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2320036040: (v) => new IFC4.IfcReinforcingMesh(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC4.IfcAreaMeasure((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC4.IfcAreaMeasure((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value), (v[15] ?? void 0) === void 0 || v[15] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[15] ?? void 0) === void 0 || v[15] === "" ? null : v[15].value), (v[16] ?? void 0) === void 0 || v[16] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[16] ?? void 0) === void 0 || v[16] === "" ? null : v[16].value), v[17]),
    2310774935: (v) => new IFC4.IfcReinforcingMeshType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC4.IfcAreaMeasure((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value), (v[15] ?? void 0) === void 0 || v[15] === "" ? null : new IFC4.IfcAreaMeasure((v[15] ?? void 0) === void 0 || v[15] === "" ? null : v[15].value), (v[16] ?? void 0) === void 0 || v[16] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[16] ?? void 0) === void 0 || v[16] === "" ? null : v[16].value), (v[17] ?? void 0) === void 0 || v[17] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[17] ?? void 0) === void 0 || v[17] === "" ? null : v[17].value), (v[18] ?? void 0) === void 0 || v[18] === "" ? null : new IFC4.IfcLabel((v[18] ?? void 0) === void 0 || v[18] === "" ? null : v[18].value), (v[19] ?? void 0) === void 0 || v[19] === "" ? null : v[19]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(2, p) : null) || []),
    160246688: (v) => new IFC4.IfcRelAggregates(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 2, v[4]), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || []),
    2781568857: (v) => new IFC4.IfcRoofType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1768891740: (v) => new IFC4.IfcSanitaryTerminalType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2157484638: (v) => new IFC4.IfcSeamCurve(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[2]),
    4074543187: (v) => new IFC4.IfcShadingDeviceType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    4097777520: (v) => new IFC4.IfcSite(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcCompoundPlaneAngleMeasure(v[9].map((x) => x.value)), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcCompoundPlaneAngleMeasure(v[10].map((x) => x.value)), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4.IfcLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4.IfcLabel((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new Handle((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value, 2, v[13])),
    2533589738: (v) => new IFC4.IfcSlabType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1072016465: (v) => new IFC4.IfcSolarDeviceType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3856911033: (v) => new IFC4.IfcSpace(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value)),
    1305183839: (v) => new IFC4.IfcSpaceHeaterType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3812236995: (v) => new IFC4.IfcSpaceType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcLabel((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value)),
    3112655638: (v) => new IFC4.IfcStackTerminalType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1039846685: (v) => new IFC4.IfcStairFlightType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    338393293: (v) => new IFC4.IfcStairType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    682877961: (v) => new IFC4.IfcStructuralAction(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcBoolean((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    1179482911: (v) => new IFC4.IfcStructuralConnection(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7])),
    1004757350: (v) => new IFC4.IfcStructuralCurveAction(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcBoolean((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), v[10], v[11]),
    4243806635: (v) => new IFC4.IfcStructuralCurveConnection(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 2, v[8])),
    214636428: (v) => new IFC4.IfcStructuralCurveMember(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), v[7], new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 2, v[8])),
    2445595289: (v) => new IFC4.IfcStructuralCurveMemberVarying(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), v[7], new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 2, v[8])),
    2757150158: (v) => new IFC4.IfcStructuralCurveReaction(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), v[8], v[9]),
    1807405624: (v) => new IFC4.IfcStructuralLinearAction(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcBoolean((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), v[10], v[11]),
    1252848954: (v) => new IFC4.IfcStructuralLoadGroup(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], v[6], v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcRatioMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcLabel((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    2082059205: (v) => new IFC4.IfcStructuralPointAction(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcBoolean((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    734778138: (v) => new IFC4.IfcStructuralPointConnection(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 2, v[8])),
    1235345126: (v) => new IFC4.IfcStructuralPointReaction(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), v[8]),
    2986769608: (v) => new IFC4.IfcStructuralResultGroup(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), new IFC4.IfcBoolean((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3657597509: (v) => new IFC4.IfcStructuralSurfaceAction(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcBoolean((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), v[10], v[11]),
    1975003073: (v) => new IFC4.IfcStructuralSurfaceConnection(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7])),
    148013059: (v) => new IFC4.IfcSubContractResource(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 2, v[9]), v[10]),
    3101698114: (v) => new IFC4.IfcSurfaceFeature(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2315554128: (v) => new IFC4.IfcSwitchingDeviceType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2254336722: (v) => new IFC4.IfcSystem(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    413509423: (v) => new IFC4.IfcSystemFurnitureElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    5716631: (v) => new IFC4.IfcTankType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3824725483: (v) => new IFC4.IfcTendon(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4.IfcAreaMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4.IfcForceMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC4.IfcPressureMeasure((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC4.IfcNormalisedRatioMeasure((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value), (v[15] ?? void 0) === void 0 || v[15] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[15] ?? void 0) === void 0 || v[15] === "" ? null : v[15].value), (v[16] ?? void 0) === void 0 || v[16] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[16] ?? void 0) === void 0 || v[16] === "" ? null : v[16].value)),
    2347447852: (v) => new IFC4.IfcTendonAnchor(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3081323446: (v) => new IFC4.IfcTendonAnchorType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2415094496: (v) => new IFC4.IfcTendonType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4.IfcAreaMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value)),
    1692211062: (v) => new IFC4.IfcTransformerType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1620046519: (v) => new IFC4.IfcTransportElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3593883385: (v) => new IFC4.IfcTrimmedCurve(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new IFC4.IfcBoolean((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]),
    1600972822: (v) => new IFC4.IfcTubeBundleType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1911125066: (v) => new IFC4.IfcUnitaryEquipmentType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    728799441: (v) => new IFC4.IfcValveType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2391383451: (v) => new IFC4.IfcVibrationIsolator(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3313531582: (v) => new IFC4.IfcVibrationIsolatorType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2769231204: (v) => new IFC4.IfcVirtualElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    926996030: (v) => new IFC4.IfcVoidingFeature(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1898987631: (v) => new IFC4.IfcWallType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1133259667: (v) => new IFC4.IfcWasteTerminalType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    4009809668: (v) => new IFC4.IfcWindowType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], v[10], (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4.IfcBoolean((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4.IfcLabel((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value)),
    4088093105: (v) => new IFC4.IfcWorkCalendar(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[8]),
    1028945134: (v) => new IFC4.IfcWorkControl(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4.IfcDateTime((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcDuration((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcDuration((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), new IFC4.IfcDateTime((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4.IfcDateTime((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value)),
    4218914973: (v) => new IFC4.IfcWorkPlan(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4.IfcDateTime((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcDuration((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcDuration((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), new IFC4.IfcDateTime((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4.IfcDateTime((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), v[13]),
    3342526732: (v) => new IFC4.IfcWorkSchedule(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4.IfcDateTime((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcDuration((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcDuration((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), new IFC4.IfcDateTime((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4.IfcDateTime((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), v[13]),
    1033361043: (v) => new IFC4.IfcZone(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    3821786052: (v) => new IFC4.IfcActionRequest(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), v[6], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcText((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1411407467: (v) => new IFC4.IfcAirTerminalBoxType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3352864051: (v) => new IFC4.IfcAirTerminalType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1871374353: (v) => new IFC4.IfcAirToAirHeatRecoveryType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3460190687: (v) => new IFC4.IfcAsset(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 2, v[8]), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 2, v[9]), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 2, v[10]), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new Handle((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value, 2, v[11]), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4.IfcDate((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new Handle((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value, 2, v[13])),
    1532957894: (v) => new IFC4.IfcAudioVisualApplianceType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1967976161: (v) => new IFC4.IfcBSplineCurve(new IFC4.IfcInteger((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[2], new IFC4.IfcLogical((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4.IfcLogical((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    2461110595: (v) => new IFC4.IfcBSplineCurveWithKnots(new IFC4.IfcInteger((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[2], new IFC4.IfcLogical((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4.IfcLogical((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcInteger(p.value) : null) || [], v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcParameterValue(p.value) : null) || [], v[7]),
    819618141: (v) => new IFC4.IfcBeamType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    231477066: (v) => new IFC4.IfcBoilerType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1136057603: (v) => new IFC4.IfcBoundaryCurve(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new IFC4.IfcLogical((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    3299480353: (v) => new IFC4.IfcBuildingElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2979338954: (v) => new IFC4.IfcBuildingElementPart(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    39481116: (v) => new IFC4.IfcBuildingElementPartType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1095909175: (v) => new IFC4.IfcBuildingElementProxy(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1909888760: (v) => new IFC4.IfcBuildingElementProxyType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1177604601: (v) => new IFC4.IfcBuildingSystem(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    2188180465: (v) => new IFC4.IfcBurnerType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    395041908: (v) => new IFC4.IfcCableCarrierFittingType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3293546465: (v) => new IFC4.IfcCableCarrierSegmentType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2674252688: (v) => new IFC4.IfcCableFittingType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1285652485: (v) => new IFC4.IfcCableSegmentType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2951183804: (v) => new IFC4.IfcChillerType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3296154744: (v) => new IFC4.IfcChimney(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2611217952: (v) => new IFC4.IfcCircle(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 2, v[0]), new IFC4.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    1677625105: (v) => new IFC4.IfcCivilElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2301859152: (v) => new IFC4.IfcCoilType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    843113511: (v) => new IFC4.IfcColumn(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    905975707: (v) => new IFC4.IfcColumnStandardCase(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    400855858: (v) => new IFC4.IfcCommunicationsApplianceType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3850581409: (v) => new IFC4.IfcCompressorType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2816379211: (v) => new IFC4.IfcCondenserType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3898045240: (v) => new IFC4.IfcConstructionEquipmentResource(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 2, v[9]), v[10]),
    1060000209: (v) => new IFC4.IfcConstructionMaterialResource(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 2, v[9]), v[10]),
    488727124: (v) => new IFC4.IfcConstructionProductResource(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 2, v[9]), v[10]),
    335055490: (v) => new IFC4.IfcCooledBeamType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2954562838: (v) => new IFC4.IfcCoolingTowerType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1973544240: (v) => new IFC4.IfcCovering(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3495092785: (v) => new IFC4.IfcCurtainWall(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3961806047: (v) => new IFC4.IfcDamperType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1335981549: (v) => new IFC4.IfcDiscreteAccessory(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2635815018: (v) => new IFC4.IfcDiscreteAccessoryType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1599208980: (v) => new IFC4.IfcDistributionChamberElementType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2063403501: (v) => new IFC4.IfcDistributionControlElementType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1945004755: (v) => new IFC4.IfcDistributionElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3040386961: (v) => new IFC4.IfcDistributionFlowElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3041715199: (v) => new IFC4.IfcDistributionPort(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), v[7], v[8], v[9]),
    3205830791: (v) => new IFC4.IfcDistributionSystem(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), v[6]),
    395920057: (v) => new IFC4.IfcDoor(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), v[10], v[11], (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4.IfcLabel((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value)),
    3242481149: (v) => new IFC4.IfcDoorStandardCase(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), v[10], v[11], (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4.IfcLabel((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value)),
    869906466: (v) => new IFC4.IfcDuctFittingType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3760055223: (v) => new IFC4.IfcDuctSegmentType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2030761528: (v) => new IFC4.IfcDuctSilencerType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    663422040: (v) => new IFC4.IfcElectricApplianceType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2417008758: (v) => new IFC4.IfcElectricDistributionBoardType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3277789161: (v) => new IFC4.IfcElectricFlowStorageDeviceType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1534661035: (v) => new IFC4.IfcElectricGeneratorType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1217240411: (v) => new IFC4.IfcElectricMotorType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    712377611: (v) => new IFC4.IfcElectricTimeControlType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1658829314: (v) => new IFC4.IfcEnergyConversionDevice(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2814081492: (v) => new IFC4.IfcEngine(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3747195512: (v) => new IFC4.IfcEvaporativeCooler(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    484807127: (v) => new IFC4.IfcEvaporator(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1209101575: (v) => new IFC4.IfcExternalSpatialElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    346874300: (v) => new IFC4.IfcFanType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1810631287: (v) => new IFC4.IfcFilterType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    4222183408: (v) => new IFC4.IfcFireSuppressionTerminalType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2058353004: (v) => new IFC4.IfcFlowController(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    4278956645: (v) => new IFC4.IfcFlowFitting(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    4037862832: (v) => new IFC4.IfcFlowInstrumentType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2188021234: (v) => new IFC4.IfcFlowMeter(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3132237377: (v) => new IFC4.IfcFlowMovingDevice(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    987401354: (v) => new IFC4.IfcFlowSegment(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    707683696: (v) => new IFC4.IfcFlowStorageDevice(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2223149337: (v) => new IFC4.IfcFlowTerminal(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3508470533: (v) => new IFC4.IfcFlowTreatmentDevice(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    900683007: (v) => new IFC4.IfcFooting(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3319311131: (v) => new IFC4.IfcHeatExchanger(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2068733104: (v) => new IFC4.IfcHumidifier(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    4175244083: (v) => new IFC4.IfcInterceptor(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2176052936: (v) => new IFC4.IfcJunctionBox(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    76236018: (v) => new IFC4.IfcLamp(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    629592764: (v) => new IFC4.IfcLightFixture(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1437502449: (v) => new IFC4.IfcMedicalDevice(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1073191201: (v) => new IFC4.IfcMember(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1911478936: (v) => new IFC4.IfcMemberStandardCase(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2474470126: (v) => new IFC4.IfcMotorConnection(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    144952367: (v) => new IFC4.IfcOuterBoundaryCurve(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], new IFC4.IfcLogical((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    3694346114: (v) => new IFC4.IfcOutlet(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1687234759: (v) => new IFC4.IfcPile(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], v[9]),
    310824031: (v) => new IFC4.IfcPipeFitting(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3612865200: (v) => new IFC4.IfcPipeSegment(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3171933400: (v) => new IFC4.IfcPlate(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1156407060: (v) => new IFC4.IfcPlateStandardCase(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    738039164: (v) => new IFC4.IfcProtectiveDevice(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    655969474: (v) => new IFC4.IfcProtectiveDeviceTrippingUnitType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    90941305: (v) => new IFC4.IfcPump(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2262370178: (v) => new IFC4.IfcRailing(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3024970846: (v) => new IFC4.IfcRamp(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3283111854: (v) => new IFC4.IfcRampFlight(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1232101972: (v) => new IFC4.IfcRationalBSplineCurveWithKnots(new IFC4.IfcInteger((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], v[2], new IFC4.IfcLogical((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4.IfcLogical((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcInteger(p.value) : null) || [], v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcParameterValue(p.value) : null) || [], v[7], v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcReal(p.value) : null) || []),
    979691226: (v) => new IFC4.IfcReinforcingBar(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcAreaMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), v[12], v[13]),
    2572171363: (v) => new IFC4.IfcReinforcingBarType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4.IfcAreaMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), v[13], (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC4.IfcLabel((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value), (v[15] ?? void 0) === void 0 || v[15] === "" ? null : v[15]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(2, p) : null) || []),
    2016517767: (v) => new IFC4.IfcRoof(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3053780830: (v) => new IFC4.IfcSanitaryTerminal(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1783015770: (v) => new IFC4.IfcSensorType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1329646415: (v) => new IFC4.IfcShadingDevice(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1529196076: (v) => new IFC4.IfcSlab(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3127900445: (v) => new IFC4.IfcSlabElementedCase(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3027962421: (v) => new IFC4.IfcSlabStandardCase(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3420628829: (v) => new IFC4.IfcSolarDevice(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1999602285: (v) => new IFC4.IfcSpaceHeater(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1404847402: (v) => new IFC4.IfcStackTerminal(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    331165859: (v) => new IFC4.IfcStair(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    4252922144: (v) => new IFC4.IfcStairFlight(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcInteger((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcInteger((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), v[12]),
    2515109513: (v) => new IFC4.IfcStructuralAnalysisModel(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 2, v[9])),
    385403989: (v) => new IFC4.IfcStructuralLoadCase(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], v[6], v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcRatioMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcLabel((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4.IfcRatioMeasure(p.value) : null) || []),
    1621171031: (v) => new IFC4.IfcStructuralPlanarAction(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 2, v[7]), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcBoolean((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), v[10], v[11]),
    1162798199: (v) => new IFC4.IfcSwitchingDevice(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    812556717: (v) => new IFC4.IfcTank(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3825984169: (v) => new IFC4.IfcTransformer(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3026737570: (v) => new IFC4.IfcTubeBundle(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3179687236: (v) => new IFC4.IfcUnitaryControlElementType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    4292641817: (v) => new IFC4.IfcUnitaryEquipment(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    4207607924: (v) => new IFC4.IfcValve(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2391406946: (v) => new IFC4.IfcWall(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    4156078855: (v) => new IFC4.IfcWallElementedCase(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3512223829: (v) => new IFC4.IfcWallStandardCase(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    4237592921: (v) => new IFC4.IfcWasteTerminal(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3304561284: (v) => new IFC4.IfcWindow(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), v[10], v[11], (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4.IfcLabel((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value)),
    486154966: (v) => new IFC4.IfcWindowStandardCase(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), v[10], v[11], (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4.IfcLabel((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value)),
    2874132201: (v) => new IFC4.IfcActuatorType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1634111441: (v) => new IFC4.IfcAirTerminal(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    177149247: (v) => new IFC4.IfcAirTerminalBox(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2056796094: (v) => new IFC4.IfcAirToAirHeatRecovery(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3001207471: (v) => new IFC4.IfcAlarmType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    277319702: (v) => new IFC4.IfcAudioVisualAppliance(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    753842376: (v) => new IFC4.IfcBeam(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2906023776: (v) => new IFC4.IfcBeamStandardCase(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    32344328: (v) => new IFC4.IfcBoiler(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2938176219: (v) => new IFC4.IfcBurner(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    635142910: (v) => new IFC4.IfcCableCarrierFitting(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3758799889: (v) => new IFC4.IfcCableCarrierSegment(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1051757585: (v) => new IFC4.IfcCableFitting(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    4217484030: (v) => new IFC4.IfcCableSegment(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3902619387: (v) => new IFC4.IfcChiller(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    639361253: (v) => new IFC4.IfcCoil(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3221913625: (v) => new IFC4.IfcCommunicationsAppliance(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3571504051: (v) => new IFC4.IfcCompressor(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2272882330: (v) => new IFC4.IfcCondenser(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    578613899: (v) => new IFC4.IfcControllerType(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 2, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    4136498852: (v) => new IFC4.IfcCooledBeam(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3640358203: (v) => new IFC4.IfcCoolingTower(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    4074379575: (v) => new IFC4.IfcDamper(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1052013943: (v) => new IFC4.IfcDistributionChamberElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    562808652: (v) => new IFC4.IfcDistributionCircuit(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), v[6]),
    1062813311: (v) => new IFC4.IfcDistributionControlElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    342316401: (v) => new IFC4.IfcDuctFitting(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3518393246: (v) => new IFC4.IfcDuctSegment(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1360408905: (v) => new IFC4.IfcDuctSilencer(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1904799276: (v) => new IFC4.IfcElectricAppliance(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    862014818: (v) => new IFC4.IfcElectricDistributionBoard(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3310460725: (v) => new IFC4.IfcElectricFlowStorageDevice(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    264262732: (v) => new IFC4.IfcElectricGenerator(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    402227799: (v) => new IFC4.IfcElectricMotor(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1003880860: (v) => new IFC4.IfcElectricTimeControl(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3415622556: (v) => new IFC4.IfcFan(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    819412036: (v) => new IFC4.IfcFilter(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1426591983: (v) => new IFC4.IfcFireSuppressionTerminal(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    182646315: (v) => new IFC4.IfcFlowInstrument(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2295281155: (v) => new IFC4.IfcProtectiveDeviceTrippingUnit(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    4086658281: (v) => new IFC4.IfcSensor(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    630975310: (v) => new IFC4.IfcUnitaryControlElement(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    4288193352: (v) => new IFC4.IfcActuator(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3087945054: (v) => new IFC4.IfcAlarm(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    25142252: (v) => new IFC4.IfcController(new IFC4.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 2, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 2, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 2, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8])
  };
  InheritanceDef[2] = {
    618182010: [IFCTELECOMADDRESS, IFCPOSTALADDRESS],
    411424972: [IFCCOSTVALUE],
    4037036970: [IFCBOUNDARYNODECONDITIONWARPING, IFCBOUNDARYNODECONDITION, IFCBOUNDARYFACECONDITION, IFCBOUNDARYEDGECONDITION],
    1387855156: [IFCBOUNDARYNODECONDITIONWARPING],
    2859738748: [IFCCONNECTIONCURVEGEOMETRY, IFCCONNECTIONVOLUMEGEOMETRY, IFCCONNECTIONSURFACEGEOMETRY, IFCCONNECTIONPOINTECCENTRICITY, IFCCONNECTIONPOINTGEOMETRY],
    2614616156: [IFCCONNECTIONPOINTECCENTRICITY],
    1959218052: [IFCOBJECTIVE, IFCMETRIC],
    1785450214: [IFCMAPCONVERSION],
    1466758467: [IFCPROJECTEDCRS],
    4294318154: [IFCDOCUMENTINFORMATION, IFCCLASSIFICATION, IFCLIBRARYINFORMATION],
    3200245327: [IFCDOCUMENTREFERENCE, IFCCLASSIFICATIONREFERENCE, IFCLIBRARYREFERENCE, IFCEXTERNALLYDEFINEDTEXTFONT, IFCEXTERNALLYDEFINEDSURFACESTYLE, IFCEXTERNALLYDEFINEDHATCHSTYLE],
    760658860: [IFCMATERIALCONSTITUENTSET, IFCMATERIALCONSTITUENT, IFCMATERIAL, IFCMATERIALPROFILESET, IFCMATERIALPROFILEWITHOFFSETS, IFCMATERIALPROFILE, IFCMATERIALLAYERSET, IFCMATERIALLAYERWITHOFFSETS, IFCMATERIALLAYER],
    248100487: [IFCMATERIALLAYERWITHOFFSETS],
    2235152071: [IFCMATERIALPROFILEWITHOFFSETS],
    1507914824: [IFCMATERIALPROFILESETUSAGETAPERING, IFCMATERIALPROFILESETUSAGE, IFCMATERIALLAYERSETUSAGE],
    1918398963: [IFCCONVERSIONBASEDUNITWITHOFFSET, IFCCONVERSIONBASEDUNIT, IFCCONTEXTDEPENDENTUNIT, IFCSIUNIT],
    3701648758: [IFCLOCALPLACEMENT, IFCGRIDPLACEMENT],
    2483315170: [IFCPHYSICALCOMPLEXQUANTITY, IFCQUANTITYWEIGHT, IFCQUANTITYVOLUME, IFCQUANTITYTIME, IFCQUANTITYLENGTH, IFCQUANTITYCOUNT, IFCQUANTITYAREA, IFCPHYSICALSIMPLEQUANTITY],
    2226359599: [IFCQUANTITYWEIGHT, IFCQUANTITYVOLUME, IFCQUANTITYTIME, IFCQUANTITYLENGTH, IFCQUANTITYCOUNT, IFCQUANTITYAREA],
    677532197: [IFCDRAUGHTINGPREDEFINEDCURVEFONT, IFCPREDEFINEDCURVEFONT, IFCDRAUGHTINGPREDEFINEDCOLOUR, IFCPREDEFINEDCOLOUR, IFCTEXTSTYLEFONTMODEL, IFCPREDEFINEDTEXTFONT, IFCPREDEFINEDITEM, IFCINDEXEDCOLOURMAP, IFCCURVESTYLEFONTPATTERN, IFCCURVESTYLEFONTANDSCALING, IFCCURVESTYLEFONT, IFCCOLOURRGB, IFCCOLOURSPECIFICATION, IFCCOLOURRGBLIST, IFCTEXTUREVERTEXLIST, IFCTEXTUREVERTEX, IFCINDEXEDTRIANGLETEXTUREMAP, IFCINDEXEDTEXTUREMAP, IFCTEXTUREMAP, IFCTEXTURECOORDINATEGENERATOR, IFCTEXTURECOORDINATE, IFCTEXTSTYLETEXTMODEL, IFCTEXTSTYLEFORDEFINEDFONT, IFCPIXELTEXTURE, IFCIMAGETEXTURE, IFCBLOBTEXTURE, IFCSURFACETEXTURE, IFCSURFACESTYLEWITHTEXTURES, IFCSURFACESTYLERENDERING, IFCSURFACESTYLESHADING, IFCSURFACESTYLEREFRACTION, IFCSURFACESTYLELIGHTING],
    2022622350: [IFCPRESENTATIONLAYERWITHSTYLE],
    3119450353: [IFCFILLAREASTYLE, IFCCURVESTYLE, IFCTEXTSTYLE, IFCSURFACESTYLE],
    2095639259: [IFCPRODUCTDEFINITIONSHAPE, IFCMATERIALDEFINITIONREPRESENTATION],
    3958567839: [IFCLSHAPEPROFILEDEF, IFCISHAPEPROFILEDEF, IFCELLIPSEPROFILEDEF, IFCCIRCLEHOLLOWPROFILEDEF, IFCCIRCLEPROFILEDEF, IFCCSHAPEPROFILEDEF, IFCASYMMETRICISHAPEPROFILEDEF, IFCZSHAPEPROFILEDEF, IFCUSHAPEPROFILEDEF, IFCTRAPEZIUMPROFILEDEF, IFCTSHAPEPROFILEDEF, IFCRECTANGLEHOLLOWPROFILEDEF, IFCROUNDEDRECTANGLEPROFILEDEF, IFCRECTANGLEPROFILEDEF, IFCPARAMETERIZEDPROFILEDEF, IFCMIRROREDPROFILEDEF, IFCDERIVEDPROFILEDEF, IFCCOMPOSITEPROFILEDEF, IFCCENTERLINEPROFILEDEF, IFCARBITRARYOPENPROFILEDEF, IFCARBITRARYPROFILEDEFWITHVOIDS, IFCARBITRARYCLOSEDPROFILEDEF],
    986844984: [IFCCOMPLEXPROPERTY, IFCPROPERTYTABLEVALUE, IFCPROPERTYSINGLEVALUE, IFCPROPERTYREFERENCEVALUE, IFCPROPERTYLISTVALUE, IFCPROPERTYENUMERATEDVALUE, IFCPROPERTYBOUNDEDVALUE, IFCSIMPLEPROPERTY, IFCPROPERTY, IFCSECTIONREINFORCEMENTPROPERTIES, IFCSECTIONPROPERTIES, IFCREINFORCEMENTBARPROPERTIES, IFCPREDEFINEDPROPERTIES, IFCPROFILEPROPERTIES, IFCMATERIALPROPERTIES, IFCEXTENDEDPROPERTIES, IFCPROPERTYENUMERATION],
    1076942058: [IFCSTYLEDREPRESENTATION, IFCSTYLEMODEL, IFCTOPOLOGYREPRESENTATION, IFCSHAPEREPRESENTATION, IFCSHAPEMODEL],
    3377609919: [IFCGEOMETRICREPRESENTATIONSUBCONTEXT, IFCGEOMETRICREPRESENTATIONCONTEXT],
    3008791417: [IFCMAPPEDITEM, IFCFILLAREASTYLETILES, IFCFILLAREASTYLEHATCHING, IFCFACEBASEDSURFACEMODEL, IFCDIRECTION, IFCCIRCLE, IFCELLIPSE, IFCCONIC, IFCRATIONALBSPLINECURVEWITHKNOTS, IFCBSPLINECURVEWITHKNOTS, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFCINDEXEDPOLYCURVE, IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE, IFCCOMPOSITECURVEONSURFACE, IFCCOMPOSITECURVE, IFCBOUNDEDCURVE, IFCSEAMCURVE, IFCINTERSECTIONCURVE, IFCSURFACECURVE, IFCPCURVE, IFCOFFSETCURVE3D, IFCOFFSETCURVE2D, IFCLINE, IFCCURVE, IFCBLOCK, IFCSPHERE, IFCRIGHTCIRCULARCYLINDER, IFCRIGHTCIRCULARCONE, IFCRECTANGULARPYRAMID, IFCCSGPRIMITIVE3D, IFCREPARAMETRISEDCOMPOSITECURVESEGMENT, IFCCOMPOSITECURVESEGMENT, IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR3D, IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR2D, IFCCARTESIANTRANSFORMATIONOPERATOR, IFCCARTESIANPOINTLIST3D, IFCCARTESIANPOINTLIST2D, IFCCARTESIANPOINTLIST, IFCBOUNDINGBOX, IFCBOOLEANCLIPPINGRESULT, IFCBOOLEANRESULT, IFCANNOTATIONFILLAREA, IFCVECTOR, IFCTEXTLITERALWITHEXTENT, IFCTEXTLITERAL, IFCPOLYGONALFACESET, IFCTRIANGULATEDFACESET, IFCTESSELLATEDFACESET, IFCINDEXEDPOLYGONALFACEWITHVOIDS, IFCINDEXEDPOLYGONALFACE, IFCTESSELLATEDITEM, IFCCYLINDRICALSURFACE, IFCTOROIDALSURFACE, IFCSPHERICALSURFACE, IFCPLANE, IFCELEMENTARYSURFACE, IFCRATIONALBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACE, IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDSURFACE, IFCCURVEBOUNDEDPLANE, IFCBOUNDEDSURFACE, IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION, IFCSWEPTSURFACE, IFCSURFACE, IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP, IFCADVANCEDBREPWITHVOIDS, IFCADVANCEDBREP, IFCMANIFOLDSOLIDBREP, IFCCSGSOLID, IFCSWEPTDISKSOLIDPOLYGONAL, IFCSWEPTDISKSOLID, IFCSURFACECURVESWEPTAREASOLID, IFCREVOLVEDAREASOLIDTAPERED, IFCREVOLVEDAREASOLID, IFCFIXEDREFERENCESWEPTAREASOLID, IFCEXTRUDEDAREASOLIDTAPERED, IFCEXTRUDEDAREASOLID, IFCSWEPTAREASOLID, IFCSOLIDMODEL, IFCSHELLBASEDSURFACEMODEL, IFCSECTIONEDSPINE, IFCCARTESIANPOINT, IFCPOINTONSURFACE, IFCPOINTONCURVE, IFCPOINT, IFCPLANARBOX, IFCPLANAREXTENT, IFCAXIS2PLACEMENT3D, IFCAXIS2PLACEMENT2D, IFCAXIS1PLACEMENT, IFCPLACEMENT, IFCLIGHTSOURCESPOT, IFCLIGHTSOURCEPOSITIONAL, IFCLIGHTSOURCEGONIOMETRIC, IFCLIGHTSOURCEDIRECTIONAL, IFCLIGHTSOURCEAMBIENT, IFCLIGHTSOURCE, IFCBOXEDHALFSPACE, IFCPOLYGONALBOUNDEDHALFSPACE, IFCHALFSPACESOLID, IFCGEOMETRICCURVESET, IFCGEOMETRICSET, IFCGEOMETRICREPRESENTATIONITEM, IFCPATH, IFCEDGELOOP, IFCVERTEXLOOP, IFCPOLYLOOP, IFCLOOP, IFCFACEOUTERBOUND, IFCFACEBOUND, IFCADVANCEDFACE, IFCFACESURFACE, IFCFACE, IFCSUBEDGE, IFCORIENTEDEDGE, IFCEDGECURVE, IFCEDGE, IFCCLOSEDSHELL, IFCOPENSHELL, IFCCONNECTEDFACESET, IFCVERTEXPOINT, IFCVERTEX, IFCTOPOLOGICALREPRESENTATIONITEM, IFCSTYLEDITEM],
    2439245199: [IFCRESOURCECONSTRAINTRELATIONSHIP, IFCRESOURCEAPPROVALRELATIONSHIP, IFCPROPERTYDEPENDENCYRELATIONSHIP, IFCORGANIZATIONRELATIONSHIP, IFCMATERIALRELATIONSHIP, IFCEXTERNALREFERENCERELATIONSHIP, IFCDOCUMENTINFORMATIONRELATIONSHIP, IFCCURRENCYRELATIONSHIP, IFCAPPROVALRELATIONSHIP],
    2341007311: [IFCRELDEFINESBYTYPE, IFCRELDEFINESBYTEMPLATE, IFCRELDEFINESBYPROPERTIES, IFCRELDEFINESBYOBJECT, IFCRELDEFINES, IFCRELAGGREGATES, IFCRELVOIDSELEMENT, IFCRELPROJECTSELEMENT, IFCRELNESTS, IFCRELDECOMPOSES, IFCRELDECLARES, IFCRELSPACEBOUNDARY2NDLEVEL, IFCRELSPACEBOUNDARY1STLEVEL, IFCRELSPACEBOUNDARY, IFCRELSERVICESBUILDINGS, IFCRELSEQUENCE, IFCRELREFERENCEDINSPATIALSTRUCTURE, IFCRELINTERFERESELEMENTS, IFCRELFLOWCONTROLELEMENTS, IFCRELFILLSELEMENT, IFCRELCOVERSSPACES, IFCRELCOVERSBLDGELEMENTS, IFCRELCONTAINEDINSPATIALSTRUCTURE, IFCRELCONNECTSWITHECCENTRICITY, IFCRELCONNECTSSTRUCTURALMEMBER, IFCRELCONNECTSSTRUCTURALACTIVITY, IFCRELCONNECTSPORTS, IFCRELCONNECTSPORTTOELEMENT, IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS, IFCRELCONNECTSELEMENTS, IFCRELCONNECTS, IFCRELASSOCIATESMATERIAL, IFCRELASSOCIATESLIBRARY, IFCRELASSOCIATESDOCUMENT, IFCRELASSOCIATESCONSTRAINT, IFCRELASSOCIATESCLASSIFICATION, IFCRELASSOCIATESAPPROVAL, IFCRELASSOCIATES, IFCRELASSIGNSTORESOURCE, IFCRELASSIGNSTOPRODUCT, IFCRELASSIGNSTOPROCESS, IFCRELASSIGNSTOGROUPBYFACTOR, IFCRELASSIGNSTOGROUP, IFCRELASSIGNSTOCONTROL, IFCRELASSIGNSTOACTOR, IFCRELASSIGNS, IFCRELATIONSHIP, IFCCOMPLEXPROPERTYTEMPLATE, IFCSIMPLEPROPERTYTEMPLATE, IFCPROPERTYTEMPLATE, IFCPROPERTYSETTEMPLATE, IFCPROPERTYTEMPLATEDEFINITION, IFCPROPERTYSET, IFCPERMEABLECOVERINGPROPERTIES, IFCDOORPANELPROPERTIES, IFCDOORLININGPROPERTIES, IFCWINDOWPANELPROPERTIES, IFCWINDOWLININGPROPERTIES, IFCREINFORCEMENTDEFINITIONPROPERTIES, IFCPREDEFINEDPROPERTYSET, IFCELEMENTQUANTITY, IFCQUANTITYSET, IFCPROPERTYSETDEFINITION, IFCPROPERTYDEFINITION, IFCASSET, IFCSTRUCTURALANALYSISMODEL, IFCDISTRIBUTIONCIRCUIT, IFCDISTRIBUTIONSYSTEM, IFCBUILDINGSYSTEM, IFCZONE, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADCASE, IFCSTRUCTURALLOADGROUP, IFCINVENTORY, IFCGROUP, IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCWORKCALENDAR, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCCOSTSCHEDULE, IFCCOSTITEM, IFCCONTROL, IFCOCCUPANT, IFCACTOR, IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE, IFCRESOURCE, IFCDISTRIBUTIONPORT, IFCPORT, IFCGRID, IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSANITARYTERMINAL, IFCOUTLET, IFCMEDICALDEVICE, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCCIVILELEMENT, IFCBEAMSTANDARDCASE, IFCBEAM, IFCWINDOWSTANDARDCASE, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALLELEMENTEDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLABSTANDARDCASE, IFCSLABELEMENTEDCASE, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATESTANDARDCASE, IFCPLATE, IFCPILE, IFCMEMBERSTANDARDCASE, IFCMEMBER, IFCFOOTING, IFCDOORSTANDARDCASE, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMNSTANDARDCASE, IFCCOLUMN, IFCCHIMNEY, IFCBUILDINGELEMENTPROXY, IFCBUILDINGELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCGEOGRAPHICELEMENT, IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE, IFCFURNISHINGELEMENT, IFCSURFACEFEATURE, IFCVOIDINGFEATURE, IFCOPENINGSTANDARDCASE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCEXTERNALSPATIALELEMENT, IFCEXTERNALSPATIALSTRUCTUREELEMENT, IFCSPATIALZONE, IFCSPACE, IFCSITE, IFCBUILDINGSTOREY, IFCBUILDING, IFCSPATIALSTRUCTUREELEMENT, IFCSPATIALELEMENT, IFCPROXY, IFCPRODUCT, IFCPROCEDURE, IFCEVENT, IFCTASK, IFCPROCESS, IFCOBJECT, IFCPROJECTLIBRARY, IFCPROJECT, IFCCONTEXT, IFCCONSTRUCTIONPRODUCTRESOURCETYPE, IFCCONSTRUCTIONMATERIALRESOURCETYPE, IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE, IFCSUBCONTRACTRESOURCETYPE, IFCLABORRESOURCETYPE, IFCCREWRESOURCETYPE, IFCCONSTRUCTIONRESOURCETYPE, IFCTYPERESOURCE, IFCSPATIALZONETYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSPATIALELEMENTTYPE, IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCELEMENTASSEMBLYTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMEDICALDEVICETYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCCIVILELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCPILETYPE, IFCMEMBERTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE, IFCBUILDINGELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCGEOGRAPHICELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE, IFCDOORSTYLE, IFCWINDOWSTYLE, IFCTYPEPRODUCT, IFCTASKTYPE, IFCPROCEDURETYPE, IFCEVENTTYPE, IFCTYPEPROCESS, IFCTYPEOBJECT, IFCOBJECTDEFINITION],
    1054537805: [IFCRESOURCETIME, IFCLAGTIME, IFCEVENTTIME, IFCWORKTIME, IFCTASKTIMERECURRING, IFCTASKTIME],
    3982875396: [IFCTOPOLOGYREPRESENTATION, IFCSHAPEREPRESENTATION],
    2273995522: [IFCSLIPPAGECONNECTIONCONDITION, IFCFAILURECONNECTIONCONDITION],
    2162789131: [IFCSURFACEREINFORCEMENTAREA, IFCSTRUCTURALLOADSINGLEFORCEWARPING, IFCSTRUCTURALLOADSINGLEFORCE, IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION, IFCSTRUCTURALLOADSINGLEDISPLACEMENT, IFCSTRUCTURALLOADPLANARFORCE, IFCSTRUCTURALLOADLINEARFORCE, IFCSTRUCTURALLOADTEMPERATURE, IFCSTRUCTURALLOADSTATIC, IFCSTRUCTURALLOADORRESULT, IFCSTRUCTURALLOADCONFIGURATION],
    609421318: [IFCSURFACEREINFORCEMENTAREA, IFCSTRUCTURALLOADSINGLEFORCEWARPING, IFCSTRUCTURALLOADSINGLEFORCE, IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION, IFCSTRUCTURALLOADSINGLEDISPLACEMENT, IFCSTRUCTURALLOADPLANARFORCE, IFCSTRUCTURALLOADLINEARFORCE, IFCSTRUCTURALLOADTEMPERATURE, IFCSTRUCTURALLOADSTATIC],
    2525727697: [IFCSTRUCTURALLOADSINGLEFORCEWARPING, IFCSTRUCTURALLOADSINGLEFORCE, IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION, IFCSTRUCTURALLOADSINGLEDISPLACEMENT, IFCSTRUCTURALLOADPLANARFORCE, IFCSTRUCTURALLOADLINEARFORCE, IFCSTRUCTURALLOADTEMPERATURE],
    2830218821: [IFCSTYLEDREPRESENTATION],
    846575682: [IFCSURFACESTYLERENDERING],
    626085974: [IFCPIXELTEXTURE, IFCIMAGETEXTURE, IFCBLOBTEXTURE],
    1549132990: [IFCTASKTIMERECURRING],
    280115917: [IFCINDEXEDTRIANGLETEXTUREMAP, IFCINDEXEDTEXTUREMAP, IFCTEXTUREMAP, IFCTEXTURECOORDINATEGENERATOR],
    3101149627: [IFCREGULARTIMESERIES, IFCIRREGULARTIMESERIES],
    1377556343: [IFCPATH, IFCEDGELOOP, IFCVERTEXLOOP, IFCPOLYLOOP, IFCLOOP, IFCFACEOUTERBOUND, IFCFACEBOUND, IFCADVANCEDFACE, IFCFACESURFACE, IFCFACE, IFCSUBEDGE, IFCORIENTEDEDGE, IFCEDGECURVE, IFCEDGE, IFCCLOSEDSHELL, IFCOPENSHELL, IFCCONNECTEDFACESET, IFCVERTEXPOINT, IFCVERTEX],
    2799835756: [IFCVERTEXPOINT],
    3798115385: [IFCARBITRARYPROFILEDEFWITHVOIDS],
    1310608509: [IFCCENTERLINEPROFILEDEF],
    3264961684: [IFCCOLOURRGB],
    370225590: [IFCCLOSEDSHELL, IFCOPENSHELL],
    2889183280: [IFCCONVERSIONBASEDUNITWITHOFFSET],
    3632507154: [IFCMIRROREDPROFILEDEF],
    3900360178: [IFCSUBEDGE, IFCORIENTEDEDGE, IFCEDGECURVE],
    297599258: [IFCPROFILEPROPERTIES, IFCMATERIALPROPERTIES],
    2556980723: [IFCADVANCEDFACE, IFCFACESURFACE],
    1809719519: [IFCFACEOUTERBOUND],
    3008276851: [IFCADVANCEDFACE],
    3448662350: [IFCGEOMETRICREPRESENTATIONSUBCONTEXT],
    2453401579: [IFCFILLAREASTYLETILES, IFCFILLAREASTYLEHATCHING, IFCFACEBASEDSURFACEMODEL, IFCDIRECTION, IFCCIRCLE, IFCELLIPSE, IFCCONIC, IFCRATIONALBSPLINECURVEWITHKNOTS, IFCBSPLINECURVEWITHKNOTS, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFCINDEXEDPOLYCURVE, IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE, IFCCOMPOSITECURVEONSURFACE, IFCCOMPOSITECURVE, IFCBOUNDEDCURVE, IFCSEAMCURVE, IFCINTERSECTIONCURVE, IFCSURFACECURVE, IFCPCURVE, IFCOFFSETCURVE3D, IFCOFFSETCURVE2D, IFCLINE, IFCCURVE, IFCBLOCK, IFCSPHERE, IFCRIGHTCIRCULARCYLINDER, IFCRIGHTCIRCULARCONE, IFCRECTANGULARPYRAMID, IFCCSGPRIMITIVE3D, IFCREPARAMETRISEDCOMPOSITECURVESEGMENT, IFCCOMPOSITECURVESEGMENT, IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR3D, IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR2D, IFCCARTESIANTRANSFORMATIONOPERATOR, IFCCARTESIANPOINTLIST3D, IFCCARTESIANPOINTLIST2D, IFCCARTESIANPOINTLIST, IFCBOUNDINGBOX, IFCBOOLEANCLIPPINGRESULT, IFCBOOLEANRESULT, IFCANNOTATIONFILLAREA, IFCVECTOR, IFCTEXTLITERALWITHEXTENT, IFCTEXTLITERAL, IFCPOLYGONALFACESET, IFCTRIANGULATEDFACESET, IFCTESSELLATEDFACESET, IFCINDEXEDPOLYGONALFACEWITHVOIDS, IFCINDEXEDPOLYGONALFACE, IFCTESSELLATEDITEM, IFCCYLINDRICALSURFACE, IFCTOROIDALSURFACE, IFCSPHERICALSURFACE, IFCPLANE, IFCELEMENTARYSURFACE, IFCRATIONALBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACE, IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDSURFACE, IFCCURVEBOUNDEDPLANE, IFCBOUNDEDSURFACE, IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION, IFCSWEPTSURFACE, IFCSURFACE, IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP, IFCADVANCEDBREPWITHVOIDS, IFCADVANCEDBREP, IFCMANIFOLDSOLIDBREP, IFCCSGSOLID, IFCSWEPTDISKSOLIDPOLYGONAL, IFCSWEPTDISKSOLID, IFCSURFACECURVESWEPTAREASOLID, IFCREVOLVEDAREASOLIDTAPERED, IFCREVOLVEDAREASOLID, IFCFIXEDREFERENCESWEPTAREASOLID, IFCEXTRUDEDAREASOLIDTAPERED, IFCEXTRUDEDAREASOLID, IFCSWEPTAREASOLID, IFCSOLIDMODEL, IFCSHELLBASEDSURFACEMODEL, IFCSECTIONEDSPINE, IFCCARTESIANPOINT, IFCPOINTONSURFACE, IFCPOINTONCURVE, IFCPOINT, IFCPLANARBOX, IFCPLANAREXTENT, IFCAXIS2PLACEMENT3D, IFCAXIS2PLACEMENT2D, IFCAXIS1PLACEMENT, IFCPLACEMENT, IFCLIGHTSOURCESPOT, IFCLIGHTSOURCEPOSITIONAL, IFCLIGHTSOURCEGONIOMETRIC, IFCLIGHTSOURCEDIRECTIONAL, IFCLIGHTSOURCEAMBIENT, IFCLIGHTSOURCE, IFCBOXEDHALFSPACE, IFCPOLYGONALBOUNDEDHALFSPACE, IFCHALFSPACESOLID, IFCGEOMETRICCURVESET, IFCGEOMETRICSET],
    3590301190: [IFCGEOMETRICCURVESET],
    812098782: [IFCBOXEDHALFSPACE, IFCPOLYGONALBOUNDEDHALFSPACE],
    1437953363: [IFCINDEXEDTRIANGLETEXTUREMAP],
    1402838566: [IFCLIGHTSOURCESPOT, IFCLIGHTSOURCEPOSITIONAL, IFCLIGHTSOURCEGONIOMETRIC, IFCLIGHTSOURCEDIRECTIONAL, IFCLIGHTSOURCEAMBIENT],
    1520743889: [IFCLIGHTSOURCESPOT],
    1008929658: [IFCEDGELOOP, IFCVERTEXLOOP, IFCPOLYLOOP],
    3079605661: [IFCMATERIALPROFILESETUSAGETAPERING],
    219451334: [IFCASSET, IFCSTRUCTURALANALYSISMODEL, IFCDISTRIBUTIONCIRCUIT, IFCDISTRIBUTIONSYSTEM, IFCBUILDINGSYSTEM, IFCZONE, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADCASE, IFCSTRUCTURALLOADGROUP, IFCINVENTORY, IFCGROUP, IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCWORKCALENDAR, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCCOSTSCHEDULE, IFCCOSTITEM, IFCCONTROL, IFCOCCUPANT, IFCACTOR, IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE, IFCRESOURCE, IFCDISTRIBUTIONPORT, IFCPORT, IFCGRID, IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSANITARYTERMINAL, IFCOUTLET, IFCMEDICALDEVICE, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCCIVILELEMENT, IFCBEAMSTANDARDCASE, IFCBEAM, IFCWINDOWSTANDARDCASE, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALLELEMENTEDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLABSTANDARDCASE, IFCSLABELEMENTEDCASE, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATESTANDARDCASE, IFCPLATE, IFCPILE, IFCMEMBERSTANDARDCASE, IFCMEMBER, IFCFOOTING, IFCDOORSTANDARDCASE, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMNSTANDARDCASE, IFCCOLUMN, IFCCHIMNEY, IFCBUILDINGELEMENTPROXY, IFCBUILDINGELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCGEOGRAPHICELEMENT, IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE, IFCFURNISHINGELEMENT, IFCSURFACEFEATURE, IFCVOIDINGFEATURE, IFCOPENINGSTANDARDCASE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCEXTERNALSPATIALELEMENT, IFCEXTERNALSPATIALSTRUCTUREELEMENT, IFCSPATIALZONE, IFCSPACE, IFCSITE, IFCBUILDINGSTOREY, IFCBUILDING, IFCSPATIALSTRUCTUREELEMENT, IFCSPATIALELEMENT, IFCPROXY, IFCPRODUCT, IFCPROCEDURE, IFCEVENT, IFCTASK, IFCPROCESS, IFCOBJECT, IFCPROJECTLIBRARY, IFCPROJECT, IFCCONTEXT, IFCCONSTRUCTIONPRODUCTRESOURCETYPE, IFCCONSTRUCTIONMATERIALRESOURCETYPE, IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE, IFCSUBCONTRACTRESOURCETYPE, IFCLABORRESOURCETYPE, IFCCREWRESOURCETYPE, IFCCONSTRUCTIONRESOURCETYPE, IFCTYPERESOURCE, IFCSPATIALZONETYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSPATIALELEMENTTYPE, IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCELEMENTASSEMBLYTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMEDICALDEVICETYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCCIVILELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCPILETYPE, IFCMEMBERTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE, IFCBUILDINGELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCGEOGRAPHICELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE, IFCDOORSTYLE, IFCWINDOWSTYLE, IFCTYPEPRODUCT, IFCTASKTYPE, IFCPROCEDURETYPE, IFCEVENTTYPE, IFCTYPEPROCESS, IFCTYPEOBJECT],
    2529465313: [IFCLSHAPEPROFILEDEF, IFCISHAPEPROFILEDEF, IFCELLIPSEPROFILEDEF, IFCCIRCLEHOLLOWPROFILEDEF, IFCCIRCLEPROFILEDEF, IFCCSHAPEPROFILEDEF, IFCASYMMETRICISHAPEPROFILEDEF, IFCZSHAPEPROFILEDEF, IFCUSHAPEPROFILEDEF, IFCTRAPEZIUMPROFILEDEF, IFCTSHAPEPROFILEDEF, IFCRECTANGLEHOLLOWPROFILEDEF, IFCROUNDEDRECTANGLEPROFILEDEF, IFCRECTANGLEPROFILEDEF],
    2004835150: [IFCAXIS2PLACEMENT3D, IFCAXIS2PLACEMENT2D, IFCAXIS1PLACEMENT],
    1663979128: [IFCPLANARBOX],
    2067069095: [IFCCARTESIANPOINT, IFCPOINTONSURFACE, IFCPOINTONCURVE],
    3727388367: [IFCDRAUGHTINGPREDEFINEDCURVEFONT, IFCPREDEFINEDCURVEFONT, IFCDRAUGHTINGPREDEFINEDCOLOUR, IFCPREDEFINEDCOLOUR, IFCTEXTSTYLEFONTMODEL, IFCPREDEFINEDTEXTFONT],
    3778827333: [IFCSECTIONREINFORCEMENTPROPERTIES, IFCSECTIONPROPERTIES, IFCREINFORCEMENTBARPROPERTIES],
    1775413392: [IFCTEXTSTYLEFONTMODEL],
    2598011224: [IFCCOMPLEXPROPERTY, IFCPROPERTYTABLEVALUE, IFCPROPERTYSINGLEVALUE, IFCPROPERTYREFERENCEVALUE, IFCPROPERTYLISTVALUE, IFCPROPERTYENUMERATEDVALUE, IFCPROPERTYBOUNDEDVALUE, IFCSIMPLEPROPERTY],
    1680319473: [IFCCOMPLEXPROPERTYTEMPLATE, IFCSIMPLEPROPERTYTEMPLATE, IFCPROPERTYTEMPLATE, IFCPROPERTYSETTEMPLATE, IFCPROPERTYTEMPLATEDEFINITION, IFCPROPERTYSET, IFCPERMEABLECOVERINGPROPERTIES, IFCDOORPANELPROPERTIES, IFCDOORLININGPROPERTIES, IFCWINDOWPANELPROPERTIES, IFCWINDOWLININGPROPERTIES, IFCREINFORCEMENTDEFINITIONPROPERTIES, IFCPREDEFINEDPROPERTYSET, IFCELEMENTQUANTITY, IFCQUANTITYSET, IFCPROPERTYSETDEFINITION],
    3357820518: [IFCPROPERTYSET, IFCPERMEABLECOVERINGPROPERTIES, IFCDOORPANELPROPERTIES, IFCDOORLININGPROPERTIES, IFCWINDOWPANELPROPERTIES, IFCWINDOWLININGPROPERTIES, IFCREINFORCEMENTDEFINITIONPROPERTIES, IFCPREDEFINEDPROPERTYSET, IFCELEMENTQUANTITY, IFCQUANTITYSET],
    1482703590: [IFCCOMPLEXPROPERTYTEMPLATE, IFCSIMPLEPROPERTYTEMPLATE, IFCPROPERTYTEMPLATE, IFCPROPERTYSETTEMPLATE],
    2090586900: [IFCELEMENTQUANTITY],
    3615266464: [IFCRECTANGLEHOLLOWPROFILEDEF, IFCROUNDEDRECTANGLEPROFILEDEF],
    478536968: [IFCRELDEFINESBYTYPE, IFCRELDEFINESBYTEMPLATE, IFCRELDEFINESBYPROPERTIES, IFCRELDEFINESBYOBJECT, IFCRELDEFINES, IFCRELAGGREGATES, IFCRELVOIDSELEMENT, IFCRELPROJECTSELEMENT, IFCRELNESTS, IFCRELDECOMPOSES, IFCRELDECLARES, IFCRELSPACEBOUNDARY2NDLEVEL, IFCRELSPACEBOUNDARY1STLEVEL, IFCRELSPACEBOUNDARY, IFCRELSERVICESBUILDINGS, IFCRELSEQUENCE, IFCRELREFERENCEDINSPATIALSTRUCTURE, IFCRELINTERFERESELEMENTS, IFCRELFLOWCONTROLELEMENTS, IFCRELFILLSELEMENT, IFCRELCOVERSSPACES, IFCRELCOVERSBLDGELEMENTS, IFCRELCONTAINEDINSPATIALSTRUCTURE, IFCRELCONNECTSWITHECCENTRICITY, IFCRELCONNECTSSTRUCTURALMEMBER, IFCRELCONNECTSSTRUCTURALACTIVITY, IFCRELCONNECTSPORTS, IFCRELCONNECTSPORTTOELEMENT, IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS, IFCRELCONNECTSELEMENTS, IFCRELCONNECTS, IFCRELASSOCIATESMATERIAL, IFCRELASSOCIATESLIBRARY, IFCRELASSOCIATESDOCUMENT, IFCRELASSOCIATESCONSTRAINT, IFCRELASSOCIATESCLASSIFICATION, IFCRELASSOCIATESAPPROVAL, IFCRELASSOCIATES, IFCRELASSIGNSTORESOURCE, IFCRELASSIGNSTOPRODUCT, IFCRELASSIGNSTOPROCESS, IFCRELASSIGNSTOGROUPBYFACTOR, IFCRELASSIGNSTOGROUP, IFCRELASSIGNSTOCONTROL, IFCRELASSIGNSTOACTOR, IFCRELASSIGNS],
    3692461612: [IFCPROPERTYTABLEVALUE, IFCPROPERTYSINGLEVALUE, IFCPROPERTYREFERENCEVALUE, IFCPROPERTYLISTVALUE, IFCPROPERTYENUMERATEDVALUE, IFCPROPERTYBOUNDEDVALUE],
    723233188: [IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP, IFCADVANCEDBREPWITHVOIDS, IFCADVANCEDBREP, IFCMANIFOLDSOLIDBREP, IFCCSGSOLID, IFCSWEPTDISKSOLIDPOLYGONAL, IFCSWEPTDISKSOLID, IFCSURFACECURVESWEPTAREASOLID, IFCREVOLVEDAREASOLIDTAPERED, IFCREVOLVEDAREASOLID, IFCFIXEDREFERENCESWEPTAREASOLID, IFCEXTRUDEDAREASOLIDTAPERED, IFCEXTRUDEDAREASOLID, IFCSWEPTAREASOLID],
    2473145415: [IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION],
    1597423693: [IFCSTRUCTURALLOADSINGLEFORCEWARPING],
    2513912981: [IFCCYLINDRICALSURFACE, IFCTOROIDALSURFACE, IFCSPHERICALSURFACE, IFCPLANE, IFCELEMENTARYSURFACE, IFCRATIONALBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACE, IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDSURFACE, IFCCURVEBOUNDEDPLANE, IFCBOUNDEDSURFACE, IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION, IFCSWEPTSURFACE],
    2247615214: [IFCSURFACECURVESWEPTAREASOLID, IFCREVOLVEDAREASOLIDTAPERED, IFCREVOLVEDAREASOLID, IFCFIXEDREFERENCESWEPTAREASOLID, IFCEXTRUDEDAREASOLIDTAPERED, IFCEXTRUDEDAREASOLID],
    1260650574: [IFCSWEPTDISKSOLIDPOLYGONAL],
    230924584: [IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION],
    901063453: [IFCPOLYGONALFACESET, IFCTRIANGULATEDFACESET, IFCTESSELLATEDFACESET, IFCINDEXEDPOLYGONALFACEWITHVOIDS, IFCINDEXEDPOLYGONALFACE],
    4282788508: [IFCTEXTLITERALWITHEXTENT],
    1628702193: [IFCCONSTRUCTIONPRODUCTRESOURCETYPE, IFCCONSTRUCTIONMATERIALRESOURCETYPE, IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE, IFCSUBCONTRACTRESOURCETYPE, IFCLABORRESOURCETYPE, IFCCREWRESOURCETYPE, IFCCONSTRUCTIONRESOURCETYPE, IFCTYPERESOURCE, IFCSPATIALZONETYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSPATIALELEMENTTYPE, IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCELEMENTASSEMBLYTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMEDICALDEVICETYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCCIVILELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCPILETYPE, IFCMEMBERTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE, IFCBUILDINGELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCGEOGRAPHICELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE, IFCDOORSTYLE, IFCWINDOWSTYLE, IFCTYPEPRODUCT, IFCTASKTYPE, IFCPROCEDURETYPE, IFCEVENTTYPE, IFCTYPEPROCESS],
    3736923433: [IFCTASKTYPE, IFCPROCEDURETYPE, IFCEVENTTYPE],
    2347495698: [IFCSPATIALZONETYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSPATIALELEMENTTYPE, IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCELEMENTASSEMBLYTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMEDICALDEVICETYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCCIVILELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCPILETYPE, IFCMEMBERTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE, IFCBUILDINGELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCGEOGRAPHICELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE, IFCDOORSTYLE, IFCWINDOWSTYLE],
    3698973494: [IFCCONSTRUCTIONPRODUCTRESOURCETYPE, IFCCONSTRUCTIONMATERIALRESOURCETYPE, IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE, IFCSUBCONTRACTRESOURCETYPE, IFCLABORRESOURCETYPE, IFCCREWRESOURCETYPE, IFCCONSTRUCTIONRESOURCETYPE],
    2736907675: [IFCBOOLEANCLIPPINGRESULT],
    4182860854: [IFCRATIONALBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACE, IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDSURFACE, IFCCURVEBOUNDEDPLANE],
    574549367: [IFCCARTESIANPOINTLIST3D, IFCCARTESIANPOINTLIST2D],
    59481748: [IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR3D, IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR2D],
    3749851601: [IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM],
    3331915920: [IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM],
    1383045692: [IFCCIRCLEHOLLOWPROFILEDEF],
    2485617015: [IFCREPARAMETRISEDCOMPOSITECURVESEGMENT],
    2574617495: [IFCCONSTRUCTIONPRODUCTRESOURCETYPE, IFCCONSTRUCTIONMATERIALRESOURCETYPE, IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE, IFCSUBCONTRACTRESOURCETYPE, IFCLABORRESOURCETYPE, IFCCREWRESOURCETYPE],
    3419103109: [IFCPROJECTLIBRARY, IFCPROJECT],
    2506170314: [IFCBLOCK, IFCSPHERE, IFCRIGHTCIRCULARCYLINDER, IFCRIGHTCIRCULARCONE, IFCRECTANGULARPYRAMID],
    2601014836: [IFCCIRCLE, IFCELLIPSE, IFCCONIC, IFCRATIONALBSPLINECURVEWITHKNOTS, IFCBSPLINECURVEWITHKNOTS, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFCINDEXEDPOLYCURVE, IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE, IFCCOMPOSITECURVEONSURFACE, IFCCOMPOSITECURVE, IFCBOUNDEDCURVE, IFCSEAMCURVE, IFCINTERSECTIONCURVE, IFCSURFACECURVE, IFCPCURVE, IFCOFFSETCURVE3D, IFCOFFSETCURVE2D, IFCLINE],
    339256511: [IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCELEMENTASSEMBLYTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMEDICALDEVICETYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCCIVILELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCPILETYPE, IFCMEMBERTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE, IFCBUILDINGELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCGEOGRAPHICELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE],
    2777663545: [IFCCYLINDRICALSURFACE, IFCTOROIDALSURFACE, IFCSPHERICALSURFACE, IFCPLANE],
    477187591: [IFCEXTRUDEDAREASOLIDTAPERED],
    4238390223: [IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE],
    178912537: [IFCINDEXEDPOLYGONALFACEWITHVOIDS],
    1425443689: [IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP, IFCADVANCEDBREPWITHVOIDS, IFCADVANCEDBREP],
    3888040117: [IFCASSET, IFCSTRUCTURALANALYSISMODEL, IFCDISTRIBUTIONCIRCUIT, IFCDISTRIBUTIONSYSTEM, IFCBUILDINGSYSTEM, IFCZONE, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADCASE, IFCSTRUCTURALLOADGROUP, IFCINVENTORY, IFCGROUP, IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCWORKCALENDAR, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCCOSTSCHEDULE, IFCCOSTITEM, IFCCONTROL, IFCOCCUPANT, IFCACTOR, IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE, IFCRESOURCE, IFCDISTRIBUTIONPORT, IFCPORT, IFCGRID, IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSANITARYTERMINAL, IFCOUTLET, IFCMEDICALDEVICE, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCCIVILELEMENT, IFCBEAMSTANDARDCASE, IFCBEAM, IFCWINDOWSTANDARDCASE, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALLELEMENTEDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLABSTANDARDCASE, IFCSLABELEMENTEDCASE, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATESTANDARDCASE, IFCPLATE, IFCPILE, IFCMEMBERSTANDARDCASE, IFCMEMBER, IFCFOOTING, IFCDOORSTANDARDCASE, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMNSTANDARDCASE, IFCCOLUMN, IFCCHIMNEY, IFCBUILDINGELEMENTPROXY, IFCBUILDINGELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCGEOGRAPHICELEMENT, IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE, IFCFURNISHINGELEMENT, IFCSURFACEFEATURE, IFCVOIDINGFEATURE, IFCOPENINGSTANDARDCASE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCEXTERNALSPATIALELEMENT, IFCEXTERNALSPATIALSTRUCTUREELEMENT, IFCSPATIALZONE, IFCSPACE, IFCSITE, IFCBUILDINGSTOREY, IFCBUILDING, IFCSPATIALSTRUCTUREELEMENT, IFCSPATIALELEMENT, IFCPROXY, IFCPRODUCT, IFCPROCEDURE, IFCEVENT, IFCTASK, IFCPROCESS],
    759155922: [IFCDRAUGHTINGPREDEFINEDCOLOUR],
    2559016684: [IFCDRAUGHTINGPREDEFINEDCURVEFONT],
    3967405729: [IFCPERMEABLECOVERINGPROPERTIES, IFCDOORPANELPROPERTIES, IFCDOORLININGPROPERTIES, IFCWINDOWPANELPROPERTIES, IFCWINDOWLININGPROPERTIES, IFCREINFORCEMENTDEFINITIONPROPERTIES],
    2945172077: [IFCPROCEDURE, IFCEVENT, IFCTASK],
    4208778838: [IFCDISTRIBUTIONPORT, IFCPORT, IFCGRID, IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSANITARYTERMINAL, IFCOUTLET, IFCMEDICALDEVICE, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCCIVILELEMENT, IFCBEAMSTANDARDCASE, IFCBEAM, IFCWINDOWSTANDARDCASE, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALLELEMENTEDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLABSTANDARDCASE, IFCSLABELEMENTEDCASE, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATESTANDARDCASE, IFCPLATE, IFCPILE, IFCMEMBERSTANDARDCASE, IFCMEMBER, IFCFOOTING, IFCDOORSTANDARDCASE, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMNSTANDARDCASE, IFCCOLUMN, IFCCHIMNEY, IFCBUILDINGELEMENTPROXY, IFCBUILDINGELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCGEOGRAPHICELEMENT, IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE, IFCFURNISHINGELEMENT, IFCSURFACEFEATURE, IFCVOIDINGFEATURE, IFCOPENINGSTANDARDCASE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCEXTERNALSPATIALELEMENT, IFCEXTERNALSPATIALSTRUCTUREELEMENT, IFCSPATIALZONE, IFCSPACE, IFCSITE, IFCBUILDINGSTOREY, IFCBUILDING, IFCSPATIALSTRUCTUREELEMENT, IFCSPATIALELEMENT, IFCPROXY],
    3521284610: [IFCCOMPLEXPROPERTYTEMPLATE, IFCSIMPLEPROPERTYTEMPLATE],
    3939117080: [IFCRELASSIGNSTORESOURCE, IFCRELASSIGNSTOPRODUCT, IFCRELASSIGNSTOPROCESS, IFCRELASSIGNSTOGROUPBYFACTOR, IFCRELASSIGNSTOGROUP, IFCRELASSIGNSTOCONTROL, IFCRELASSIGNSTOACTOR],
    1307041759: [IFCRELASSIGNSTOGROUPBYFACTOR],
    1865459582: [IFCRELASSOCIATESMATERIAL, IFCRELASSOCIATESLIBRARY, IFCRELASSOCIATESDOCUMENT, IFCRELASSOCIATESCONSTRAINT, IFCRELASSOCIATESCLASSIFICATION, IFCRELASSOCIATESAPPROVAL],
    826625072: [IFCRELSPACEBOUNDARY2NDLEVEL, IFCRELSPACEBOUNDARY1STLEVEL, IFCRELSPACEBOUNDARY, IFCRELSERVICESBUILDINGS, IFCRELSEQUENCE, IFCRELREFERENCEDINSPATIALSTRUCTURE, IFCRELINTERFERESELEMENTS, IFCRELFLOWCONTROLELEMENTS, IFCRELFILLSELEMENT, IFCRELCOVERSSPACES, IFCRELCOVERSBLDGELEMENTS, IFCRELCONTAINEDINSPATIALSTRUCTURE, IFCRELCONNECTSWITHECCENTRICITY, IFCRELCONNECTSSTRUCTURALMEMBER, IFCRELCONNECTSSTRUCTURALACTIVITY, IFCRELCONNECTSPORTS, IFCRELCONNECTSPORTTOELEMENT, IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS, IFCRELCONNECTSELEMENTS],
    1204542856: [IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS],
    1638771189: [IFCRELCONNECTSWITHECCENTRICITY],
    2551354335: [IFCRELAGGREGATES, IFCRELVOIDSELEMENT, IFCRELPROJECTSELEMENT, IFCRELNESTS],
    693640335: [IFCRELDEFINESBYTYPE, IFCRELDEFINESBYTEMPLATE, IFCRELDEFINESBYPROPERTIES, IFCRELDEFINESBYOBJECT],
    3451746338: [IFCRELSPACEBOUNDARY2NDLEVEL, IFCRELSPACEBOUNDARY1STLEVEL],
    3523091289: [IFCRELSPACEBOUNDARY2NDLEVEL],
    2914609552: [IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE],
    1856042241: [IFCREVOLVEDAREASOLIDTAPERED],
    1412071761: [IFCEXTERNALSPATIALELEMENT, IFCEXTERNALSPATIALSTRUCTUREELEMENT, IFCSPATIALZONE, IFCSPACE, IFCSITE, IFCBUILDINGSTOREY, IFCBUILDING, IFCSPATIALSTRUCTUREELEMENT],
    710998568: [IFCSPATIALZONETYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE],
    2706606064: [IFCSPACE, IFCSITE, IFCBUILDINGSTOREY, IFCBUILDING],
    3893378262: [IFCSPACETYPE],
    3544373492: [IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION, IFCSTRUCTURALREACTION],
    3136571912: [IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER],
    530289379: [IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER],
    3689010777: [IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION],
    3979015343: [IFCSTRUCTURALSURFACEMEMBERVARYING],
    699246055: [IFCSEAMCURVE, IFCINTERSECTIONCURVE],
    2387106220: [IFCPOLYGONALFACESET, IFCTRIANGULATEDFACESET],
    2296667514: [IFCOCCUPANT],
    1635779807: [IFCADVANCEDBREPWITHVOIDS],
    2887950389: [IFCRATIONALBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACEWITHKNOTS],
    167062518: [IFCRATIONALBSPLINESURFACEWITHKNOTS],
    1260505505: [IFCRATIONALBSPLINECURVEWITHKNOTS, IFCBSPLINECURVEWITHKNOTS, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFCINDEXEDPOLYCURVE, IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE, IFCCOMPOSITECURVEONSURFACE, IFCCOMPOSITECURVE],
    1950629157: [IFCBUILDINGELEMENTPROXYTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCPLATETYPE, IFCPILETYPE, IFCMEMBERTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE],
    3732776249: [IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE, IFCCOMPOSITECURVEONSURFACE],
    15328376: [IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE],
    2510884976: [IFCCIRCLE, IFCELLIPSE],
    2559216714: [IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE],
    3293443760: [IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCWORKCALENDAR, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCCOSTSCHEDULE, IFCCOSTITEM],
    3256556792: [IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMEDICALDEVICETYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE],
    3849074793: [IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMEDICALDEVICETYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE],
    1758889154: [IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSANITARYTERMINAL, IFCOUTLET, IFCMEDICALDEVICE, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCCIVILELEMENT, IFCBEAMSTANDARDCASE, IFCBEAM, IFCWINDOWSTANDARDCASE, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALLELEMENTEDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLABSTANDARDCASE, IFCSLABELEMENTEDCASE, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATESTANDARDCASE, IFCPLATE, IFCPILE, IFCMEMBERSTANDARDCASE, IFCMEMBER, IFCFOOTING, IFCDOORSTANDARDCASE, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMNSTANDARDCASE, IFCCOLUMN, IFCCHIMNEY, IFCBUILDINGELEMENTPROXY, IFCBUILDINGELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCGEOGRAPHICELEMENT, IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE, IFCFURNISHINGELEMENT, IFCSURFACEFEATURE, IFCVOIDINGFEATURE, IFCOPENINGSTANDARDCASE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY],
    1623761950: [IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCFASTENER],
    2590856083: [IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCFASTENERTYPE],
    2107101300: [IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE],
    2853485674: [IFCEXTERNALSPATIALELEMENT],
    807026263: [IFCFACETEDBREPWITHVOIDS],
    2827207264: [IFCSURFACEFEATURE, IFCVOIDINGFEATURE, IFCOPENINGSTANDARDCASE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION],
    2143335405: [IFCPROJECTIONELEMENT],
    1287392070: [IFCVOIDINGFEATURE, IFCOPENINGSTANDARDCASE, IFCOPENINGELEMENT],
    3907093117: [IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE],
    3198132628: [IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE],
    1482959167: [IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE],
    1834744321: [IFCDUCTSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE],
    1339347760: [IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE],
    2297155007: [IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMEDICALDEVICETYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE],
    3009222698: [IFCFILTERTYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE],
    263784265: [IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE],
    2706460486: [IFCASSET, IFCSTRUCTURALANALYSISMODEL, IFCDISTRIBUTIONCIRCUIT, IFCDISTRIBUTIONSYSTEM, IFCBUILDINGSYSTEM, IFCZONE, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADCASE, IFCSTRUCTURALLOADGROUP, IFCINVENTORY],
    3588315303: [IFCOPENINGSTANDARDCASE],
    3740093272: [IFCDISTRIBUTIONPORT],
    3027567501: [IFCREINFORCINGBAR, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH],
    964333572: [IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE],
    682877961: [IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION],
    1179482911: [IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION],
    1004757350: [IFCSTRUCTURALLINEARACTION],
    214636428: [IFCSTRUCTURALCURVEMEMBERVARYING],
    1252848954: [IFCSTRUCTURALLOADCASE],
    3657597509: [IFCSTRUCTURALPLANARACTION],
    2254336722: [IFCSTRUCTURALANALYSISMODEL, IFCDISTRIBUTIONCIRCUIT, IFCDISTRIBUTIONSYSTEM, IFCBUILDINGSYSTEM, IFCZONE],
    1028945134: [IFCWORKSCHEDULE, IFCWORKPLAN],
    1967976161: [IFCRATIONALBSPLINECURVEWITHKNOTS, IFCBSPLINECURVEWITHKNOTS],
    2461110595: [IFCRATIONALBSPLINECURVEWITHKNOTS],
    1136057603: [IFCOUTERBOUNDARYCURVE],
    3299480353: [IFCBEAMSTANDARDCASE, IFCBEAM, IFCWINDOWSTANDARDCASE, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALLELEMENTEDCASE, IFCWALL, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLABSTANDARDCASE, IFCSLABELEMENTEDCASE, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCPLATESTANDARDCASE, IFCPLATE, IFCPILE, IFCMEMBERSTANDARDCASE, IFCMEMBER, IFCFOOTING, IFCDOORSTANDARDCASE, IFCDOOR, IFCCURTAINWALL, IFCCOVERING, IFCCOLUMNSTANDARDCASE, IFCCOLUMN, IFCCHIMNEY, IFCBUILDINGELEMENTPROXY],
    843113511: [IFCCOLUMNSTANDARDCASE],
    2063403501: [IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE],
    1945004755: [IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSANITARYTERMINAL, IFCOUTLET, IFCMEDICALDEVICE, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT],
    3040386961: [IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSANITARYTERMINAL, IFCOUTLET, IFCMEDICALDEVICE, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE],
    3205830791: [IFCDISTRIBUTIONCIRCUIT],
    395920057: [IFCDOORSTANDARDCASE],
    1658829314: [IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE],
    2058353004: [IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER],
    4278956645: [IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX],
    3132237377: [IFCFAN, IFCCOMPRESSOR, IFCPUMP],
    987401354: [IFCDUCTSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT],
    707683696: [IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK],
    2223149337: [IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSANITARYTERMINAL, IFCOUTLET, IFCMEDICALDEVICE, IFCLIGHTFIXTURE, IFCLAMP],
    3508470533: [IFCFILTER, IFCDUCTSILENCER, IFCINTERCEPTOR],
    1073191201: [IFCMEMBERSTANDARDCASE],
    3171933400: [IFCPLATESTANDARDCASE],
    1529196076: [IFCSLABSTANDARDCASE, IFCSLABELEMENTEDCASE],
    2391406946: [IFCWALLSTANDARDCASE, IFCWALLELEMENTEDCASE],
    3304561284: [IFCWINDOWSTANDARDCASE],
    753842376: [IFCBEAMSTANDARDCASE],
    1062813311: [IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT]
  };
  InversePropertyDef[2] = {
    3630933823: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    618182010: [["OfPerson", IFCPERSON, 7, true], ["OfOrganization", IFCORGANIZATION, 4, true]],
    411424972: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    130549933: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["ApprovedObjects", IFCRELASSOCIATESAPPROVAL, 5, true], ["ApprovedResources", IFCRESOURCEAPPROVALRELATIONSHIP, 3, true], ["IsRelatedWith", IFCAPPROVALRELATIONSHIP, 3, true], ["Relates", IFCAPPROVALRELATIONSHIP, 2, true]],
    1959218052: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PropertiesForConstraint", IFCRESOURCECONSTRAINTRELATIONSHIP, 2, true]],
    1466758467: [["HasCoordinateOperation", IFCCOORDINATEOPERATION, 0, true]],
    602808272: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    3200245327: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true]],
    2242383968: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true]],
    1040185647: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true]],
    3548104201: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true]],
    852622518: [["PartOfW", IFCGRID, 9, true], ["PartOfV", IFCGRID, 8, true], ["PartOfU", IFCGRID, 7, true], ["HasIntersections", IFCVIRTUALGRIDINTERSECTION, 0, true]],
    2655187982: [["LibraryInfoForObjects", IFCRELASSOCIATESLIBRARY, 5, true], ["HasLibraryReferences", IFCLIBRARYREFERENCE, 5, true]],
    3452421091: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true], ["LibraryRefForObjects", IFCRELASSOCIATESLIBRARY, 5, true]],
    760658860: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true]],
    248100487: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["ToMaterialLayerSet", IFCMATERIALLAYERSET, 0, false]],
    3303938423: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true]],
    1847252529: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["ToMaterialLayerSet", IFCMATERIALLAYERSET, 0, false]],
    2235152071: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["ToMaterialProfileSet", IFCMATERIALPROFILESET, 2, false]],
    164193824: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true]],
    552965576: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["ToMaterialProfileSet", IFCMATERIALPROFILESET, 2, false]],
    1507914824: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true]],
    3368373690: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PropertiesForConstraint", IFCRESOURCECONSTRAINTRELATIONSHIP, 2, true]],
    3701648758: [["PlacesObject", IFCPRODUCT, 5, true], ["ReferencedByPlacements", IFCLOCALPLACEMENT, 0, true]],
    2251480897: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PropertiesForConstraint", IFCRESOURCECONSTRAINTRELATIONSHIP, 2, true]],
    4251960020: [["IsRelatedBy", IFCORGANIZATIONRELATIONSHIP, 3, true], ["Relates", IFCORGANIZATIONRELATIONSHIP, 2, true], ["Engages", IFCPERSONANDORGANIZATION, 1, true]],
    2077209135: [["EngagedIn", IFCPERSONANDORGANIZATION, 0, true]],
    2483315170: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    2226359599: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    3355820592: [["OfPerson", IFCPERSON, 7, true], ["OfOrganization", IFCORGANIZATION, 4, true]],
    3958567839: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    3843373140: [["HasCoordinateOperation", IFCCOORDINATEOPERATION, 0, true]],
    986844984: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    3710013099: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    2044713172: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    2093928680: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    931644368: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    3252649465: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    2405470396: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    825690147: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    1076942058: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true]],
    3377609919: [["RepresentationsInContext", IFCREPRESENTATION, 0, true]],
    3008791417: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1660063152: [["HasShapeAspects", IFCSHAPEASPECT, 4, true], ["MapUsage", IFCMAPPEDITEM, 0, true]],
    3982875396: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true], ["OfShapeAspect", IFCSHAPEASPECT, 0, true]],
    4240577450: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true], ["OfShapeAspect", IFCSHAPEASPECT, 0, true]],
    2830218821: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true]],
    3958052878: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3049322572: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true]],
    626085974: [["IsMappedBy", IFCTEXTURECOORDINATE, 0, true], ["UsedInStyles", IFCSURFACESTYLEWITHTEXTURES, 0, true]],
    912023232: [["OfPerson", IFCPERSON, 7, true], ["OfOrganization", IFCORGANIZATION, 4, true]],
    3101149627: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    1377556343: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1735638870: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true], ["OfShapeAspect", IFCSHAPEASPECT, 0, true]],
    2799835756: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1907098498: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3798115385: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    1310608509: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    2705031697: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    616511568: [["IsMappedBy", IFCTEXTURECOORDINATE, 0, true], ["UsedInStyles", IFCSURFACESTYLEWITHTEXTURES, 0, true]],
    3150382593: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    747523909: [["ClassificationForObjects", IFCRELASSOCIATESCLASSIFICATION, 5, true], ["HasReferences", IFCCLASSIFICATIONREFERENCE, 3, true]],
    647927063: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true], ["ClassificationRefForObjects", IFCRELASSOCIATESCLASSIFICATION, 5, true], ["HasReferences", IFCCLASSIFICATIONREFERENCE, 3, true]],
    1485152156: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    370225590: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3050246964: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    2889183280: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    2713554722: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    3632507154: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    1154170062: [["DocumentInfoForObjects", IFCRELASSOCIATESDOCUMENT, 5, true], ["HasDocumentReferences", IFCDOCUMENTREFERENCE, 4, true], ["IsPointedTo", IFCDOCUMENTINFORMATIONRELATIONSHIP, 3, true], ["IsPointer", IFCDOCUMENTINFORMATIONRELATIONSHIP, 2, true]],
    3732053477: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true], ["DocumentRefForObjects", IFCRELASSOCIATESDOCUMENT, 5, true]],
    3900360178: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    476780140: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    297599258: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    2556980723: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasTextureMaps", IFCTEXTUREMAP, 2, true]],
    1809719519: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    803316827: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3008276851: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasTextureMaps", IFCTEXTUREMAP, 2, true]],
    3448662350: [["RepresentationsInContext", IFCREPRESENTATION, 0, true], ["HasSubContexts", IFCGEOMETRICREPRESENTATIONSUBCONTEXT, 6, true], ["HasCoordinateOperation", IFCCOORDINATEOPERATION, 0, true]],
    2453401579: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4142052618: [["RepresentationsInContext", IFCREPRESENTATION, 0, true], ["HasSubContexts", IFCGEOMETRICREPRESENTATIONSUBCONTEXT, 6, true], ["HasCoordinateOperation", IFCCOORDINATEOPERATION, 0, true]],
    3590301190: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    178086475: [["PlacesObject", IFCPRODUCT, 5, true], ["ReferencedByPlacements", IFCLOCALPLACEMENT, 0, true]],
    812098782: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3905492369: [["IsMappedBy", IFCTEXTURECOORDINATE, 0, true], ["UsedInStyles", IFCSURFACESTYLEWITHTEXTURES, 0, true]],
    3741457305: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    1402838566: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    125510826: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2604431987: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4266656042: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1520743889: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3422422726: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2624227202: [["PlacesObject", IFCPRODUCT, 5, true], ["ReferencedByPlacements", IFCLOCALPLACEMENT, 0, true]],
    1008929658: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2347385850: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1838606355: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["HasRepresentation", IFCMATERIALDEFINITIONREPRESENTATION, 3, true], ["IsRelatedWith", IFCMATERIALRELATIONSHIP, 3, true], ["RelatesTo", IFCMATERIALRELATIONSHIP, 2, true]],
    3708119e3: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["ToMaterialConstituentSet", IFCMATERIALCONSTITUENTSET, 2, false]],
    2852063980: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true]],
    1303795690: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true]],
    3079605661: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true]],
    3404854881: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true]],
    3265635763: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    2998442950: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    219451334: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true]],
    2665983363: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1029017970: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2529465313: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    2519244187: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3021840470: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    597895409: [["IsMappedBy", IFCTEXTURECOORDINATE, 0, true], ["UsedInStyles", IFCSURFACESTYLEWITHTEXTURES, 0, true]],
    2004835150: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1663979128: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2067069095: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4022376103: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1423911732: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2924175390: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2775532180: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3778827333: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    673634403: [["ShapeOfProduct", IFCPRODUCT, 6, true], ["HasShapeAspects", IFCSHAPEASPECT, 4, true]],
    2802850158: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    2598011224: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]],
    1680319473: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true]],
    3357820518: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]],
    1482703590: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true]],
    2090586900: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]],
    3615266464: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    3413951693: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    1580146022: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    2778083089: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    2042790032: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    4165799628: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    1509187699: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4124623270: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3692461612: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]],
    723233188: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2233826070: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2513912981: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2247615214: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1260650574: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1096409881: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    230924584: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3071757647: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    901063453: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4282788508: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3124975700: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2715220739: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    1628702193: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true]],
    3736923433: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]],
    2347495698: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3698973494: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    427810014: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    1417489154: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2759199220: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1299126871: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2543172580: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    3406155212: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasTextureMaps", IFCTEXTUREMAP, 2, true]],
    669184980: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3207858831: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    4261334040: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3125803723: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2740243338: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2736907675: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4182860854: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2581212453: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2713105998: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2898889636: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    1123145078: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    574549367: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1675464909: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2059837836: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    59481748: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3749851601: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3486308946: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3331915920: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1416205885: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1383045692: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    2205249479: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2542286263: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]],
    2485617015: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["UsingCurves", IFCCOMPOSITECURVE, 0, true]],
    2574617495: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    3419103109: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Declares", IFCRELDECLARES, 4, true]],
    1815067380: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    2506170314: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2147822146: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2601014836: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2827736869: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2629017746: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    32440307: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    526551008: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1472233963: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1883228015: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]],
    339256511: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2777663545: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2835456948: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    4024345920: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]],
    477187591: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2804161546: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2047409740: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    374418227: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    315944413: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2652556860: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4238390223: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1268542332: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    4095422895: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    987898635: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1484403080: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    178912537: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["ToFaceSet", IFCPOLYGONALFACESET, 2, true]],
    2294589976: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["ToFaceSet", IFCPOLYGONALFACESET, 2, true]],
    572779678: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    428585644: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    1281925730: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1425443689: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3888040117: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true]],
    3388369263: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3505215534: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1682466193: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    603570806: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    220341763: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3967405729: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]],
    569719735: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]],
    2945172077: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]],
    4208778838: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    103090709: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Declares", IFCRELDECLARES, 4, true]],
    653396225: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Declares", IFCRELDECLARES, 4, true]],
    871118103: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]],
    4166981789: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]],
    2752243245: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]],
    941946838: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]],
    1451395588: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]],
    492091185: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Defines", IFCRELDEFINESBYTEMPLATE, 5, true]],
    3650150729: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]],
    110355661: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]],
    3521284610: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["PartOfComplexTemplate", IFCCOMPLEXPROPERTYTEMPLATE, 6, true], ["PartOfPsetTemplate", IFCPROPERTYSETTEMPLATE, 6, true]],
    3219374653: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2770003689: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    2798486643: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3454111270: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3765753017: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]],
    3523091289: [["InnerBoundaries", IFCRELSPACEBOUNDARY1STLEVEL, 9, true]],
    1521410863: [["InnerBoundaries", IFCRELSPACEBOUNDARY1STLEVEL, 9, true], ["Corresponds", IFCRELSPACEBOUNDARY2NDLEVEL, 10, true]],
    816062949: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["UsingCurves", IFCCOMPOSITECURVE, 0, true]],
    2914609552: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    1856042241: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3243963512: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4158566097: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3626867408: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3663146110: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["PartOfComplexTemplate", IFCCOMPLEXPROPERTYTEMPLATE, 6, true], ["PartOfPsetTemplate", IFCPROPERTYSETTEMPLATE, 6, true]],
    1412071761: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true]],
    710998568: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2706606064: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true]],
    3893378262: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    463610769: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true]],
    2481509218: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    451544542: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4015995234: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3544373492: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]],
    3136571912: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true]],
    530289379: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]],
    3689010777: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]],
    3979015343: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]],
    2218152070: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]],
    603775116: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]],
    4095615324: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    699246055: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2028607225: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2809605785: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4124788165: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1580310250: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3473067441: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]],
    3206491090: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]],
    2387106220: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasColours", IFCINDEXEDCOLOURMAP, 0, true], ["HasTextures", IFCINDEXEDTEXTUREMAP, 1, true]],
    1935646853: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2097647324: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2916149573: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasColours", IFCINDEXEDCOLOURMAP, 0, true], ["HasTextures", IFCINDEXEDTEXTUREMAP, 1, true]],
    336235671: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]],
    512836454: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]],
    2296667514: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsActingUpon", IFCRELASSIGNSTOACTOR, 6, true]],
    1635779807: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2603310189: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1674181508: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    2887950389: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    167062518: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1334484129: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3649129432: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1260505505: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4031249490: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true]],
    1950629157: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3124254112: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true]],
    2197970202: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2937912522: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    3893394355: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    300633059: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3875453745: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["PartOfComplexTemplate", IFCCOMPLEXPROPERTYTEMPLATE, 6, true], ["PartOfPsetTemplate", IFCPROPERTYSETTEMPLATE, 6, true]],
    3732776249: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    15328376: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2510884976: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2185764099: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    4105962743: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    1525564444: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    2559216714: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    3293443760: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    3895139033: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    1419761937: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    1916426348: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3295246426: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    1457835157: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1213902940: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3256556792: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3849074793: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2963535650: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]],
    1714330368: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]],
    2323601079: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1758889154: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    4123344466: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    2397081782: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1623761950: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    2590856083: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1704287377: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2107101300: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    132023988: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3174744832: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3390157468: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    4148101412: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]],
    2853485674: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true]],
    807026263: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3737207727: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    647756555: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    2489546625: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2827207264: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    2143335405: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["ProjectsElements", IFCRELPROJECTSELEMENT, 5, false]],
    1287392070: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false]],
    3907093117: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3198132628: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3815607619: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1482959167: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1834744321: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1339347760: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2297155007: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3009222698: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1893162501: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    263784265: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    1509553395: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    3493046030: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    3009204131: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    2706460486: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true]],
    1251058090: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1806887404: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2571569899: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3946677679: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3113134337: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2391368822: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true]],
    4288270099: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3827777499: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    1051575348: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1161773419: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    377706215: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    2108223431: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1114901282: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3181161470: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    977012517: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    4143007308: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsActingUpon", IFCRELASSIGNSTOACTOR, 6, true]],
    3588315303: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false], ["HasFillings", IFCRELFILLSELEMENT, 4, true]],
    3079942009: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false], ["HasFillings", IFCRELFILLSELEMENT, 4, true]],
    2837617999: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2382730787: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    3566463478: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]],
    3327091369: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    1158309216: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    804291784: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    4231323485: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    4017108033: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2839578677: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasColours", IFCINDEXEDCOLOURMAP, 0, true], ["HasTextures", IFCINDEXEDTEXTUREMAP, 1, true]],
    3724593414: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3740093272: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainedIn", IFCRELCONNECTSPORTTOELEMENT, 4, true], ["ConnectedFrom", IFCRELCONNECTSPORTS, 5, true], ["ConnectedTo", IFCRELCONNECTSPORTS, 4, true]],
    2744685151: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]],
    2904328755: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    3651124850: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["ProjectsElements", IFCRELPROJECTSELEMENT, 5, false]],
    1842657554: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2250791053: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2893384427: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2324767716: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1469900589: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    683857671: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3027567501: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    964333572: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2320036040: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    2310774935: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2781568857: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1768891740: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2157484638: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4074543187: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    4097777520: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true]],
    2533589738: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1072016465: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3856911033: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["HasCoverings", IFCRELCOVERSSPACES, 4, true], ["BoundedBy", IFCRELSPACEBOUNDARY, 4, true]],
    1305183839: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3812236995: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3112655638: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1039846685: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    338393293: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    682877961: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]],
    1179482911: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]],
    1004757350: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]],
    4243806635: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]],
    214636428: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]],
    2445595289: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]],
    2757150158: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]],
    1807405624: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]],
    1252848954: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["SourceOfResultGroup", IFCSTRUCTURALRESULTGROUP, 6, true], ["LoadGroupFor", IFCSTRUCTURALANALYSISMODEL, 7, true]],
    2082059205: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]],
    734778138: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]],
    1235345126: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]],
    2986769608: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ResultGroupFor", IFCSTRUCTURALANALYSISMODEL, 8, true]],
    3657597509: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]],
    1975003073: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]],
    148013059: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    3101698114: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    2315554128: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2254336722: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true]],
    413509423: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    5716631: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3824725483: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    2347447852: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    3081323446: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2415094496: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1692211062: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1620046519: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    3593883385: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1600972822: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1911125066: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    728799441: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2391383451: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    3313531582: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2769231204: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    926996030: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false]],
    1898987631: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1133259667: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    4009809668: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    4088093105: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    1028945134: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    4218914973: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    3342526732: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    1033361043: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true]],
    3821786052: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    1411407467: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3352864051: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1871374353: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3460190687: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true]],
    1532957894: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1967976161: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2461110595: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    819618141: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    231477066: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1136057603: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3299480353: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    2979338954: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    39481116: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1095909175: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    1909888760: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1177604601: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true]],
    2188180465: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    395041908: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3293546465: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2674252688: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1285652485: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2951183804: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3296154744: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    2611217952: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1677625105: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    2301859152: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    843113511: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    905975707: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    400855858: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3850581409: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2816379211: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3898045240: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    1060000209: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    488727124: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    335055490: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2954562838: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1973544240: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["CoversSpaces", IFCRELCOVERSSPACES, 5, true], ["CoversElements", IFCRELCOVERSBLDGELEMENTS, 5, true]],
    3495092785: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    3961806047: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1335981549: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    2635815018: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1599208980: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2063403501: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1945004755: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true]],
    3040386961: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3041715199: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainedIn", IFCRELCONNECTSPORTTOELEMENT, 4, true], ["ConnectedFrom", IFCRELCONNECTSPORTS, 5, true], ["ConnectedTo", IFCRELCONNECTSPORTS, 4, true]],
    3205830791: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true]],
    395920057: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    3242481149: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    869906466: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3760055223: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2030761528: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    663422040: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2417008758: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3277789161: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1534661035: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1217240411: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    712377611: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1658829314: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    2814081492: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3747195512: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    484807127: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1209101575: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["BoundedBy", IFCRELSPACEBOUNDARY, 4, true]],
    346874300: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1810631287: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    4222183408: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2058353004: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    4278956645: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    4037862832: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2188021234: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3132237377: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    987401354: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    707683696: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    2223149337: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3508470533: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    900683007: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    3319311131: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    2068733104: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    4175244083: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    2176052936: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    76236018: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    629592764: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1437502449: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1073191201: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    1911478936: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    2474470126: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    144952367: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3694346114: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1687234759: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    310824031: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3612865200: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3171933400: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    1156407060: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    738039164: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    655969474: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    90941305: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    2262370178: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    3024970846: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    3283111854: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    1232101972: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    979691226: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    2572171363: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2016517767: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    3053780830: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1783015770: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1329646415: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    1529196076: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    3127900445: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    3027962421: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    3420628829: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1999602285: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1404847402: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    331165859: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    4252922144: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    2515109513: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true]],
    385403989: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["SourceOfResultGroup", IFCSTRUCTURALRESULTGROUP, 6, true], ["LoadGroupFor", IFCSTRUCTURALANALYSISMODEL, 7, true]],
    1621171031: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]],
    1162798199: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    812556717: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3825984169: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3026737570: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3179687236: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    4292641817: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    4207607924: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    2391406946: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    4156078855: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    3512223829: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    4237592921: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3304561284: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    486154966: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    2874132201: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1634111441: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    177149247: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    2056796094: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3001207471: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    277319702: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    753842376: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    2906023776: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true]],
    32344328: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    2938176219: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    635142910: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3758799889: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1051757585: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    4217484030: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3902619387: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    639361253: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3221913625: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3571504051: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    2272882330: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    578613899: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    4136498852: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3640358203: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    4074379575: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1052013943: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    562808652: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true]],
    1062813311: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]],
    342316401: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3518393246: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1360408905: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1904799276: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    862014818: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3310460725: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    264262732: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    402227799: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1003880860: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3415622556: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    819412036: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1426591983: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    182646315: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]],
    2295281155: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]],
    4086658281: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]],
    630975310: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]],
    4288193352: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]],
    3087945054: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]],
    25142252: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]]
  };
  Constructors[2] = {
    3630933823: (a) => new IFC4.IfcActorRole(a[0], a[1], a[2]),
    618182010: (a) => new IFC4.IfcAddress(a[0], a[1], a[2]),
    639542469: (a) => new IFC4.IfcApplication(a[0], a[1], a[2], a[3]),
    411424972: (a) => new IFC4.IfcAppliedValue(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    130549933: (a) => new IFC4.IfcApproval(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4037036970: (a) => new IFC4.IfcBoundaryCondition(a[0]),
    1560379544: (a) => new IFC4.IfcBoundaryEdgeCondition(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3367102660: (a) => new IFC4.IfcBoundaryFaceCondition(a[0], a[1], a[2], a[3]),
    1387855156: (a) => new IFC4.IfcBoundaryNodeCondition(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    2069777674: (a) => new IFC4.IfcBoundaryNodeConditionWarping(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2859738748: (_) => new IFC4.IfcConnectionGeometry(),
    2614616156: (a) => new IFC4.IfcConnectionPointGeometry(a[0], a[1]),
    2732653382: (a) => new IFC4.IfcConnectionSurfaceGeometry(a[0], a[1]),
    775493141: (a) => new IFC4.IfcConnectionVolumeGeometry(a[0], a[1]),
    1959218052: (a) => new IFC4.IfcConstraint(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1785450214: (a) => new IFC4.IfcCoordinateOperation(a[0], a[1]),
    1466758467: (a) => new IFC4.IfcCoordinateReferenceSystem(a[0], a[1], a[2], a[3]),
    602808272: (a) => new IFC4.IfcCostValue(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1765591967: (a) => new IFC4.IfcDerivedUnit(a[0], a[1], a[2]),
    1045800335: (a) => new IFC4.IfcDerivedUnitElement(a[0], a[1]),
    2949456006: (a) => new IFC4.IfcDimensionalExponents(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    4294318154: (_) => new IFC4.IfcExternalInformation(),
    3200245327: (a) => new IFC4.IfcExternalReference(a[0], a[1], a[2]),
    2242383968: (a) => new IFC4.IfcExternallyDefinedHatchStyle(a[0], a[1], a[2]),
    1040185647: (a) => new IFC4.IfcExternallyDefinedSurfaceStyle(a[0], a[1], a[2]),
    3548104201: (a) => new IFC4.IfcExternallyDefinedTextFont(a[0], a[1], a[2]),
    852622518: (a) => new IFC4.IfcGridAxis(a[0], a[1], a[2]),
    3020489413: (a) => new IFC4.IfcIrregularTimeSeriesValue(a[0], a[1]),
    2655187982: (a) => new IFC4.IfcLibraryInformation(a[0], a[1], a[2], a[3], a[4], a[5]),
    3452421091: (a) => new IFC4.IfcLibraryReference(a[0], a[1], a[2], a[3], a[4], a[5]),
    4162380809: (a) => new IFC4.IfcLightDistributionData(a[0], a[1], a[2]),
    1566485204: (a) => new IFC4.IfcLightIntensityDistribution(a[0], a[1]),
    3057273783: (a) => new IFC4.IfcMapConversion(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1847130766: (a) => new IFC4.IfcMaterialClassificationRelationship(a[0], a[1]),
    760658860: (_) => new IFC4.IfcMaterialDefinition(),
    248100487: (a) => new IFC4.IfcMaterialLayer(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3303938423: (a) => new IFC4.IfcMaterialLayerSet(a[0], a[1], a[2]),
    1847252529: (a) => new IFC4.IfcMaterialLayerWithOffsets(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2199411900: (a) => new IFC4.IfcMaterialList(a[0]),
    2235152071: (a) => new IFC4.IfcMaterialProfile(a[0], a[1], a[2], a[3], a[4], a[5]),
    164193824: (a) => new IFC4.IfcMaterialProfileSet(a[0], a[1], a[2], a[3]),
    552965576: (a) => new IFC4.IfcMaterialProfileWithOffsets(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1507914824: (_) => new IFC4.IfcMaterialUsageDefinition(),
    2597039031: (a) => new IFC4.IfcMeasureWithUnit(a[0], a[1]),
    3368373690: (a) => new IFC4.IfcMetric(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    2706619895: (a) => new IFC4.IfcMonetaryUnit(a[0]),
    1918398963: (a) => new IFC4.IfcNamedUnit(a[0], a[1]),
    3701648758: (_) => new IFC4.IfcObjectPlacement(),
    2251480897: (a) => new IFC4.IfcObjective(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    4251960020: (a) => new IFC4.IfcOrganization(a[0], a[1], a[2], a[3], a[4]),
    1207048766: (a) => new IFC4.IfcOwnerHistory(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2077209135: (a) => new IFC4.IfcPerson(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    101040310: (a) => new IFC4.IfcPersonAndOrganization(a[0], a[1], a[2]),
    2483315170: (a) => new IFC4.IfcPhysicalQuantity(a[0], a[1]),
    2226359599: (a) => new IFC4.IfcPhysicalSimpleQuantity(a[0], a[1], a[2]),
    3355820592: (a) => new IFC4.IfcPostalAddress(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    677532197: (_) => new IFC4.IfcPresentationItem(),
    2022622350: (a) => new IFC4.IfcPresentationLayerAssignment(a[0], a[1], a[2], a[3]),
    1304840413: (a) => new IFC4.IfcPresentationLayerWithStyle(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3119450353: (a) => new IFC4.IfcPresentationStyle(a[0]),
    2417041796: (a) => new IFC4.IfcPresentationStyleAssignment(a[0]),
    2095639259: (a) => new IFC4.IfcProductRepresentation(a[0], a[1], a[2]),
    3958567839: (a) => new IFC4.IfcProfileDef(a[0], a[1]),
    3843373140: (a) => new IFC4.IfcProjectedCRS(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    986844984: (_) => new IFC4.IfcPropertyAbstraction(),
    3710013099: (a) => new IFC4.IfcPropertyEnumeration(a[0], a[1], a[2]),
    2044713172: (a) => new IFC4.IfcQuantityArea(a[0], a[1], a[2], a[3], a[4]),
    2093928680: (a) => new IFC4.IfcQuantityCount(a[0], a[1], a[2], a[3], a[4]),
    931644368: (a) => new IFC4.IfcQuantityLength(a[0], a[1], a[2], a[3], a[4]),
    3252649465: (a) => new IFC4.IfcQuantityTime(a[0], a[1], a[2], a[3], a[4]),
    2405470396: (a) => new IFC4.IfcQuantityVolume(a[0], a[1], a[2], a[3], a[4]),
    825690147: (a) => new IFC4.IfcQuantityWeight(a[0], a[1], a[2], a[3], a[4]),
    3915482550: (a) => new IFC4.IfcRecurrencePattern(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2433181523: (a) => new IFC4.IfcReference(a[0], a[1], a[2], a[3], a[4]),
    1076942058: (a) => new IFC4.IfcRepresentation(a[0], a[1], a[2], a[3]),
    3377609919: (a) => new IFC4.IfcRepresentationContext(a[0], a[1]),
    3008791417: (_) => new IFC4.IfcRepresentationItem(),
    1660063152: (a) => new IFC4.IfcRepresentationMap(a[0], a[1]),
    2439245199: (a) => new IFC4.IfcResourceLevelRelationship(a[0], a[1]),
    2341007311: (a) => new IFC4.IfcRoot(a[0], a[1], a[2], a[3]),
    448429030: (a) => new IFC4.IfcSIUnit(a[0], a[1], a[2]),
    1054537805: (a) => new IFC4.IfcSchedulingTime(a[0], a[1], a[2]),
    867548509: (a) => new IFC4.IfcShapeAspect(a[0], a[1], a[2], a[3], a[4]),
    3982875396: (a) => new IFC4.IfcShapeModel(a[0], a[1], a[2], a[3]),
    4240577450: (a) => new IFC4.IfcShapeRepresentation(a[0], a[1], a[2], a[3]),
    2273995522: (a) => new IFC4.IfcStructuralConnectionCondition(a[0]),
    2162789131: (a) => new IFC4.IfcStructuralLoad(a[0]),
    3478079324: (a) => new IFC4.IfcStructuralLoadConfiguration(a[0], a[1], a[2]),
    609421318: (a) => new IFC4.IfcStructuralLoadOrResult(a[0]),
    2525727697: (a) => new IFC4.IfcStructuralLoadStatic(a[0]),
    3408363356: (a) => new IFC4.IfcStructuralLoadTemperature(a[0], a[1], a[2], a[3]),
    2830218821: (a) => new IFC4.IfcStyleModel(a[0], a[1], a[2], a[3]),
    3958052878: (a) => new IFC4.IfcStyledItem(a[0], a[1], a[2]),
    3049322572: (a) => new IFC4.IfcStyledRepresentation(a[0], a[1], a[2], a[3]),
    2934153892: (a) => new IFC4.IfcSurfaceReinforcementArea(a[0], a[1], a[2], a[3]),
    1300840506: (a) => new IFC4.IfcSurfaceStyle(a[0], a[1], a[2]),
    3303107099: (a) => new IFC4.IfcSurfaceStyleLighting(a[0], a[1], a[2], a[3]),
    1607154358: (a) => new IFC4.IfcSurfaceStyleRefraction(a[0], a[1]),
    846575682: (a) => new IFC4.IfcSurfaceStyleShading(a[0], a[1]),
    1351298697: (a) => new IFC4.IfcSurfaceStyleWithTextures(a[0]),
    626085974: (a) => new IFC4.IfcSurfaceTexture(a[0], a[1], a[2], a[3], a[4]),
    985171141: (a) => new IFC4.IfcTable(a[0], a[1], a[2]),
    2043862942: (a) => new IFC4.IfcTableColumn(a[0], a[1], a[2], a[3], a[4]),
    531007025: (a) => new IFC4.IfcTableRow(a[0], a[1]),
    1549132990: (a) => new IFC4.IfcTaskTime(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17], a[18], a[19]),
    2771591690: (a) => new IFC4.IfcTaskTimeRecurring(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17], a[18], a[19], a[20]),
    912023232: (a) => new IFC4.IfcTelecomAddress(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1447204868: (a) => new IFC4.IfcTextStyle(a[0], a[1], a[2], a[3], a[4]),
    2636378356: (a) => new IFC4.IfcTextStyleForDefinedFont(a[0], a[1]),
    1640371178: (a) => new IFC4.IfcTextStyleTextModel(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    280115917: (a) => new IFC4.IfcTextureCoordinate(a[0]),
    1742049831: (a) => new IFC4.IfcTextureCoordinateGenerator(a[0], a[1], a[2]),
    2552916305: (a) => new IFC4.IfcTextureMap(a[0], a[1], a[2]),
    1210645708: (a) => new IFC4.IfcTextureVertex(a[0]),
    3611470254: (a) => new IFC4.IfcTextureVertexList(a[0]),
    1199560280: (a) => new IFC4.IfcTimePeriod(a[0], a[1]),
    3101149627: (a) => new IFC4.IfcTimeSeries(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    581633288: (a) => new IFC4.IfcTimeSeriesValue(a[0]),
    1377556343: (_) => new IFC4.IfcTopologicalRepresentationItem(),
    1735638870: (a) => new IFC4.IfcTopologyRepresentation(a[0], a[1], a[2], a[3]),
    180925521: (a) => new IFC4.IfcUnitAssignment(a[0]),
    2799835756: (_) => new IFC4.IfcVertex(),
    1907098498: (a) => new IFC4.IfcVertexPoint(a[0]),
    891718957: (a) => new IFC4.IfcVirtualGridIntersection(a[0], a[1]),
    1236880293: (a) => new IFC4.IfcWorkTime(a[0], a[1], a[2], a[3], a[4], a[5]),
    3869604511: (a) => new IFC4.IfcApprovalRelationship(a[0], a[1], a[2], a[3]),
    3798115385: (a) => new IFC4.IfcArbitraryClosedProfileDef(a[0], a[1], a[2]),
    1310608509: (a) => new IFC4.IfcArbitraryOpenProfileDef(a[0], a[1], a[2]),
    2705031697: (a) => new IFC4.IfcArbitraryProfileDefWithVoids(a[0], a[1], a[2], a[3]),
    616511568: (a) => new IFC4.IfcBlobTexture(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3150382593: (a) => new IFC4.IfcCenterLineProfileDef(a[0], a[1], a[2], a[3]),
    747523909: (a) => new IFC4.IfcClassification(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    647927063: (a) => new IFC4.IfcClassificationReference(a[0], a[1], a[2], a[3], a[4], a[5]),
    3285139300: (a) => new IFC4.IfcColourRgbList(a[0]),
    3264961684: (a) => new IFC4.IfcColourSpecification(a[0]),
    1485152156: (a) => new IFC4.IfcCompositeProfileDef(a[0], a[1], a[2], a[3]),
    370225590: (a) => new IFC4.IfcConnectedFaceSet(a[0]),
    1981873012: (a) => new IFC4.IfcConnectionCurveGeometry(a[0], a[1]),
    45288368: (a) => new IFC4.IfcConnectionPointEccentricity(a[0], a[1], a[2], a[3], a[4]),
    3050246964: (a) => new IFC4.IfcContextDependentUnit(a[0], a[1], a[2]),
    2889183280: (a) => new IFC4.IfcConversionBasedUnit(a[0], a[1], a[2], a[3]),
    2713554722: (a) => new IFC4.IfcConversionBasedUnitWithOffset(a[0], a[1], a[2], a[3], a[4]),
    539742890: (a) => new IFC4.IfcCurrencyRelationship(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3800577675: (a) => new IFC4.IfcCurveStyle(a[0], a[1], a[2], a[3], a[4]),
    1105321065: (a) => new IFC4.IfcCurveStyleFont(a[0], a[1]),
    2367409068: (a) => new IFC4.IfcCurveStyleFontAndScaling(a[0], a[1], a[2]),
    3510044353: (a) => new IFC4.IfcCurveStyleFontPattern(a[0], a[1]),
    3632507154: (a) => new IFC4.IfcDerivedProfileDef(a[0], a[1], a[2], a[3], a[4]),
    1154170062: (a) => new IFC4.IfcDocumentInformation(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16]),
    770865208: (a) => new IFC4.IfcDocumentInformationRelationship(a[0], a[1], a[2], a[3], a[4]),
    3732053477: (a) => new IFC4.IfcDocumentReference(a[0], a[1], a[2], a[3], a[4]),
    3900360178: (a) => new IFC4.IfcEdge(a[0], a[1]),
    476780140: (a) => new IFC4.IfcEdgeCurve(a[0], a[1], a[2], a[3]),
    211053100: (a) => new IFC4.IfcEventTime(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    297599258: (a) => new IFC4.IfcExtendedProperties(a[0], a[1], a[2]),
    1437805879: (a) => new IFC4.IfcExternalReferenceRelationship(a[0], a[1], a[2], a[3]),
    2556980723: (a) => new IFC4.IfcFace(a[0]),
    1809719519: (a) => new IFC4.IfcFaceBound(a[0], a[1]),
    803316827: (a) => new IFC4.IfcFaceOuterBound(a[0], a[1]),
    3008276851: (a) => new IFC4.IfcFaceSurface(a[0], a[1], a[2]),
    4219587988: (a) => new IFC4.IfcFailureConnectionCondition(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    738692330: (a) => new IFC4.IfcFillAreaStyle(a[0], a[1], a[2]),
    3448662350: (a) => new IFC4.IfcGeometricRepresentationContext(a[0], a[1], a[2], a[3], a[4], a[5]),
    2453401579: (_) => new IFC4.IfcGeometricRepresentationItem(),
    4142052618: (a) => new IFC4.IfcGeometricRepresentationSubContext(a[0], a[1], a[2], a[3], a[4], a[5]),
    3590301190: (a) => new IFC4.IfcGeometricSet(a[0]),
    178086475: (a) => new IFC4.IfcGridPlacement(a[0], a[1]),
    812098782: (a) => new IFC4.IfcHalfSpaceSolid(a[0], a[1]),
    3905492369: (a) => new IFC4.IfcImageTexture(a[0], a[1], a[2], a[3], a[4], a[5]),
    3570813810: (a) => new IFC4.IfcIndexedColourMap(a[0], a[1], a[2], a[3]),
    1437953363: (a) => new IFC4.IfcIndexedTextureMap(a[0], a[1], a[2]),
    2133299955: (a) => new IFC4.IfcIndexedTriangleTextureMap(a[0], a[1], a[2], a[3]),
    3741457305: (a) => new IFC4.IfcIrregularTimeSeries(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1585845231: (a) => new IFC4.IfcLagTime(a[0], a[1], a[2], a[3], a[4]),
    1402838566: (a) => new IFC4.IfcLightSource(a[0], a[1], a[2], a[3]),
    125510826: (a) => new IFC4.IfcLightSourceAmbient(a[0], a[1], a[2], a[3]),
    2604431987: (a) => new IFC4.IfcLightSourceDirectional(a[0], a[1], a[2], a[3], a[4]),
    4266656042: (a) => new IFC4.IfcLightSourceGoniometric(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1520743889: (a) => new IFC4.IfcLightSourcePositional(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3422422726: (a) => new IFC4.IfcLightSourceSpot(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    2624227202: (a) => new IFC4.IfcLocalPlacement(a[0], a[1]),
    1008929658: (_) => new IFC4.IfcLoop(),
    2347385850: (a) => new IFC4.IfcMappedItem(a[0], a[1]),
    1838606355: (a) => new IFC4.IfcMaterial(a[0], a[1], a[2]),
    3708119e3: (a) => new IFC4.IfcMaterialConstituent(a[0], a[1], a[2], a[3], a[4]),
    2852063980: (a) => new IFC4.IfcMaterialConstituentSet(a[0], a[1], a[2]),
    2022407955: (a) => new IFC4.IfcMaterialDefinitionRepresentation(a[0], a[1], a[2], a[3]),
    1303795690: (a) => new IFC4.IfcMaterialLayerSetUsage(a[0], a[1], a[2], a[3], a[4]),
    3079605661: (a) => new IFC4.IfcMaterialProfileSetUsage(a[0], a[1], a[2]),
    3404854881: (a) => new IFC4.IfcMaterialProfileSetUsageTapering(a[0], a[1], a[2], a[3], a[4]),
    3265635763: (a) => new IFC4.IfcMaterialProperties(a[0], a[1], a[2], a[3]),
    853536259: (a) => new IFC4.IfcMaterialRelationship(a[0], a[1], a[2], a[3], a[4]),
    2998442950: (a) => new IFC4.IfcMirroredProfileDef(a[0], a[1], a[2], a[3]),
    219451334: (a) => new IFC4.IfcObjectDefinition(a[0], a[1], a[2], a[3]),
    2665983363: (a) => new IFC4.IfcOpenShell(a[0]),
    1411181986: (a) => new IFC4.IfcOrganizationRelationship(a[0], a[1], a[2], a[3]),
    1029017970: (a) => new IFC4.IfcOrientedEdge(a[0], a[1]),
    2529465313: (a) => new IFC4.IfcParameterizedProfileDef(a[0], a[1], a[2]),
    2519244187: (a) => new IFC4.IfcPath(a[0]),
    3021840470: (a) => new IFC4.IfcPhysicalComplexQuantity(a[0], a[1], a[2], a[3], a[4], a[5]),
    597895409: (a) => new IFC4.IfcPixelTexture(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2004835150: (a) => new IFC4.IfcPlacement(a[0]),
    1663979128: (a) => new IFC4.IfcPlanarExtent(a[0], a[1]),
    2067069095: (_) => new IFC4.IfcPoint(),
    4022376103: (a) => new IFC4.IfcPointOnCurve(a[0], a[1]),
    1423911732: (a) => new IFC4.IfcPointOnSurface(a[0], a[1], a[2]),
    2924175390: (a) => new IFC4.IfcPolyLoop(a[0]),
    2775532180: (a) => new IFC4.IfcPolygonalBoundedHalfSpace(a[0], a[1], a[2], a[3]),
    3727388367: (a) => new IFC4.IfcPreDefinedItem(a[0]),
    3778827333: (_) => new IFC4.IfcPreDefinedProperties(),
    1775413392: (a) => new IFC4.IfcPreDefinedTextFont(a[0]),
    673634403: (a) => new IFC4.IfcProductDefinitionShape(a[0], a[1], a[2]),
    2802850158: (a) => new IFC4.IfcProfileProperties(a[0], a[1], a[2], a[3]),
    2598011224: (a) => new IFC4.IfcProperty(a[0], a[1]),
    1680319473: (a) => new IFC4.IfcPropertyDefinition(a[0], a[1], a[2], a[3]),
    148025276: (a) => new IFC4.IfcPropertyDependencyRelationship(a[0], a[1], a[2], a[3], a[4]),
    3357820518: (a) => new IFC4.IfcPropertySetDefinition(a[0], a[1], a[2], a[3]),
    1482703590: (a) => new IFC4.IfcPropertyTemplateDefinition(a[0], a[1], a[2], a[3]),
    2090586900: (a) => new IFC4.IfcQuantitySet(a[0], a[1], a[2], a[3]),
    3615266464: (a) => new IFC4.IfcRectangleProfileDef(a[0], a[1], a[2], a[3], a[4]),
    3413951693: (a) => new IFC4.IfcRegularTimeSeries(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1580146022: (a) => new IFC4.IfcReinforcementBarProperties(a[0], a[1], a[2], a[3], a[4], a[5]),
    478536968: (a) => new IFC4.IfcRelationship(a[0], a[1], a[2], a[3]),
    2943643501: (a) => new IFC4.IfcResourceApprovalRelationship(a[0], a[1], a[2], a[3]),
    1608871552: (a) => new IFC4.IfcResourceConstraintRelationship(a[0], a[1], a[2], a[3]),
    1042787934: (a) => new IFC4.IfcResourceTime(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17]),
    2778083089: (a) => new IFC4.IfcRoundedRectangleProfileDef(a[0], a[1], a[2], a[3], a[4], a[5]),
    2042790032: (a) => new IFC4.IfcSectionProperties(a[0], a[1], a[2]),
    4165799628: (a) => new IFC4.IfcSectionReinforcementProperties(a[0], a[1], a[2], a[3], a[4], a[5]),
    1509187699: (a) => new IFC4.IfcSectionedSpine(a[0], a[1], a[2]),
    4124623270: (a) => new IFC4.IfcShellBasedSurfaceModel(a[0]),
    3692461612: (a) => new IFC4.IfcSimpleProperty(a[0], a[1]),
    2609359061: (a) => new IFC4.IfcSlippageConnectionCondition(a[0], a[1], a[2], a[3]),
    723233188: (_) => new IFC4.IfcSolidModel(),
    1595516126: (a) => new IFC4.IfcStructuralLoadLinearForce(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    2668620305: (a) => new IFC4.IfcStructuralLoadPlanarForce(a[0], a[1], a[2], a[3]),
    2473145415: (a) => new IFC4.IfcStructuralLoadSingleDisplacement(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1973038258: (a) => new IFC4.IfcStructuralLoadSingleDisplacementDistortion(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1597423693: (a) => new IFC4.IfcStructuralLoadSingleForce(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1190533807: (a) => new IFC4.IfcStructuralLoadSingleForceWarping(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2233826070: (a) => new IFC4.IfcSubedge(a[0], a[1], a[2]),
    2513912981: (_) => new IFC4.IfcSurface(),
    1878645084: (a) => new IFC4.IfcSurfaceStyleRendering(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2247615214: (a) => new IFC4.IfcSweptAreaSolid(a[0], a[1]),
    1260650574: (a) => new IFC4.IfcSweptDiskSolid(a[0], a[1], a[2], a[3], a[4]),
    1096409881: (a) => new IFC4.IfcSweptDiskSolidPolygonal(a[0], a[1], a[2], a[3], a[4], a[5]),
    230924584: (a) => new IFC4.IfcSweptSurface(a[0], a[1]),
    3071757647: (a) => new IFC4.IfcTShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    901063453: (_) => new IFC4.IfcTessellatedItem(),
    4282788508: (a) => new IFC4.IfcTextLiteral(a[0], a[1], a[2]),
    3124975700: (a) => new IFC4.IfcTextLiteralWithExtent(a[0], a[1], a[2], a[3], a[4]),
    1983826977: (a) => new IFC4.IfcTextStyleFontModel(a[0], a[1], a[2], a[3], a[4], a[5]),
    2715220739: (a) => new IFC4.IfcTrapeziumProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1628702193: (a) => new IFC4.IfcTypeObject(a[0], a[1], a[2], a[3], a[4], a[5]),
    3736923433: (a) => new IFC4.IfcTypeProcess(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2347495698: (a) => new IFC4.IfcTypeProduct(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3698973494: (a) => new IFC4.IfcTypeResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    427810014: (a) => new IFC4.IfcUShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1417489154: (a) => new IFC4.IfcVector(a[0], a[1]),
    2759199220: (a) => new IFC4.IfcVertexLoop(a[0]),
    1299126871: (a) => new IFC4.IfcWindowStyle(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    2543172580: (a) => new IFC4.IfcZShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3406155212: (a) => new IFC4.IfcAdvancedFace(a[0], a[1], a[2]),
    669184980: (a) => new IFC4.IfcAnnotationFillArea(a[0], a[1]),
    3207858831: (a) => new IFC4.IfcAsymmetricIShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14]),
    4261334040: (a) => new IFC4.IfcAxis1Placement(a[0], a[1]),
    3125803723: (a) => new IFC4.IfcAxis2Placement2D(a[0], a[1]),
    2740243338: (a) => new IFC4.IfcAxis2Placement3D(a[0], a[1], a[2]),
    2736907675: (a) => new IFC4.IfcBooleanResult(a[0], a[1], a[2]),
    4182860854: (_) => new IFC4.IfcBoundedSurface(),
    2581212453: (a) => new IFC4.IfcBoundingBox(a[0], a[1], a[2], a[3]),
    2713105998: (a) => new IFC4.IfcBoxedHalfSpace(a[0], a[1], a[2]),
    2898889636: (a) => new IFC4.IfcCShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1123145078: (a) => new IFC4.IfcCartesianPoint(a[0]),
    574549367: (_) => new IFC4.IfcCartesianPointList(),
    1675464909: (a) => new IFC4.IfcCartesianPointList2D(a[0]),
    2059837836: (a) => new IFC4.IfcCartesianPointList3D(a[0]),
    59481748: (a) => new IFC4.IfcCartesianTransformationOperator(a[0], a[1], a[2], a[3]),
    3749851601: (a) => new IFC4.IfcCartesianTransformationOperator2D(a[0], a[1], a[2], a[3]),
    3486308946: (a) => new IFC4.IfcCartesianTransformationOperator2DnonUniform(a[0], a[1], a[2], a[3], a[4]),
    3331915920: (a) => new IFC4.IfcCartesianTransformationOperator3D(a[0], a[1], a[2], a[3], a[4]),
    1416205885: (a) => new IFC4.IfcCartesianTransformationOperator3DnonUniform(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1383045692: (a) => new IFC4.IfcCircleProfileDef(a[0], a[1], a[2], a[3]),
    2205249479: (a) => new IFC4.IfcClosedShell(a[0]),
    776857604: (a) => new IFC4.IfcColourRgb(a[0], a[1], a[2], a[3]),
    2542286263: (a) => new IFC4.IfcComplexProperty(a[0], a[1], a[2], a[3]),
    2485617015: (a) => new IFC4.IfcCompositeCurveSegment(a[0], a[1], a[2]),
    2574617495: (a) => new IFC4.IfcConstructionResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    3419103109: (a) => new IFC4.IfcContext(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1815067380: (a) => new IFC4.IfcCrewResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    2506170314: (a) => new IFC4.IfcCsgPrimitive3D(a[0]),
    2147822146: (a) => new IFC4.IfcCsgSolid(a[0]),
    2601014836: (_) => new IFC4.IfcCurve(),
    2827736869: (a) => new IFC4.IfcCurveBoundedPlane(a[0], a[1], a[2]),
    2629017746: (a) => new IFC4.IfcCurveBoundedSurface(a[0], a[1], a[2]),
    32440307: (a) => new IFC4.IfcDirection(a[0]),
    526551008: (a) => new IFC4.IfcDoorStyle(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    1472233963: (a) => new IFC4.IfcEdgeLoop(a[0]),
    1883228015: (a) => new IFC4.IfcElementQuantity(a[0], a[1], a[2], a[3], a[4], a[5]),
    339256511: (a) => new IFC4.IfcElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2777663545: (a) => new IFC4.IfcElementarySurface(a[0]),
    2835456948: (a) => new IFC4.IfcEllipseProfileDef(a[0], a[1], a[2], a[3], a[4]),
    4024345920: (a) => new IFC4.IfcEventType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    477187591: (a) => new IFC4.IfcExtrudedAreaSolid(a[0], a[1], a[2], a[3]),
    2804161546: (a) => new IFC4.IfcExtrudedAreaSolidTapered(a[0], a[1], a[2], a[3], a[4]),
    2047409740: (a) => new IFC4.IfcFaceBasedSurfaceModel(a[0]),
    374418227: (a) => new IFC4.IfcFillAreaStyleHatching(a[0], a[1], a[2], a[3], a[4]),
    315944413: (a) => new IFC4.IfcFillAreaStyleTiles(a[0], a[1], a[2]),
    2652556860: (a) => new IFC4.IfcFixedReferenceSweptAreaSolid(a[0], a[1], a[2], a[3], a[4], a[5]),
    4238390223: (a) => new IFC4.IfcFurnishingElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1268542332: (a) => new IFC4.IfcFurnitureType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    4095422895: (a) => new IFC4.IfcGeographicElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    987898635: (a) => new IFC4.IfcGeometricCurveSet(a[0]),
    1484403080: (a) => new IFC4.IfcIShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    178912537: (a) => new IFC4.IfcIndexedPolygonalFace(a[0]),
    2294589976: (a) => new IFC4.IfcIndexedPolygonalFaceWithVoids(a[0], a[1]),
    572779678: (a) => new IFC4.IfcLShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    428585644: (a) => new IFC4.IfcLaborResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    1281925730: (a) => new IFC4.IfcLine(a[0], a[1]),
    1425443689: (a) => new IFC4.IfcManifoldSolidBrep(a[0]),
    3888040117: (a) => new IFC4.IfcObject(a[0], a[1], a[2], a[3], a[4]),
    3388369263: (a) => new IFC4.IfcOffsetCurve2D(a[0], a[1], a[2]),
    3505215534: (a) => new IFC4.IfcOffsetCurve3D(a[0], a[1], a[2], a[3]),
    1682466193: (a) => new IFC4.IfcPcurve(a[0], a[1]),
    603570806: (a) => new IFC4.IfcPlanarBox(a[0], a[1], a[2]),
    220341763: (a) => new IFC4.IfcPlane(a[0]),
    759155922: (a) => new IFC4.IfcPreDefinedColour(a[0]),
    2559016684: (a) => new IFC4.IfcPreDefinedCurveFont(a[0]),
    3967405729: (a) => new IFC4.IfcPreDefinedPropertySet(a[0], a[1], a[2], a[3]),
    569719735: (a) => new IFC4.IfcProcedureType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2945172077: (a) => new IFC4.IfcProcess(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    4208778838: (a) => new IFC4.IfcProduct(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    103090709: (a) => new IFC4.IfcProject(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    653396225: (a) => new IFC4.IfcProjectLibrary(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    871118103: (a) => new IFC4.IfcPropertyBoundedValue(a[0], a[1], a[2], a[3], a[4], a[5]),
    4166981789: (a) => new IFC4.IfcPropertyEnumeratedValue(a[0], a[1], a[2], a[3]),
    2752243245: (a) => new IFC4.IfcPropertyListValue(a[0], a[1], a[2], a[3]),
    941946838: (a) => new IFC4.IfcPropertyReferenceValue(a[0], a[1], a[2], a[3]),
    1451395588: (a) => new IFC4.IfcPropertySet(a[0], a[1], a[2], a[3], a[4]),
    492091185: (a) => new IFC4.IfcPropertySetTemplate(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3650150729: (a) => new IFC4.IfcPropertySingleValue(a[0], a[1], a[2], a[3]),
    110355661: (a) => new IFC4.IfcPropertyTableValue(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3521284610: (a) => new IFC4.IfcPropertyTemplate(a[0], a[1], a[2], a[3]),
    3219374653: (a) => new IFC4.IfcProxy(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2770003689: (a) => new IFC4.IfcRectangleHollowProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2798486643: (a) => new IFC4.IfcRectangularPyramid(a[0], a[1], a[2], a[3]),
    3454111270: (a) => new IFC4.IfcRectangularTrimmedSurface(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3765753017: (a) => new IFC4.IfcReinforcementDefinitionProperties(a[0], a[1], a[2], a[3], a[4], a[5]),
    3939117080: (a) => new IFC4.IfcRelAssigns(a[0], a[1], a[2], a[3], a[4], a[5]),
    1683148259: (a) => new IFC4.IfcRelAssignsToActor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2495723537: (a) => new IFC4.IfcRelAssignsToControl(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1307041759: (a) => new IFC4.IfcRelAssignsToGroup(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1027710054: (a) => new IFC4.IfcRelAssignsToGroupByFactor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    4278684876: (a) => new IFC4.IfcRelAssignsToProcess(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2857406711: (a) => new IFC4.IfcRelAssignsToProduct(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    205026976: (a) => new IFC4.IfcRelAssignsToResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1865459582: (a) => new IFC4.IfcRelAssociates(a[0], a[1], a[2], a[3], a[4]),
    4095574036: (a) => new IFC4.IfcRelAssociatesApproval(a[0], a[1], a[2], a[3], a[4], a[5]),
    919958153: (a) => new IFC4.IfcRelAssociatesClassification(a[0], a[1], a[2], a[3], a[4], a[5]),
    2728634034: (a) => new IFC4.IfcRelAssociatesConstraint(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    982818633: (a) => new IFC4.IfcRelAssociatesDocument(a[0], a[1], a[2], a[3], a[4], a[5]),
    3840914261: (a) => new IFC4.IfcRelAssociatesLibrary(a[0], a[1], a[2], a[3], a[4], a[5]),
    2655215786: (a) => new IFC4.IfcRelAssociatesMaterial(a[0], a[1], a[2], a[3], a[4], a[5]),
    826625072: (a) => new IFC4.IfcRelConnects(a[0], a[1], a[2], a[3]),
    1204542856: (a) => new IFC4.IfcRelConnectsElements(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3945020480: (a) => new IFC4.IfcRelConnectsPathElements(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    4201705270: (a) => new IFC4.IfcRelConnectsPortToElement(a[0], a[1], a[2], a[3], a[4], a[5]),
    3190031847: (a) => new IFC4.IfcRelConnectsPorts(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    2127690289: (a) => new IFC4.IfcRelConnectsStructuralActivity(a[0], a[1], a[2], a[3], a[4], a[5]),
    1638771189: (a) => new IFC4.IfcRelConnectsStructuralMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    504942748: (a) => new IFC4.IfcRelConnectsWithEccentricity(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    3678494232: (a) => new IFC4.IfcRelConnectsWithRealizingElements(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3242617779: (a) => new IFC4.IfcRelContainedInSpatialStructure(a[0], a[1], a[2], a[3], a[4], a[5]),
    886880790: (a) => new IFC4.IfcRelCoversBldgElements(a[0], a[1], a[2], a[3], a[4], a[5]),
    2802773753: (a) => new IFC4.IfcRelCoversSpaces(a[0], a[1], a[2], a[3], a[4], a[5]),
    2565941209: (a) => new IFC4.IfcRelDeclares(a[0], a[1], a[2], a[3], a[4], a[5]),
    2551354335: (a) => new IFC4.IfcRelDecomposes(a[0], a[1], a[2], a[3]),
    693640335: (a) => new IFC4.IfcRelDefines(a[0], a[1], a[2], a[3]),
    1462361463: (a) => new IFC4.IfcRelDefinesByObject(a[0], a[1], a[2], a[3], a[4], a[5]),
    4186316022: (a) => new IFC4.IfcRelDefinesByProperties(a[0], a[1], a[2], a[3], a[4], a[5]),
    307848117: (a) => new IFC4.IfcRelDefinesByTemplate(a[0], a[1], a[2], a[3], a[4], a[5]),
    781010003: (a) => new IFC4.IfcRelDefinesByType(a[0], a[1], a[2], a[3], a[4], a[5]),
    3940055652: (a) => new IFC4.IfcRelFillsElement(a[0], a[1], a[2], a[3], a[4], a[5]),
    279856033: (a) => new IFC4.IfcRelFlowControlElements(a[0], a[1], a[2], a[3], a[4], a[5]),
    427948657: (a) => new IFC4.IfcRelInterferesElements(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3268803585: (a) => new IFC4.IfcRelNests(a[0], a[1], a[2], a[3], a[4], a[5]),
    750771296: (a) => new IFC4.IfcRelProjectsElement(a[0], a[1], a[2], a[3], a[4], a[5]),
    1245217292: (a) => new IFC4.IfcRelReferencedInSpatialStructure(a[0], a[1], a[2], a[3], a[4], a[5]),
    4122056220: (a) => new IFC4.IfcRelSequence(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    366585022: (a) => new IFC4.IfcRelServicesBuildings(a[0], a[1], a[2], a[3], a[4], a[5]),
    3451746338: (a) => new IFC4.IfcRelSpaceBoundary(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3523091289: (a) => new IFC4.IfcRelSpaceBoundary1stLevel(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1521410863: (a) => new IFC4.IfcRelSpaceBoundary2ndLevel(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    1401173127: (a) => new IFC4.IfcRelVoidsElement(a[0], a[1], a[2], a[3], a[4], a[5]),
    816062949: (a) => new IFC4.IfcReparametrisedCompositeCurveSegment(a[0], a[1], a[2], a[3]),
    2914609552: (a) => new IFC4.IfcResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1856042241: (a) => new IFC4.IfcRevolvedAreaSolid(a[0], a[1], a[2], a[3]),
    3243963512: (a) => new IFC4.IfcRevolvedAreaSolidTapered(a[0], a[1], a[2], a[3], a[4]),
    4158566097: (a) => new IFC4.IfcRightCircularCone(a[0], a[1], a[2]),
    3626867408: (a) => new IFC4.IfcRightCircularCylinder(a[0], a[1], a[2]),
    3663146110: (a) => new IFC4.IfcSimplePropertyTemplate(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    1412071761: (a) => new IFC4.IfcSpatialElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    710998568: (a) => new IFC4.IfcSpatialElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2706606064: (a) => new IFC4.IfcSpatialStructureElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3893378262: (a) => new IFC4.IfcSpatialStructureElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    463610769: (a) => new IFC4.IfcSpatialZone(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2481509218: (a) => new IFC4.IfcSpatialZoneType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    451544542: (a) => new IFC4.IfcSphere(a[0], a[1]),
    4015995234: (a) => new IFC4.IfcSphericalSurface(a[0], a[1]),
    3544373492: (a) => new IFC4.IfcStructuralActivity(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3136571912: (a) => new IFC4.IfcStructuralItem(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    530289379: (a) => new IFC4.IfcStructuralMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3689010777: (a) => new IFC4.IfcStructuralReaction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3979015343: (a) => new IFC4.IfcStructuralSurfaceMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2218152070: (a) => new IFC4.IfcStructuralSurfaceMemberVarying(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    603775116: (a) => new IFC4.IfcStructuralSurfaceReaction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4095615324: (a) => new IFC4.IfcSubContractResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    699246055: (a) => new IFC4.IfcSurfaceCurve(a[0], a[1], a[2]),
    2028607225: (a) => new IFC4.IfcSurfaceCurveSweptAreaSolid(a[0], a[1], a[2], a[3], a[4], a[5]),
    2809605785: (a) => new IFC4.IfcSurfaceOfLinearExtrusion(a[0], a[1], a[2], a[3]),
    4124788165: (a) => new IFC4.IfcSurfaceOfRevolution(a[0], a[1], a[2]),
    1580310250: (a) => new IFC4.IfcSystemFurnitureElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3473067441: (a) => new IFC4.IfcTask(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    3206491090: (a) => new IFC4.IfcTaskType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    2387106220: (a) => new IFC4.IfcTessellatedFaceSet(a[0]),
    1935646853: (a) => new IFC4.IfcToroidalSurface(a[0], a[1], a[2]),
    2097647324: (a) => new IFC4.IfcTransportElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2916149573: (a) => new IFC4.IfcTriangulatedFaceSet(a[0], a[1], a[2], a[3], a[4]),
    336235671: (a) => new IFC4.IfcWindowLiningProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15]),
    512836454: (a) => new IFC4.IfcWindowPanelProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2296667514: (a) => new IFC4.IfcActor(a[0], a[1], a[2], a[3], a[4], a[5]),
    1635779807: (a) => new IFC4.IfcAdvancedBrep(a[0]),
    2603310189: (a) => new IFC4.IfcAdvancedBrepWithVoids(a[0], a[1]),
    1674181508: (a) => new IFC4.IfcAnnotation(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    2887950389: (a) => new IFC4.IfcBSplineSurface(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    167062518: (a) => new IFC4.IfcBSplineSurfaceWithKnots(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    1334484129: (a) => new IFC4.IfcBlock(a[0], a[1], a[2], a[3]),
    3649129432: (a) => new IFC4.IfcBooleanClippingResult(a[0], a[1], a[2]),
    1260505505: (_) => new IFC4.IfcBoundedCurve(),
    4031249490: (a) => new IFC4.IfcBuilding(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    1950629157: (a) => new IFC4.IfcBuildingElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3124254112: (a) => new IFC4.IfcBuildingStorey(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2197970202: (a) => new IFC4.IfcChimneyType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2937912522: (a) => new IFC4.IfcCircleHollowProfileDef(a[0], a[1], a[2], a[3], a[4]),
    3893394355: (a) => new IFC4.IfcCivilElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    300633059: (a) => new IFC4.IfcColumnType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3875453745: (a) => new IFC4.IfcComplexPropertyTemplate(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3732776249: (a) => new IFC4.IfcCompositeCurve(a[0], a[1]),
    15328376: (a) => new IFC4.IfcCompositeCurveOnSurface(a[0], a[1]),
    2510884976: (a) => new IFC4.IfcConic(a[0]),
    2185764099: (a) => new IFC4.IfcConstructionEquipmentResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    4105962743: (a) => new IFC4.IfcConstructionMaterialResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    1525564444: (a) => new IFC4.IfcConstructionProductResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    2559216714: (a) => new IFC4.IfcConstructionResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3293443760: (a) => new IFC4.IfcControl(a[0], a[1], a[2], a[3], a[4], a[5]),
    3895139033: (a) => new IFC4.IfcCostItem(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1419761937: (a) => new IFC4.IfcCostSchedule(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1916426348: (a) => new IFC4.IfcCoveringType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3295246426: (a) => new IFC4.IfcCrewResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    1457835157: (a) => new IFC4.IfcCurtainWallType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1213902940: (a) => new IFC4.IfcCylindricalSurface(a[0], a[1]),
    3256556792: (a) => new IFC4.IfcDistributionElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3849074793: (a) => new IFC4.IfcDistributionFlowElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2963535650: (a) => new IFC4.IfcDoorLiningProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16]),
    1714330368: (a) => new IFC4.IfcDoorPanelProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2323601079: (a) => new IFC4.IfcDoorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    445594917: (a) => new IFC4.IfcDraughtingPreDefinedColour(a[0]),
    4006246654: (a) => new IFC4.IfcDraughtingPreDefinedCurveFont(a[0]),
    1758889154: (a) => new IFC4.IfcElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    4123344466: (a) => new IFC4.IfcElementAssembly(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2397081782: (a) => new IFC4.IfcElementAssemblyType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1623761950: (a) => new IFC4.IfcElementComponent(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2590856083: (a) => new IFC4.IfcElementComponentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1704287377: (a) => new IFC4.IfcEllipse(a[0], a[1], a[2]),
    2107101300: (a) => new IFC4.IfcEnergyConversionDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    132023988: (a) => new IFC4.IfcEngineType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3174744832: (a) => new IFC4.IfcEvaporativeCoolerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3390157468: (a) => new IFC4.IfcEvaporatorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4148101412: (a) => new IFC4.IfcEvent(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    2853485674: (a) => new IFC4.IfcExternalSpatialStructureElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    807026263: (a) => new IFC4.IfcFacetedBrep(a[0]),
    3737207727: (a) => new IFC4.IfcFacetedBrepWithVoids(a[0], a[1]),
    647756555: (a) => new IFC4.IfcFastener(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2489546625: (a) => new IFC4.IfcFastenerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2827207264: (a) => new IFC4.IfcFeatureElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2143335405: (a) => new IFC4.IfcFeatureElementAddition(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1287392070: (a) => new IFC4.IfcFeatureElementSubtraction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3907093117: (a) => new IFC4.IfcFlowControllerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3198132628: (a) => new IFC4.IfcFlowFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3815607619: (a) => new IFC4.IfcFlowMeterType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1482959167: (a) => new IFC4.IfcFlowMovingDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1834744321: (a) => new IFC4.IfcFlowSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1339347760: (a) => new IFC4.IfcFlowStorageDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2297155007: (a) => new IFC4.IfcFlowTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3009222698: (a) => new IFC4.IfcFlowTreatmentDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1893162501: (a) => new IFC4.IfcFootingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    263784265: (a) => new IFC4.IfcFurnishingElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1509553395: (a) => new IFC4.IfcFurniture(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3493046030: (a) => new IFC4.IfcGeographicElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3009204131: (a) => new IFC4.IfcGrid(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    2706460486: (a) => new IFC4.IfcGroup(a[0], a[1], a[2], a[3], a[4]),
    1251058090: (a) => new IFC4.IfcHeatExchangerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1806887404: (a) => new IFC4.IfcHumidifierType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2571569899: (a) => new IFC4.IfcIndexedPolyCurve(a[0], a[1], a[2]),
    3946677679: (a) => new IFC4.IfcInterceptorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3113134337: (a) => new IFC4.IfcIntersectionCurve(a[0], a[1], a[2]),
    2391368822: (a) => new IFC4.IfcInventory(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    4288270099: (a) => new IFC4.IfcJunctionBoxType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3827777499: (a) => new IFC4.IfcLaborResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    1051575348: (a) => new IFC4.IfcLampType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1161773419: (a) => new IFC4.IfcLightFixtureType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    377706215: (a) => new IFC4.IfcMechanicalFastener(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    2108223431: (a) => new IFC4.IfcMechanicalFastenerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    1114901282: (a) => new IFC4.IfcMedicalDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3181161470: (a) => new IFC4.IfcMemberType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    977012517: (a) => new IFC4.IfcMotorConnectionType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4143007308: (a) => new IFC4.IfcOccupant(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3588315303: (a) => new IFC4.IfcOpeningElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3079942009: (a) => new IFC4.IfcOpeningStandardCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2837617999: (a) => new IFC4.IfcOutletType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2382730787: (a) => new IFC4.IfcPerformanceHistory(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3566463478: (a) => new IFC4.IfcPermeableCoveringProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3327091369: (a) => new IFC4.IfcPermit(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1158309216: (a) => new IFC4.IfcPileType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    804291784: (a) => new IFC4.IfcPipeFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4231323485: (a) => new IFC4.IfcPipeSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4017108033: (a) => new IFC4.IfcPlateType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2839578677: (a) => new IFC4.IfcPolygonalFaceSet(a[0], a[1], a[2], a[3]),
    3724593414: (a) => new IFC4.IfcPolyline(a[0]),
    3740093272: (a) => new IFC4.IfcPort(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    2744685151: (a) => new IFC4.IfcProcedure(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2904328755: (a) => new IFC4.IfcProjectOrder(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3651124850: (a) => new IFC4.IfcProjectionElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1842657554: (a) => new IFC4.IfcProtectiveDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2250791053: (a) => new IFC4.IfcPumpType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2893384427: (a) => new IFC4.IfcRailingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2324767716: (a) => new IFC4.IfcRampFlightType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1469900589: (a) => new IFC4.IfcRampType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    683857671: (a) => new IFC4.IfcRationalBSplineSurfaceWithKnots(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    3027567501: (a) => new IFC4.IfcReinforcingElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    964333572: (a) => new IFC4.IfcReinforcingElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2320036040: (a) => new IFC4.IfcReinforcingMesh(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17]),
    2310774935: (a) => new IFC4.IfcReinforcingMeshType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17], a[18], a[19]),
    160246688: (a) => new IFC4.IfcRelAggregates(a[0], a[1], a[2], a[3], a[4], a[5]),
    2781568857: (a) => new IFC4.IfcRoofType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1768891740: (a) => new IFC4.IfcSanitaryTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2157484638: (a) => new IFC4.IfcSeamCurve(a[0], a[1], a[2]),
    4074543187: (a) => new IFC4.IfcShadingDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4097777520: (a) => new IFC4.IfcSite(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]),
    2533589738: (a) => new IFC4.IfcSlabType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1072016465: (a) => new IFC4.IfcSolarDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3856911033: (a) => new IFC4.IfcSpace(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    1305183839: (a) => new IFC4.IfcSpaceHeaterType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3812236995: (a) => new IFC4.IfcSpaceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    3112655638: (a) => new IFC4.IfcStackTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1039846685: (a) => new IFC4.IfcStairFlightType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    338393293: (a) => new IFC4.IfcStairType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    682877961: (a) => new IFC4.IfcStructuralAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1179482911: (a) => new IFC4.IfcStructuralConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1004757350: (a) => new IFC4.IfcStructuralCurveAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    4243806635: (a) => new IFC4.IfcStructuralCurveConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    214636428: (a) => new IFC4.IfcStructuralCurveMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2445595289: (a) => new IFC4.IfcStructuralCurveMemberVarying(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2757150158: (a) => new IFC4.IfcStructuralCurveReaction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1807405624: (a) => new IFC4.IfcStructuralLinearAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    1252848954: (a) => new IFC4.IfcStructuralLoadGroup(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2082059205: (a) => new IFC4.IfcStructuralPointAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    734778138: (a) => new IFC4.IfcStructuralPointConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1235345126: (a) => new IFC4.IfcStructuralPointReaction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2986769608: (a) => new IFC4.IfcStructuralResultGroup(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3657597509: (a) => new IFC4.IfcStructuralSurfaceAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    1975003073: (a) => new IFC4.IfcStructuralSurfaceConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    148013059: (a) => new IFC4.IfcSubContractResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    3101698114: (a) => new IFC4.IfcSurfaceFeature(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2315554128: (a) => new IFC4.IfcSwitchingDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2254336722: (a) => new IFC4.IfcSystem(a[0], a[1], a[2], a[3], a[4]),
    413509423: (a) => new IFC4.IfcSystemFurnitureElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    5716631: (a) => new IFC4.IfcTankType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3824725483: (a) => new IFC4.IfcTendon(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16]),
    2347447852: (a) => new IFC4.IfcTendonAnchor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3081323446: (a) => new IFC4.IfcTendonAnchorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2415094496: (a) => new IFC4.IfcTendonType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    1692211062: (a) => new IFC4.IfcTransformerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1620046519: (a) => new IFC4.IfcTransportElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3593883385: (a) => new IFC4.IfcTrimmedCurve(a[0], a[1], a[2], a[3], a[4]),
    1600972822: (a) => new IFC4.IfcTubeBundleType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1911125066: (a) => new IFC4.IfcUnitaryEquipmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    728799441: (a) => new IFC4.IfcValveType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2391383451: (a) => new IFC4.IfcVibrationIsolator(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3313531582: (a) => new IFC4.IfcVibrationIsolatorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2769231204: (a) => new IFC4.IfcVirtualElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    926996030: (a) => new IFC4.IfcVoidingFeature(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1898987631: (a) => new IFC4.IfcWallType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1133259667: (a) => new IFC4.IfcWasteTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4009809668: (a) => new IFC4.IfcWindowType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    4088093105: (a) => new IFC4.IfcWorkCalendar(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1028945134: (a) => new IFC4.IfcWorkControl(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    4218914973: (a) => new IFC4.IfcWorkPlan(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]),
    3342526732: (a) => new IFC4.IfcWorkSchedule(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]),
    1033361043: (a) => new IFC4.IfcZone(a[0], a[1], a[2], a[3], a[4], a[5]),
    3821786052: (a) => new IFC4.IfcActionRequest(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1411407467: (a) => new IFC4.IfcAirTerminalBoxType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3352864051: (a) => new IFC4.IfcAirTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1871374353: (a) => new IFC4.IfcAirToAirHeatRecoveryType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3460190687: (a) => new IFC4.IfcAsset(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]),
    1532957894: (a) => new IFC4.IfcAudioVisualApplianceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1967976161: (a) => new IFC4.IfcBSplineCurve(a[0], a[1], a[2], a[3], a[4]),
    2461110595: (a) => new IFC4.IfcBSplineCurveWithKnots(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    819618141: (a) => new IFC4.IfcBeamType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    231477066: (a) => new IFC4.IfcBoilerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1136057603: (a) => new IFC4.IfcBoundaryCurve(a[0], a[1]),
    3299480353: (a) => new IFC4.IfcBuildingElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2979338954: (a) => new IFC4.IfcBuildingElementPart(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    39481116: (a) => new IFC4.IfcBuildingElementPartType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1095909175: (a) => new IFC4.IfcBuildingElementProxy(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1909888760: (a) => new IFC4.IfcBuildingElementProxyType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1177604601: (a) => new IFC4.IfcBuildingSystem(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    2188180465: (a) => new IFC4.IfcBurnerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    395041908: (a) => new IFC4.IfcCableCarrierFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3293546465: (a) => new IFC4.IfcCableCarrierSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2674252688: (a) => new IFC4.IfcCableFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1285652485: (a) => new IFC4.IfcCableSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2951183804: (a) => new IFC4.IfcChillerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3296154744: (a) => new IFC4.IfcChimney(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2611217952: (a) => new IFC4.IfcCircle(a[0], a[1]),
    1677625105: (a) => new IFC4.IfcCivilElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2301859152: (a) => new IFC4.IfcCoilType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    843113511: (a) => new IFC4.IfcColumn(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    905975707: (a) => new IFC4.IfcColumnStandardCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    400855858: (a) => new IFC4.IfcCommunicationsApplianceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3850581409: (a) => new IFC4.IfcCompressorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2816379211: (a) => new IFC4.IfcCondenserType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3898045240: (a) => new IFC4.IfcConstructionEquipmentResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    1060000209: (a) => new IFC4.IfcConstructionMaterialResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    488727124: (a) => new IFC4.IfcConstructionProductResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    335055490: (a) => new IFC4.IfcCooledBeamType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2954562838: (a) => new IFC4.IfcCoolingTowerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1973544240: (a) => new IFC4.IfcCovering(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3495092785: (a) => new IFC4.IfcCurtainWall(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3961806047: (a) => new IFC4.IfcDamperType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1335981549: (a) => new IFC4.IfcDiscreteAccessory(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2635815018: (a) => new IFC4.IfcDiscreteAccessoryType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1599208980: (a) => new IFC4.IfcDistributionChamberElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2063403501: (a) => new IFC4.IfcDistributionControlElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1945004755: (a) => new IFC4.IfcDistributionElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3040386961: (a) => new IFC4.IfcDistributionFlowElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3041715199: (a) => new IFC4.IfcDistributionPort(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3205830791: (a) => new IFC4.IfcDistributionSystem(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    395920057: (a) => new IFC4.IfcDoor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    3242481149: (a) => new IFC4.IfcDoorStandardCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    869906466: (a) => new IFC4.IfcDuctFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3760055223: (a) => new IFC4.IfcDuctSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2030761528: (a) => new IFC4.IfcDuctSilencerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    663422040: (a) => new IFC4.IfcElectricApplianceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2417008758: (a) => new IFC4.IfcElectricDistributionBoardType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3277789161: (a) => new IFC4.IfcElectricFlowStorageDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1534661035: (a) => new IFC4.IfcElectricGeneratorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1217240411: (a) => new IFC4.IfcElectricMotorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    712377611: (a) => new IFC4.IfcElectricTimeControlType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1658829314: (a) => new IFC4.IfcEnergyConversionDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2814081492: (a) => new IFC4.IfcEngine(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3747195512: (a) => new IFC4.IfcEvaporativeCooler(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    484807127: (a) => new IFC4.IfcEvaporator(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1209101575: (a) => new IFC4.IfcExternalSpatialElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    346874300: (a) => new IFC4.IfcFanType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1810631287: (a) => new IFC4.IfcFilterType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4222183408: (a) => new IFC4.IfcFireSuppressionTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2058353004: (a) => new IFC4.IfcFlowController(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    4278956645: (a) => new IFC4.IfcFlowFitting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    4037862832: (a) => new IFC4.IfcFlowInstrumentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2188021234: (a) => new IFC4.IfcFlowMeter(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3132237377: (a) => new IFC4.IfcFlowMovingDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    987401354: (a) => new IFC4.IfcFlowSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    707683696: (a) => new IFC4.IfcFlowStorageDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2223149337: (a) => new IFC4.IfcFlowTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3508470533: (a) => new IFC4.IfcFlowTreatmentDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    900683007: (a) => new IFC4.IfcFooting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3319311131: (a) => new IFC4.IfcHeatExchanger(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2068733104: (a) => new IFC4.IfcHumidifier(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4175244083: (a) => new IFC4.IfcInterceptor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2176052936: (a) => new IFC4.IfcJunctionBox(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    76236018: (a) => new IFC4.IfcLamp(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    629592764: (a) => new IFC4.IfcLightFixture(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1437502449: (a) => new IFC4.IfcMedicalDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1073191201: (a) => new IFC4.IfcMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1911478936: (a) => new IFC4.IfcMemberStandardCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2474470126: (a) => new IFC4.IfcMotorConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    144952367: (a) => new IFC4.IfcOuterBoundaryCurve(a[0], a[1]),
    3694346114: (a) => new IFC4.IfcOutlet(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1687234759: (a) => new IFC4.IfcPile(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    310824031: (a) => new IFC4.IfcPipeFitting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3612865200: (a) => new IFC4.IfcPipeSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3171933400: (a) => new IFC4.IfcPlate(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1156407060: (a) => new IFC4.IfcPlateStandardCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    738039164: (a) => new IFC4.IfcProtectiveDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    655969474: (a) => new IFC4.IfcProtectiveDeviceTrippingUnitType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    90941305: (a) => new IFC4.IfcPump(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2262370178: (a) => new IFC4.IfcRailing(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3024970846: (a) => new IFC4.IfcRamp(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3283111854: (a) => new IFC4.IfcRampFlight(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1232101972: (a) => new IFC4.IfcRationalBSplineCurveWithKnots(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    979691226: (a) => new IFC4.IfcReinforcingBar(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]),
    2572171363: (a) => new IFC4.IfcReinforcingBarType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15]),
    2016517767: (a) => new IFC4.IfcRoof(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3053780830: (a) => new IFC4.IfcSanitaryTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1783015770: (a) => new IFC4.IfcSensorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1329646415: (a) => new IFC4.IfcShadingDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1529196076: (a) => new IFC4.IfcSlab(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3127900445: (a) => new IFC4.IfcSlabElementedCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3027962421: (a) => new IFC4.IfcSlabStandardCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3420628829: (a) => new IFC4.IfcSolarDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1999602285: (a) => new IFC4.IfcSpaceHeater(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1404847402: (a) => new IFC4.IfcStackTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    331165859: (a) => new IFC4.IfcStair(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4252922144: (a) => new IFC4.IfcStairFlight(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    2515109513: (a) => new IFC4.IfcStructuralAnalysisModel(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    385403989: (a) => new IFC4.IfcStructuralLoadCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    1621171031: (a) => new IFC4.IfcStructuralPlanarAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    1162798199: (a) => new IFC4.IfcSwitchingDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    812556717: (a) => new IFC4.IfcTank(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3825984169: (a) => new IFC4.IfcTransformer(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3026737570: (a) => new IFC4.IfcTubeBundle(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3179687236: (a) => new IFC4.IfcUnitaryControlElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4292641817: (a) => new IFC4.IfcUnitaryEquipment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4207607924: (a) => new IFC4.IfcValve(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2391406946: (a) => new IFC4.IfcWall(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4156078855: (a) => new IFC4.IfcWallElementedCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3512223829: (a) => new IFC4.IfcWallStandardCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4237592921: (a) => new IFC4.IfcWasteTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3304561284: (a) => new IFC4.IfcWindow(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    486154966: (a) => new IFC4.IfcWindowStandardCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    2874132201: (a) => new IFC4.IfcActuatorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1634111441: (a) => new IFC4.IfcAirTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    177149247: (a) => new IFC4.IfcAirTerminalBox(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2056796094: (a) => new IFC4.IfcAirToAirHeatRecovery(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3001207471: (a) => new IFC4.IfcAlarmType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    277319702: (a) => new IFC4.IfcAudioVisualAppliance(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    753842376: (a) => new IFC4.IfcBeam(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2906023776: (a) => new IFC4.IfcBeamStandardCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    32344328: (a) => new IFC4.IfcBoiler(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2938176219: (a) => new IFC4.IfcBurner(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    635142910: (a) => new IFC4.IfcCableCarrierFitting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3758799889: (a) => new IFC4.IfcCableCarrierSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1051757585: (a) => new IFC4.IfcCableFitting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4217484030: (a) => new IFC4.IfcCableSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3902619387: (a) => new IFC4.IfcChiller(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    639361253: (a) => new IFC4.IfcCoil(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3221913625: (a) => new IFC4.IfcCommunicationsAppliance(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3571504051: (a) => new IFC4.IfcCompressor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2272882330: (a) => new IFC4.IfcCondenser(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    578613899: (a) => new IFC4.IfcControllerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4136498852: (a) => new IFC4.IfcCooledBeam(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3640358203: (a) => new IFC4.IfcCoolingTower(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4074379575: (a) => new IFC4.IfcDamper(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1052013943: (a) => new IFC4.IfcDistributionChamberElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    562808652: (a) => new IFC4.IfcDistributionCircuit(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1062813311: (a) => new IFC4.IfcDistributionControlElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    342316401: (a) => new IFC4.IfcDuctFitting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3518393246: (a) => new IFC4.IfcDuctSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1360408905: (a) => new IFC4.IfcDuctSilencer(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1904799276: (a) => new IFC4.IfcElectricAppliance(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    862014818: (a) => new IFC4.IfcElectricDistributionBoard(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3310460725: (a) => new IFC4.IfcElectricFlowStorageDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    264262732: (a) => new IFC4.IfcElectricGenerator(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    402227799: (a) => new IFC4.IfcElectricMotor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1003880860: (a) => new IFC4.IfcElectricTimeControl(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3415622556: (a) => new IFC4.IfcFan(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    819412036: (a) => new IFC4.IfcFilter(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1426591983: (a) => new IFC4.IfcFireSuppressionTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    182646315: (a) => new IFC4.IfcFlowInstrument(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2295281155: (a) => new IFC4.IfcProtectiveDeviceTrippingUnit(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4086658281: (a) => new IFC4.IfcSensor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    630975310: (a) => new IFC4.IfcUnitaryControlElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4288193352: (a) => new IFC4.IfcActuator(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3087945054: (a) => new IFC4.IfcAlarm(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    25142252: (a) => new IFC4.IfcController(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8])
  };
  ToRawLineData[2] = {
    3630933823: (i) => [i.Role, i.UserDefinedRole, i.Description],
    618182010: (i) => [i.Purpose, i.Description, i.UserDefinedPurpose],
    639542469: (i) => [i.ApplicationDeveloper, i.Version, i.ApplicationFullName, i.ApplicationIdentifier],
    411424972: (i) => [i.Name, i.Description, Labelise(i.AppliedValue), i.UnitBasis, i.ApplicableDate, i.FixedUntilDate, i.Category, i.Condition, i.ArithmeticOperator, i.Components],
    130549933: (i) => [i.Identifier, i.Name, i.Description, i.TimeOfApproval, i.Status, i.Level, i.Qualifier, Labelise(i.RequestingApproval), Labelise(i.GivingApproval)],
    4037036970: (i) => [i.Name],
    1560379544: (i) => [i.Name, (i.TranslationalStiffnessByLengthX ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessByLengthX), (i.TranslationalStiffnessByLengthY ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessByLengthY), (i.TranslationalStiffnessByLengthZ ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessByLengthZ), (i.RotationalStiffnessByLengthX ?? void 0) === void 0 ? null : Labelise(i.RotationalStiffnessByLengthX), (i.RotationalStiffnessByLengthY ?? void 0) === void 0 ? null : Labelise(i.RotationalStiffnessByLengthY), (i.RotationalStiffnessByLengthZ ?? void 0) === void 0 ? null : Labelise(i.RotationalStiffnessByLengthZ)],
    3367102660: (i) => [i.Name, (i.TranslationalStiffnessByAreaX ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessByAreaX), (i.TranslationalStiffnessByAreaY ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessByAreaY), (i.TranslationalStiffnessByAreaZ ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessByAreaZ)],
    1387855156: (i) => [i.Name, (i.TranslationalStiffnessX ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessX), (i.TranslationalStiffnessY ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessY), (i.TranslationalStiffnessZ ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessZ), (i.RotationalStiffnessX ?? void 0) === void 0 ? null : Labelise(i.RotationalStiffnessX), (i.RotationalStiffnessY ?? void 0) === void 0 ? null : Labelise(i.RotationalStiffnessY), (i.RotationalStiffnessZ ?? void 0) === void 0 ? null : Labelise(i.RotationalStiffnessZ)],
    2069777674: (i) => [i.Name, (i.TranslationalStiffnessX ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessX), (i.TranslationalStiffnessY ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessY), (i.TranslationalStiffnessZ ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessZ), (i.RotationalStiffnessX ?? void 0) === void 0 ? null : Labelise(i.RotationalStiffnessX), (i.RotationalStiffnessY ?? void 0) === void 0 ? null : Labelise(i.RotationalStiffnessY), (i.RotationalStiffnessZ ?? void 0) === void 0 ? null : Labelise(i.RotationalStiffnessZ), (i.WarpingStiffness ?? void 0) === void 0 ? null : Labelise(i.WarpingStiffness)],
    2859738748: (_) => [],
    2614616156: (i) => [Labelise(i.PointOnRelatingElement), Labelise(i.PointOnRelatedElement)],
    2732653382: (i) => [Labelise(i.SurfaceOnRelatingElement), Labelise(i.SurfaceOnRelatedElement)],
    775493141: (i) => [Labelise(i.VolumeOnRelatingElement), Labelise(i.VolumeOnRelatedElement)],
    1959218052: (i) => [i.Name, i.Description, i.ConstraintGrade, i.ConstraintSource, Labelise(i.CreatingActor), i.CreationTime, i.UserDefinedGrade],
    1785450214: (i) => [Labelise(i.SourceCRS), i.TargetCRS],
    1466758467: (i) => [i.Name, i.Description, i.GeodeticDatum, i.VerticalDatum],
    602808272: (i) => [i.Name, i.Description, Labelise(i.AppliedValue), i.UnitBasis, i.ApplicableDate, i.FixedUntilDate, i.Category, i.Condition, i.ArithmeticOperator, i.Components],
    1765591967: (i) => [i.Elements, i.UnitType, i.UserDefinedType],
    1045800335: (i) => [i.Unit, i.Exponent],
    2949456006: (i) => [i.LengthExponent, i.MassExponent, i.TimeExponent, i.ElectricCurrentExponent, i.ThermodynamicTemperatureExponent, i.AmountOfSubstanceExponent, i.LuminousIntensityExponent],
    4294318154: (_) => [],
    3200245327: (i) => [i.Location, i.Identification, i.Name],
    2242383968: (i) => [i.Location, i.Identification, i.Name],
    1040185647: (i) => [i.Location, i.Identification, i.Name],
    3548104201: (i) => [i.Location, i.Identification, i.Name],
    852622518: (i) => [i.AxisTag, i.AxisCurve, { type: 3, value: i.SameSense.value }],
    3020489413: (i) => [i.TimeStamp, i.ListValues.map((p) => Labelise(p))],
    2655187982: (i) => [i.Name, i.Version, Labelise(i.Publisher), i.VersionDate, i.Location, i.Description],
    3452421091: (i) => [i.Location, i.Identification, i.Name, i.Description, i.Language, i.ReferencedLibrary],
    4162380809: (i) => [i.MainPlaneAngle, i.SecondaryPlaneAngle, i.LuminousIntensity],
    1566485204: (i) => [i.LightDistributionCurve, i.DistributionData],
    3057273783: (i) => [Labelise(i.SourceCRS), i.TargetCRS, i.Eastings, i.Northings, i.OrthogonalHeight, i.XAxisAbscissa, i.XAxisOrdinate, i.Scale],
    1847130766: (i) => [Labelise(i.MaterialClassifications), i.ClassifiedMaterial],
    760658860: (_) => [],
    248100487: (i) => [i.Material, i.LayerThickness, i.IsVentilated == null ? null : { type: 3, value: i.IsVentilated.value }, i.Name, i.Description, i.Category, i.Priority],
    3303938423: (i) => [i.MaterialLayers, i.LayerSetName, i.Description],
    1847252529: (i) => [i.Material, i.LayerThickness, i.IsVentilated == null ? null : { type: 3, value: i.IsVentilated.value }, i.Name, i.Description, i.Category, i.Priority, i.OffsetDirection, i.OffsetValues],
    2199411900: (i) => [i.Materials],
    2235152071: (i) => [i.Name, i.Description, i.Material, i.Profile, i.Priority, i.Category],
    164193824: (i) => [i.Name, i.Description, i.MaterialProfiles, i.CompositeProfile],
    552965576: (i) => [i.Name, i.Description, i.Material, i.Profile, i.Priority, i.Category, i.OffsetValues],
    1507914824: (_) => [],
    2597039031: (i) => [Labelise(i.ValueComponent), Labelise(i.UnitComponent)],
    3368373690: (i) => [i.Name, i.Description, i.ConstraintGrade, i.ConstraintSource, Labelise(i.CreatingActor), i.CreationTime, i.UserDefinedGrade, i.Benchmark, i.ValueSource, Labelise(i.DataValue), i.ReferencePath],
    2706619895: (i) => [i.Currency],
    1918398963: (i) => [i.Dimensions, i.UnitType],
    3701648758: (_) => [],
    2251480897: (i) => [i.Name, i.Description, i.ConstraintGrade, i.ConstraintSource, Labelise(i.CreatingActor), i.CreationTime, i.UserDefinedGrade, i.BenchmarkValues, i.LogicalAggregator, i.ObjectiveQualifier, i.UserDefinedQualifier],
    4251960020: (i) => [i.Identification, i.Name, i.Description, i.Roles, i.Addresses],
    1207048766: (i) => [i.OwningUser, i.OwningApplication, i.State, i.ChangeAction, i.LastModifiedDate, i.LastModifyingUser, i.LastModifyingApplication, i.CreationDate],
    2077209135: (i) => [i.Identification, i.FamilyName, i.GivenName, i.MiddleNames, i.PrefixTitles, i.SuffixTitles, i.Roles, i.Addresses],
    101040310: (i) => [i.ThePerson, i.TheOrganization, i.Roles],
    2483315170: (i) => [i.Name, i.Description],
    2226359599: (i) => [i.Name, i.Description, i.Unit],
    3355820592: (i) => [i.Purpose, i.Description, i.UserDefinedPurpose, i.InternalLocation, i.AddressLines, i.PostalBox, i.Town, i.Region, i.PostalCode, i.Country],
    677532197: (_) => [],
    2022622350: (i) => [i.Name, i.Description, Labelise(i.AssignedItems), i.Identifier],
    1304840413: (i) => [i.Name, i.Description, Labelise(i.AssignedItems), i.Identifier, { type: 3, value: i.LayerOn.value }, { type: 3, value: i.LayerFrozen.value }, { type: 3, value: i.LayerBlocked.value }, i.LayerStyles],
    3119450353: (i) => [i.Name],
    2417041796: (i) => [Labelise(i.Styles)],
    2095639259: (i) => [i.Name, i.Description, i.Representations],
    3958567839: (i) => [i.ProfileType, i.ProfileName],
    3843373140: (i) => [i.Name, i.Description, i.GeodeticDatum, i.VerticalDatum, i.MapProjection, i.MapZone, i.MapUnit],
    986844984: (_) => [],
    3710013099: (i) => [i.Name, i.EnumerationValues.map((p) => Labelise(p)), Labelise(i.Unit)],
    2044713172: (i) => [i.Name, i.Description, i.Unit, i.AreaValue, i.Formula],
    2093928680: (i) => [i.Name, i.Description, i.Unit, i.CountValue, i.Formula],
    931644368: (i) => [i.Name, i.Description, i.Unit, i.LengthValue, i.Formula],
    3252649465: (i) => [i.Name, i.Description, i.Unit, i.TimeValue, i.Formula],
    2405470396: (i) => [i.Name, i.Description, i.Unit, i.VolumeValue, i.Formula],
    825690147: (i) => [i.Name, i.Description, i.Unit, i.WeightValue, i.Formula],
    3915482550: (i) => [i.RecurrenceType, i.DayComponent, i.WeekdayComponent, i.MonthComponent, i.Position, i.Interval, i.Occurrences, i.TimePeriods],
    2433181523: (i) => [i.TypeIdentifier, i.AttributeIdentifier, i.InstanceName, i.ListPositions, i.InnerReference],
    1076942058: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items],
    3377609919: (i) => [i.ContextIdentifier, i.ContextType],
    3008791417: (_) => [],
    1660063152: (i) => [Labelise(i.MappingOrigin), i.MappedRepresentation],
    2439245199: (i) => [i.Name, i.Description],
    2341007311: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    448429030: (i) => [void 0, i.UnitType, i.Prefix, i.Name],
    1054537805: (i) => [i.Name, i.DataOrigin, i.UserDefinedDataOrigin],
    867548509: (i) => [i.ShapeRepresentations, i.Name, i.Description, { type: 3, value: i.ProductDefinitional.value }, Labelise(i.PartOfProductDefinitionShape)],
    3982875396: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items],
    4240577450: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items],
    2273995522: (i) => [i.Name],
    2162789131: (i) => [i.Name],
    3478079324: (i) => [i.Name, i.Values, i.Locations],
    609421318: (i) => [i.Name],
    2525727697: (i) => [i.Name],
    3408363356: (i) => [i.Name, i.DeltaTConstant, i.DeltaTY, i.DeltaTZ],
    2830218821: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items],
    3958052878: (i) => [i.Item, Labelise(i.Styles), i.Name],
    3049322572: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items],
    2934153892: (i) => [i.Name, i.SurfaceReinforcement1, i.SurfaceReinforcement2, i.ShearReinforcement],
    1300840506: (i) => [i.Name, i.Side, Labelise(i.Styles)],
    3303107099: (i) => [i.DiffuseTransmissionColour, i.DiffuseReflectionColour, i.TransmissionColour, i.ReflectanceColour],
    1607154358: (i) => [i.RefractionIndex, i.DispersionFactor],
    846575682: (i) => [i.SurfaceColour, i.Transparency],
    1351298697: (i) => [i.Textures],
    626085974: (i) => [{ type: 3, value: i.RepeatS.value }, { type: 3, value: i.RepeatT.value }, i.Mode, i.TextureTransform, i.Parameter],
    985171141: (i) => [i.Name, i.Rows, i.Columns],
    2043862942: (i) => [i.Identifier, i.Name, i.Description, Labelise(i.Unit), i.ReferencePath],
    531007025: (i) => [(i.RowCells ?? void 0) === void 0 ? null : i.RowCells.map((p) => Labelise(p)), i.IsHeading == null ? null : { type: 3, value: i.IsHeading.value }],
    1549132990: (i) => [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, i.DurationType, i.ScheduleDuration, i.ScheduleStart, i.ScheduleFinish, i.EarlyStart, i.EarlyFinish, i.LateStart, i.LateFinish, i.FreeFloat, i.TotalFloat, i.IsCritical == null ? null : { type: 3, value: i.IsCritical.value }, i.StatusTime, i.ActualDuration, i.ActualStart, i.ActualFinish, i.RemainingTime, i.Completion],
    2771591690: (i) => [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, i.DurationType, i.ScheduleDuration, i.ScheduleStart, i.ScheduleFinish, i.EarlyStart, i.EarlyFinish, i.LateStart, i.LateFinish, i.FreeFloat, i.TotalFloat, i.IsCritical == null ? null : { type: 3, value: i.IsCritical.value }, i.StatusTime, i.ActualDuration, i.ActualStart, i.ActualFinish, i.RemainingTime, i.Completion, i.Recurrence],
    912023232: (i) => [i.Purpose, i.Description, i.UserDefinedPurpose, i.TelephoneNumbers, i.FacsimileNumbers, i.PagerNumber, i.ElectronicMailAddresses, i.WWWHomePageURL, i.MessagingIDs],
    1447204868: (i) => [i.Name, i.TextCharacterAppearance, i.TextStyle, Labelise(i.TextFontStyle), i.ModelOrDraughting == null ? null : { type: 3, value: i.ModelOrDraughting.value }],
    2636378356: (i) => [Labelise(i.Colour), Labelise(i.BackgroundColour)],
    1640371178: (i) => [(i.TextIndent ?? void 0) === void 0 ? null : Labelise(i.TextIndent), i.TextAlign, i.TextDecoration, (i.LetterSpacing ?? void 0) === void 0 ? null : Labelise(i.LetterSpacing), (i.WordSpacing ?? void 0) === void 0 ? null : Labelise(i.WordSpacing), i.TextTransform, (i.LineHeight ?? void 0) === void 0 ? null : Labelise(i.LineHeight)],
    280115917: (i) => [i.Maps],
    1742049831: (i) => [i.Maps, i.Mode, i.Parameter],
    2552916305: (i) => [i.Maps, i.Vertices, i.MappedTo],
    1210645708: (i) => [i.Coordinates],
    3611470254: (i) => [i.TexCoordsList],
    1199560280: (i) => [i.StartTime, i.EndTime],
    3101149627: (i) => [i.Name, i.Description, i.StartTime, i.EndTime, i.TimeSeriesDataType, i.DataOrigin, i.UserDefinedDataOrigin, Labelise(i.Unit)],
    581633288: (i) => [i.ListValues.map((p) => Labelise(p))],
    1377556343: (_) => [],
    1735638870: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items],
    180925521: (i) => [Labelise(i.Units)],
    2799835756: (_) => [],
    1907098498: (i) => [i.VertexGeometry],
    891718957: (i) => [i.IntersectingAxes, i.OffsetDistances],
    1236880293: (i) => [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, i.RecurrencePattern, i.Start, i.Finish],
    3869604511: (i) => [i.Name, i.Description, i.RelatingApproval, i.RelatedApprovals],
    3798115385: (i) => [i.ProfileType, i.ProfileName, i.OuterCurve],
    1310608509: (i) => [i.ProfileType, i.ProfileName, i.Curve],
    2705031697: (i) => [i.ProfileType, i.ProfileName, i.OuterCurve, i.InnerCurves],
    616511568: (i) => [{ type: 3, value: i.RepeatS.value }, { type: 3, value: i.RepeatT.value }, i.Mode, i.TextureTransform, i.Parameter, i.RasterFormat, i.RasterCode],
    3150382593: (i) => [i.ProfileType, i.ProfileName, i.Curve, i.Thickness],
    747523909: (i) => [i.Source, i.Edition, i.EditionDate, i.Name, i.Description, i.Location, i.ReferenceTokens],
    647927063: (i) => [i.Location, i.Identification, i.Name, Labelise(i.ReferencedSource), i.Description, i.Sort],
    3285139300: (i) => [i.ColourList],
    3264961684: (i) => [i.Name],
    1485152156: (i) => [i.ProfileType, i.ProfileName, i.Profiles, i.Label],
    370225590: (i) => [i.CfsFaces],
    1981873012: (i) => [Labelise(i.CurveOnRelatingElement), Labelise(i.CurveOnRelatedElement)],
    45288368: (i) => [Labelise(i.PointOnRelatingElement), Labelise(i.PointOnRelatedElement), i.EccentricityInX, i.EccentricityInY, i.EccentricityInZ],
    3050246964: (i) => [i.Dimensions, i.UnitType, i.Name],
    2889183280: (i) => [i.Dimensions, i.UnitType, i.Name, i.ConversionFactor],
    2713554722: (i) => [i.Dimensions, i.UnitType, i.Name, i.ConversionFactor, i.ConversionOffset],
    539742890: (i) => [i.Name, i.Description, i.RelatingMonetaryUnit, i.RelatedMonetaryUnit, i.ExchangeRate, i.RateDateTime, i.RateSource],
    3800577675: (i) => [i.Name, Labelise(i.CurveFont), (i.CurveWidth ?? void 0) === void 0 ? null : Labelise(i.CurveWidth), Labelise(i.CurveColour), i.ModelOrDraughting == null ? null : { type: 3, value: i.ModelOrDraughting.value }],
    1105321065: (i) => [i.Name, i.PatternList],
    2367409068: (i) => [i.Name, Labelise(i.CurveFont), i.CurveFontScaling],
    3510044353: (i) => [i.VisibleSegmentLength, i.InvisibleSegmentLength],
    3632507154: (i) => [i.ProfileType, i.ProfileName, i.ParentProfile, i.Operator, i.Label],
    1154170062: (i) => [i.Identification, i.Name, i.Description, i.Location, i.Purpose, i.IntendedUse, i.Scope, i.Revision, Labelise(i.DocumentOwner), Labelise(i.Editors), i.CreationTime, i.LastRevisionTime, i.ElectronicFormat, i.ValidFrom, i.ValidUntil, i.Confidentiality, i.Status],
    770865208: (i) => [i.Name, i.Description, i.RelatingDocument, i.RelatedDocuments, i.RelationshipType],
    3732053477: (i) => [i.Location, i.Identification, i.Name, i.Description, i.ReferencedDocument],
    3900360178: (i) => [i.EdgeStart, i.EdgeEnd],
    476780140: (i) => [i.EdgeStart, i.EdgeEnd, i.EdgeGeometry, { type: 3, value: i.SameSense.value }],
    211053100: (i) => [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, i.ActualDate, i.EarlyDate, i.LateDate, i.ScheduleDate],
    297599258: (i) => [i.Name, i.Description, i.Properties],
    1437805879: (i) => [i.Name, i.Description, i.RelatingReference, Labelise(i.RelatedResourceObjects)],
    2556980723: (i) => [i.Bounds],
    1809719519: (i) => [i.Bound, { type: 3, value: i.Orientation.value }],
    803316827: (i) => [i.Bound, { type: 3, value: i.Orientation.value }],
    3008276851: (i) => [i.Bounds, i.FaceSurface, { type: 3, value: i.SameSense.value }],
    4219587988: (i) => [i.Name, i.TensionFailureX, i.TensionFailureY, i.TensionFailureZ, i.CompressionFailureX, i.CompressionFailureY, i.CompressionFailureZ],
    738692330: (i) => [i.Name, Labelise(i.FillStyles), i.ModelorDraughting == null ? null : { type: 3, value: i.ModelorDraughting.value }],
    3448662350: (i) => [i.ContextIdentifier, i.ContextType, i.CoordinateSpaceDimension, i.Precision, Labelise(i.WorldCoordinateSystem), i.TrueNorth],
    2453401579: (_) => [],
    4142052618: (i) => [i.ContextIdentifier, i.ContextType, void 0, void 0, void 0, void 0, i.ParentContext, i.TargetScale, i.TargetView, i.UserDefinedTargetView],
    3590301190: (i) => [Labelise(i.Elements)],
    178086475: (i) => [i.PlacementLocation, Labelise(i.PlacementRefDirection)],
    812098782: (i) => [i.BaseSurface, { type: 3, value: i.AgreementFlag.value }],
    3905492369: (i) => [{ type: 3, value: i.RepeatS.value }, { type: 3, value: i.RepeatT.value }, i.Mode, i.TextureTransform, i.Parameter, i.URLReference],
    3570813810: (i) => [i.MappedTo, i.Opacity, i.Colours, i.ColourIndex],
    1437953363: (i) => [i.Maps, i.MappedTo, i.TexCoords],
    2133299955: (i) => [i.Maps, i.MappedTo, i.TexCoords, i.TexCoordIndex],
    3741457305: (i) => [i.Name, i.Description, i.StartTime, i.EndTime, i.TimeSeriesDataType, i.DataOrigin, i.UserDefinedDataOrigin, Labelise(i.Unit), i.Values],
    1585845231: (i) => [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, Labelise(i.LagValue), i.DurationType],
    1402838566: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity],
    125510826: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity],
    2604431987: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Orientation],
    4266656042: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Position, i.ColourAppearance, i.ColourTemperature, i.LuminousFlux, i.LightEmissionSource, Labelise(i.LightDistributionDataSource)],
    1520743889: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Position, i.Radius, i.ConstantAttenuation, i.DistanceAttenuation, i.QuadricAttenuation],
    3422422726: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Position, i.Radius, i.ConstantAttenuation, i.DistanceAttenuation, i.QuadricAttenuation, i.Orientation, i.ConcentrationExponent, i.SpreadAngle, i.BeamWidthAngle],
    2624227202: (i) => [i.PlacementRelTo, Labelise(i.RelativePlacement)],
    1008929658: (_) => [],
    2347385850: (i) => [i.MappingSource, i.MappingTarget],
    1838606355: (i) => [i.Name, i.Description, i.Category],
    3708119e3: (i) => [i.Name, i.Description, i.Material, i.Fraction, i.Category],
    2852063980: (i) => [i.Name, i.Description, i.MaterialConstituents],
    2022407955: (i) => [i.Name, i.Description, i.Representations, i.RepresentedMaterial],
    1303795690: (i) => [i.ForLayerSet, i.LayerSetDirection, i.DirectionSense, i.OffsetFromReferenceLine, i.ReferenceExtent],
    3079605661: (i) => [i.ForProfileSet, i.CardinalPoint, i.ReferenceExtent],
    3404854881: (i) => [i.ForProfileSet, i.CardinalPoint, i.ReferenceExtent, i.ForProfileEndSet, i.CardinalEndPoint],
    3265635763: (i) => [i.Name, i.Description, i.Properties, i.Material],
    853536259: (i) => [i.Name, i.Description, i.RelatingMaterial, i.RelatedMaterials, i.Expression],
    2998442950: (i) => [i.ProfileType, i.ProfileName, i.ParentProfile, void 0, i.Label],
    219451334: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    2665983363: (i) => [i.CfsFaces],
    1411181986: (i) => [i.Name, i.Description, i.RelatingOrganization, i.RelatedOrganizations],
    1029017970: (i) => [void 0, void 0, i.EdgeElement, { type: 3, value: i.Orientation.value }],
    2529465313: (i) => [i.ProfileType, i.ProfileName, i.Position],
    2519244187: (i) => [i.EdgeList],
    3021840470: (i) => [i.Name, i.Description, i.HasQuantities, i.Discrimination, i.Quality, i.Usage],
    597895409: (i) => [{ type: 3, value: i.RepeatS.value }, { type: 3, value: i.RepeatT.value }, i.Mode, i.TextureTransform, i.Parameter, i.Width, i.Height, i.ColourComponents, i.Pixel],
    2004835150: (i) => [i.Location],
    1663979128: (i) => [i.SizeInX, i.SizeInY],
    2067069095: (_) => [],
    4022376103: (i) => [i.BasisCurve, i.PointParameter],
    1423911732: (i) => [i.BasisSurface, i.PointParameterU, i.PointParameterV],
    2924175390: (i) => [i.Polygon],
    2775532180: (i) => [i.BaseSurface, { type: 3, value: i.AgreementFlag.value }, i.Position, i.PolygonalBoundary],
    3727388367: (i) => [i.Name],
    3778827333: (_) => [],
    1775413392: (i) => [i.Name],
    673634403: (i) => [i.Name, i.Description, i.Representations],
    2802850158: (i) => [i.Name, i.Description, i.Properties, i.ProfileDefinition],
    2598011224: (i) => [i.Name, i.Description],
    1680319473: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    148025276: (i) => [i.Name, i.Description, i.DependingProperty, i.DependantProperty, i.Expression],
    3357820518: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    1482703590: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    2090586900: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    3615266464: (i) => [i.ProfileType, i.ProfileName, i.Position, i.XDim, i.YDim],
    3413951693: (i) => [i.Name, i.Description, i.StartTime, i.EndTime, i.TimeSeriesDataType, i.DataOrigin, i.UserDefinedDataOrigin, Labelise(i.Unit), i.TimeStep, i.Values],
    1580146022: (i) => [i.TotalCrossSectionArea, i.SteelGrade, i.BarSurface, i.EffectiveDepth, i.NominalBarDiameter, i.BarCount],
    478536968: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    2943643501: (i) => [i.Name, i.Description, Labelise(i.RelatedResourceObjects), i.RelatingApproval],
    1608871552: (i) => [i.Name, i.Description, i.RelatingConstraint, Labelise(i.RelatedResourceObjects)],
    1042787934: (i) => [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, i.ScheduleWork, i.ScheduleUsage, i.ScheduleStart, i.ScheduleFinish, i.ScheduleContour, i.LevelingDelay, i.IsOverAllocated == null ? null : { type: 3, value: i.IsOverAllocated.value }, i.StatusTime, i.ActualWork, i.ActualUsage, i.ActualStart, i.ActualFinish, i.RemainingWork, i.RemainingUsage, i.Completion],
    2778083089: (i) => [i.ProfileType, i.ProfileName, i.Position, i.XDim, i.YDim, i.RoundingRadius],
    2042790032: (i) => [i.SectionType, i.StartProfile, i.EndProfile],
    4165799628: (i) => [i.LongitudinalStartPosition, i.LongitudinalEndPosition, i.TransversePosition, i.ReinforcementRole, i.SectionDefinition, i.CrossSectionReinforcementDefinitions],
    1509187699: (i) => [i.SpineCurve, i.CrossSections, i.CrossSectionPositions],
    4124623270: (i) => [Labelise(i.SbsmBoundary)],
    3692461612: (i) => [i.Name, i.Description],
    2609359061: (i) => [i.Name, i.SlippageX, i.SlippageY, i.SlippageZ],
    723233188: (_) => [],
    1595516126: (i) => [i.Name, i.LinearForceX, i.LinearForceY, i.LinearForceZ, i.LinearMomentX, i.LinearMomentY, i.LinearMomentZ],
    2668620305: (i) => [i.Name, i.PlanarForceX, i.PlanarForceY, i.PlanarForceZ],
    2473145415: (i) => [i.Name, i.DisplacementX, i.DisplacementY, i.DisplacementZ, i.RotationalDisplacementRX, i.RotationalDisplacementRY, i.RotationalDisplacementRZ],
    1973038258: (i) => [i.Name, i.DisplacementX, i.DisplacementY, i.DisplacementZ, i.RotationalDisplacementRX, i.RotationalDisplacementRY, i.RotationalDisplacementRZ, i.Distortion],
    1597423693: (i) => [i.Name, i.ForceX, i.ForceY, i.ForceZ, i.MomentX, i.MomentY, i.MomentZ],
    1190533807: (i) => [i.Name, i.ForceX, i.ForceY, i.ForceZ, i.MomentX, i.MomentY, i.MomentZ, i.WarpingMoment],
    2233826070: (i) => [i.EdgeStart, i.EdgeEnd, i.ParentEdge],
    2513912981: (_) => [],
    1878645084: (i) => [i.SurfaceColour, i.Transparency, Labelise(i.DiffuseColour), Labelise(i.TransmissionColour), Labelise(i.DiffuseTransmissionColour), Labelise(i.ReflectionColour), Labelise(i.SpecularColour), (i.SpecularHighlight ?? void 0) === void 0 ? null : Labelise(i.SpecularHighlight), i.ReflectanceMethod],
    2247615214: (i) => [i.SweptArea, i.Position],
    1260650574: (i) => [i.Directrix, i.Radius, i.InnerRadius, i.StartParam, i.EndParam],
    1096409881: (i) => [i.Directrix, i.Radius, i.InnerRadius, i.StartParam, i.EndParam, i.FilletRadius],
    230924584: (i) => [i.SweptCurve, i.Position],
    3071757647: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.FlangeWidth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.FlangeEdgeRadius, i.WebEdgeRadius, i.WebSlope, i.FlangeSlope],
    901063453: (_) => [],
    4282788508: (i) => [i.Literal, Labelise(i.Placement), i.Path],
    3124975700: (i) => [i.Literal, Labelise(i.Placement), i.Path, i.Extent, i.BoxAlignment],
    1983826977: (i) => [i.Name, i.FontFamily, i.FontStyle, i.FontVariant, i.FontWeight, Labelise(i.FontSize)],
    2715220739: (i) => [i.ProfileType, i.ProfileName, i.Position, i.BottomXDim, i.TopXDim, i.YDim, i.TopXOffset],
    1628702193: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets],
    3736923433: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ProcessType],
    2347495698: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag],
    3698973494: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType],
    427810014: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.FlangeWidth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.EdgeRadius, i.FlangeSlope],
    1417489154: (i) => [i.Orientation, i.Magnitude],
    2759199220: (i) => [i.LoopVertex],
    1299126871: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ConstructionType, i.OperationType, { type: 3, value: i.ParameterTakesPrecedence.value }, { type: 3, value: i.Sizeable.value }],
    2543172580: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.FlangeWidth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.EdgeRadius],
    3406155212: (i) => [i.Bounds, i.FaceSurface, { type: 3, value: i.SameSense.value }],
    669184980: (i) => [i.OuterBoundary, i.InnerBoundaries],
    3207858831: (i) => [i.ProfileType, i.ProfileName, i.Position, i.BottomFlangeWidth, i.OverallDepth, i.WebThickness, i.BottomFlangeThickness, i.BottomFlangeFilletRadius, i.TopFlangeWidth, i.TopFlangeThickness, i.TopFlangeFilletRadius, i.BottomFlangeEdgeRadius, i.BottomFlangeSlope, i.TopFlangeEdgeRadius, i.TopFlangeSlope],
    4261334040: (i) => [i.Location, i.Axis],
    3125803723: (i) => [i.Location, i.RefDirection],
    2740243338: (i) => [i.Location, i.Axis, i.RefDirection],
    2736907675: (i) => [i.Operator, Labelise(i.FirstOperand), Labelise(i.SecondOperand)],
    4182860854: (_) => [],
    2581212453: (i) => [i.Corner, i.XDim, i.YDim, i.ZDim],
    2713105998: (i) => [i.BaseSurface, { type: 3, value: i.AgreementFlag.value }, i.Enclosure],
    2898889636: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.Width, i.WallThickness, i.Girth, i.InternalFilletRadius],
    1123145078: (i) => [i.Coordinates],
    574549367: (_) => [],
    1675464909: (i) => [i.CoordList],
    2059837836: (i) => [i.CoordList],
    59481748: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale],
    3749851601: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale],
    3486308946: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale, i.Scale2],
    3331915920: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale, i.Axis3],
    1416205885: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale, i.Axis3, i.Scale2, i.Scale3],
    1383045692: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Radius],
    2205249479: (i) => [i.CfsFaces],
    776857604: (i) => [i.Name, i.Red, i.Green, i.Blue],
    2542286263: (i) => [i.Name, i.Description, i.UsageName, i.HasProperties],
    2485617015: (i) => [i.Transition, { type: 3, value: i.SameSense.value }, i.ParentCurve],
    2574617495: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity],
    3419103109: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName, i.Phase, i.RepresentationContexts, i.UnitsInContext],
    1815067380: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    2506170314: (i) => [i.Position],
    2147822146: (i) => [Labelise(i.TreeRootExpression)],
    2601014836: (_) => [],
    2827736869: (i) => [i.BasisSurface, i.OuterBoundary, i.InnerBoundaries],
    2629017746: (i) => [i.BasisSurface, i.Boundaries, { type: 3, value: i.ImplicitOuter.value }],
    32440307: (i) => [i.DirectionRatios],
    526551008: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.OperationType, i.ConstructionType, { type: 3, value: i.ParameterTakesPrecedence.value }, { type: 3, value: i.Sizeable.value }],
    1472233963: (i) => [i.EdgeList],
    1883228015: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.MethodOfMeasurement, i.Quantities],
    339256511: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    2777663545: (i) => [i.Position],
    2835456948: (i) => [i.ProfileType, i.ProfileName, i.Position, i.SemiAxis1, i.SemiAxis2],
    4024345920: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ProcessType, i.PredefinedType, i.EventTriggerType, i.UserDefinedEventTriggerType],
    477187591: (i) => [i.SweptArea, i.Position, i.ExtrudedDirection, i.Depth],
    2804161546: (i) => [i.SweptArea, i.Position, i.ExtrudedDirection, i.Depth, i.EndSweptArea],
    2047409740: (i) => [i.FbsmFaces],
    374418227: (i) => [i.HatchLineAppearance, Labelise(i.StartOfNextHatchLine), i.PointOfReferenceHatchLine, i.PatternStart, i.HatchLineAngle],
    315944413: (i) => [i.TilingPattern, i.Tiles, i.TilingScale],
    2652556860: (i) => [i.SweptArea, i.Position, i.Directrix, i.StartParam, i.EndParam, i.FixedReference],
    4238390223: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    1268542332: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.AssemblyPlace, i.PredefinedType],
    4095422895: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    987898635: (i) => [Labelise(i.Elements)],
    1484403080: (i) => [i.ProfileType, i.ProfileName, i.Position, i.OverallWidth, i.OverallDepth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.FlangeEdgeRadius, i.FlangeSlope],
    178912537: (i) => [i.CoordIndex],
    2294589976: (i) => [i.CoordIndex, i.InnerCoordIndices],
    572779678: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.Width, i.Thickness, i.FilletRadius, i.EdgeRadius, i.LegSlope],
    428585644: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    1281925730: (i) => [i.Pnt, i.Dir],
    1425443689: (i) => [i.Outer],
    3888040117: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType],
    3388369263: (i) => [i.BasisCurve, i.Distance, { type: 3, value: i.SelfIntersect.value }],
    3505215534: (i) => [i.BasisCurve, i.Distance, { type: 3, value: i.SelfIntersect.value }, i.RefDirection],
    1682466193: (i) => [i.BasisSurface, i.ReferenceCurve],
    603570806: (i) => [i.SizeInX, i.SizeInY, Labelise(i.Placement)],
    220341763: (i) => [i.Position],
    759155922: (i) => [i.Name],
    2559016684: (i) => [i.Name],
    3967405729: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    569719735: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ProcessType, i.PredefinedType],
    2945172077: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription],
    4208778838: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation],
    103090709: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName, i.Phase, i.RepresentationContexts, i.UnitsInContext],
    653396225: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName, i.Phase, i.RepresentationContexts, i.UnitsInContext],
    871118103: (i) => [i.Name, i.Description, (i.UpperBoundValue ?? void 0) === void 0 ? null : Labelise(i.UpperBoundValue), (i.LowerBoundValue ?? void 0) === void 0 ? null : Labelise(i.LowerBoundValue), Labelise(i.Unit), (i.SetPointValue ?? void 0) === void 0 ? null : Labelise(i.SetPointValue)],
    4166981789: (i) => [i.Name, i.Description, (i.EnumerationValues ?? void 0) === void 0 ? null : i.EnumerationValues.map((p) => Labelise(p)), i.EnumerationReference],
    2752243245: (i) => [i.Name, i.Description, (i.ListValues ?? void 0) === void 0 ? null : i.ListValues.map((p) => Labelise(p)), Labelise(i.Unit)],
    941946838: (i) => [i.Name, i.Description, i.UsageName, Labelise(i.PropertyReference)],
    1451395588: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.HasProperties],
    492091185: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.TemplateType, i.ApplicableEntity, i.HasPropertyTemplates],
    3650150729: (i) => [i.Name, i.Description, (i.NominalValue ?? void 0) === void 0 ? null : Labelise(i.NominalValue), Labelise(i.Unit)],
    110355661: (i) => [i.Name, i.Description, (i.DefiningValues ?? void 0) === void 0 ? null : i.DefiningValues.map((p) => Labelise(p)), (i.DefinedValues ?? void 0) === void 0 ? null : i.DefinedValues.map((p) => Labelise(p)), i.Expression, Labelise(i.DefiningUnit), Labelise(i.DefinedUnit), i.CurveInterpolation],
    3521284610: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    3219374653: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.ProxyType, i.Tag],
    2770003689: (i) => [i.ProfileType, i.ProfileName, i.Position, i.XDim, i.YDim, i.WallThickness, i.InnerFilletRadius, i.OuterFilletRadius],
    2798486643: (i) => [i.Position, i.XLength, i.YLength, i.Height],
    3454111270: (i) => [i.BasisSurface, i.U1, i.V1, i.U2, i.V2, { type: 3, value: i.Usense.value }, { type: 3, value: i.Vsense.value }],
    3765753017: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.DefinitionType, i.ReinforcementSectionDefinitions],
    3939117080: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType],
    1683148259: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingActor, i.ActingRole],
    2495723537: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingControl],
    1307041759: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingGroup],
    1027710054: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, i.RelatingGroup, i.Factor],
    4278684876: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, Labelise(i.RelatingProcess), i.QuantityInProcess],
    2857406711: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, Labelise(i.RelatingProduct)],
    205026976: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType, Labelise(i.RelatingResource)],
    1865459582: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatedObjects)],
    4095574036: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatedObjects), i.RelatingApproval],
    919958153: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatedObjects), Labelise(i.RelatingClassification)],
    2728634034: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatedObjects), i.Intent, i.RelatingConstraint],
    982818633: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatedObjects), Labelise(i.RelatingDocument)],
    3840914261: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatedObjects), Labelise(i.RelatingLibrary)],
    2655215786: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatedObjects), Labelise(i.RelatingMaterial)],
    826625072: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    1204542856: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ConnectionGeometry, i.RelatingElement, i.RelatedElement],
    3945020480: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ConnectionGeometry, i.RelatingElement, i.RelatedElement, i.RelatingPriorities, i.RelatedPriorities, i.RelatedConnectionType, i.RelatingConnectionType],
    4201705270: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingPort, i.RelatedElement],
    3190031847: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingPort, i.RelatedPort, i.RealizingElement],
    2127690289: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatingElement), i.RelatedStructuralActivity],
    1638771189: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingStructuralMember, i.RelatedStructuralConnection, i.AppliedCondition, i.AdditionalConditions, i.SupportedLength, i.ConditionCoordinateSystem],
    504942748: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingStructuralMember, i.RelatedStructuralConnection, i.AppliedCondition, i.AdditionalConditions, i.SupportedLength, i.ConditionCoordinateSystem, i.ConnectionConstraint],
    3678494232: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ConnectionGeometry, i.RelatingElement, i.RelatedElement, i.RealizingElements, i.ConnectionType],
    3242617779: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedElements, i.RelatingStructure],
    886880790: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingBuildingElement, i.RelatedCoverings],
    2802773753: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingSpace, i.RelatedCoverings],
    2565941209: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingContext, Labelise(i.RelatedDefinitions)],
    2551354335: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    693640335: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    1462361463: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingObject],
    4186316022: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, Labelise(i.RelatingPropertyDefinition)],
    307848117: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedPropertySets, i.RelatingTemplate],
    781010003: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingType],
    3940055652: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingOpeningElement, i.RelatedBuildingElement],
    279856033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedControlElements, i.RelatingFlowElement],
    427948657: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingElement, i.RelatedElement, i.InterferenceGeometry, i.InterferenceType, i.ImpliedOrder],
    3268803585: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingObject, i.RelatedObjects],
    750771296: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingElement, i.RelatedFeatureElement],
    1245217292: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedElements, i.RelatingStructure],
    4122056220: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingProcess, i.RelatedProcess, i.TimeLag, i.SequenceType, i.UserDefinedSequenceType],
    366585022: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingSystem, i.RelatedBuildings],
    3451746338: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatingSpace), i.RelatedBuildingElement, i.ConnectionGeometry, i.PhysicalOrVirtualBoundary, i.InternalOrExternalBoundary],
    3523091289: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatingSpace), i.RelatedBuildingElement, i.ConnectionGeometry, i.PhysicalOrVirtualBoundary, i.InternalOrExternalBoundary, i.ParentBoundary],
    1521410863: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatingSpace), i.RelatedBuildingElement, i.ConnectionGeometry, i.PhysicalOrVirtualBoundary, i.InternalOrExternalBoundary, i.ParentBoundary, i.CorrespondingBoundary],
    1401173127: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingBuildingElement, i.RelatedOpeningElement],
    816062949: (i) => [i.Transition, { type: 3, value: i.SameSense.value }, i.ParentCurve, i.ParamLength],
    2914609552: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription],
    1856042241: (i) => [i.SweptArea, i.Position, i.Axis, i.Angle],
    3243963512: (i) => [i.SweptArea, i.Position, i.Axis, i.Angle, i.EndSweptArea],
    4158566097: (i) => [i.Position, i.Height, i.BottomRadius],
    3626867408: (i) => [i.Position, i.Height, i.Radius],
    3663146110: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.TemplateType, i.PrimaryMeasureType, i.SecondaryMeasureType, i.Enumerators, Labelise(i.PrimaryUnit), Labelise(i.SecondaryUnit), i.Expression, i.AccessState],
    1412071761: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName],
    710998568: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    2706606064: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType],
    3893378262: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    463610769: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.PredefinedType],
    2481509218: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.LongName],
    451544542: (i) => [i.Position, i.Radius],
    4015995234: (i) => [i.Position, i.Radius],
    3544373492: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal],
    3136571912: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation],
    530289379: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation],
    3689010777: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal],
    3979015343: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType, i.Thickness],
    2218152070: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType, i.Thickness],
    603775116: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.PredefinedType],
    4095615324: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    699246055: (i) => [i.Curve3D, i.AssociatedGeometry, i.MasterRepresentation],
    2028607225: (i) => [i.SweptArea, i.Position, i.Directrix, i.StartParam, i.EndParam, i.ReferenceSurface],
    2809605785: (i) => [i.SweptCurve, i.Position, i.ExtrudedDirection, i.Depth],
    4124788165: (i) => [i.SweptCurve, i.Position, i.AxisPosition],
    1580310250: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3473067441: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Status, i.WorkMethod, { type: 3, value: i.IsMilestone.value }, i.Priority, i.TaskTime, i.PredefinedType],
    3206491090: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ProcessType, i.PredefinedType, i.WorkMethod],
    2387106220: (i) => [i.Coordinates],
    1935646853: (i) => [i.Position, i.MajorRadius, i.MinorRadius],
    2097647324: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2916149573: (i) => [i.Coordinates, i.Normals, i.Closed == null ? null : { type: 3, value: i.Closed.value }, i.CoordIndex, i.PnIndex],
    336235671: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.LiningDepth, i.LiningThickness, i.TransomThickness, i.MullionThickness, i.FirstTransomOffset, i.SecondTransomOffset, i.FirstMullionOffset, i.SecondMullionOffset, i.ShapeAspectStyle, i.LiningOffset, i.LiningToPanelOffsetX, i.LiningToPanelOffsetY],
    512836454: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.OperationType, i.PanelPosition, i.FrameDepth, i.FrameThickness, i.ShapeAspectStyle],
    2296667514: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, Labelise(i.TheActor)],
    1635779807: (i) => [i.Outer],
    2603310189: (i) => [i.Outer, i.Voids],
    1674181508: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation],
    2887950389: (i) => [i.UDegree, i.VDegree, i.ControlPointsList, i.SurfaceForm, { type: 3, value: i.UClosed.value }, { type: 3, value: i.VClosed.value }, { type: 3, value: i.SelfIntersect.value }],
    167062518: (i) => [i.UDegree, i.VDegree, i.ControlPointsList, i.SurfaceForm, { type: 3, value: i.UClosed.value }, { type: 3, value: i.VClosed.value }, { type: 3, value: i.SelfIntersect.value }, i.UMultiplicities, i.VMultiplicities, i.UKnots, i.VKnots, i.KnotSpec],
    1334484129: (i) => [i.Position, i.XLength, i.YLength, i.ZLength],
    3649129432: (i) => [i.Operator, Labelise(i.FirstOperand), Labelise(i.SecondOperand)],
    1260505505: (_) => [],
    4031249490: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.ElevationOfRefHeight, i.ElevationOfTerrain, i.BuildingAddress],
    1950629157: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    3124254112: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.Elevation],
    2197970202: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2937912522: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Radius, i.WallThickness],
    3893394355: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    300633059: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3875453745: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.UsageName, i.TemplateType, i.HasPropertyTemplates],
    3732776249: (i) => [i.Segments, { type: 3, value: i.SelfIntersect.value }],
    15328376: (i) => [i.Segments, { type: 3, value: i.SelfIntersect.value }],
    2510884976: (i) => [Labelise(i.Position)],
    2185764099: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    4105962743: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    1525564444: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    2559216714: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity],
    3293443760: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification],
    3895139033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.PredefinedType, i.CostValues, i.CostQuantities],
    1419761937: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.PredefinedType, i.Status, i.SubmittedOn, i.UpdateDate],
    1916426348: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3295246426: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    1457835157: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1213902940: (i) => [i.Position, i.Radius],
    3256556792: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    3849074793: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    2963535650: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.LiningDepth, i.LiningThickness, i.ThresholdDepth, i.ThresholdThickness, i.TransomThickness, i.TransomOffset, i.LiningOffset, i.ThresholdOffset, i.CasingThickness, i.CasingDepth, i.ShapeAspectStyle, i.LiningToPanelOffsetX, i.LiningToPanelOffsetY],
    1714330368: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.PanelDepth, i.PanelOperation, i.PanelWidth, i.PanelPosition, i.ShapeAspectStyle],
    2323601079: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.OperationType, i.ParameterTakesPrecedence == null ? null : { type: 3, value: i.ParameterTakesPrecedence.value }, i.UserDefinedOperationType],
    445594917: (i) => [i.Name],
    4006246654: (i) => [i.Name],
    1758889154: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    4123344466: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.AssemblyPlace, i.PredefinedType],
    2397081782: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1623761950: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    2590856083: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    1704287377: (i) => [Labelise(i.Position), i.SemiAxis1, i.SemiAxis2],
    2107101300: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    132023988: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3174744832: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3390157468: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    4148101412: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.PredefinedType, i.EventTriggerType, i.UserDefinedEventTriggerType, i.EventOccurenceTime],
    2853485674: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName],
    807026263: (i) => [i.Outer],
    3737207727: (i) => [i.Outer, i.Voids],
    647756555: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2489546625: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2827207264: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    2143335405: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    1287392070: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    3907093117: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    3198132628: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    3815607619: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1482959167: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    1834744321: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    1339347760: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    2297155007: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    3009222698: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    1893162501: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    263784265: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    1509553395: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3493046030: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3009204131: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.UAxes, i.VAxes, i.WAxes, i.PredefinedType],
    2706460486: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType],
    1251058090: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1806887404: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2571569899: (i) => [i.Points, (i.Segments ?? void 0) === void 0 ? null : i.Segments.map((p) => Labelise(p)), i.SelfIntersect == null ? null : { type: 3, value: i.SelfIntersect.value }],
    3946677679: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3113134337: (i) => [i.Curve3D, i.AssociatedGeometry, i.MasterRepresentation],
    2391368822: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, Labelise(i.Jurisdiction), i.ResponsiblePersons, i.LastUpdateDate, i.CurrentValue, i.OriginalValue],
    4288270099: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3827777499: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    1051575348: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1161773419: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    377706215: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.NominalDiameter, i.NominalLength, i.PredefinedType],
    2108223431: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.NominalDiameter, i.NominalLength],
    1114901282: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3181161470: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    977012517: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    4143007308: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, Labelise(i.TheActor), i.PredefinedType],
    3588315303: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3079942009: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2837617999: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2382730787: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LifeCyclePhase, i.PredefinedType],
    3566463478: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.OperationType, i.PanelPosition, i.FrameDepth, i.FrameThickness, i.ShapeAspectStyle],
    3327091369: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.PredefinedType, i.Status, i.LongDescription],
    1158309216: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    804291784: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    4231323485: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    4017108033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2839578677: (i) => [i.Coordinates, i.Closed == null ? null : { type: 3, value: i.Closed.value }, i.Faces, i.PnIndex],
    3724593414: (i) => [i.Points],
    3740093272: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation],
    2744685151: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.PredefinedType],
    2904328755: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.PredefinedType, i.Status, i.LongDescription],
    3651124850: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1842657554: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2250791053: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2893384427: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2324767716: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1469900589: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    683857671: (i) => [i.UDegree, i.VDegree, i.ControlPointsList, i.SurfaceForm, { type: 3, value: i.UClosed.value }, { type: 3, value: i.VClosed.value }, { type: 3, value: i.SelfIntersect.value }, i.UMultiplicities, i.VMultiplicities, i.UKnots, i.VKnots, i.KnotSpec, i.WeightsData],
    3027567501: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade],
    964333572: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    2320036040: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.MeshLength, i.MeshWidth, i.LongitudinalBarNominalDiameter, i.TransverseBarNominalDiameter, i.LongitudinalBarCrossSectionArea, i.TransverseBarCrossSectionArea, i.LongitudinalBarSpacing, i.TransverseBarSpacing, i.PredefinedType],
    2310774935: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.MeshLength, i.MeshWidth, i.LongitudinalBarNominalDiameter, i.TransverseBarNominalDiameter, i.LongitudinalBarCrossSectionArea, i.TransverseBarCrossSectionArea, i.LongitudinalBarSpacing, i.TransverseBarSpacing, i.BendingShapeCode, (i.BendingParameters ?? void 0) === void 0 ? null : i.BendingParameters.map((p) => Labelise(p))],
    160246688: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingObject, i.RelatedObjects],
    2781568857: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1768891740: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2157484638: (i) => [i.Curve3D, i.AssociatedGeometry, i.MasterRepresentation],
    4074543187: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    4097777520: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.RefLatitude, i.RefLongitude, i.RefElevation, i.LandTitleNumber, i.SiteAddress],
    2533589738: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1072016465: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3856911033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.PredefinedType, i.ElevationWithFlooring],
    1305183839: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3812236995: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.LongName],
    3112655638: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1039846685: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    338393293: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    682877961: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad == null ? null : { type: 3, value: i.DestabilizingLoad.value }],
    1179482911: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition],
    1004757350: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad == null ? null : { type: 3, value: i.DestabilizingLoad.value }, i.ProjectedOrTrue, i.PredefinedType],
    4243806635: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition, i.Axis],
    214636428: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType, i.Axis],
    2445595289: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType, i.Axis],
    2757150158: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.PredefinedType],
    1807405624: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad == null ? null : { type: 3, value: i.DestabilizingLoad.value }, i.ProjectedOrTrue, i.PredefinedType],
    1252848954: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.ActionType, i.ActionSource, i.Coefficient, i.Purpose],
    2082059205: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad == null ? null : { type: 3, value: i.DestabilizingLoad.value }],
    734778138: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition, i.ConditionCoordinateSystem],
    1235345126: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal],
    2986769608: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.TheoryType, i.ResultForLoadGroup, { type: 3, value: i.IsLinear.value }],
    3657597509: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad == null ? null : { type: 3, value: i.DestabilizingLoad.value }, i.ProjectedOrTrue, i.PredefinedType],
    1975003073: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition],
    148013059: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    3101698114: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2315554128: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2254336722: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType],
    413509423: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    5716631: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3824725483: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.PredefinedType, i.NominalDiameter, i.CrossSectionArea, i.TensionForce, i.PreStress, i.FrictionCoefficient, i.AnchorageSlip, i.MinCurvatureRadius],
    2347447852: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.PredefinedType],
    3081323446: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2415094496: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.NominalDiameter, i.CrossSectionArea, i.SheathDiameter],
    1692211062: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1620046519: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3593883385: (i) => [i.BasisCurve, Labelise(i.Trim1), Labelise(i.Trim2), { type: 3, value: i.SenseAgreement.value }, i.MasterRepresentation],
    1600972822: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1911125066: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    728799441: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2391383451: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3313531582: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2769231204: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    926996030: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1898987631: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1133259667: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    4009809668: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.PartitioningType, i.ParameterTakesPrecedence == null ? null : { type: 3, value: i.ParameterTakesPrecedence.value }, i.UserDefinedPartitioningType],
    4088093105: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.WorkingTimes, i.ExceptionTimes, i.PredefinedType],
    1028945134: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.CreationDate, i.Creators, i.Purpose, i.Duration, i.TotalFloat, i.StartTime, i.FinishTime],
    4218914973: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.CreationDate, i.Creators, i.Purpose, i.Duration, i.TotalFloat, i.StartTime, i.FinishTime, i.PredefinedType],
    3342526732: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.CreationDate, i.Creators, i.Purpose, i.Duration, i.TotalFloat, i.StartTime, i.FinishTime, i.PredefinedType],
    1033361043: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName],
    3821786052: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.PredefinedType, i.Status, i.LongDescription],
    1411407467: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3352864051: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1871374353: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3460190687: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.OriginalValue, i.CurrentValue, i.TotalReplacementCost, Labelise(i.Owner), Labelise(i.User), i.ResponsiblePerson, i.IncorporationDate, i.DepreciatedValue],
    1532957894: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1967976161: (i) => [i.Degree, i.ControlPointsList, i.CurveForm, { type: 3, value: i.ClosedCurve.value }, { type: 3, value: i.SelfIntersect.value }],
    2461110595: (i) => [i.Degree, i.ControlPointsList, i.CurveForm, { type: 3, value: i.ClosedCurve.value }, { type: 3, value: i.SelfIntersect.value }, i.KnotMultiplicities, i.Knots, i.KnotSpec],
    819618141: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    231477066: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1136057603: (i) => [i.Segments, { type: 3, value: i.SelfIntersect.value }],
    3299480353: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    2979338954: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    39481116: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1095909175: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1909888760: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1177604601: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.LongName],
    2188180465: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    395041908: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3293546465: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2674252688: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1285652485: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2951183804: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3296154744: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2611217952: (i) => [Labelise(i.Position), i.Radius],
    1677625105: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    2301859152: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    843113511: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    905975707: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    400855858: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3850581409: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2816379211: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3898045240: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    1060000209: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    488727124: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    335055490: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2954562838: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1973544240: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3495092785: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3961806047: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1335981549: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2635815018: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1599208980: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2063403501: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    1945004755: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    3040386961: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    3041715199: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.FlowDirection, i.PredefinedType, i.SystemType],
    3205830791: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName, i.PredefinedType],
    395920057: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.OverallHeight, i.OverallWidth, i.PredefinedType, i.OperationType, i.UserDefinedOperationType],
    3242481149: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.OverallHeight, i.OverallWidth, i.PredefinedType, i.OperationType, i.UserDefinedOperationType],
    869906466: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3760055223: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2030761528: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    663422040: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2417008758: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3277789161: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1534661035: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1217240411: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    712377611: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1658829314: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    2814081492: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3747195512: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    484807127: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1209101575: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.PredefinedType],
    346874300: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1810631287: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    4222183408: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2058353004: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    4278956645: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    4037862832: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2188021234: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3132237377: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    987401354: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    707683696: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    2223149337: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    3508470533: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    900683007: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3319311131: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2068733104: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    4175244083: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2176052936: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    76236018: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    629592764: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1437502449: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1073191201: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1911478936: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2474470126: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    144952367: (i) => [i.Segments, { type: 3, value: i.SelfIntersect.value }],
    3694346114: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1687234759: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType, i.ConstructionType],
    310824031: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3612865200: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3171933400: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1156407060: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    738039164: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    655969474: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    90941305: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2262370178: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3024970846: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3283111854: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1232101972: (i) => [i.Degree, i.ControlPointsList, i.CurveForm, { type: 3, value: i.ClosedCurve.value }, { type: 3, value: i.SelfIntersect.value }, i.KnotMultiplicities, i.Knots, i.KnotSpec, i.WeightsData],
    979691226: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.NominalDiameter, i.CrossSectionArea, i.BarLength, i.PredefinedType, i.BarSurface],
    2572171363: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.NominalDiameter, i.CrossSectionArea, i.BarLength, i.BarSurface, i.BendingShapeCode, (i.BendingParameters ?? void 0) === void 0 ? null : i.BendingParameters.map((p) => Labelise(p))],
    2016517767: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3053780830: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1783015770: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1329646415: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1529196076: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3127900445: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3027962421: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3420628829: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1999602285: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1404847402: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    331165859: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    4252922144: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.NumberOfRisers, i.NumberOfTreads, i.RiserHeight, i.TreadLength, i.PredefinedType],
    2515109513: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.OrientationOf2DPlane, i.LoadedBy, i.HasResults, i.SharedPlacement],
    385403989: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.ActionType, i.ActionSource, i.Coefficient, i.Purpose, i.SelfWeightCoefficients],
    1621171031: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad == null ? null : { type: 3, value: i.DestabilizingLoad.value }, i.ProjectedOrTrue, i.PredefinedType],
    1162798199: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    812556717: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3825984169: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3026737570: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3179687236: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    4292641817: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    4207607924: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2391406946: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    4156078855: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3512223829: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    4237592921: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3304561284: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.OverallHeight, i.OverallWidth, i.PredefinedType, i.PartitioningType, i.UserDefinedPartitioningType],
    486154966: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.OverallHeight, i.OverallWidth, i.PredefinedType, i.PartitioningType, i.UserDefinedPartitioningType],
    2874132201: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1634111441: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    177149247: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2056796094: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3001207471: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    277319702: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    753842376: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2906023776: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    32344328: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2938176219: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    635142910: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3758799889: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1051757585: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    4217484030: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3902619387: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    639361253: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3221913625: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3571504051: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2272882330: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    578613899: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    4136498852: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3640358203: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    4074379575: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1052013943: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    562808652: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName, i.PredefinedType],
    1062813311: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    342316401: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3518393246: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1360408905: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1904799276: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    862014818: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3310460725: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    264262732: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    402227799: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1003880860: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3415622556: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    819412036: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1426591983: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    182646315: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2295281155: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    4086658281: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    630975310: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    4288193352: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3087945054: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    25142252: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType]
  };
  TypeInitialisers[2] = {
    3699917729: (v) => new IFC4.IfcAbsorbedDoseMeasure(v),
    4182062534: (v) => new IFC4.IfcAccelerationMeasure(v),
    360377573: (v) => new IFC4.IfcAmountOfSubstanceMeasure(v),
    632304761: (v) => new IFC4.IfcAngularVelocityMeasure(v),
    3683503648: (v) => new IFC4.IfcArcIndex(v.map((x) => x.value)),
    1500781891: (v) => new IFC4.IfcAreaDensityMeasure(v),
    2650437152: (v) => new IFC4.IfcAreaMeasure(v),
    2314439260: (v) => new IFC4.IfcBinary(v),
    2735952531: (v) => new IFC4.IfcBoolean(v),
    1867003952: (v) => new IFC4.IfcBoxAlignment(v),
    1683019596: (v) => new IFC4.IfcCardinalPointReference(v),
    2991860651: (v) => new IFC4.IfcComplexNumber(v.map((x) => x.value)),
    3812528620: (v) => new IFC4.IfcCompoundPlaneAngleMeasure(v.map((x) => x.value)),
    3238673880: (v) => new IFC4.IfcContextDependentMeasure(v),
    1778710042: (v) => new IFC4.IfcCountMeasure(v),
    94842927: (v) => new IFC4.IfcCurvatureMeasure(v),
    937566702: (v) => new IFC4.IfcDate(v),
    2195413836: (v) => new IFC4.IfcDateTime(v),
    86635668: (v) => new IFC4.IfcDayInMonthNumber(v),
    3701338814: (v) => new IFC4.IfcDayInWeekNumber(v),
    1514641115: (v) => new IFC4.IfcDescriptiveMeasure(v),
    4134073009: (v) => new IFC4.IfcDimensionCount(v),
    524656162: (v) => new IFC4.IfcDoseEquivalentMeasure(v),
    2541165894: (v) => new IFC4.IfcDuration(v),
    69416015: (v) => new IFC4.IfcDynamicViscosityMeasure(v),
    1827137117: (v) => new IFC4.IfcElectricCapacitanceMeasure(v),
    3818826038: (v) => new IFC4.IfcElectricChargeMeasure(v),
    2093906313: (v) => new IFC4.IfcElectricConductanceMeasure(v),
    3790457270: (v) => new IFC4.IfcElectricCurrentMeasure(v),
    2951915441: (v) => new IFC4.IfcElectricResistanceMeasure(v),
    2506197118: (v) => new IFC4.IfcElectricVoltageMeasure(v),
    2078135608: (v) => new IFC4.IfcEnergyMeasure(v),
    1102727119: (v) => new IFC4.IfcFontStyle(v),
    2715512545: (v) => new IFC4.IfcFontVariant(v),
    2590844177: (v) => new IFC4.IfcFontWeight(v),
    1361398929: (v) => new IFC4.IfcForceMeasure(v),
    3044325142: (v) => new IFC4.IfcFrequencyMeasure(v),
    3064340077: (v) => new IFC4.IfcGloballyUniqueId(v),
    3113092358: (v) => new IFC4.IfcHeatFluxDensityMeasure(v),
    1158859006: (v) => new IFC4.IfcHeatingValueMeasure(v),
    983778844: (v) => new IFC4.IfcIdentifier(v),
    3358199106: (v) => new IFC4.IfcIlluminanceMeasure(v),
    2679005408: (v) => new IFC4.IfcInductanceMeasure(v),
    1939436016: (v) => new IFC4.IfcInteger(v),
    3809634241: (v) => new IFC4.IfcIntegerCountRateMeasure(v),
    3686016028: (v) => new IFC4.IfcIonConcentrationMeasure(v),
    3192672207: (v) => new IFC4.IfcIsothermalMoistureCapacityMeasure(v),
    2054016361: (v) => new IFC4.IfcKinematicViscosityMeasure(v),
    3258342251: (v) => new IFC4.IfcLabel(v),
    1275358634: (v) => new IFC4.IfcLanguageId(v),
    1243674935: (v) => new IFC4.IfcLengthMeasure(v),
    1774176899: (v) => new IFC4.IfcLineIndex(v.map((x) => x.value)),
    191860431: (v) => new IFC4.IfcLinearForceMeasure(v),
    2128979029: (v) => new IFC4.IfcLinearMomentMeasure(v),
    1307019551: (v) => new IFC4.IfcLinearStiffnessMeasure(v),
    3086160713: (v) => new IFC4.IfcLinearVelocityMeasure(v),
    503418787: (v) => new IFC4.IfcLogical(v),
    2095003142: (v) => new IFC4.IfcLuminousFluxMeasure(v),
    2755797622: (v) => new IFC4.IfcLuminousIntensityDistributionMeasure(v),
    151039812: (v) => new IFC4.IfcLuminousIntensityMeasure(v),
    286949696: (v) => new IFC4.IfcMagneticFluxDensityMeasure(v),
    2486716878: (v) => new IFC4.IfcMagneticFluxMeasure(v),
    1477762836: (v) => new IFC4.IfcMassDensityMeasure(v),
    4017473158: (v) => new IFC4.IfcMassFlowRateMeasure(v),
    3124614049: (v) => new IFC4.IfcMassMeasure(v),
    3531705166: (v) => new IFC4.IfcMassPerLengthMeasure(v),
    3341486342: (v) => new IFC4.IfcModulusOfElasticityMeasure(v),
    2173214787: (v) => new IFC4.IfcModulusOfLinearSubgradeReactionMeasure(v),
    1052454078: (v) => new IFC4.IfcModulusOfRotationalSubgradeReactionMeasure(v),
    1753493141: (v) => new IFC4.IfcModulusOfSubgradeReactionMeasure(v),
    3177669450: (v) => new IFC4.IfcMoistureDiffusivityMeasure(v),
    1648970520: (v) => new IFC4.IfcMolecularWeightMeasure(v),
    3114022597: (v) => new IFC4.IfcMomentOfInertiaMeasure(v),
    2615040989: (v) => new IFC4.IfcMonetaryMeasure(v),
    765770214: (v) => new IFC4.IfcMonthInYearNumber(v),
    525895558: (v) => new IFC4.IfcNonNegativeLengthMeasure(v),
    2095195183: (v) => new IFC4.IfcNormalisedRatioMeasure(v),
    2395907400: (v) => new IFC4.IfcNumericMeasure(v),
    929793134: (v) => new IFC4.IfcPHMeasure(v),
    2260317790: (v) => new IFC4.IfcParameterValue(v),
    2642773653: (v) => new IFC4.IfcPlanarForceMeasure(v),
    4042175685: (v) => new IFC4.IfcPlaneAngleMeasure(v),
    1790229001: (v) => new IFC4.IfcPositiveInteger(v),
    2815919920: (v) => new IFC4.IfcPositiveLengthMeasure(v),
    3054510233: (v) => new IFC4.IfcPositivePlaneAngleMeasure(v),
    1245737093: (v) => new IFC4.IfcPositiveRatioMeasure(v),
    1364037233: (v) => new IFC4.IfcPowerMeasure(v),
    2169031380: (v) => new IFC4.IfcPresentableText(v),
    3665567075: (v) => new IFC4.IfcPressureMeasure(v),
    2798247006: (v) => new IFC4.IfcPropertySetDefinitionSet(v.map((x) => x.value)),
    3972513137: (v) => new IFC4.IfcRadioActivityMeasure(v),
    96294661: (v) => new IFC4.IfcRatioMeasure(v),
    200335297: (v) => new IFC4.IfcReal(v),
    2133746277: (v) => new IFC4.IfcRotationalFrequencyMeasure(v),
    1755127002: (v) => new IFC4.IfcRotationalMassMeasure(v),
    3211557302: (v) => new IFC4.IfcRotationalStiffnessMeasure(v),
    3467162246: (v) => new IFC4.IfcSectionModulusMeasure(v),
    2190458107: (v) => new IFC4.IfcSectionalAreaIntegralMeasure(v),
    408310005: (v) => new IFC4.IfcShearModulusMeasure(v),
    3471399674: (v) => new IFC4.IfcSolidAngleMeasure(v),
    4157543285: (v) => new IFC4.IfcSoundPowerLevelMeasure(v),
    846465480: (v) => new IFC4.IfcSoundPowerMeasure(v),
    3457685358: (v) => new IFC4.IfcSoundPressureLevelMeasure(v),
    993287707: (v) => new IFC4.IfcSoundPressureMeasure(v),
    3477203348: (v) => new IFC4.IfcSpecificHeatCapacityMeasure(v),
    2757832317: (v) => new IFC4.IfcSpecularExponent(v),
    361837227: (v) => new IFC4.IfcSpecularRoughness(v),
    58845555: (v) => new IFC4.IfcTemperatureGradientMeasure(v),
    1209108979: (v) => new IFC4.IfcTemperatureRateOfChangeMeasure(v),
    2801250643: (v) => new IFC4.IfcText(v),
    1460886941: (v) => new IFC4.IfcTextAlignment(v),
    3490877962: (v) => new IFC4.IfcTextDecoration(v),
    603696268: (v) => new IFC4.IfcTextFontName(v),
    296282323: (v) => new IFC4.IfcTextTransformation(v),
    232962298: (v) => new IFC4.IfcThermalAdmittanceMeasure(v),
    2645777649: (v) => new IFC4.IfcThermalConductivityMeasure(v),
    2281867870: (v) => new IFC4.IfcThermalExpansionCoefficientMeasure(v),
    857959152: (v) => new IFC4.IfcThermalResistanceMeasure(v),
    2016195849: (v) => new IFC4.IfcThermalTransmittanceMeasure(v),
    743184107: (v) => new IFC4.IfcThermodynamicTemperatureMeasure(v),
    4075327185: (v) => new IFC4.IfcTime(v),
    2726807636: (v) => new IFC4.IfcTimeMeasure(v),
    2591213694: (v) => new IFC4.IfcTimeStamp(v),
    1278329552: (v) => new IFC4.IfcTorqueMeasure(v),
    950732822: (v) => new IFC4.IfcURIReference(v),
    3345633955: (v) => new IFC4.IfcVaporPermeabilityMeasure(v),
    3458127941: (v) => new IFC4.IfcVolumeMeasure(v),
    2593997549: (v) => new IFC4.IfcVolumetricFlowRateMeasure(v),
    51269191: (v) => new IFC4.IfcWarpingConstantMeasure(v),
    1718600412: (v) => new IFC4.IfcWarpingMomentMeasure(v)
  };
  var IFC4;
  ((IFC42) => {
    class IfcAbsorbedDoseMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCABSORBEDDOSEMEASURE";
      }
    }
    IFC42.IfcAbsorbedDoseMeasure = IfcAbsorbedDoseMeasure;
    class IfcAccelerationMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCACCELERATIONMEASURE";
      }
    }
    IFC42.IfcAccelerationMeasure = IfcAccelerationMeasure;
    class IfcAmountOfSubstanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCAMOUNTOFSUBSTANCEMEASURE";
      }
    }
    IFC42.IfcAmountOfSubstanceMeasure = IfcAmountOfSubstanceMeasure;
    class IfcAngularVelocityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCANGULARVELOCITYMEASURE";
      }
    }
    IFC42.IfcAngularVelocityMeasure = IfcAngularVelocityMeasure;
    class IfcArcIndex {
      constructor(value) {
        this.value = value;
        this.type = 5;
      }
    }
    IFC42.IfcArcIndex = IfcArcIndex;
    ;
    class IfcAreaDensityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCAREADENSITYMEASURE";
      }
    }
    IFC42.IfcAreaDensityMeasure = IfcAreaDensityMeasure;
    class IfcAreaMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCAREAMEASURE";
      }
    }
    IFC42.IfcAreaMeasure = IfcAreaMeasure;
    class IfcBinary extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCBINARY";
      }
    }
    IFC42.IfcBinary = IfcBinary;
    class IfcBoolean {
      constructor(v) {
        this.type = 3;
        this.name = "IFCBOOLEAN";
        this.value = v;
      }
    }
    IFC42.IfcBoolean = IfcBoolean;
    class IfcBoxAlignment {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCBOXALIGNMENT";
      }
    }
    IFC42.IfcBoxAlignment = IfcBoxAlignment;
    class IfcCardinalPointReference extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCCARDINALPOINTREFERENCE";
      }
    }
    IFC42.IfcCardinalPointReference = IfcCardinalPointReference;
    class IfcComplexNumber {
      constructor(value) {
        this.value = value;
        this.type = 4;
      }
    }
    IFC42.IfcComplexNumber = IfcComplexNumber;
    ;
    class IfcCompoundPlaneAngleMeasure {
      constructor(value) {
        this.value = value;
        this.type = 10;
      }
    }
    IFC42.IfcCompoundPlaneAngleMeasure = IfcCompoundPlaneAngleMeasure;
    ;
    class IfcContextDependentMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCCONTEXTDEPENDENTMEASURE";
      }
    }
    IFC42.IfcContextDependentMeasure = IfcContextDependentMeasure;
    class IfcCountMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCCOUNTMEASURE";
      }
    }
    IFC42.IfcCountMeasure = IfcCountMeasure;
    class IfcCurvatureMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCCURVATUREMEASURE";
      }
    }
    IFC42.IfcCurvatureMeasure = IfcCurvatureMeasure;
    class IfcDate {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCDATE";
      }
    }
    IFC42.IfcDate = IfcDate;
    class IfcDateTime {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCDATETIME";
      }
    }
    IFC42.IfcDateTime = IfcDateTime;
    class IfcDayInMonthNumber extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCDAYINMONTHNUMBER";
      }
    }
    IFC42.IfcDayInMonthNumber = IfcDayInMonthNumber;
    class IfcDayInWeekNumber extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCDAYINWEEKNUMBER";
      }
    }
    IFC42.IfcDayInWeekNumber = IfcDayInWeekNumber;
    class IfcDescriptiveMeasure {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCDESCRIPTIVEMEASURE";
      }
    }
    IFC42.IfcDescriptiveMeasure = IfcDescriptiveMeasure;
    class IfcDimensionCount extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCDIMENSIONCOUNT";
      }
    }
    IFC42.IfcDimensionCount = IfcDimensionCount;
    class IfcDoseEquivalentMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCDOSEEQUIVALENTMEASURE";
      }
    }
    IFC42.IfcDoseEquivalentMeasure = IfcDoseEquivalentMeasure;
    class IfcDuration {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCDURATION";
      }
    }
    IFC42.IfcDuration = IfcDuration;
    class IfcDynamicViscosityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCDYNAMICVISCOSITYMEASURE";
      }
    }
    IFC42.IfcDynamicViscosityMeasure = IfcDynamicViscosityMeasure;
    class IfcElectricCapacitanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCELECTRICCAPACITANCEMEASURE";
      }
    }
    IFC42.IfcElectricCapacitanceMeasure = IfcElectricCapacitanceMeasure;
    class IfcElectricChargeMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCELECTRICCHARGEMEASURE";
      }
    }
    IFC42.IfcElectricChargeMeasure = IfcElectricChargeMeasure;
    class IfcElectricConductanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCELECTRICCONDUCTANCEMEASURE";
      }
    }
    IFC42.IfcElectricConductanceMeasure = IfcElectricConductanceMeasure;
    class IfcElectricCurrentMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCELECTRICCURRENTMEASURE";
      }
    }
    IFC42.IfcElectricCurrentMeasure = IfcElectricCurrentMeasure;
    class IfcElectricResistanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCELECTRICRESISTANCEMEASURE";
      }
    }
    IFC42.IfcElectricResistanceMeasure = IfcElectricResistanceMeasure;
    class IfcElectricVoltageMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCELECTRICVOLTAGEMEASURE";
      }
    }
    IFC42.IfcElectricVoltageMeasure = IfcElectricVoltageMeasure;
    class IfcEnergyMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCENERGYMEASURE";
      }
    }
    IFC42.IfcEnergyMeasure = IfcEnergyMeasure;
    class IfcFontStyle {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCFONTSTYLE";
      }
    }
    IFC42.IfcFontStyle = IfcFontStyle;
    class IfcFontVariant {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCFONTVARIANT";
      }
    }
    IFC42.IfcFontVariant = IfcFontVariant;
    class IfcFontWeight {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCFONTWEIGHT";
      }
    }
    IFC42.IfcFontWeight = IfcFontWeight;
    class IfcForceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCFORCEMEASURE";
      }
    }
    IFC42.IfcForceMeasure = IfcForceMeasure;
    class IfcFrequencyMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCFREQUENCYMEASURE";
      }
    }
    IFC42.IfcFrequencyMeasure = IfcFrequencyMeasure;
    class IfcGloballyUniqueId {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCGLOBALLYUNIQUEID";
      }
    }
    IFC42.IfcGloballyUniqueId = IfcGloballyUniqueId;
    class IfcHeatFluxDensityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCHEATFLUXDENSITYMEASURE";
      }
    }
    IFC42.IfcHeatFluxDensityMeasure = IfcHeatFluxDensityMeasure;
    class IfcHeatingValueMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCHEATINGVALUEMEASURE";
      }
    }
    IFC42.IfcHeatingValueMeasure = IfcHeatingValueMeasure;
    class IfcIdentifier {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCIDENTIFIER";
      }
    }
    IFC42.IfcIdentifier = IfcIdentifier;
    class IfcIlluminanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCILLUMINANCEMEASURE";
      }
    }
    IFC42.IfcIlluminanceMeasure = IfcIlluminanceMeasure;
    class IfcInductanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCINDUCTANCEMEASURE";
      }
    }
    IFC42.IfcInductanceMeasure = IfcInductanceMeasure;
    class IfcInteger extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCINTEGER";
      }
    }
    IFC42.IfcInteger = IfcInteger;
    class IfcIntegerCountRateMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCINTEGERCOUNTRATEMEASURE";
      }
    }
    IFC42.IfcIntegerCountRateMeasure = IfcIntegerCountRateMeasure;
    class IfcIonConcentrationMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCIONCONCENTRATIONMEASURE";
      }
    }
    IFC42.IfcIonConcentrationMeasure = IfcIonConcentrationMeasure;
    class IfcIsothermalMoistureCapacityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCISOTHERMALMOISTURECAPACITYMEASURE";
      }
    }
    IFC42.IfcIsothermalMoistureCapacityMeasure = IfcIsothermalMoistureCapacityMeasure;
    class IfcKinematicViscosityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCKINEMATICVISCOSITYMEASURE";
      }
    }
    IFC42.IfcKinematicViscosityMeasure = IfcKinematicViscosityMeasure;
    class IfcLabel {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCLABEL";
      }
    }
    IFC42.IfcLabel = IfcLabel;
    class IfcLanguageId {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCLANGUAGEID";
      }
    }
    IFC42.IfcLanguageId = IfcLanguageId;
    class IfcLengthMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLENGTHMEASURE";
      }
    }
    IFC42.IfcLengthMeasure = IfcLengthMeasure;
    class IfcLineIndex {
      constructor(value) {
        this.value = value;
        this.type = 5;
      }
    }
    IFC42.IfcLineIndex = IfcLineIndex;
    ;
    class IfcLinearForceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLINEARFORCEMEASURE";
      }
    }
    IFC42.IfcLinearForceMeasure = IfcLinearForceMeasure;
    class IfcLinearMomentMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLINEARMOMENTMEASURE";
      }
    }
    IFC42.IfcLinearMomentMeasure = IfcLinearMomentMeasure;
    class IfcLinearStiffnessMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLINEARSTIFFNESSMEASURE";
      }
    }
    IFC42.IfcLinearStiffnessMeasure = IfcLinearStiffnessMeasure;
    class IfcLinearVelocityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLINEARVELOCITYMEASURE";
      }
    }
    IFC42.IfcLinearVelocityMeasure = IfcLinearVelocityMeasure;
    class IfcLogical {
      constructor(v) {
        this.type = 3;
        this.name = "IFCLOGICAL";
        this.value = v;
      }
    }
    IFC42.IfcLogical = IfcLogical;
    class IfcLuminousFluxMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLUMINOUSFLUXMEASURE";
      }
    }
    IFC42.IfcLuminousFluxMeasure = IfcLuminousFluxMeasure;
    class IfcLuminousIntensityDistributionMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE";
      }
    }
    IFC42.IfcLuminousIntensityDistributionMeasure = IfcLuminousIntensityDistributionMeasure;
    class IfcLuminousIntensityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLUMINOUSINTENSITYMEASURE";
      }
    }
    IFC42.IfcLuminousIntensityMeasure = IfcLuminousIntensityMeasure;
    class IfcMagneticFluxDensityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMAGNETICFLUXDENSITYMEASURE";
      }
    }
    IFC42.IfcMagneticFluxDensityMeasure = IfcMagneticFluxDensityMeasure;
    class IfcMagneticFluxMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMAGNETICFLUXMEASURE";
      }
    }
    IFC42.IfcMagneticFluxMeasure = IfcMagneticFluxMeasure;
    class IfcMassDensityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMASSDENSITYMEASURE";
      }
    }
    IFC42.IfcMassDensityMeasure = IfcMassDensityMeasure;
    class IfcMassFlowRateMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMASSFLOWRATEMEASURE";
      }
    }
    IFC42.IfcMassFlowRateMeasure = IfcMassFlowRateMeasure;
    class IfcMassMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMASSMEASURE";
      }
    }
    IFC42.IfcMassMeasure = IfcMassMeasure;
    class IfcMassPerLengthMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMASSPERLENGTHMEASURE";
      }
    }
    IFC42.IfcMassPerLengthMeasure = IfcMassPerLengthMeasure;
    class IfcModulusOfElasticityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMODULUSOFELASTICITYMEASURE";
      }
    }
    IFC42.IfcModulusOfElasticityMeasure = IfcModulusOfElasticityMeasure;
    class IfcModulusOfLinearSubgradeReactionMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE";
      }
    }
    IFC42.IfcModulusOfLinearSubgradeReactionMeasure = IfcModulusOfLinearSubgradeReactionMeasure;
    class IfcModulusOfRotationalSubgradeReactionMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE";
      }
    }
    IFC42.IfcModulusOfRotationalSubgradeReactionMeasure = IfcModulusOfRotationalSubgradeReactionMeasure;
    class IfcModulusOfSubgradeReactionMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMODULUSOFSUBGRADEREACTIONMEASURE";
      }
    }
    IFC42.IfcModulusOfSubgradeReactionMeasure = IfcModulusOfSubgradeReactionMeasure;
    class IfcMoistureDiffusivityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMOISTUREDIFFUSIVITYMEASURE";
      }
    }
    IFC42.IfcMoistureDiffusivityMeasure = IfcMoistureDiffusivityMeasure;
    class IfcMolecularWeightMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMOLECULARWEIGHTMEASURE";
      }
    }
    IFC42.IfcMolecularWeightMeasure = IfcMolecularWeightMeasure;
    class IfcMomentOfInertiaMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMOMENTOFINERTIAMEASURE";
      }
    }
    IFC42.IfcMomentOfInertiaMeasure = IfcMomentOfInertiaMeasure;
    class IfcMonetaryMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMONETARYMEASURE";
      }
    }
    IFC42.IfcMonetaryMeasure = IfcMonetaryMeasure;
    class IfcMonthInYearNumber extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCMONTHINYEARNUMBER";
      }
    }
    IFC42.IfcMonthInYearNumber = IfcMonthInYearNumber;
    class IfcNonNegativeLengthMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCNONNEGATIVELENGTHMEASURE";
      }
    }
    IFC42.IfcNonNegativeLengthMeasure = IfcNonNegativeLengthMeasure;
    class IfcNormalisedRatioMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCNORMALISEDRATIOMEASURE";
      }
    }
    IFC42.IfcNormalisedRatioMeasure = IfcNormalisedRatioMeasure;
    class IfcNumericMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCNUMERICMEASURE";
      }
    }
    IFC42.IfcNumericMeasure = IfcNumericMeasure;
    class IfcPHMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPHMEASURE";
      }
    }
    IFC42.IfcPHMeasure = IfcPHMeasure;
    class IfcParameterValue extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPARAMETERVALUE";
      }
    }
    IFC42.IfcParameterValue = IfcParameterValue;
    class IfcPlanarForceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPLANARFORCEMEASURE";
      }
    }
    IFC42.IfcPlanarForceMeasure = IfcPlanarForceMeasure;
    class IfcPlaneAngleMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPLANEANGLEMEASURE";
      }
    }
    IFC42.IfcPlaneAngleMeasure = IfcPlaneAngleMeasure;
    class IfcPositiveInteger extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCPOSITIVEINTEGER";
      }
    }
    IFC42.IfcPositiveInteger = IfcPositiveInteger;
    class IfcPositiveLengthMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPOSITIVELENGTHMEASURE";
      }
    }
    IFC42.IfcPositiveLengthMeasure = IfcPositiveLengthMeasure;
    class IfcPositivePlaneAngleMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPOSITIVEPLANEANGLEMEASURE";
      }
    }
    IFC42.IfcPositivePlaneAngleMeasure = IfcPositivePlaneAngleMeasure;
    class IfcPositiveRatioMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPOSITIVERATIOMEASURE";
      }
    }
    IFC42.IfcPositiveRatioMeasure = IfcPositiveRatioMeasure;
    class IfcPowerMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPOWERMEASURE";
      }
    }
    IFC42.IfcPowerMeasure = IfcPowerMeasure;
    class IfcPresentableText {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCPRESENTABLETEXT";
      }
    }
    IFC42.IfcPresentableText = IfcPresentableText;
    class IfcPressureMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPRESSUREMEASURE";
      }
    }
    IFC42.IfcPressureMeasure = IfcPressureMeasure;
    class IfcPropertySetDefinitionSet {
      constructor(value) {
        this.value = value;
        this.type = 5;
      }
    }
    IFC42.IfcPropertySetDefinitionSet = IfcPropertySetDefinitionSet;
    ;
    class IfcRadioActivityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCRADIOACTIVITYMEASURE";
      }
    }
    IFC42.IfcRadioActivityMeasure = IfcRadioActivityMeasure;
    class IfcRatioMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCRATIOMEASURE";
      }
    }
    IFC42.IfcRatioMeasure = IfcRatioMeasure;
    class IfcReal extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCREAL";
      }
    }
    IFC42.IfcReal = IfcReal;
    class IfcRotationalFrequencyMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCROTATIONALFREQUENCYMEASURE";
      }
    }
    IFC42.IfcRotationalFrequencyMeasure = IfcRotationalFrequencyMeasure;
    class IfcRotationalMassMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCROTATIONALMASSMEASURE";
      }
    }
    IFC42.IfcRotationalMassMeasure = IfcRotationalMassMeasure;
    class IfcRotationalStiffnessMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCROTATIONALSTIFFNESSMEASURE";
      }
    }
    IFC42.IfcRotationalStiffnessMeasure = IfcRotationalStiffnessMeasure;
    class IfcSectionModulusMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSECTIONMODULUSMEASURE";
      }
    }
    IFC42.IfcSectionModulusMeasure = IfcSectionModulusMeasure;
    class IfcSectionalAreaIntegralMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSECTIONALAREAINTEGRALMEASURE";
      }
    }
    IFC42.IfcSectionalAreaIntegralMeasure = IfcSectionalAreaIntegralMeasure;
    class IfcShearModulusMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSHEARMODULUSMEASURE";
      }
    }
    IFC42.IfcShearModulusMeasure = IfcShearModulusMeasure;
    class IfcSolidAngleMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSOLIDANGLEMEASURE";
      }
    }
    IFC42.IfcSolidAngleMeasure = IfcSolidAngleMeasure;
    class IfcSoundPowerLevelMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSOUNDPOWERLEVELMEASURE";
      }
    }
    IFC42.IfcSoundPowerLevelMeasure = IfcSoundPowerLevelMeasure;
    class IfcSoundPowerMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSOUNDPOWERMEASURE";
      }
    }
    IFC42.IfcSoundPowerMeasure = IfcSoundPowerMeasure;
    class IfcSoundPressureLevelMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSOUNDPRESSURELEVELMEASURE";
      }
    }
    IFC42.IfcSoundPressureLevelMeasure = IfcSoundPressureLevelMeasure;
    class IfcSoundPressureMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSOUNDPRESSUREMEASURE";
      }
    }
    IFC42.IfcSoundPressureMeasure = IfcSoundPressureMeasure;
    class IfcSpecificHeatCapacityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSPECIFICHEATCAPACITYMEASURE";
      }
    }
    IFC42.IfcSpecificHeatCapacityMeasure = IfcSpecificHeatCapacityMeasure;
    class IfcSpecularExponent extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSPECULAREXPONENT";
      }
    }
    IFC42.IfcSpecularExponent = IfcSpecularExponent;
    class IfcSpecularRoughness extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSPECULARROUGHNESS";
      }
    }
    IFC42.IfcSpecularRoughness = IfcSpecularRoughness;
    class IfcTemperatureGradientMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTEMPERATUREGRADIENTMEASURE";
      }
    }
    IFC42.IfcTemperatureGradientMeasure = IfcTemperatureGradientMeasure;
    class IfcTemperatureRateOfChangeMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTEMPERATURERATEOFCHANGEMEASURE";
      }
    }
    IFC42.IfcTemperatureRateOfChangeMeasure = IfcTemperatureRateOfChangeMeasure;
    class IfcText {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCTEXT";
      }
    }
    IFC42.IfcText = IfcText;
    class IfcTextAlignment {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCTEXTALIGNMENT";
      }
    }
    IFC42.IfcTextAlignment = IfcTextAlignment;
    class IfcTextDecoration {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCTEXTDECORATION";
      }
    }
    IFC42.IfcTextDecoration = IfcTextDecoration;
    class IfcTextFontName {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCTEXTFONTNAME";
      }
    }
    IFC42.IfcTextFontName = IfcTextFontName;
    class IfcTextTransformation {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCTEXTTRANSFORMATION";
      }
    }
    IFC42.IfcTextTransformation = IfcTextTransformation;
    class IfcThermalAdmittanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTHERMALADMITTANCEMEASURE";
      }
    }
    IFC42.IfcThermalAdmittanceMeasure = IfcThermalAdmittanceMeasure;
    class IfcThermalConductivityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTHERMALCONDUCTIVITYMEASURE";
      }
    }
    IFC42.IfcThermalConductivityMeasure = IfcThermalConductivityMeasure;
    class IfcThermalExpansionCoefficientMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTHERMALEXPANSIONCOEFFICIENTMEASURE";
      }
    }
    IFC42.IfcThermalExpansionCoefficientMeasure = IfcThermalExpansionCoefficientMeasure;
    class IfcThermalResistanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTHERMALRESISTANCEMEASURE";
      }
    }
    IFC42.IfcThermalResistanceMeasure = IfcThermalResistanceMeasure;
    class IfcThermalTransmittanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTHERMALTRANSMITTANCEMEASURE";
      }
    }
    IFC42.IfcThermalTransmittanceMeasure = IfcThermalTransmittanceMeasure;
    class IfcThermodynamicTemperatureMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTHERMODYNAMICTEMPERATUREMEASURE";
      }
    }
    IFC42.IfcThermodynamicTemperatureMeasure = IfcThermodynamicTemperatureMeasure;
    class IfcTime {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCTIME";
      }
    }
    IFC42.IfcTime = IfcTime;
    class IfcTimeMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTIMEMEASURE";
      }
    }
    IFC42.IfcTimeMeasure = IfcTimeMeasure;
    class IfcTimeStamp extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCTIMESTAMP";
      }
    }
    IFC42.IfcTimeStamp = IfcTimeStamp;
    class IfcTorqueMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTORQUEMEASURE";
      }
    }
    IFC42.IfcTorqueMeasure = IfcTorqueMeasure;
    class IfcURIReference {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCURIREFERENCE";
      }
    }
    IFC42.IfcURIReference = IfcURIReference;
    class IfcVaporPermeabilityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCVAPORPERMEABILITYMEASURE";
      }
    }
    IFC42.IfcVaporPermeabilityMeasure = IfcVaporPermeabilityMeasure;
    class IfcVolumeMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCVOLUMEMEASURE";
      }
    }
    IFC42.IfcVolumeMeasure = IfcVolumeMeasure;
    class IfcVolumetricFlowRateMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCVOLUMETRICFLOWRATEMEASURE";
      }
    }
    IFC42.IfcVolumetricFlowRateMeasure = IfcVolumetricFlowRateMeasure;
    class IfcWarpingConstantMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCWARPINGCONSTANTMEASURE";
      }
    }
    IFC42.IfcWarpingConstantMeasure = IfcWarpingConstantMeasure;
    class IfcWarpingMomentMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCWARPINGMOMENTMEASURE";
      }
    }
    IFC42.IfcWarpingMomentMeasure = IfcWarpingMomentMeasure;
    class IfcActionRequestTypeEnum {
      static {
        this.EMAIL = { type: 3, value: "EMAIL" };
      }
      static {
        this.FAX = { type: 3, value: "FAX" };
      }
      static {
        this.PHONE = { type: 3, value: "PHONE" };
      }
      static {
        this.POST = { type: 3, value: "POST" };
      }
      static {
        this.VERBAL = { type: 3, value: "VERBAL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcActionRequestTypeEnum = IfcActionRequestTypeEnum;
    class IfcActionSourceTypeEnum {
      static {
        this.DEAD_LOAD_G = { type: 3, value: "DEAD_LOAD_G" };
      }
      static {
        this.COMPLETION_G1 = { type: 3, value: "COMPLETION_G1" };
      }
      static {
        this.LIVE_LOAD_Q = { type: 3, value: "LIVE_LOAD_Q" };
      }
      static {
        this.SNOW_S = { type: 3, value: "SNOW_S" };
      }
      static {
        this.WIND_W = { type: 3, value: "WIND_W" };
      }
      static {
        this.PRESTRESSING_P = { type: 3, value: "PRESTRESSING_P" };
      }
      static {
        this.SETTLEMENT_U = { type: 3, value: "SETTLEMENT_U" };
      }
      static {
        this.TEMPERATURE_T = { type: 3, value: "TEMPERATURE_T" };
      }
      static {
        this.EARTHQUAKE_E = { type: 3, value: "EARTHQUAKE_E" };
      }
      static {
        this.FIRE = { type: 3, value: "FIRE" };
      }
      static {
        this.IMPULSE = { type: 3, value: "IMPULSE" };
      }
      static {
        this.IMPACT = { type: 3, value: "IMPACT" };
      }
      static {
        this.TRANSPORT = { type: 3, value: "TRANSPORT" };
      }
      static {
        this.ERECTION = { type: 3, value: "ERECTION" };
      }
      static {
        this.PROPPING = { type: 3, value: "PROPPING" };
      }
      static {
        this.SYSTEM_IMPERFECTION = { type: 3, value: "SYSTEM_IMPERFECTION" };
      }
      static {
        this.SHRINKAGE = { type: 3, value: "SHRINKAGE" };
      }
      static {
        this.CREEP = { type: 3, value: "CREEP" };
      }
      static {
        this.LACK_OF_FIT = { type: 3, value: "LACK_OF_FIT" };
      }
      static {
        this.BUOYANCY = { type: 3, value: "BUOYANCY" };
      }
      static {
        this.ICE = { type: 3, value: "ICE" };
      }
      static {
        this.CURRENT = { type: 3, value: "CURRENT" };
      }
      static {
        this.WAVE = { type: 3, value: "WAVE" };
      }
      static {
        this.RAIN = { type: 3, value: "RAIN" };
      }
      static {
        this.BRAKES = { type: 3, value: "BRAKES" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcActionSourceTypeEnum = IfcActionSourceTypeEnum;
    class IfcActionTypeEnum {
      static {
        this.PERMANENT_G = { type: 3, value: "PERMANENT_G" };
      }
      static {
        this.VARIABLE_Q = { type: 3, value: "VARIABLE_Q" };
      }
      static {
        this.EXTRAORDINARY_A = { type: 3, value: "EXTRAORDINARY_A" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcActionTypeEnum = IfcActionTypeEnum;
    class IfcActuatorTypeEnum {
      static {
        this.ELECTRICACTUATOR = { type: 3, value: "ELECTRICACTUATOR" };
      }
      static {
        this.HANDOPERATEDACTUATOR = { type: 3, value: "HANDOPERATEDACTUATOR" };
      }
      static {
        this.HYDRAULICACTUATOR = { type: 3, value: "HYDRAULICACTUATOR" };
      }
      static {
        this.PNEUMATICACTUATOR = { type: 3, value: "PNEUMATICACTUATOR" };
      }
      static {
        this.THERMOSTATICACTUATOR = { type: 3, value: "THERMOSTATICACTUATOR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcActuatorTypeEnum = IfcActuatorTypeEnum;
    class IfcAddressTypeEnum {
      static {
        this.OFFICE = { type: 3, value: "OFFICE" };
      }
      static {
        this.SITE = { type: 3, value: "SITE" };
      }
      static {
        this.HOME = { type: 3, value: "HOME" };
      }
      static {
        this.DISTRIBUTIONPOINT = { type: 3, value: "DISTRIBUTIONPOINT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
    }
    IFC42.IfcAddressTypeEnum = IfcAddressTypeEnum;
    class IfcAirTerminalBoxTypeEnum {
      static {
        this.CONSTANTFLOW = { type: 3, value: "CONSTANTFLOW" };
      }
      static {
        this.VARIABLEFLOWPRESSUREDEPENDANT = { type: 3, value: "VARIABLEFLOWPRESSUREDEPENDANT" };
      }
      static {
        this.VARIABLEFLOWPRESSUREINDEPENDANT = { type: 3, value: "VARIABLEFLOWPRESSUREINDEPENDANT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcAirTerminalBoxTypeEnum = IfcAirTerminalBoxTypeEnum;
    class IfcAirTerminalTypeEnum {
      static {
        this.DIFFUSER = { type: 3, value: "DIFFUSER" };
      }
      static {
        this.GRILLE = { type: 3, value: "GRILLE" };
      }
      static {
        this.LOUVRE = { type: 3, value: "LOUVRE" };
      }
      static {
        this.REGISTER = { type: 3, value: "REGISTER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcAirTerminalTypeEnum = IfcAirTerminalTypeEnum;
    class IfcAirToAirHeatRecoveryTypeEnum {
      static {
        this.FIXEDPLATECOUNTERFLOWEXCHANGER = { type: 3, value: "FIXEDPLATECOUNTERFLOWEXCHANGER" };
      }
      static {
        this.FIXEDPLATECROSSFLOWEXCHANGER = { type: 3, value: "FIXEDPLATECROSSFLOWEXCHANGER" };
      }
      static {
        this.FIXEDPLATEPARALLELFLOWEXCHANGER = { type: 3, value: "FIXEDPLATEPARALLELFLOWEXCHANGER" };
      }
      static {
        this.ROTARYWHEEL = { type: 3, value: "ROTARYWHEEL" };
      }
      static {
        this.RUNAROUNDCOILLOOP = { type: 3, value: "RUNAROUNDCOILLOOP" };
      }
      static {
        this.HEATPIPE = { type: 3, value: "HEATPIPE" };
      }
      static {
        this.TWINTOWERENTHALPYRECOVERYLOOPS = { type: 3, value: "TWINTOWERENTHALPYRECOVERYLOOPS" };
      }
      static {
        this.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS = { type: 3, value: "THERMOSIPHONSEALEDTUBEHEATEXCHANGERS" };
      }
      static {
        this.THERMOSIPHONCOILTYPEHEATEXCHANGERS = { type: 3, value: "THERMOSIPHONCOILTYPEHEATEXCHANGERS" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcAirToAirHeatRecoveryTypeEnum = IfcAirToAirHeatRecoveryTypeEnum;
    class IfcAlarmTypeEnum {
      static {
        this.BELL = { type: 3, value: "BELL" };
      }
      static {
        this.BREAKGLASSBUTTON = { type: 3, value: "BREAKGLASSBUTTON" };
      }
      static {
        this.LIGHT = { type: 3, value: "LIGHT" };
      }
      static {
        this.MANUALPULLBOX = { type: 3, value: "MANUALPULLBOX" };
      }
      static {
        this.SIREN = { type: 3, value: "SIREN" };
      }
      static {
        this.WHISTLE = { type: 3, value: "WHISTLE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcAlarmTypeEnum = IfcAlarmTypeEnum;
    class IfcAnalysisModelTypeEnum {
      static {
        this.IN_PLANE_LOADING_2D = { type: 3, value: "IN_PLANE_LOADING_2D" };
      }
      static {
        this.OUT_PLANE_LOADING_2D = { type: 3, value: "OUT_PLANE_LOADING_2D" };
      }
      static {
        this.LOADING_3D = { type: 3, value: "LOADING_3D" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcAnalysisModelTypeEnum = IfcAnalysisModelTypeEnum;
    class IfcAnalysisTheoryTypeEnum {
      static {
        this.FIRST_ORDER_THEORY = { type: 3, value: "FIRST_ORDER_THEORY" };
      }
      static {
        this.SECOND_ORDER_THEORY = { type: 3, value: "SECOND_ORDER_THEORY" };
      }
      static {
        this.THIRD_ORDER_THEORY = { type: 3, value: "THIRD_ORDER_THEORY" };
      }
      static {
        this.FULL_NONLINEAR_THEORY = { type: 3, value: "FULL_NONLINEAR_THEORY" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcAnalysisTheoryTypeEnum = IfcAnalysisTheoryTypeEnum;
    class IfcArithmeticOperatorEnum {
      static {
        this.ADD = { type: 3, value: "ADD" };
      }
      static {
        this.DIVIDE = { type: 3, value: "DIVIDE" };
      }
      static {
        this.MULTIPLY = { type: 3, value: "MULTIPLY" };
      }
      static {
        this.SUBTRACT = { type: 3, value: "SUBTRACT" };
      }
    }
    IFC42.IfcArithmeticOperatorEnum = IfcArithmeticOperatorEnum;
    class IfcAssemblyPlaceEnum {
      static {
        this.SITE = { type: 3, value: "SITE" };
      }
      static {
        this.FACTORY = { type: 3, value: "FACTORY" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcAssemblyPlaceEnum = IfcAssemblyPlaceEnum;
    class IfcAudioVisualApplianceTypeEnum {
      static {
        this.AMPLIFIER = { type: 3, value: "AMPLIFIER" };
      }
      static {
        this.CAMERA = { type: 3, value: "CAMERA" };
      }
      static {
        this.DISPLAY = { type: 3, value: "DISPLAY" };
      }
      static {
        this.MICROPHONE = { type: 3, value: "MICROPHONE" };
      }
      static {
        this.PLAYER = { type: 3, value: "PLAYER" };
      }
      static {
        this.PROJECTOR = { type: 3, value: "PROJECTOR" };
      }
      static {
        this.RECEIVER = { type: 3, value: "RECEIVER" };
      }
      static {
        this.SPEAKER = { type: 3, value: "SPEAKER" };
      }
      static {
        this.SWITCHER = { type: 3, value: "SWITCHER" };
      }
      static {
        this.TELEPHONE = { type: 3, value: "TELEPHONE" };
      }
      static {
        this.TUNER = { type: 3, value: "TUNER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcAudioVisualApplianceTypeEnum = IfcAudioVisualApplianceTypeEnum;
    class IfcBSplineCurveForm {
      static {
        this.POLYLINE_FORM = { type: 3, value: "POLYLINE_FORM" };
      }
      static {
        this.CIRCULAR_ARC = { type: 3, value: "CIRCULAR_ARC" };
      }
      static {
        this.ELLIPTIC_ARC = { type: 3, value: "ELLIPTIC_ARC" };
      }
      static {
        this.PARABOLIC_ARC = { type: 3, value: "PARABOLIC_ARC" };
      }
      static {
        this.HYPERBOLIC_ARC = { type: 3, value: "HYPERBOLIC_ARC" };
      }
      static {
        this.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" };
      }
    }
    IFC42.IfcBSplineCurveForm = IfcBSplineCurveForm;
    class IfcBSplineSurfaceForm {
      static {
        this.PLANE_SURF = { type: 3, value: "PLANE_SURF" };
      }
      static {
        this.CYLINDRICAL_SURF = { type: 3, value: "CYLINDRICAL_SURF" };
      }
      static {
        this.CONICAL_SURF = { type: 3, value: "CONICAL_SURF" };
      }
      static {
        this.SPHERICAL_SURF = { type: 3, value: "SPHERICAL_SURF" };
      }
      static {
        this.TOROIDAL_SURF = { type: 3, value: "TOROIDAL_SURF" };
      }
      static {
        this.SURF_OF_REVOLUTION = { type: 3, value: "SURF_OF_REVOLUTION" };
      }
      static {
        this.RULED_SURF = { type: 3, value: "RULED_SURF" };
      }
      static {
        this.GENERALISED_CONE = { type: 3, value: "GENERALISED_CONE" };
      }
      static {
        this.QUADRIC_SURF = { type: 3, value: "QUADRIC_SURF" };
      }
      static {
        this.SURF_OF_LINEAR_EXTRUSION = { type: 3, value: "SURF_OF_LINEAR_EXTRUSION" };
      }
      static {
        this.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" };
      }
    }
    IFC42.IfcBSplineSurfaceForm = IfcBSplineSurfaceForm;
    class IfcBeamTypeEnum {
      static {
        this.BEAM = { type: 3, value: "BEAM" };
      }
      static {
        this.JOIST = { type: 3, value: "JOIST" };
      }
      static {
        this.HOLLOWCORE = { type: 3, value: "HOLLOWCORE" };
      }
      static {
        this.LINTEL = { type: 3, value: "LINTEL" };
      }
      static {
        this.SPANDREL = { type: 3, value: "SPANDREL" };
      }
      static {
        this.T_BEAM = { type: 3, value: "T_BEAM" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcBeamTypeEnum = IfcBeamTypeEnum;
    class IfcBenchmarkEnum {
      static {
        this.GREATERTHAN = { type: 3, value: "GREATERTHAN" };
      }
      static {
        this.GREATERTHANOREQUALTO = { type: 3, value: "GREATERTHANOREQUALTO" };
      }
      static {
        this.LESSTHAN = { type: 3, value: "LESSTHAN" };
      }
      static {
        this.LESSTHANOREQUALTO = { type: 3, value: "LESSTHANOREQUALTO" };
      }
      static {
        this.EQUALTO = { type: 3, value: "EQUALTO" };
      }
      static {
        this.NOTEQUALTO = { type: 3, value: "NOTEQUALTO" };
      }
      static {
        this.INCLUDES = { type: 3, value: "INCLUDES" };
      }
      static {
        this.NOTINCLUDES = { type: 3, value: "NOTINCLUDES" };
      }
      static {
        this.INCLUDEDIN = { type: 3, value: "INCLUDEDIN" };
      }
      static {
        this.NOTINCLUDEDIN = { type: 3, value: "NOTINCLUDEDIN" };
      }
    }
    IFC42.IfcBenchmarkEnum = IfcBenchmarkEnum;
    class IfcBoilerTypeEnum {
      static {
        this.WATER = { type: 3, value: "WATER" };
      }
      static {
        this.STEAM = { type: 3, value: "STEAM" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcBoilerTypeEnum = IfcBoilerTypeEnum;
    class IfcBooleanOperator {
      static {
        this.UNION = { type: 3, value: "UNION" };
      }
      static {
        this.INTERSECTION = { type: 3, value: "INTERSECTION" };
      }
      static {
        this.DIFFERENCE = { type: 3, value: "DIFFERENCE" };
      }
    }
    IFC42.IfcBooleanOperator = IfcBooleanOperator;
    class IfcBuildingElementPartTypeEnum {
      static {
        this.INSULATION = { type: 3, value: "INSULATION" };
      }
      static {
        this.PRECASTPANEL = { type: 3, value: "PRECASTPANEL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcBuildingElementPartTypeEnum = IfcBuildingElementPartTypeEnum;
    class IfcBuildingElementProxyTypeEnum {
      static {
        this.COMPLEX = { type: 3, value: "COMPLEX" };
      }
      static {
        this.ELEMENT = { type: 3, value: "ELEMENT" };
      }
      static {
        this.PARTIAL = { type: 3, value: "PARTIAL" };
      }
      static {
        this.PROVISIONFORVOID = { type: 3, value: "PROVISIONFORVOID" };
      }
      static {
        this.PROVISIONFORSPACE = { type: 3, value: "PROVISIONFORSPACE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcBuildingElementProxyTypeEnum = IfcBuildingElementProxyTypeEnum;
    class IfcBuildingSystemTypeEnum {
      static {
        this.FENESTRATION = { type: 3, value: "FENESTRATION" };
      }
      static {
        this.FOUNDATION = { type: 3, value: "FOUNDATION" };
      }
      static {
        this.LOADBEARING = { type: 3, value: "LOADBEARING" };
      }
      static {
        this.OUTERSHELL = { type: 3, value: "OUTERSHELL" };
      }
      static {
        this.SHADING = { type: 3, value: "SHADING" };
      }
      static {
        this.TRANSPORT = { type: 3, value: "TRANSPORT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcBuildingSystemTypeEnum = IfcBuildingSystemTypeEnum;
    class IfcBurnerTypeEnum {
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcBurnerTypeEnum = IfcBurnerTypeEnum;
    class IfcCableCarrierFittingTypeEnum {
      static {
        this.BEND = { type: 3, value: "BEND" };
      }
      static {
        this.CROSS = { type: 3, value: "CROSS" };
      }
      static {
        this.REDUCER = { type: 3, value: "REDUCER" };
      }
      static {
        this.TEE = { type: 3, value: "TEE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcCableCarrierFittingTypeEnum = IfcCableCarrierFittingTypeEnum;
    class IfcCableCarrierSegmentTypeEnum {
      static {
        this.CABLELADDERSEGMENT = { type: 3, value: "CABLELADDERSEGMENT" };
      }
      static {
        this.CABLETRAYSEGMENT = { type: 3, value: "CABLETRAYSEGMENT" };
      }
      static {
        this.CABLETRUNKINGSEGMENT = { type: 3, value: "CABLETRUNKINGSEGMENT" };
      }
      static {
        this.CONDUITSEGMENT = { type: 3, value: "CONDUITSEGMENT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcCableCarrierSegmentTypeEnum = IfcCableCarrierSegmentTypeEnum;
    class IfcCableFittingTypeEnum {
      static {
        this.CONNECTOR = { type: 3, value: "CONNECTOR" };
      }
      static {
        this.ENTRY = { type: 3, value: "ENTRY" };
      }
      static {
        this.EXIT = { type: 3, value: "EXIT" };
      }
      static {
        this.JUNCTION = { type: 3, value: "JUNCTION" };
      }
      static {
        this.TRANSITION = { type: 3, value: "TRANSITION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcCableFittingTypeEnum = IfcCableFittingTypeEnum;
    class IfcCableSegmentTypeEnum {
      static {
        this.BUSBARSEGMENT = { type: 3, value: "BUSBARSEGMENT" };
      }
      static {
        this.CABLESEGMENT = { type: 3, value: "CABLESEGMENT" };
      }
      static {
        this.CONDUCTORSEGMENT = { type: 3, value: "CONDUCTORSEGMENT" };
      }
      static {
        this.CORESEGMENT = { type: 3, value: "CORESEGMENT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcCableSegmentTypeEnum = IfcCableSegmentTypeEnum;
    class IfcChangeActionEnum {
      static {
        this.NOCHANGE = { type: 3, value: "NOCHANGE" };
      }
      static {
        this.MODIFIED = { type: 3, value: "MODIFIED" };
      }
      static {
        this.ADDED = { type: 3, value: "ADDED" };
      }
      static {
        this.DELETED = { type: 3, value: "DELETED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcChangeActionEnum = IfcChangeActionEnum;
    class IfcChillerTypeEnum {
      static {
        this.AIRCOOLED = { type: 3, value: "AIRCOOLED" };
      }
      static {
        this.WATERCOOLED = { type: 3, value: "WATERCOOLED" };
      }
      static {
        this.HEATRECOVERY = { type: 3, value: "HEATRECOVERY" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcChillerTypeEnum = IfcChillerTypeEnum;
    class IfcChimneyTypeEnum {
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcChimneyTypeEnum = IfcChimneyTypeEnum;
    class IfcCoilTypeEnum {
      static {
        this.DXCOOLINGCOIL = { type: 3, value: "DXCOOLINGCOIL" };
      }
      static {
        this.ELECTRICHEATINGCOIL = { type: 3, value: "ELECTRICHEATINGCOIL" };
      }
      static {
        this.GASHEATINGCOIL = { type: 3, value: "GASHEATINGCOIL" };
      }
      static {
        this.HYDRONICCOIL = { type: 3, value: "HYDRONICCOIL" };
      }
      static {
        this.STEAMHEATINGCOIL = { type: 3, value: "STEAMHEATINGCOIL" };
      }
      static {
        this.WATERCOOLINGCOIL = { type: 3, value: "WATERCOOLINGCOIL" };
      }
      static {
        this.WATERHEATINGCOIL = { type: 3, value: "WATERHEATINGCOIL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcCoilTypeEnum = IfcCoilTypeEnum;
    class IfcColumnTypeEnum {
      static {
        this.COLUMN = { type: 3, value: "COLUMN" };
      }
      static {
        this.PILASTER = { type: 3, value: "PILASTER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcColumnTypeEnum = IfcColumnTypeEnum;
    class IfcCommunicationsApplianceTypeEnum {
      static {
        this.ANTENNA = { type: 3, value: "ANTENNA" };
      }
      static {
        this.COMPUTER = { type: 3, value: "COMPUTER" };
      }
      static {
        this.FAX = { type: 3, value: "FAX" };
      }
      static {
        this.GATEWAY = { type: 3, value: "GATEWAY" };
      }
      static {
        this.MODEM = { type: 3, value: "MODEM" };
      }
      static {
        this.NETWORKAPPLIANCE = { type: 3, value: "NETWORKAPPLIANCE" };
      }
      static {
        this.NETWORKBRIDGE = { type: 3, value: "NETWORKBRIDGE" };
      }
      static {
        this.NETWORKHUB = { type: 3, value: "NETWORKHUB" };
      }
      static {
        this.PRINTER = { type: 3, value: "PRINTER" };
      }
      static {
        this.REPEATER = { type: 3, value: "REPEATER" };
      }
      static {
        this.ROUTER = { type: 3, value: "ROUTER" };
      }
      static {
        this.SCANNER = { type: 3, value: "SCANNER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcCommunicationsApplianceTypeEnum = IfcCommunicationsApplianceTypeEnum;
    class IfcComplexPropertyTemplateTypeEnum {
      static {
        this.P_COMPLEX = { type: 3, value: "P_COMPLEX" };
      }
      static {
        this.Q_COMPLEX = { type: 3, value: "Q_COMPLEX" };
      }
    }
    IFC42.IfcComplexPropertyTemplateTypeEnum = IfcComplexPropertyTemplateTypeEnum;
    class IfcCompressorTypeEnum {
      static {
        this.DYNAMIC = { type: 3, value: "DYNAMIC" };
      }
      static {
        this.RECIPROCATING = { type: 3, value: "RECIPROCATING" };
      }
      static {
        this.ROTARY = { type: 3, value: "ROTARY" };
      }
      static {
        this.SCROLL = { type: 3, value: "SCROLL" };
      }
      static {
        this.TROCHOIDAL = { type: 3, value: "TROCHOIDAL" };
      }
      static {
        this.SINGLESTAGE = { type: 3, value: "SINGLESTAGE" };
      }
      static {
        this.BOOSTER = { type: 3, value: "BOOSTER" };
      }
      static {
        this.OPENTYPE = { type: 3, value: "OPENTYPE" };
      }
      static {
        this.HERMETIC = { type: 3, value: "HERMETIC" };
      }
      static {
        this.SEMIHERMETIC = { type: 3, value: "SEMIHERMETIC" };
      }
      static {
        this.WELDEDSHELLHERMETIC = { type: 3, value: "WELDEDSHELLHERMETIC" };
      }
      static {
        this.ROLLINGPISTON = { type: 3, value: "ROLLINGPISTON" };
      }
      static {
        this.ROTARYVANE = { type: 3, value: "ROTARYVANE" };
      }
      static {
        this.SINGLESCREW = { type: 3, value: "SINGLESCREW" };
      }
      static {
        this.TWINSCREW = { type: 3, value: "TWINSCREW" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcCompressorTypeEnum = IfcCompressorTypeEnum;
    class IfcCondenserTypeEnum {
      static {
        this.AIRCOOLED = { type: 3, value: "AIRCOOLED" };
      }
      static {
        this.EVAPORATIVECOOLED = { type: 3, value: "EVAPORATIVECOOLED" };
      }
      static {
        this.WATERCOOLED = { type: 3, value: "WATERCOOLED" };
      }
      static {
        this.WATERCOOLEDBRAZEDPLATE = { type: 3, value: "WATERCOOLEDBRAZEDPLATE" };
      }
      static {
        this.WATERCOOLEDSHELLCOIL = { type: 3, value: "WATERCOOLEDSHELLCOIL" };
      }
      static {
        this.WATERCOOLEDSHELLTUBE = { type: 3, value: "WATERCOOLEDSHELLTUBE" };
      }
      static {
        this.WATERCOOLEDTUBEINTUBE = { type: 3, value: "WATERCOOLEDTUBEINTUBE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcCondenserTypeEnum = IfcCondenserTypeEnum;
    class IfcConnectionTypeEnum {
      static {
        this.ATPATH = { type: 3, value: "ATPATH" };
      }
      static {
        this.ATSTART = { type: 3, value: "ATSTART" };
      }
      static {
        this.ATEND = { type: 3, value: "ATEND" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcConnectionTypeEnum = IfcConnectionTypeEnum;
    class IfcConstraintEnum {
      static {
        this.HARD = { type: 3, value: "HARD" };
      }
      static {
        this.SOFT = { type: 3, value: "SOFT" };
      }
      static {
        this.ADVISORY = { type: 3, value: "ADVISORY" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcConstraintEnum = IfcConstraintEnum;
    class IfcConstructionEquipmentResourceTypeEnum {
      static {
        this.DEMOLISHING = { type: 3, value: "DEMOLISHING" };
      }
      static {
        this.EARTHMOVING = { type: 3, value: "EARTHMOVING" };
      }
      static {
        this.ERECTING = { type: 3, value: "ERECTING" };
      }
      static {
        this.HEATING = { type: 3, value: "HEATING" };
      }
      static {
        this.LIGHTING = { type: 3, value: "LIGHTING" };
      }
      static {
        this.PAVING = { type: 3, value: "PAVING" };
      }
      static {
        this.PUMPING = { type: 3, value: "PUMPING" };
      }
      static {
        this.TRANSPORTING = { type: 3, value: "TRANSPORTING" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcConstructionEquipmentResourceTypeEnum = IfcConstructionEquipmentResourceTypeEnum;
    class IfcConstructionMaterialResourceTypeEnum {
      static {
        this.AGGREGATES = { type: 3, value: "AGGREGATES" };
      }
      static {
        this.CONCRETE = { type: 3, value: "CONCRETE" };
      }
      static {
        this.DRYWALL = { type: 3, value: "DRYWALL" };
      }
      static {
        this.FUEL = { type: 3, value: "FUEL" };
      }
      static {
        this.GYPSUM = { type: 3, value: "GYPSUM" };
      }
      static {
        this.MASONRY = { type: 3, value: "MASONRY" };
      }
      static {
        this.METAL = { type: 3, value: "METAL" };
      }
      static {
        this.PLASTIC = { type: 3, value: "PLASTIC" };
      }
      static {
        this.WOOD = { type: 3, value: "WOOD" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
    }
    IFC42.IfcConstructionMaterialResourceTypeEnum = IfcConstructionMaterialResourceTypeEnum;
    class IfcConstructionProductResourceTypeEnum {
      static {
        this.ASSEMBLY = { type: 3, value: "ASSEMBLY" };
      }
      static {
        this.FORMWORK = { type: 3, value: "FORMWORK" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcConstructionProductResourceTypeEnum = IfcConstructionProductResourceTypeEnum;
    class IfcControllerTypeEnum {
      static {
        this.FLOATING = { type: 3, value: "FLOATING" };
      }
      static {
        this.PROGRAMMABLE = { type: 3, value: "PROGRAMMABLE" };
      }
      static {
        this.PROPORTIONAL = { type: 3, value: "PROPORTIONAL" };
      }
      static {
        this.MULTIPOSITION = { type: 3, value: "MULTIPOSITION" };
      }
      static {
        this.TWOPOSITION = { type: 3, value: "TWOPOSITION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcControllerTypeEnum = IfcControllerTypeEnum;
    class IfcCooledBeamTypeEnum {
      static {
        this.ACTIVE = { type: 3, value: "ACTIVE" };
      }
      static {
        this.PASSIVE = { type: 3, value: "PASSIVE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcCooledBeamTypeEnum = IfcCooledBeamTypeEnum;
    class IfcCoolingTowerTypeEnum {
      static {
        this.NATURALDRAFT = { type: 3, value: "NATURALDRAFT" };
      }
      static {
        this.MECHANICALINDUCEDDRAFT = { type: 3, value: "MECHANICALINDUCEDDRAFT" };
      }
      static {
        this.MECHANICALFORCEDDRAFT = { type: 3, value: "MECHANICALFORCEDDRAFT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcCoolingTowerTypeEnum = IfcCoolingTowerTypeEnum;
    class IfcCostItemTypeEnum {
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcCostItemTypeEnum = IfcCostItemTypeEnum;
    class IfcCostScheduleTypeEnum {
      static {
        this.BUDGET = { type: 3, value: "BUDGET" };
      }
      static {
        this.COSTPLAN = { type: 3, value: "COSTPLAN" };
      }
      static {
        this.ESTIMATE = { type: 3, value: "ESTIMATE" };
      }
      static {
        this.TENDER = { type: 3, value: "TENDER" };
      }
      static {
        this.PRICEDBILLOFQUANTITIES = { type: 3, value: "PRICEDBILLOFQUANTITIES" };
      }
      static {
        this.UNPRICEDBILLOFQUANTITIES = { type: 3, value: "UNPRICEDBILLOFQUANTITIES" };
      }
      static {
        this.SCHEDULEOFRATES = { type: 3, value: "SCHEDULEOFRATES" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcCostScheduleTypeEnum = IfcCostScheduleTypeEnum;
    class IfcCoveringTypeEnum {
      static {
        this.CEILING = { type: 3, value: "CEILING" };
      }
      static {
        this.FLOORING = { type: 3, value: "FLOORING" };
      }
      static {
        this.CLADDING = { type: 3, value: "CLADDING" };
      }
      static {
        this.ROOFING = { type: 3, value: "ROOFING" };
      }
      static {
        this.MOLDING = { type: 3, value: "MOLDING" };
      }
      static {
        this.SKIRTINGBOARD = { type: 3, value: "SKIRTINGBOARD" };
      }
      static {
        this.INSULATION = { type: 3, value: "INSULATION" };
      }
      static {
        this.MEMBRANE = { type: 3, value: "MEMBRANE" };
      }
      static {
        this.SLEEVING = { type: 3, value: "SLEEVING" };
      }
      static {
        this.WRAPPING = { type: 3, value: "WRAPPING" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcCoveringTypeEnum = IfcCoveringTypeEnum;
    class IfcCrewResourceTypeEnum {
      static {
        this.OFFICE = { type: 3, value: "OFFICE" };
      }
      static {
        this.SITE = { type: 3, value: "SITE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcCrewResourceTypeEnum = IfcCrewResourceTypeEnum;
    class IfcCurtainWallTypeEnum {
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcCurtainWallTypeEnum = IfcCurtainWallTypeEnum;
    class IfcCurveInterpolationEnum {
      static {
        this.LINEAR = { type: 3, value: "LINEAR" };
      }
      static {
        this.LOG_LINEAR = { type: 3, value: "LOG_LINEAR" };
      }
      static {
        this.LOG_LOG = { type: 3, value: "LOG_LOG" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcCurveInterpolationEnum = IfcCurveInterpolationEnum;
    class IfcDamperTypeEnum {
      static {
        this.BACKDRAFTDAMPER = { type: 3, value: "BACKDRAFTDAMPER" };
      }
      static {
        this.BALANCINGDAMPER = { type: 3, value: "BALANCINGDAMPER" };
      }
      static {
        this.BLASTDAMPER = { type: 3, value: "BLASTDAMPER" };
      }
      static {
        this.CONTROLDAMPER = { type: 3, value: "CONTROLDAMPER" };
      }
      static {
        this.FIREDAMPER = { type: 3, value: "FIREDAMPER" };
      }
      static {
        this.FIRESMOKEDAMPER = { type: 3, value: "FIRESMOKEDAMPER" };
      }
      static {
        this.FUMEHOODEXHAUST = { type: 3, value: "FUMEHOODEXHAUST" };
      }
      static {
        this.GRAVITYDAMPER = { type: 3, value: "GRAVITYDAMPER" };
      }
      static {
        this.GRAVITYRELIEFDAMPER = { type: 3, value: "GRAVITYRELIEFDAMPER" };
      }
      static {
        this.RELIEFDAMPER = { type: 3, value: "RELIEFDAMPER" };
      }
      static {
        this.SMOKEDAMPER = { type: 3, value: "SMOKEDAMPER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcDamperTypeEnum = IfcDamperTypeEnum;
    class IfcDataOriginEnum {
      static {
        this.MEASURED = { type: 3, value: "MEASURED" };
      }
      static {
        this.PREDICTED = { type: 3, value: "PREDICTED" };
      }
      static {
        this.SIMULATED = { type: 3, value: "SIMULATED" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcDataOriginEnum = IfcDataOriginEnum;
    class IfcDerivedUnitEnum {
      static {
        this.ANGULARVELOCITYUNIT = { type: 3, value: "ANGULARVELOCITYUNIT" };
      }
      static {
        this.AREADENSITYUNIT = { type: 3, value: "AREADENSITYUNIT" };
      }
      static {
        this.COMPOUNDPLANEANGLEUNIT = { type: 3, value: "COMPOUNDPLANEANGLEUNIT" };
      }
      static {
        this.DYNAMICVISCOSITYUNIT = { type: 3, value: "DYNAMICVISCOSITYUNIT" };
      }
      static {
        this.HEATFLUXDENSITYUNIT = { type: 3, value: "HEATFLUXDENSITYUNIT" };
      }
      static {
        this.INTEGERCOUNTRATEUNIT = { type: 3, value: "INTEGERCOUNTRATEUNIT" };
      }
      static {
        this.ISOTHERMALMOISTURECAPACITYUNIT = { type: 3, value: "ISOTHERMALMOISTURECAPACITYUNIT" };
      }
      static {
        this.KINEMATICVISCOSITYUNIT = { type: 3, value: "KINEMATICVISCOSITYUNIT" };
      }
      static {
        this.LINEARVELOCITYUNIT = { type: 3, value: "LINEARVELOCITYUNIT" };
      }
      static {
        this.MASSDENSITYUNIT = { type: 3, value: "MASSDENSITYUNIT" };
      }
      static {
        this.MASSFLOWRATEUNIT = { type: 3, value: "MASSFLOWRATEUNIT" };
      }
      static {
        this.MOISTUREDIFFUSIVITYUNIT = { type: 3, value: "MOISTUREDIFFUSIVITYUNIT" };
      }
      static {
        this.MOLECULARWEIGHTUNIT = { type: 3, value: "MOLECULARWEIGHTUNIT" };
      }
      static {
        this.SPECIFICHEATCAPACITYUNIT = { type: 3, value: "SPECIFICHEATCAPACITYUNIT" };
      }
      static {
        this.THERMALADMITTANCEUNIT = { type: 3, value: "THERMALADMITTANCEUNIT" };
      }
      static {
        this.THERMALCONDUCTANCEUNIT = { type: 3, value: "THERMALCONDUCTANCEUNIT" };
      }
      static {
        this.THERMALRESISTANCEUNIT = { type: 3, value: "THERMALRESISTANCEUNIT" };
      }
      static {
        this.THERMALTRANSMITTANCEUNIT = { type: 3, value: "THERMALTRANSMITTANCEUNIT" };
      }
      static {
        this.VAPORPERMEABILITYUNIT = { type: 3, value: "VAPORPERMEABILITYUNIT" };
      }
      static {
        this.VOLUMETRICFLOWRATEUNIT = { type: 3, value: "VOLUMETRICFLOWRATEUNIT" };
      }
      static {
        this.ROTATIONALFREQUENCYUNIT = { type: 3, value: "ROTATIONALFREQUENCYUNIT" };
      }
      static {
        this.TORQUEUNIT = { type: 3, value: "TORQUEUNIT" };
      }
      static {
        this.MOMENTOFINERTIAUNIT = { type: 3, value: "MOMENTOFINERTIAUNIT" };
      }
      static {
        this.LINEARMOMENTUNIT = { type: 3, value: "LINEARMOMENTUNIT" };
      }
      static {
        this.LINEARFORCEUNIT = { type: 3, value: "LINEARFORCEUNIT" };
      }
      static {
        this.PLANARFORCEUNIT = { type: 3, value: "PLANARFORCEUNIT" };
      }
      static {
        this.MODULUSOFELASTICITYUNIT = { type: 3, value: "MODULUSOFELASTICITYUNIT" };
      }
      static {
        this.SHEARMODULUSUNIT = { type: 3, value: "SHEARMODULUSUNIT" };
      }
      static {
        this.LINEARSTIFFNESSUNIT = { type: 3, value: "LINEARSTIFFNESSUNIT" };
      }
      static {
        this.ROTATIONALSTIFFNESSUNIT = { type: 3, value: "ROTATIONALSTIFFNESSUNIT" };
      }
      static {
        this.MODULUSOFSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFSUBGRADEREACTIONUNIT" };
      }
      static {
        this.ACCELERATIONUNIT = { type: 3, value: "ACCELERATIONUNIT" };
      }
      static {
        this.CURVATUREUNIT = { type: 3, value: "CURVATUREUNIT" };
      }
      static {
        this.HEATINGVALUEUNIT = { type: 3, value: "HEATINGVALUEUNIT" };
      }
      static {
        this.IONCONCENTRATIONUNIT = { type: 3, value: "IONCONCENTRATIONUNIT" };
      }
      static {
        this.LUMINOUSINTENSITYDISTRIBUTIONUNIT = { type: 3, value: "LUMINOUSINTENSITYDISTRIBUTIONUNIT" };
      }
      static {
        this.MASSPERLENGTHUNIT = { type: 3, value: "MASSPERLENGTHUNIT" };
      }
      static {
        this.MODULUSOFLINEARSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFLINEARSUBGRADEREACTIONUNIT" };
      }
      static {
        this.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFROTATIONALSUBGRADEREACTIONUNIT" };
      }
      static {
        this.PHUNIT = { type: 3, value: "PHUNIT" };
      }
      static {
        this.ROTATIONALMASSUNIT = { type: 3, value: "ROTATIONALMASSUNIT" };
      }
      static {
        this.SECTIONAREAINTEGRALUNIT = { type: 3, value: "SECTIONAREAINTEGRALUNIT" };
      }
      static {
        this.SECTIONMODULUSUNIT = { type: 3, value: "SECTIONMODULUSUNIT" };
      }
      static {
        this.SOUNDPOWERLEVELUNIT = { type: 3, value: "SOUNDPOWERLEVELUNIT" };
      }
      static {
        this.SOUNDPOWERUNIT = { type: 3, value: "SOUNDPOWERUNIT" };
      }
      static {
        this.SOUNDPRESSURELEVELUNIT = { type: 3, value: "SOUNDPRESSURELEVELUNIT" };
      }
      static {
        this.SOUNDPRESSUREUNIT = { type: 3, value: "SOUNDPRESSUREUNIT" };
      }
      static {
        this.TEMPERATUREGRADIENTUNIT = { type: 3, value: "TEMPERATUREGRADIENTUNIT" };
      }
      static {
        this.TEMPERATURERATEOFCHANGEUNIT = { type: 3, value: "TEMPERATURERATEOFCHANGEUNIT" };
      }
      static {
        this.THERMALEXPANSIONCOEFFICIENTUNIT = { type: 3, value: "THERMALEXPANSIONCOEFFICIENTUNIT" };
      }
      static {
        this.WARPINGCONSTANTUNIT = { type: 3, value: "WARPINGCONSTANTUNIT" };
      }
      static {
        this.WARPINGMOMENTUNIT = { type: 3, value: "WARPINGMOMENTUNIT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
    }
    IFC42.IfcDerivedUnitEnum = IfcDerivedUnitEnum;
    class IfcDirectionSenseEnum {
      static {
        this.POSITIVE = { type: 3, value: "POSITIVE" };
      }
      static {
        this.NEGATIVE = { type: 3, value: "NEGATIVE" };
      }
    }
    IFC42.IfcDirectionSenseEnum = IfcDirectionSenseEnum;
    class IfcDiscreteAccessoryTypeEnum {
      static {
        this.ANCHORPLATE = { type: 3, value: "ANCHORPLATE" };
      }
      static {
        this.BRACKET = { type: 3, value: "BRACKET" };
      }
      static {
        this.SHOE = { type: 3, value: "SHOE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcDiscreteAccessoryTypeEnum = IfcDiscreteAccessoryTypeEnum;
    class IfcDistributionChamberElementTypeEnum {
      static {
        this.FORMEDDUCT = { type: 3, value: "FORMEDDUCT" };
      }
      static {
        this.INSPECTIONCHAMBER = { type: 3, value: "INSPECTIONCHAMBER" };
      }
      static {
        this.INSPECTIONPIT = { type: 3, value: "INSPECTIONPIT" };
      }
      static {
        this.MANHOLE = { type: 3, value: "MANHOLE" };
      }
      static {
        this.METERCHAMBER = { type: 3, value: "METERCHAMBER" };
      }
      static {
        this.SUMP = { type: 3, value: "SUMP" };
      }
      static {
        this.TRENCH = { type: 3, value: "TRENCH" };
      }
      static {
        this.VALVECHAMBER = { type: 3, value: "VALVECHAMBER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcDistributionChamberElementTypeEnum = IfcDistributionChamberElementTypeEnum;
    class IfcDistributionPortTypeEnum {
      static {
        this.CABLE = { type: 3, value: "CABLE" };
      }
      static {
        this.CABLECARRIER = { type: 3, value: "CABLECARRIER" };
      }
      static {
        this.DUCT = { type: 3, value: "DUCT" };
      }
      static {
        this.PIPE = { type: 3, value: "PIPE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcDistributionPortTypeEnum = IfcDistributionPortTypeEnum;
    class IfcDistributionSystemEnum {
      static {
        this.AIRCONDITIONING = { type: 3, value: "AIRCONDITIONING" };
      }
      static {
        this.AUDIOVISUAL = { type: 3, value: "AUDIOVISUAL" };
      }
      static {
        this.CHEMICAL = { type: 3, value: "CHEMICAL" };
      }
      static {
        this.CHILLEDWATER = { type: 3, value: "CHILLEDWATER" };
      }
      static {
        this.COMMUNICATION = { type: 3, value: "COMMUNICATION" };
      }
      static {
        this.COMPRESSEDAIR = { type: 3, value: "COMPRESSEDAIR" };
      }
      static {
        this.CONDENSERWATER = { type: 3, value: "CONDENSERWATER" };
      }
      static {
        this.CONTROL = { type: 3, value: "CONTROL" };
      }
      static {
        this.CONVEYING = { type: 3, value: "CONVEYING" };
      }
      static {
        this.DATA = { type: 3, value: "DATA" };
      }
      static {
        this.DISPOSAL = { type: 3, value: "DISPOSAL" };
      }
      static {
        this.DOMESTICCOLDWATER = { type: 3, value: "DOMESTICCOLDWATER" };
      }
      static {
        this.DOMESTICHOTWATER = { type: 3, value: "DOMESTICHOTWATER" };
      }
      static {
        this.DRAINAGE = { type: 3, value: "DRAINAGE" };
      }
      static {
        this.EARTHING = { type: 3, value: "EARTHING" };
      }
      static {
        this.ELECTRICAL = { type: 3, value: "ELECTRICAL" };
      }
      static {
        this.ELECTROACOUSTIC = { type: 3, value: "ELECTROACOUSTIC" };
      }
      static {
        this.EXHAUST = { type: 3, value: "EXHAUST" };
      }
      static {
        this.FIREPROTECTION = { type: 3, value: "FIREPROTECTION" };
      }
      static {
        this.FUEL = { type: 3, value: "FUEL" };
      }
      static {
        this.GAS = { type: 3, value: "GAS" };
      }
      static {
        this.HAZARDOUS = { type: 3, value: "HAZARDOUS" };
      }
      static {
        this.HEATING = { type: 3, value: "HEATING" };
      }
      static {
        this.LIGHTING = { type: 3, value: "LIGHTING" };
      }
      static {
        this.LIGHTNINGPROTECTION = { type: 3, value: "LIGHTNINGPROTECTION" };
      }
      static {
        this.MUNICIPALSOLIDWASTE = { type: 3, value: "MUNICIPALSOLIDWASTE" };
      }
      static {
        this.OIL = { type: 3, value: "OIL" };
      }
      static {
        this.OPERATIONAL = { type: 3, value: "OPERATIONAL" };
      }
      static {
        this.POWERGENERATION = { type: 3, value: "POWERGENERATION" };
      }
      static {
        this.RAINWATER = { type: 3, value: "RAINWATER" };
      }
      static {
        this.REFRIGERATION = { type: 3, value: "REFRIGERATION" };
      }
      static {
        this.SECURITY = { type: 3, value: "SECURITY" };
      }
      static {
        this.SEWAGE = { type: 3, value: "SEWAGE" };
      }
      static {
        this.SIGNAL = { type: 3, value: "SIGNAL" };
      }
      static {
        this.STORMWATER = { type: 3, value: "STORMWATER" };
      }
      static {
        this.TELEPHONE = { type: 3, value: "TELEPHONE" };
      }
      static {
        this.TV = { type: 3, value: "TV" };
      }
      static {
        this.VACUUM = { type: 3, value: "VACUUM" };
      }
      static {
        this.VENT = { type: 3, value: "VENT" };
      }
      static {
        this.VENTILATION = { type: 3, value: "VENTILATION" };
      }
      static {
        this.WASTEWATER = { type: 3, value: "WASTEWATER" };
      }
      static {
        this.WATERSUPPLY = { type: 3, value: "WATERSUPPLY" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcDistributionSystemEnum = IfcDistributionSystemEnum;
    class IfcDocumentConfidentialityEnum {
      static {
        this.PUBLIC = { type: 3, value: "PUBLIC" };
      }
      static {
        this.RESTRICTED = { type: 3, value: "RESTRICTED" };
      }
      static {
        this.CONFIDENTIAL = { type: 3, value: "CONFIDENTIAL" };
      }
      static {
        this.PERSONAL = { type: 3, value: "PERSONAL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcDocumentConfidentialityEnum = IfcDocumentConfidentialityEnum;
    class IfcDocumentStatusEnum {
      static {
        this.DRAFT = { type: 3, value: "DRAFT" };
      }
      static {
        this.FINALDRAFT = { type: 3, value: "FINALDRAFT" };
      }
      static {
        this.FINAL = { type: 3, value: "FINAL" };
      }
      static {
        this.REVISION = { type: 3, value: "REVISION" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcDocumentStatusEnum = IfcDocumentStatusEnum;
    class IfcDoorPanelOperationEnum {
      static {
        this.SWINGING = { type: 3, value: "SWINGING" };
      }
      static {
        this.DOUBLE_ACTING = { type: 3, value: "DOUBLE_ACTING" };
      }
      static {
        this.SLIDING = { type: 3, value: "SLIDING" };
      }
      static {
        this.FOLDING = { type: 3, value: "FOLDING" };
      }
      static {
        this.REVOLVING = { type: 3, value: "REVOLVING" };
      }
      static {
        this.ROLLINGUP = { type: 3, value: "ROLLINGUP" };
      }
      static {
        this.FIXEDPANEL = { type: 3, value: "FIXEDPANEL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcDoorPanelOperationEnum = IfcDoorPanelOperationEnum;
    class IfcDoorPanelPositionEnum {
      static {
        this.LEFT = { type: 3, value: "LEFT" };
      }
      static {
        this.MIDDLE = { type: 3, value: "MIDDLE" };
      }
      static {
        this.RIGHT = { type: 3, value: "RIGHT" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcDoorPanelPositionEnum = IfcDoorPanelPositionEnum;
    class IfcDoorStyleConstructionEnum {
      static {
        this.ALUMINIUM = { type: 3, value: "ALUMINIUM" };
      }
      static {
        this.HIGH_GRADE_STEEL = { type: 3, value: "HIGH_GRADE_STEEL" };
      }
      static {
        this.STEEL = { type: 3, value: "STEEL" };
      }
      static {
        this.WOOD = { type: 3, value: "WOOD" };
      }
      static {
        this.ALUMINIUM_WOOD = { type: 3, value: "ALUMINIUM_WOOD" };
      }
      static {
        this.ALUMINIUM_PLASTIC = { type: 3, value: "ALUMINIUM_PLASTIC" };
      }
      static {
        this.PLASTIC = { type: 3, value: "PLASTIC" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcDoorStyleConstructionEnum = IfcDoorStyleConstructionEnum;
    class IfcDoorStyleOperationEnum {
      static {
        this.SINGLE_SWING_LEFT = { type: 3, value: "SINGLE_SWING_LEFT" };
      }
      static {
        this.SINGLE_SWING_RIGHT = { type: 3, value: "SINGLE_SWING_RIGHT" };
      }
      static {
        this.DOUBLE_DOOR_SINGLE_SWING = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING" };
      }
      static {
        this.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT" };
      }
      static {
        this.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT" };
      }
      static {
        this.DOUBLE_SWING_LEFT = { type: 3, value: "DOUBLE_SWING_LEFT" };
      }
      static {
        this.DOUBLE_SWING_RIGHT = { type: 3, value: "DOUBLE_SWING_RIGHT" };
      }
      static {
        this.DOUBLE_DOOR_DOUBLE_SWING = { type: 3, value: "DOUBLE_DOOR_DOUBLE_SWING" };
      }
      static {
        this.SLIDING_TO_LEFT = { type: 3, value: "SLIDING_TO_LEFT" };
      }
      static {
        this.SLIDING_TO_RIGHT = { type: 3, value: "SLIDING_TO_RIGHT" };
      }
      static {
        this.DOUBLE_DOOR_SLIDING = { type: 3, value: "DOUBLE_DOOR_SLIDING" };
      }
      static {
        this.FOLDING_TO_LEFT = { type: 3, value: "FOLDING_TO_LEFT" };
      }
      static {
        this.FOLDING_TO_RIGHT = { type: 3, value: "FOLDING_TO_RIGHT" };
      }
      static {
        this.DOUBLE_DOOR_FOLDING = { type: 3, value: "DOUBLE_DOOR_FOLDING" };
      }
      static {
        this.REVOLVING = { type: 3, value: "REVOLVING" };
      }
      static {
        this.ROLLINGUP = { type: 3, value: "ROLLINGUP" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcDoorStyleOperationEnum = IfcDoorStyleOperationEnum;
    class IfcDoorTypeEnum {
      static {
        this.DOOR = { type: 3, value: "DOOR" };
      }
      static {
        this.GATE = { type: 3, value: "GATE" };
      }
      static {
        this.TRAPDOOR = { type: 3, value: "TRAPDOOR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcDoorTypeEnum = IfcDoorTypeEnum;
    class IfcDoorTypeOperationEnum {
      static {
        this.SINGLE_SWING_LEFT = { type: 3, value: "SINGLE_SWING_LEFT" };
      }
      static {
        this.SINGLE_SWING_RIGHT = { type: 3, value: "SINGLE_SWING_RIGHT" };
      }
      static {
        this.DOUBLE_DOOR_SINGLE_SWING = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING" };
      }
      static {
        this.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT" };
      }
      static {
        this.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT" };
      }
      static {
        this.DOUBLE_SWING_LEFT = { type: 3, value: "DOUBLE_SWING_LEFT" };
      }
      static {
        this.DOUBLE_SWING_RIGHT = { type: 3, value: "DOUBLE_SWING_RIGHT" };
      }
      static {
        this.DOUBLE_DOOR_DOUBLE_SWING = { type: 3, value: "DOUBLE_DOOR_DOUBLE_SWING" };
      }
      static {
        this.SLIDING_TO_LEFT = { type: 3, value: "SLIDING_TO_LEFT" };
      }
      static {
        this.SLIDING_TO_RIGHT = { type: 3, value: "SLIDING_TO_RIGHT" };
      }
      static {
        this.DOUBLE_DOOR_SLIDING = { type: 3, value: "DOUBLE_DOOR_SLIDING" };
      }
      static {
        this.FOLDING_TO_LEFT = { type: 3, value: "FOLDING_TO_LEFT" };
      }
      static {
        this.FOLDING_TO_RIGHT = { type: 3, value: "FOLDING_TO_RIGHT" };
      }
      static {
        this.DOUBLE_DOOR_FOLDING = { type: 3, value: "DOUBLE_DOOR_FOLDING" };
      }
      static {
        this.REVOLVING = { type: 3, value: "REVOLVING" };
      }
      static {
        this.ROLLINGUP = { type: 3, value: "ROLLINGUP" };
      }
      static {
        this.SWING_FIXED_LEFT = { type: 3, value: "SWING_FIXED_LEFT" };
      }
      static {
        this.SWING_FIXED_RIGHT = { type: 3, value: "SWING_FIXED_RIGHT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcDoorTypeOperationEnum = IfcDoorTypeOperationEnum;
    class IfcDuctFittingTypeEnum {
      static {
        this.BEND = { type: 3, value: "BEND" };
      }
      static {
        this.CONNECTOR = { type: 3, value: "CONNECTOR" };
      }
      static {
        this.ENTRY = { type: 3, value: "ENTRY" };
      }
      static {
        this.EXIT = { type: 3, value: "EXIT" };
      }
      static {
        this.JUNCTION = { type: 3, value: "JUNCTION" };
      }
      static {
        this.OBSTRUCTION = { type: 3, value: "OBSTRUCTION" };
      }
      static {
        this.TRANSITION = { type: 3, value: "TRANSITION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcDuctFittingTypeEnum = IfcDuctFittingTypeEnum;
    class IfcDuctSegmentTypeEnum {
      static {
        this.RIGIDSEGMENT = { type: 3, value: "RIGIDSEGMENT" };
      }
      static {
        this.FLEXIBLESEGMENT = { type: 3, value: "FLEXIBLESEGMENT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcDuctSegmentTypeEnum = IfcDuctSegmentTypeEnum;
    class IfcDuctSilencerTypeEnum {
      static {
        this.FLATOVAL = { type: 3, value: "FLATOVAL" };
      }
      static {
        this.RECTANGULAR = { type: 3, value: "RECTANGULAR" };
      }
      static {
        this.ROUND = { type: 3, value: "ROUND" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcDuctSilencerTypeEnum = IfcDuctSilencerTypeEnum;
    class IfcElectricApplianceTypeEnum {
      static {
        this.DISHWASHER = { type: 3, value: "DISHWASHER" };
      }
      static {
        this.ELECTRICCOOKER = { type: 3, value: "ELECTRICCOOKER" };
      }
      static {
        this.FREESTANDINGELECTRICHEATER = { type: 3, value: "FREESTANDINGELECTRICHEATER" };
      }
      static {
        this.FREESTANDINGFAN = { type: 3, value: "FREESTANDINGFAN" };
      }
      static {
        this.FREESTANDINGWATERHEATER = { type: 3, value: "FREESTANDINGWATERHEATER" };
      }
      static {
        this.FREESTANDINGWATERCOOLER = { type: 3, value: "FREESTANDINGWATERCOOLER" };
      }
      static {
        this.FREEZER = { type: 3, value: "FREEZER" };
      }
      static {
        this.FRIDGE_FREEZER = { type: 3, value: "FRIDGE_FREEZER" };
      }
      static {
        this.HANDDRYER = { type: 3, value: "HANDDRYER" };
      }
      static {
        this.KITCHENMACHINE = { type: 3, value: "KITCHENMACHINE" };
      }
      static {
        this.MICROWAVE = { type: 3, value: "MICROWAVE" };
      }
      static {
        this.PHOTOCOPIER = { type: 3, value: "PHOTOCOPIER" };
      }
      static {
        this.REFRIGERATOR = { type: 3, value: "REFRIGERATOR" };
      }
      static {
        this.TUMBLEDRYER = { type: 3, value: "TUMBLEDRYER" };
      }
      static {
        this.VENDINGMACHINE = { type: 3, value: "VENDINGMACHINE" };
      }
      static {
        this.WASHINGMACHINE = { type: 3, value: "WASHINGMACHINE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcElectricApplianceTypeEnum = IfcElectricApplianceTypeEnum;
    class IfcElectricDistributionBoardTypeEnum {
      static {
        this.CONSUMERUNIT = { type: 3, value: "CONSUMERUNIT" };
      }
      static {
        this.DISTRIBUTIONBOARD = { type: 3, value: "DISTRIBUTIONBOARD" };
      }
      static {
        this.MOTORCONTROLCENTRE = { type: 3, value: "MOTORCONTROLCENTRE" };
      }
      static {
        this.SWITCHBOARD = { type: 3, value: "SWITCHBOARD" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcElectricDistributionBoardTypeEnum = IfcElectricDistributionBoardTypeEnum;
    class IfcElectricFlowStorageDeviceTypeEnum {
      static {
        this.BATTERY = { type: 3, value: "BATTERY" };
      }
      static {
        this.CAPACITORBANK = { type: 3, value: "CAPACITORBANK" };
      }
      static {
        this.HARMONICFILTER = { type: 3, value: "HARMONICFILTER" };
      }
      static {
        this.INDUCTORBANK = { type: 3, value: "INDUCTORBANK" };
      }
      static {
        this.UPS = { type: 3, value: "UPS" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcElectricFlowStorageDeviceTypeEnum = IfcElectricFlowStorageDeviceTypeEnum;
    class IfcElectricGeneratorTypeEnum {
      static {
        this.CHP = { type: 3, value: "CHP" };
      }
      static {
        this.ENGINEGENERATOR = { type: 3, value: "ENGINEGENERATOR" };
      }
      static {
        this.STANDALONE = { type: 3, value: "STANDALONE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcElectricGeneratorTypeEnum = IfcElectricGeneratorTypeEnum;
    class IfcElectricMotorTypeEnum {
      static {
        this.DC = { type: 3, value: "DC" };
      }
      static {
        this.INDUCTION = { type: 3, value: "INDUCTION" };
      }
      static {
        this.POLYPHASE = { type: 3, value: "POLYPHASE" };
      }
      static {
        this.RELUCTANCESYNCHRONOUS = { type: 3, value: "RELUCTANCESYNCHRONOUS" };
      }
      static {
        this.SYNCHRONOUS = { type: 3, value: "SYNCHRONOUS" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcElectricMotorTypeEnum = IfcElectricMotorTypeEnum;
    class IfcElectricTimeControlTypeEnum {
      static {
        this.TIMECLOCK = { type: 3, value: "TIMECLOCK" };
      }
      static {
        this.TIMEDELAY = { type: 3, value: "TIMEDELAY" };
      }
      static {
        this.RELAY = { type: 3, value: "RELAY" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcElectricTimeControlTypeEnum = IfcElectricTimeControlTypeEnum;
    class IfcElementAssemblyTypeEnum {
      static {
        this.ACCESSORY_ASSEMBLY = { type: 3, value: "ACCESSORY_ASSEMBLY" };
      }
      static {
        this.ARCH = { type: 3, value: "ARCH" };
      }
      static {
        this.BEAM_GRID = { type: 3, value: "BEAM_GRID" };
      }
      static {
        this.BRACED_FRAME = { type: 3, value: "BRACED_FRAME" };
      }
      static {
        this.GIRDER = { type: 3, value: "GIRDER" };
      }
      static {
        this.REINFORCEMENT_UNIT = { type: 3, value: "REINFORCEMENT_UNIT" };
      }
      static {
        this.RIGID_FRAME = { type: 3, value: "RIGID_FRAME" };
      }
      static {
        this.SLAB_FIELD = { type: 3, value: "SLAB_FIELD" };
      }
      static {
        this.TRUSS = { type: 3, value: "TRUSS" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcElementAssemblyTypeEnum = IfcElementAssemblyTypeEnum;
    class IfcElementCompositionEnum {
      static {
        this.COMPLEX = { type: 3, value: "COMPLEX" };
      }
      static {
        this.ELEMENT = { type: 3, value: "ELEMENT" };
      }
      static {
        this.PARTIAL = { type: 3, value: "PARTIAL" };
      }
    }
    IFC42.IfcElementCompositionEnum = IfcElementCompositionEnum;
    class IfcEngineTypeEnum {
      static {
        this.EXTERNALCOMBUSTION = { type: 3, value: "EXTERNALCOMBUSTION" };
      }
      static {
        this.INTERNALCOMBUSTION = { type: 3, value: "INTERNALCOMBUSTION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcEngineTypeEnum = IfcEngineTypeEnum;
    class IfcEvaporativeCoolerTypeEnum {
      static {
        this.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER" };
      }
      static {
        this.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER" };
      }
      static {
        this.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER" };
      }
      static {
        this.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER" };
      }
      static {
        this.DIRECTEVAPORATIVEAIRWASHER = { type: 3, value: "DIRECTEVAPORATIVEAIRWASHER" };
      }
      static {
        this.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER = { type: 3, value: "INDIRECTEVAPORATIVEPACKAGEAIRCOOLER" };
      }
      static {
        this.INDIRECTEVAPORATIVEWETCOIL = { type: 3, value: "INDIRECTEVAPORATIVEWETCOIL" };
      }
      static {
        this.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER = { type: 3, value: "INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER" };
      }
      static {
        this.INDIRECTDIRECTCOMBINATION = { type: 3, value: "INDIRECTDIRECTCOMBINATION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcEvaporativeCoolerTypeEnum = IfcEvaporativeCoolerTypeEnum;
    class IfcEvaporatorTypeEnum {
      static {
        this.DIRECTEXPANSION = { type: 3, value: "DIRECTEXPANSION" };
      }
      static {
        this.DIRECTEXPANSIONSHELLANDTUBE = { type: 3, value: "DIRECTEXPANSIONSHELLANDTUBE" };
      }
      static {
        this.DIRECTEXPANSIONTUBEINTUBE = { type: 3, value: "DIRECTEXPANSIONTUBEINTUBE" };
      }
      static {
        this.DIRECTEXPANSIONBRAZEDPLATE = { type: 3, value: "DIRECTEXPANSIONBRAZEDPLATE" };
      }
      static {
        this.FLOODEDSHELLANDTUBE = { type: 3, value: "FLOODEDSHELLANDTUBE" };
      }
      static {
        this.SHELLANDCOIL = { type: 3, value: "SHELLANDCOIL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcEvaporatorTypeEnum = IfcEvaporatorTypeEnum;
    class IfcEventTriggerTypeEnum {
      static {
        this.EVENTRULE = { type: 3, value: "EVENTRULE" };
      }
      static {
        this.EVENTMESSAGE = { type: 3, value: "EVENTMESSAGE" };
      }
      static {
        this.EVENTTIME = { type: 3, value: "EVENTTIME" };
      }
      static {
        this.EVENTCOMPLEX = { type: 3, value: "EVENTCOMPLEX" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcEventTriggerTypeEnum = IfcEventTriggerTypeEnum;
    class IfcEventTypeEnum {
      static {
        this.STARTEVENT = { type: 3, value: "STARTEVENT" };
      }
      static {
        this.ENDEVENT = { type: 3, value: "ENDEVENT" };
      }
      static {
        this.INTERMEDIATEEVENT = { type: 3, value: "INTERMEDIATEEVENT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcEventTypeEnum = IfcEventTypeEnum;
    class IfcExternalSpatialElementTypeEnum {
      static {
        this.EXTERNAL = { type: 3, value: "EXTERNAL" };
      }
      static {
        this.EXTERNAL_EARTH = { type: 3, value: "EXTERNAL_EARTH" };
      }
      static {
        this.EXTERNAL_WATER = { type: 3, value: "EXTERNAL_WATER" };
      }
      static {
        this.EXTERNAL_FIRE = { type: 3, value: "EXTERNAL_FIRE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcExternalSpatialElementTypeEnum = IfcExternalSpatialElementTypeEnum;
    class IfcFanTypeEnum {
      static {
        this.CENTRIFUGALFORWARDCURVED = { type: 3, value: "CENTRIFUGALFORWARDCURVED" };
      }
      static {
        this.CENTRIFUGALRADIAL = { type: 3, value: "CENTRIFUGALRADIAL" };
      }
      static {
        this.CENTRIFUGALBACKWARDINCLINEDCURVED = { type: 3, value: "CENTRIFUGALBACKWARDINCLINEDCURVED" };
      }
      static {
        this.CENTRIFUGALAIRFOIL = { type: 3, value: "CENTRIFUGALAIRFOIL" };
      }
      static {
        this.TUBEAXIAL = { type: 3, value: "TUBEAXIAL" };
      }
      static {
        this.VANEAXIAL = { type: 3, value: "VANEAXIAL" };
      }
      static {
        this.PROPELLORAXIAL = { type: 3, value: "PROPELLORAXIAL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcFanTypeEnum = IfcFanTypeEnum;
    class IfcFastenerTypeEnum {
      static {
        this.GLUE = { type: 3, value: "GLUE" };
      }
      static {
        this.MORTAR = { type: 3, value: "MORTAR" };
      }
      static {
        this.WELD = { type: 3, value: "WELD" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcFastenerTypeEnum = IfcFastenerTypeEnum;
    class IfcFilterTypeEnum {
      static {
        this.AIRPARTICLEFILTER = { type: 3, value: "AIRPARTICLEFILTER" };
      }
      static {
        this.COMPRESSEDAIRFILTER = { type: 3, value: "COMPRESSEDAIRFILTER" };
      }
      static {
        this.ODORFILTER = { type: 3, value: "ODORFILTER" };
      }
      static {
        this.OILFILTER = { type: 3, value: "OILFILTER" };
      }
      static {
        this.STRAINER = { type: 3, value: "STRAINER" };
      }
      static {
        this.WATERFILTER = { type: 3, value: "WATERFILTER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcFilterTypeEnum = IfcFilterTypeEnum;
    class IfcFireSuppressionTerminalTypeEnum {
      static {
        this.BREECHINGINLET = { type: 3, value: "BREECHINGINLET" };
      }
      static {
        this.FIREHYDRANT = { type: 3, value: "FIREHYDRANT" };
      }
      static {
        this.HOSEREEL = { type: 3, value: "HOSEREEL" };
      }
      static {
        this.SPRINKLER = { type: 3, value: "SPRINKLER" };
      }
      static {
        this.SPRINKLERDEFLECTOR = { type: 3, value: "SPRINKLERDEFLECTOR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcFireSuppressionTerminalTypeEnum = IfcFireSuppressionTerminalTypeEnum;
    class IfcFlowDirectionEnum {
      static {
        this.SOURCE = { type: 3, value: "SOURCE" };
      }
      static {
        this.SINK = { type: 3, value: "SINK" };
      }
      static {
        this.SOURCEANDSINK = { type: 3, value: "SOURCEANDSINK" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcFlowDirectionEnum = IfcFlowDirectionEnum;
    class IfcFlowInstrumentTypeEnum {
      static {
        this.PRESSUREGAUGE = { type: 3, value: "PRESSUREGAUGE" };
      }
      static {
        this.THERMOMETER = { type: 3, value: "THERMOMETER" };
      }
      static {
        this.AMMETER = { type: 3, value: "AMMETER" };
      }
      static {
        this.FREQUENCYMETER = { type: 3, value: "FREQUENCYMETER" };
      }
      static {
        this.POWERFACTORMETER = { type: 3, value: "POWERFACTORMETER" };
      }
      static {
        this.PHASEANGLEMETER = { type: 3, value: "PHASEANGLEMETER" };
      }
      static {
        this.VOLTMETER_PEAK = { type: 3, value: "VOLTMETER_PEAK" };
      }
      static {
        this.VOLTMETER_RMS = { type: 3, value: "VOLTMETER_RMS" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcFlowInstrumentTypeEnum = IfcFlowInstrumentTypeEnum;
    class IfcFlowMeterTypeEnum {
      static {
        this.ENERGYMETER = { type: 3, value: "ENERGYMETER" };
      }
      static {
        this.GASMETER = { type: 3, value: "GASMETER" };
      }
      static {
        this.OILMETER = { type: 3, value: "OILMETER" };
      }
      static {
        this.WATERMETER = { type: 3, value: "WATERMETER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcFlowMeterTypeEnum = IfcFlowMeterTypeEnum;
    class IfcFootingTypeEnum {
      static {
        this.CAISSON_FOUNDATION = { type: 3, value: "CAISSON_FOUNDATION" };
      }
      static {
        this.FOOTING_BEAM = { type: 3, value: "FOOTING_BEAM" };
      }
      static {
        this.PAD_FOOTING = { type: 3, value: "PAD_FOOTING" };
      }
      static {
        this.PILE_CAP = { type: 3, value: "PILE_CAP" };
      }
      static {
        this.STRIP_FOOTING = { type: 3, value: "STRIP_FOOTING" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcFootingTypeEnum = IfcFootingTypeEnum;
    class IfcFurnitureTypeEnum {
      static {
        this.CHAIR = { type: 3, value: "CHAIR" };
      }
      static {
        this.TABLE = { type: 3, value: "TABLE" };
      }
      static {
        this.DESK = { type: 3, value: "DESK" };
      }
      static {
        this.BED = { type: 3, value: "BED" };
      }
      static {
        this.FILECABINET = { type: 3, value: "FILECABINET" };
      }
      static {
        this.SHELF = { type: 3, value: "SHELF" };
      }
      static {
        this.SOFA = { type: 3, value: "SOFA" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcFurnitureTypeEnum = IfcFurnitureTypeEnum;
    class IfcGeographicElementTypeEnum {
      static {
        this.TERRAIN = { type: 3, value: "TERRAIN" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcGeographicElementTypeEnum = IfcGeographicElementTypeEnum;
    class IfcGeometricProjectionEnum {
      static {
        this.GRAPH_VIEW = { type: 3, value: "GRAPH_VIEW" };
      }
      static {
        this.SKETCH_VIEW = { type: 3, value: "SKETCH_VIEW" };
      }
      static {
        this.MODEL_VIEW = { type: 3, value: "MODEL_VIEW" };
      }
      static {
        this.PLAN_VIEW = { type: 3, value: "PLAN_VIEW" };
      }
      static {
        this.REFLECTED_PLAN_VIEW = { type: 3, value: "REFLECTED_PLAN_VIEW" };
      }
      static {
        this.SECTION_VIEW = { type: 3, value: "SECTION_VIEW" };
      }
      static {
        this.ELEVATION_VIEW = { type: 3, value: "ELEVATION_VIEW" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcGeometricProjectionEnum = IfcGeometricProjectionEnum;
    class IfcGlobalOrLocalEnum {
      static {
        this.GLOBAL_COORDS = { type: 3, value: "GLOBAL_COORDS" };
      }
      static {
        this.LOCAL_COORDS = { type: 3, value: "LOCAL_COORDS" };
      }
    }
    IFC42.IfcGlobalOrLocalEnum = IfcGlobalOrLocalEnum;
    class IfcGridTypeEnum {
      static {
        this.RECTANGULAR = { type: 3, value: "RECTANGULAR" };
      }
      static {
        this.RADIAL = { type: 3, value: "RADIAL" };
      }
      static {
        this.TRIANGULAR = { type: 3, value: "TRIANGULAR" };
      }
      static {
        this.IRREGULAR = { type: 3, value: "IRREGULAR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcGridTypeEnum = IfcGridTypeEnum;
    class IfcHeatExchangerTypeEnum {
      static {
        this.PLATE = { type: 3, value: "PLATE" };
      }
      static {
        this.SHELLANDTUBE = { type: 3, value: "SHELLANDTUBE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcHeatExchangerTypeEnum = IfcHeatExchangerTypeEnum;
    class IfcHumidifierTypeEnum {
      static {
        this.STEAMINJECTION = { type: 3, value: "STEAMINJECTION" };
      }
      static {
        this.ADIABATICAIRWASHER = { type: 3, value: "ADIABATICAIRWASHER" };
      }
      static {
        this.ADIABATICPAN = { type: 3, value: "ADIABATICPAN" };
      }
      static {
        this.ADIABATICWETTEDELEMENT = { type: 3, value: "ADIABATICWETTEDELEMENT" };
      }
      static {
        this.ADIABATICATOMIZING = { type: 3, value: "ADIABATICATOMIZING" };
      }
      static {
        this.ADIABATICULTRASONIC = { type: 3, value: "ADIABATICULTRASONIC" };
      }
      static {
        this.ADIABATICRIGIDMEDIA = { type: 3, value: "ADIABATICRIGIDMEDIA" };
      }
      static {
        this.ADIABATICCOMPRESSEDAIRNOZZLE = { type: 3, value: "ADIABATICCOMPRESSEDAIRNOZZLE" };
      }
      static {
        this.ASSISTEDELECTRIC = { type: 3, value: "ASSISTEDELECTRIC" };
      }
      static {
        this.ASSISTEDNATURALGAS = { type: 3, value: "ASSISTEDNATURALGAS" };
      }
      static {
        this.ASSISTEDPROPANE = { type: 3, value: "ASSISTEDPROPANE" };
      }
      static {
        this.ASSISTEDBUTANE = { type: 3, value: "ASSISTEDBUTANE" };
      }
      static {
        this.ASSISTEDSTEAM = { type: 3, value: "ASSISTEDSTEAM" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcHumidifierTypeEnum = IfcHumidifierTypeEnum;
    class IfcInterceptorTypeEnum {
      static {
        this.CYCLONIC = { type: 3, value: "CYCLONIC" };
      }
      static {
        this.GREASE = { type: 3, value: "GREASE" };
      }
      static {
        this.OIL = { type: 3, value: "OIL" };
      }
      static {
        this.PETROL = { type: 3, value: "PETROL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcInterceptorTypeEnum = IfcInterceptorTypeEnum;
    class IfcInternalOrExternalEnum {
      static {
        this.INTERNAL = { type: 3, value: "INTERNAL" };
      }
      static {
        this.EXTERNAL = { type: 3, value: "EXTERNAL" };
      }
      static {
        this.EXTERNAL_EARTH = { type: 3, value: "EXTERNAL_EARTH" };
      }
      static {
        this.EXTERNAL_WATER = { type: 3, value: "EXTERNAL_WATER" };
      }
      static {
        this.EXTERNAL_FIRE = { type: 3, value: "EXTERNAL_FIRE" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcInternalOrExternalEnum = IfcInternalOrExternalEnum;
    class IfcInventoryTypeEnum {
      static {
        this.ASSETINVENTORY = { type: 3, value: "ASSETINVENTORY" };
      }
      static {
        this.SPACEINVENTORY = { type: 3, value: "SPACEINVENTORY" };
      }
      static {
        this.FURNITUREINVENTORY = { type: 3, value: "FURNITUREINVENTORY" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcInventoryTypeEnum = IfcInventoryTypeEnum;
    class IfcJunctionBoxTypeEnum {
      static {
        this.DATA = { type: 3, value: "DATA" };
      }
      static {
        this.POWER = { type: 3, value: "POWER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcJunctionBoxTypeEnum = IfcJunctionBoxTypeEnum;
    class IfcKnotType {
      static {
        this.UNIFORM_KNOTS = { type: 3, value: "UNIFORM_KNOTS" };
      }
      static {
        this.QUASI_UNIFORM_KNOTS = { type: 3, value: "QUASI_UNIFORM_KNOTS" };
      }
      static {
        this.PIECEWISE_BEZIER_KNOTS = { type: 3, value: "PIECEWISE_BEZIER_KNOTS" };
      }
      static {
        this.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" };
      }
    }
    IFC42.IfcKnotType = IfcKnotType;
    class IfcLaborResourceTypeEnum {
      static {
        this.ADMINISTRATION = { type: 3, value: "ADMINISTRATION" };
      }
      static {
        this.CARPENTRY = { type: 3, value: "CARPENTRY" };
      }
      static {
        this.CLEANING = { type: 3, value: "CLEANING" };
      }
      static {
        this.CONCRETE = { type: 3, value: "CONCRETE" };
      }
      static {
        this.DRYWALL = { type: 3, value: "DRYWALL" };
      }
      static {
        this.ELECTRIC = { type: 3, value: "ELECTRIC" };
      }
      static {
        this.FINISHING = { type: 3, value: "FINISHING" };
      }
      static {
        this.FLOORING = { type: 3, value: "FLOORING" };
      }
      static {
        this.GENERAL = { type: 3, value: "GENERAL" };
      }
      static {
        this.HVAC = { type: 3, value: "HVAC" };
      }
      static {
        this.LANDSCAPING = { type: 3, value: "LANDSCAPING" };
      }
      static {
        this.MASONRY = { type: 3, value: "MASONRY" };
      }
      static {
        this.PAINTING = { type: 3, value: "PAINTING" };
      }
      static {
        this.PAVING = { type: 3, value: "PAVING" };
      }
      static {
        this.PLUMBING = { type: 3, value: "PLUMBING" };
      }
      static {
        this.ROOFING = { type: 3, value: "ROOFING" };
      }
      static {
        this.SITEGRADING = { type: 3, value: "SITEGRADING" };
      }
      static {
        this.STEELWORK = { type: 3, value: "STEELWORK" };
      }
      static {
        this.SURVEYING = { type: 3, value: "SURVEYING" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcLaborResourceTypeEnum = IfcLaborResourceTypeEnum;
    class IfcLampTypeEnum {
      static {
        this.COMPACTFLUORESCENT = { type: 3, value: "COMPACTFLUORESCENT" };
      }
      static {
        this.FLUORESCENT = { type: 3, value: "FLUORESCENT" };
      }
      static {
        this.HALOGEN = { type: 3, value: "HALOGEN" };
      }
      static {
        this.HIGHPRESSUREMERCURY = { type: 3, value: "HIGHPRESSUREMERCURY" };
      }
      static {
        this.HIGHPRESSURESODIUM = { type: 3, value: "HIGHPRESSURESODIUM" };
      }
      static {
        this.LED = { type: 3, value: "LED" };
      }
      static {
        this.METALHALIDE = { type: 3, value: "METALHALIDE" };
      }
      static {
        this.OLED = { type: 3, value: "OLED" };
      }
      static {
        this.TUNGSTENFILAMENT = { type: 3, value: "TUNGSTENFILAMENT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcLampTypeEnum = IfcLampTypeEnum;
    class IfcLayerSetDirectionEnum {
      static {
        this.AXIS1 = { type: 3, value: "AXIS1" };
      }
      static {
        this.AXIS2 = { type: 3, value: "AXIS2" };
      }
      static {
        this.AXIS3 = { type: 3, value: "AXIS3" };
      }
    }
    IFC42.IfcLayerSetDirectionEnum = IfcLayerSetDirectionEnum;
    class IfcLightDistributionCurveEnum {
      static {
        this.TYPE_A = { type: 3, value: "TYPE_A" };
      }
      static {
        this.TYPE_B = { type: 3, value: "TYPE_B" };
      }
      static {
        this.TYPE_C = { type: 3, value: "TYPE_C" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcLightDistributionCurveEnum = IfcLightDistributionCurveEnum;
    class IfcLightEmissionSourceEnum {
      static {
        this.COMPACTFLUORESCENT = { type: 3, value: "COMPACTFLUORESCENT" };
      }
      static {
        this.FLUORESCENT = { type: 3, value: "FLUORESCENT" };
      }
      static {
        this.HIGHPRESSUREMERCURY = { type: 3, value: "HIGHPRESSUREMERCURY" };
      }
      static {
        this.HIGHPRESSURESODIUM = { type: 3, value: "HIGHPRESSURESODIUM" };
      }
      static {
        this.LIGHTEMITTINGDIODE = { type: 3, value: "LIGHTEMITTINGDIODE" };
      }
      static {
        this.LOWPRESSURESODIUM = { type: 3, value: "LOWPRESSURESODIUM" };
      }
      static {
        this.LOWVOLTAGEHALOGEN = { type: 3, value: "LOWVOLTAGEHALOGEN" };
      }
      static {
        this.MAINVOLTAGEHALOGEN = { type: 3, value: "MAINVOLTAGEHALOGEN" };
      }
      static {
        this.METALHALIDE = { type: 3, value: "METALHALIDE" };
      }
      static {
        this.TUNGSTENFILAMENT = { type: 3, value: "TUNGSTENFILAMENT" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcLightEmissionSourceEnum = IfcLightEmissionSourceEnum;
    class IfcLightFixtureTypeEnum {
      static {
        this.POINTSOURCE = { type: 3, value: "POINTSOURCE" };
      }
      static {
        this.DIRECTIONSOURCE = { type: 3, value: "DIRECTIONSOURCE" };
      }
      static {
        this.SECURITYLIGHTING = { type: 3, value: "SECURITYLIGHTING" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcLightFixtureTypeEnum = IfcLightFixtureTypeEnum;
    class IfcLoadGroupTypeEnum {
      static {
        this.LOAD_GROUP = { type: 3, value: "LOAD_GROUP" };
      }
      static {
        this.LOAD_CASE = { type: 3, value: "LOAD_CASE" };
      }
      static {
        this.LOAD_COMBINATION = { type: 3, value: "LOAD_COMBINATION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcLoadGroupTypeEnum = IfcLoadGroupTypeEnum;
    class IfcLogicalOperatorEnum {
      static {
        this.LOGICALAND = { type: 3, value: "LOGICALAND" };
      }
      static {
        this.LOGICALOR = { type: 3, value: "LOGICALOR" };
      }
      static {
        this.LOGICALXOR = { type: 3, value: "LOGICALXOR" };
      }
      static {
        this.LOGICALNOTAND = { type: 3, value: "LOGICALNOTAND" };
      }
      static {
        this.LOGICALNOTOR = { type: 3, value: "LOGICALNOTOR" };
      }
    }
    IFC42.IfcLogicalOperatorEnum = IfcLogicalOperatorEnum;
    class IfcMechanicalFastenerTypeEnum {
      static {
        this.ANCHORBOLT = { type: 3, value: "ANCHORBOLT" };
      }
      static {
        this.BOLT = { type: 3, value: "BOLT" };
      }
      static {
        this.DOWEL = { type: 3, value: "DOWEL" };
      }
      static {
        this.NAIL = { type: 3, value: "NAIL" };
      }
      static {
        this.NAILPLATE = { type: 3, value: "NAILPLATE" };
      }
      static {
        this.RIVET = { type: 3, value: "RIVET" };
      }
      static {
        this.SCREW = { type: 3, value: "SCREW" };
      }
      static {
        this.SHEARCONNECTOR = { type: 3, value: "SHEARCONNECTOR" };
      }
      static {
        this.STAPLE = { type: 3, value: "STAPLE" };
      }
      static {
        this.STUDSHEARCONNECTOR = { type: 3, value: "STUDSHEARCONNECTOR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcMechanicalFastenerTypeEnum = IfcMechanicalFastenerTypeEnum;
    class IfcMedicalDeviceTypeEnum {
      static {
        this.AIRSTATION = { type: 3, value: "AIRSTATION" };
      }
      static {
        this.FEEDAIRUNIT = { type: 3, value: "FEEDAIRUNIT" };
      }
      static {
        this.OXYGENGENERATOR = { type: 3, value: "OXYGENGENERATOR" };
      }
      static {
        this.OXYGENPLANT = { type: 3, value: "OXYGENPLANT" };
      }
      static {
        this.VACUUMSTATION = { type: 3, value: "VACUUMSTATION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcMedicalDeviceTypeEnum = IfcMedicalDeviceTypeEnum;
    class IfcMemberTypeEnum {
      static {
        this.BRACE = { type: 3, value: "BRACE" };
      }
      static {
        this.CHORD = { type: 3, value: "CHORD" };
      }
      static {
        this.COLLAR = { type: 3, value: "COLLAR" };
      }
      static {
        this.MEMBER = { type: 3, value: "MEMBER" };
      }
      static {
        this.MULLION = { type: 3, value: "MULLION" };
      }
      static {
        this.PLATE = { type: 3, value: "PLATE" };
      }
      static {
        this.POST = { type: 3, value: "POST" };
      }
      static {
        this.PURLIN = { type: 3, value: "PURLIN" };
      }
      static {
        this.RAFTER = { type: 3, value: "RAFTER" };
      }
      static {
        this.STRINGER = { type: 3, value: "STRINGER" };
      }
      static {
        this.STRUT = { type: 3, value: "STRUT" };
      }
      static {
        this.STUD = { type: 3, value: "STUD" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcMemberTypeEnum = IfcMemberTypeEnum;
    class IfcMotorConnectionTypeEnum {
      static {
        this.BELTDRIVE = { type: 3, value: "BELTDRIVE" };
      }
      static {
        this.COUPLING = { type: 3, value: "COUPLING" };
      }
      static {
        this.DIRECTDRIVE = { type: 3, value: "DIRECTDRIVE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcMotorConnectionTypeEnum = IfcMotorConnectionTypeEnum;
    class IfcNullStyle {
      static {
        this.NULL = { type: 3, value: "NULL" };
      }
    }
    IFC42.IfcNullStyle = IfcNullStyle;
    class IfcObjectTypeEnum {
      static {
        this.PRODUCT = { type: 3, value: "PRODUCT" };
      }
      static {
        this.PROCESS = { type: 3, value: "PROCESS" };
      }
      static {
        this.CONTROL = { type: 3, value: "CONTROL" };
      }
      static {
        this.RESOURCE = { type: 3, value: "RESOURCE" };
      }
      static {
        this.ACTOR = { type: 3, value: "ACTOR" };
      }
      static {
        this.GROUP = { type: 3, value: "GROUP" };
      }
      static {
        this.PROJECT = { type: 3, value: "PROJECT" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcObjectTypeEnum = IfcObjectTypeEnum;
    class IfcObjectiveEnum {
      static {
        this.CODECOMPLIANCE = { type: 3, value: "CODECOMPLIANCE" };
      }
      static {
        this.CODEWAIVER = { type: 3, value: "CODEWAIVER" };
      }
      static {
        this.DESIGNINTENT = { type: 3, value: "DESIGNINTENT" };
      }
      static {
        this.EXTERNAL = { type: 3, value: "EXTERNAL" };
      }
      static {
        this.HEALTHANDSAFETY = { type: 3, value: "HEALTHANDSAFETY" };
      }
      static {
        this.MERGECONFLICT = { type: 3, value: "MERGECONFLICT" };
      }
      static {
        this.MODELVIEW = { type: 3, value: "MODELVIEW" };
      }
      static {
        this.PARAMETER = { type: 3, value: "PARAMETER" };
      }
      static {
        this.REQUIREMENT = { type: 3, value: "REQUIREMENT" };
      }
      static {
        this.SPECIFICATION = { type: 3, value: "SPECIFICATION" };
      }
      static {
        this.TRIGGERCONDITION = { type: 3, value: "TRIGGERCONDITION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcObjectiveEnum = IfcObjectiveEnum;
    class IfcOccupantTypeEnum {
      static {
        this.ASSIGNEE = { type: 3, value: "ASSIGNEE" };
      }
      static {
        this.ASSIGNOR = { type: 3, value: "ASSIGNOR" };
      }
      static {
        this.LESSEE = { type: 3, value: "LESSEE" };
      }
      static {
        this.LESSOR = { type: 3, value: "LESSOR" };
      }
      static {
        this.LETTINGAGENT = { type: 3, value: "LETTINGAGENT" };
      }
      static {
        this.OWNER = { type: 3, value: "OWNER" };
      }
      static {
        this.TENANT = { type: 3, value: "TENANT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcOccupantTypeEnum = IfcOccupantTypeEnum;
    class IfcOpeningElementTypeEnum {
      static {
        this.OPENING = { type: 3, value: "OPENING" };
      }
      static {
        this.RECESS = { type: 3, value: "RECESS" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcOpeningElementTypeEnum = IfcOpeningElementTypeEnum;
    class IfcOutletTypeEnum {
      static {
        this.AUDIOVISUALOUTLET = { type: 3, value: "AUDIOVISUALOUTLET" };
      }
      static {
        this.COMMUNICATIONSOUTLET = { type: 3, value: "COMMUNICATIONSOUTLET" };
      }
      static {
        this.POWEROUTLET = { type: 3, value: "POWEROUTLET" };
      }
      static {
        this.DATAOUTLET = { type: 3, value: "DATAOUTLET" };
      }
      static {
        this.TELEPHONEOUTLET = { type: 3, value: "TELEPHONEOUTLET" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcOutletTypeEnum = IfcOutletTypeEnum;
    class IfcPerformanceHistoryTypeEnum {
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcPerformanceHistoryTypeEnum = IfcPerformanceHistoryTypeEnum;
    class IfcPermeableCoveringOperationEnum {
      static {
        this.GRILL = { type: 3, value: "GRILL" };
      }
      static {
        this.LOUVER = { type: 3, value: "LOUVER" };
      }
      static {
        this.SCREEN = { type: 3, value: "SCREEN" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcPermeableCoveringOperationEnum = IfcPermeableCoveringOperationEnum;
    class IfcPermitTypeEnum {
      static {
        this.ACCESS = { type: 3, value: "ACCESS" };
      }
      static {
        this.BUILDING = { type: 3, value: "BUILDING" };
      }
      static {
        this.WORK = { type: 3, value: "WORK" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcPermitTypeEnum = IfcPermitTypeEnum;
    class IfcPhysicalOrVirtualEnum {
      static {
        this.PHYSICAL = { type: 3, value: "PHYSICAL" };
      }
      static {
        this.VIRTUAL = { type: 3, value: "VIRTUAL" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcPhysicalOrVirtualEnum = IfcPhysicalOrVirtualEnum;
    class IfcPileConstructionEnum {
      static {
        this.CAST_IN_PLACE = { type: 3, value: "CAST_IN_PLACE" };
      }
      static {
        this.COMPOSITE = { type: 3, value: "COMPOSITE" };
      }
      static {
        this.PRECAST_CONCRETE = { type: 3, value: "PRECAST_CONCRETE" };
      }
      static {
        this.PREFAB_STEEL = { type: 3, value: "PREFAB_STEEL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcPileConstructionEnum = IfcPileConstructionEnum;
    class IfcPileTypeEnum {
      static {
        this.BORED = { type: 3, value: "BORED" };
      }
      static {
        this.DRIVEN = { type: 3, value: "DRIVEN" };
      }
      static {
        this.JETGROUTING = { type: 3, value: "JETGROUTING" };
      }
      static {
        this.COHESION = { type: 3, value: "COHESION" };
      }
      static {
        this.FRICTION = { type: 3, value: "FRICTION" };
      }
      static {
        this.SUPPORT = { type: 3, value: "SUPPORT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcPileTypeEnum = IfcPileTypeEnum;
    class IfcPipeFittingTypeEnum {
      static {
        this.BEND = { type: 3, value: "BEND" };
      }
      static {
        this.CONNECTOR = { type: 3, value: "CONNECTOR" };
      }
      static {
        this.ENTRY = { type: 3, value: "ENTRY" };
      }
      static {
        this.EXIT = { type: 3, value: "EXIT" };
      }
      static {
        this.JUNCTION = { type: 3, value: "JUNCTION" };
      }
      static {
        this.OBSTRUCTION = { type: 3, value: "OBSTRUCTION" };
      }
      static {
        this.TRANSITION = { type: 3, value: "TRANSITION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcPipeFittingTypeEnum = IfcPipeFittingTypeEnum;
    class IfcPipeSegmentTypeEnum {
      static {
        this.CULVERT = { type: 3, value: "CULVERT" };
      }
      static {
        this.FLEXIBLESEGMENT = { type: 3, value: "FLEXIBLESEGMENT" };
      }
      static {
        this.RIGIDSEGMENT = { type: 3, value: "RIGIDSEGMENT" };
      }
      static {
        this.GUTTER = { type: 3, value: "GUTTER" };
      }
      static {
        this.SPOOL = { type: 3, value: "SPOOL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcPipeSegmentTypeEnum = IfcPipeSegmentTypeEnum;
    class IfcPlateTypeEnum {
      static {
        this.CURTAIN_PANEL = { type: 3, value: "CURTAIN_PANEL" };
      }
      static {
        this.SHEET = { type: 3, value: "SHEET" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcPlateTypeEnum = IfcPlateTypeEnum;
    class IfcPreferredSurfaceCurveRepresentation {
      static {
        this.CURVE3D = { type: 3, value: "CURVE3D" };
      }
      static {
        this.PCURVE_S1 = { type: 3, value: "PCURVE_S1" };
      }
      static {
        this.PCURVE_S2 = { type: 3, value: "PCURVE_S2" };
      }
    }
    IFC42.IfcPreferredSurfaceCurveRepresentation = IfcPreferredSurfaceCurveRepresentation;
    class IfcProcedureTypeEnum {
      static {
        this.ADVICE_CAUTION = { type: 3, value: "ADVICE_CAUTION" };
      }
      static {
        this.ADVICE_NOTE = { type: 3, value: "ADVICE_NOTE" };
      }
      static {
        this.ADVICE_WARNING = { type: 3, value: "ADVICE_WARNING" };
      }
      static {
        this.CALIBRATION = { type: 3, value: "CALIBRATION" };
      }
      static {
        this.DIAGNOSTIC = { type: 3, value: "DIAGNOSTIC" };
      }
      static {
        this.SHUTDOWN = { type: 3, value: "SHUTDOWN" };
      }
      static {
        this.STARTUP = { type: 3, value: "STARTUP" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcProcedureTypeEnum = IfcProcedureTypeEnum;
    class IfcProfileTypeEnum {
      static {
        this.CURVE = { type: 3, value: "CURVE" };
      }
      static {
        this.AREA = { type: 3, value: "AREA" };
      }
    }
    IFC42.IfcProfileTypeEnum = IfcProfileTypeEnum;
    class IfcProjectOrderTypeEnum {
      static {
        this.CHANGEORDER = { type: 3, value: "CHANGEORDER" };
      }
      static {
        this.MAINTENANCEWORKORDER = { type: 3, value: "MAINTENANCEWORKORDER" };
      }
      static {
        this.MOVEORDER = { type: 3, value: "MOVEORDER" };
      }
      static {
        this.PURCHASEORDER = { type: 3, value: "PURCHASEORDER" };
      }
      static {
        this.WORKORDER = { type: 3, value: "WORKORDER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcProjectOrderTypeEnum = IfcProjectOrderTypeEnum;
    class IfcProjectedOrTrueLengthEnum {
      static {
        this.PROJECTED_LENGTH = { type: 3, value: "PROJECTED_LENGTH" };
      }
      static {
        this.TRUE_LENGTH = { type: 3, value: "TRUE_LENGTH" };
      }
    }
    IFC42.IfcProjectedOrTrueLengthEnum = IfcProjectedOrTrueLengthEnum;
    class IfcProjectionElementTypeEnum {
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcProjectionElementTypeEnum = IfcProjectionElementTypeEnum;
    class IfcPropertySetTemplateTypeEnum {
      static {
        this.PSET_TYPEDRIVENONLY = { type: 3, value: "PSET_TYPEDRIVENONLY" };
      }
      static {
        this.PSET_TYPEDRIVENOVERRIDE = { type: 3, value: "PSET_TYPEDRIVENOVERRIDE" };
      }
      static {
        this.PSET_OCCURRENCEDRIVEN = { type: 3, value: "PSET_OCCURRENCEDRIVEN" };
      }
      static {
        this.PSET_PERFORMANCEDRIVEN = { type: 3, value: "PSET_PERFORMANCEDRIVEN" };
      }
      static {
        this.QTO_TYPEDRIVENONLY = { type: 3, value: "QTO_TYPEDRIVENONLY" };
      }
      static {
        this.QTO_TYPEDRIVENOVERRIDE = { type: 3, value: "QTO_TYPEDRIVENOVERRIDE" };
      }
      static {
        this.QTO_OCCURRENCEDRIVEN = { type: 3, value: "QTO_OCCURRENCEDRIVEN" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcPropertySetTemplateTypeEnum = IfcPropertySetTemplateTypeEnum;
    class IfcProtectiveDeviceTrippingUnitTypeEnum {
      static {
        this.ELECTRONIC = { type: 3, value: "ELECTRONIC" };
      }
      static {
        this.ELECTROMAGNETIC = { type: 3, value: "ELECTROMAGNETIC" };
      }
      static {
        this.RESIDUALCURRENT = { type: 3, value: "RESIDUALCURRENT" };
      }
      static {
        this.THERMAL = { type: 3, value: "THERMAL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcProtectiveDeviceTrippingUnitTypeEnum = IfcProtectiveDeviceTrippingUnitTypeEnum;
    class IfcProtectiveDeviceTypeEnum {
      static {
        this.CIRCUITBREAKER = { type: 3, value: "CIRCUITBREAKER" };
      }
      static {
        this.EARTHLEAKAGECIRCUITBREAKER = { type: 3, value: "EARTHLEAKAGECIRCUITBREAKER" };
      }
      static {
        this.EARTHINGSWITCH = { type: 3, value: "EARTHINGSWITCH" };
      }
      static {
        this.FUSEDISCONNECTOR = { type: 3, value: "FUSEDISCONNECTOR" };
      }
      static {
        this.RESIDUALCURRENTCIRCUITBREAKER = { type: 3, value: "RESIDUALCURRENTCIRCUITBREAKER" };
      }
      static {
        this.RESIDUALCURRENTSWITCH = { type: 3, value: "RESIDUALCURRENTSWITCH" };
      }
      static {
        this.VARISTOR = { type: 3, value: "VARISTOR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcProtectiveDeviceTypeEnum = IfcProtectiveDeviceTypeEnum;
    class IfcPumpTypeEnum {
      static {
        this.CIRCULATOR = { type: 3, value: "CIRCULATOR" };
      }
      static {
        this.ENDSUCTION = { type: 3, value: "ENDSUCTION" };
      }
      static {
        this.SPLITCASE = { type: 3, value: "SPLITCASE" };
      }
      static {
        this.SUBMERSIBLEPUMP = { type: 3, value: "SUBMERSIBLEPUMP" };
      }
      static {
        this.SUMPPUMP = { type: 3, value: "SUMPPUMP" };
      }
      static {
        this.VERTICALINLINE = { type: 3, value: "VERTICALINLINE" };
      }
      static {
        this.VERTICALTURBINE = { type: 3, value: "VERTICALTURBINE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcPumpTypeEnum = IfcPumpTypeEnum;
    class IfcRailingTypeEnum {
      static {
        this.HANDRAIL = { type: 3, value: "HANDRAIL" };
      }
      static {
        this.GUARDRAIL = { type: 3, value: "GUARDRAIL" };
      }
      static {
        this.BALUSTRADE = { type: 3, value: "BALUSTRADE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcRailingTypeEnum = IfcRailingTypeEnum;
    class IfcRampFlightTypeEnum {
      static {
        this.STRAIGHT = { type: 3, value: "STRAIGHT" };
      }
      static {
        this.SPIRAL = { type: 3, value: "SPIRAL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcRampFlightTypeEnum = IfcRampFlightTypeEnum;
    class IfcRampTypeEnum {
      static {
        this.STRAIGHT_RUN_RAMP = { type: 3, value: "STRAIGHT_RUN_RAMP" };
      }
      static {
        this.TWO_STRAIGHT_RUN_RAMP = { type: 3, value: "TWO_STRAIGHT_RUN_RAMP" };
      }
      static {
        this.QUARTER_TURN_RAMP = { type: 3, value: "QUARTER_TURN_RAMP" };
      }
      static {
        this.TWO_QUARTER_TURN_RAMP = { type: 3, value: "TWO_QUARTER_TURN_RAMP" };
      }
      static {
        this.HALF_TURN_RAMP = { type: 3, value: "HALF_TURN_RAMP" };
      }
      static {
        this.SPIRAL_RAMP = { type: 3, value: "SPIRAL_RAMP" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcRampTypeEnum = IfcRampTypeEnum;
    class IfcRecurrenceTypeEnum {
      static {
        this.DAILY = { type: 3, value: "DAILY" };
      }
      static {
        this.WEEKLY = { type: 3, value: "WEEKLY" };
      }
      static {
        this.MONTHLY_BY_DAY_OF_MONTH = { type: 3, value: "MONTHLY_BY_DAY_OF_MONTH" };
      }
      static {
        this.MONTHLY_BY_POSITION = { type: 3, value: "MONTHLY_BY_POSITION" };
      }
      static {
        this.BY_DAY_COUNT = { type: 3, value: "BY_DAY_COUNT" };
      }
      static {
        this.BY_WEEKDAY_COUNT = { type: 3, value: "BY_WEEKDAY_COUNT" };
      }
      static {
        this.YEARLY_BY_DAY_OF_MONTH = { type: 3, value: "YEARLY_BY_DAY_OF_MONTH" };
      }
      static {
        this.YEARLY_BY_POSITION = { type: 3, value: "YEARLY_BY_POSITION" };
      }
    }
    IFC42.IfcRecurrenceTypeEnum = IfcRecurrenceTypeEnum;
    class IfcReflectanceMethodEnum {
      static {
        this.BLINN = { type: 3, value: "BLINN" };
      }
      static {
        this.FLAT = { type: 3, value: "FLAT" };
      }
      static {
        this.GLASS = { type: 3, value: "GLASS" };
      }
      static {
        this.MATT = { type: 3, value: "MATT" };
      }
      static {
        this.METAL = { type: 3, value: "METAL" };
      }
      static {
        this.MIRROR = { type: 3, value: "MIRROR" };
      }
      static {
        this.PHONG = { type: 3, value: "PHONG" };
      }
      static {
        this.PLASTIC = { type: 3, value: "PLASTIC" };
      }
      static {
        this.STRAUSS = { type: 3, value: "STRAUSS" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcReflectanceMethodEnum = IfcReflectanceMethodEnum;
    class IfcReinforcingBarRoleEnum {
      static {
        this.MAIN = { type: 3, value: "MAIN" };
      }
      static {
        this.SHEAR = { type: 3, value: "SHEAR" };
      }
      static {
        this.LIGATURE = { type: 3, value: "LIGATURE" };
      }
      static {
        this.STUD = { type: 3, value: "STUD" };
      }
      static {
        this.PUNCHING = { type: 3, value: "PUNCHING" };
      }
      static {
        this.EDGE = { type: 3, value: "EDGE" };
      }
      static {
        this.RING = { type: 3, value: "RING" };
      }
      static {
        this.ANCHORING = { type: 3, value: "ANCHORING" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcReinforcingBarRoleEnum = IfcReinforcingBarRoleEnum;
    class IfcReinforcingBarSurfaceEnum {
      static {
        this.PLAIN = { type: 3, value: "PLAIN" };
      }
      static {
        this.TEXTURED = { type: 3, value: "TEXTURED" };
      }
    }
    IFC42.IfcReinforcingBarSurfaceEnum = IfcReinforcingBarSurfaceEnum;
    class IfcReinforcingBarTypeEnum {
      static {
        this.ANCHORING = { type: 3, value: "ANCHORING" };
      }
      static {
        this.EDGE = { type: 3, value: "EDGE" };
      }
      static {
        this.LIGATURE = { type: 3, value: "LIGATURE" };
      }
      static {
        this.MAIN = { type: 3, value: "MAIN" };
      }
      static {
        this.PUNCHING = { type: 3, value: "PUNCHING" };
      }
      static {
        this.RING = { type: 3, value: "RING" };
      }
      static {
        this.SHEAR = { type: 3, value: "SHEAR" };
      }
      static {
        this.STUD = { type: 3, value: "STUD" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcReinforcingBarTypeEnum = IfcReinforcingBarTypeEnum;
    class IfcReinforcingMeshTypeEnum {
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcReinforcingMeshTypeEnum = IfcReinforcingMeshTypeEnum;
    class IfcRoleEnum {
      static {
        this.SUPPLIER = { type: 3, value: "SUPPLIER" };
      }
      static {
        this.MANUFACTURER = { type: 3, value: "MANUFACTURER" };
      }
      static {
        this.CONTRACTOR = { type: 3, value: "CONTRACTOR" };
      }
      static {
        this.SUBCONTRACTOR = { type: 3, value: "SUBCONTRACTOR" };
      }
      static {
        this.ARCHITECT = { type: 3, value: "ARCHITECT" };
      }
      static {
        this.STRUCTURALENGINEER = { type: 3, value: "STRUCTURALENGINEER" };
      }
      static {
        this.COSTENGINEER = { type: 3, value: "COSTENGINEER" };
      }
      static {
        this.CLIENT = { type: 3, value: "CLIENT" };
      }
      static {
        this.BUILDINGOWNER = { type: 3, value: "BUILDINGOWNER" };
      }
      static {
        this.BUILDINGOPERATOR = { type: 3, value: "BUILDINGOPERATOR" };
      }
      static {
        this.MECHANICALENGINEER = { type: 3, value: "MECHANICALENGINEER" };
      }
      static {
        this.ELECTRICALENGINEER = { type: 3, value: "ELECTRICALENGINEER" };
      }
      static {
        this.PROJECTMANAGER = { type: 3, value: "PROJECTMANAGER" };
      }
      static {
        this.FACILITIESMANAGER = { type: 3, value: "FACILITIESMANAGER" };
      }
      static {
        this.CIVILENGINEER = { type: 3, value: "CIVILENGINEER" };
      }
      static {
        this.COMMISSIONINGENGINEER = { type: 3, value: "COMMISSIONINGENGINEER" };
      }
      static {
        this.ENGINEER = { type: 3, value: "ENGINEER" };
      }
      static {
        this.OWNER = { type: 3, value: "OWNER" };
      }
      static {
        this.CONSULTANT = { type: 3, value: "CONSULTANT" };
      }
      static {
        this.CONSTRUCTIONMANAGER = { type: 3, value: "CONSTRUCTIONMANAGER" };
      }
      static {
        this.FIELDCONSTRUCTIONMANAGER = { type: 3, value: "FIELDCONSTRUCTIONMANAGER" };
      }
      static {
        this.RESELLER = { type: 3, value: "RESELLER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
    }
    IFC42.IfcRoleEnum = IfcRoleEnum;
    class IfcRoofTypeEnum {
      static {
        this.FLAT_ROOF = { type: 3, value: "FLAT_ROOF" };
      }
      static {
        this.SHED_ROOF = { type: 3, value: "SHED_ROOF" };
      }
      static {
        this.GABLE_ROOF = { type: 3, value: "GABLE_ROOF" };
      }
      static {
        this.HIP_ROOF = { type: 3, value: "HIP_ROOF" };
      }
      static {
        this.HIPPED_GABLE_ROOF = { type: 3, value: "HIPPED_GABLE_ROOF" };
      }
      static {
        this.GAMBREL_ROOF = { type: 3, value: "GAMBREL_ROOF" };
      }
      static {
        this.MANSARD_ROOF = { type: 3, value: "MANSARD_ROOF" };
      }
      static {
        this.BARREL_ROOF = { type: 3, value: "BARREL_ROOF" };
      }
      static {
        this.RAINBOW_ROOF = { type: 3, value: "RAINBOW_ROOF" };
      }
      static {
        this.BUTTERFLY_ROOF = { type: 3, value: "BUTTERFLY_ROOF" };
      }
      static {
        this.PAVILION_ROOF = { type: 3, value: "PAVILION_ROOF" };
      }
      static {
        this.DOME_ROOF = { type: 3, value: "DOME_ROOF" };
      }
      static {
        this.FREEFORM = { type: 3, value: "FREEFORM" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcRoofTypeEnum = IfcRoofTypeEnum;
    class IfcSIPrefix {
      static {
        this.EXA = { type: 3, value: "EXA" };
      }
      static {
        this.PETA = { type: 3, value: "PETA" };
      }
      static {
        this.TERA = { type: 3, value: "TERA" };
      }
      static {
        this.GIGA = { type: 3, value: "GIGA" };
      }
      static {
        this.MEGA = { type: 3, value: "MEGA" };
      }
      static {
        this.KILO = { type: 3, value: "KILO" };
      }
      static {
        this.HECTO = { type: 3, value: "HECTO" };
      }
      static {
        this.DECA = { type: 3, value: "DECA" };
      }
      static {
        this.DECI = { type: 3, value: "DECI" };
      }
      static {
        this.CENTI = { type: 3, value: "CENTI" };
      }
      static {
        this.MILLI = { type: 3, value: "MILLI" };
      }
      static {
        this.MICRO = { type: 3, value: "MICRO" };
      }
      static {
        this.NANO = { type: 3, value: "NANO" };
      }
      static {
        this.PICO = { type: 3, value: "PICO" };
      }
      static {
        this.FEMTO = { type: 3, value: "FEMTO" };
      }
      static {
        this.ATTO = { type: 3, value: "ATTO" };
      }
    }
    IFC42.IfcSIPrefix = IfcSIPrefix;
    class IfcSIUnitName {
      static {
        this.AMPERE = { type: 3, value: "AMPERE" };
      }
      static {
        this.BECQUEREL = { type: 3, value: "BECQUEREL" };
      }
      static {
        this.CANDELA = { type: 3, value: "CANDELA" };
      }
      static {
        this.COULOMB = { type: 3, value: "COULOMB" };
      }
      static {
        this.CUBIC_METRE = { type: 3, value: "CUBIC_METRE" };
      }
      static {
        this.DEGREE_CELSIUS = { type: 3, value: "DEGREE_CELSIUS" };
      }
      static {
        this.FARAD = { type: 3, value: "FARAD" };
      }
      static {
        this.GRAM = { type: 3, value: "GRAM" };
      }
      static {
        this.GRAY = { type: 3, value: "GRAY" };
      }
      static {
        this.HENRY = { type: 3, value: "HENRY" };
      }
      static {
        this.HERTZ = { type: 3, value: "HERTZ" };
      }
      static {
        this.JOULE = { type: 3, value: "JOULE" };
      }
      static {
        this.KELVIN = { type: 3, value: "KELVIN" };
      }
      static {
        this.LUMEN = { type: 3, value: "LUMEN" };
      }
      static {
        this.LUX = { type: 3, value: "LUX" };
      }
      static {
        this.METRE = { type: 3, value: "METRE" };
      }
      static {
        this.MOLE = { type: 3, value: "MOLE" };
      }
      static {
        this.NEWTON = { type: 3, value: "NEWTON" };
      }
      static {
        this.OHM = { type: 3, value: "OHM" };
      }
      static {
        this.PASCAL = { type: 3, value: "PASCAL" };
      }
      static {
        this.RADIAN = { type: 3, value: "RADIAN" };
      }
      static {
        this.SECOND = { type: 3, value: "SECOND" };
      }
      static {
        this.SIEMENS = { type: 3, value: "SIEMENS" };
      }
      static {
        this.SIEVERT = { type: 3, value: "SIEVERT" };
      }
      static {
        this.SQUARE_METRE = { type: 3, value: "SQUARE_METRE" };
      }
      static {
        this.STERADIAN = { type: 3, value: "STERADIAN" };
      }
      static {
        this.TESLA = { type: 3, value: "TESLA" };
      }
      static {
        this.VOLT = { type: 3, value: "VOLT" };
      }
      static {
        this.WATT = { type: 3, value: "WATT" };
      }
      static {
        this.WEBER = { type: 3, value: "WEBER" };
      }
    }
    IFC42.IfcSIUnitName = IfcSIUnitName;
    class IfcSanitaryTerminalTypeEnum {
      static {
        this.BATH = { type: 3, value: "BATH" };
      }
      static {
        this.BIDET = { type: 3, value: "BIDET" };
      }
      static {
        this.CISTERN = { type: 3, value: "CISTERN" };
      }
      static {
        this.SHOWER = { type: 3, value: "SHOWER" };
      }
      static {
        this.SINK = { type: 3, value: "SINK" };
      }
      static {
        this.SANITARYFOUNTAIN = { type: 3, value: "SANITARYFOUNTAIN" };
      }
      static {
        this.TOILETPAN = { type: 3, value: "TOILETPAN" };
      }
      static {
        this.URINAL = { type: 3, value: "URINAL" };
      }
      static {
        this.WASHHANDBASIN = { type: 3, value: "WASHHANDBASIN" };
      }
      static {
        this.WCSEAT = { type: 3, value: "WCSEAT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcSanitaryTerminalTypeEnum = IfcSanitaryTerminalTypeEnum;
    class IfcSectionTypeEnum {
      static {
        this.UNIFORM = { type: 3, value: "UNIFORM" };
      }
      static {
        this.TAPERED = { type: 3, value: "TAPERED" };
      }
    }
    IFC42.IfcSectionTypeEnum = IfcSectionTypeEnum;
    class IfcSensorTypeEnum {
      static {
        this.COSENSOR = { type: 3, value: "COSENSOR" };
      }
      static {
        this.CO2SENSOR = { type: 3, value: "CO2SENSOR" };
      }
      static {
        this.CONDUCTANCESENSOR = { type: 3, value: "CONDUCTANCESENSOR" };
      }
      static {
        this.CONTACTSENSOR = { type: 3, value: "CONTACTSENSOR" };
      }
      static {
        this.FIRESENSOR = { type: 3, value: "FIRESENSOR" };
      }
      static {
        this.FLOWSENSOR = { type: 3, value: "FLOWSENSOR" };
      }
      static {
        this.FROSTSENSOR = { type: 3, value: "FROSTSENSOR" };
      }
      static {
        this.GASSENSOR = { type: 3, value: "GASSENSOR" };
      }
      static {
        this.HEATSENSOR = { type: 3, value: "HEATSENSOR" };
      }
      static {
        this.HUMIDITYSENSOR = { type: 3, value: "HUMIDITYSENSOR" };
      }
      static {
        this.IDENTIFIERSENSOR = { type: 3, value: "IDENTIFIERSENSOR" };
      }
      static {
        this.IONCONCENTRATIONSENSOR = { type: 3, value: "IONCONCENTRATIONSENSOR" };
      }
      static {
        this.LEVELSENSOR = { type: 3, value: "LEVELSENSOR" };
      }
      static {
        this.LIGHTSENSOR = { type: 3, value: "LIGHTSENSOR" };
      }
      static {
        this.MOISTURESENSOR = { type: 3, value: "MOISTURESENSOR" };
      }
      static {
        this.MOVEMENTSENSOR = { type: 3, value: "MOVEMENTSENSOR" };
      }
      static {
        this.PHSENSOR = { type: 3, value: "PHSENSOR" };
      }
      static {
        this.PRESSURESENSOR = { type: 3, value: "PRESSURESENSOR" };
      }
      static {
        this.RADIATIONSENSOR = { type: 3, value: "RADIATIONSENSOR" };
      }
      static {
        this.RADIOACTIVITYSENSOR = { type: 3, value: "RADIOACTIVITYSENSOR" };
      }
      static {
        this.SMOKESENSOR = { type: 3, value: "SMOKESENSOR" };
      }
      static {
        this.SOUNDSENSOR = { type: 3, value: "SOUNDSENSOR" };
      }
      static {
        this.TEMPERATURESENSOR = { type: 3, value: "TEMPERATURESENSOR" };
      }
      static {
        this.WINDSENSOR = { type: 3, value: "WINDSENSOR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcSensorTypeEnum = IfcSensorTypeEnum;
    class IfcSequenceEnum {
      static {
        this.START_START = { type: 3, value: "START_START" };
      }
      static {
        this.START_FINISH = { type: 3, value: "START_FINISH" };
      }
      static {
        this.FINISH_START = { type: 3, value: "FINISH_START" };
      }
      static {
        this.FINISH_FINISH = { type: 3, value: "FINISH_FINISH" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcSequenceEnum = IfcSequenceEnum;
    class IfcShadingDeviceTypeEnum {
      static {
        this.JALOUSIE = { type: 3, value: "JALOUSIE" };
      }
      static {
        this.SHUTTER = { type: 3, value: "SHUTTER" };
      }
      static {
        this.AWNING = { type: 3, value: "AWNING" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcShadingDeviceTypeEnum = IfcShadingDeviceTypeEnum;
    class IfcSimplePropertyTemplateTypeEnum {
      static {
        this.P_SINGLEVALUE = { type: 3, value: "P_SINGLEVALUE" };
      }
      static {
        this.P_ENUMERATEDVALUE = { type: 3, value: "P_ENUMERATEDVALUE" };
      }
      static {
        this.P_BOUNDEDVALUE = { type: 3, value: "P_BOUNDEDVALUE" };
      }
      static {
        this.P_LISTVALUE = { type: 3, value: "P_LISTVALUE" };
      }
      static {
        this.P_TABLEVALUE = { type: 3, value: "P_TABLEVALUE" };
      }
      static {
        this.P_REFERENCEVALUE = { type: 3, value: "P_REFERENCEVALUE" };
      }
      static {
        this.Q_LENGTH = { type: 3, value: "Q_LENGTH" };
      }
      static {
        this.Q_AREA = { type: 3, value: "Q_AREA" };
      }
      static {
        this.Q_VOLUME = { type: 3, value: "Q_VOLUME" };
      }
      static {
        this.Q_COUNT = { type: 3, value: "Q_COUNT" };
      }
      static {
        this.Q_WEIGHT = { type: 3, value: "Q_WEIGHT" };
      }
      static {
        this.Q_TIME = { type: 3, value: "Q_TIME" };
      }
    }
    IFC42.IfcSimplePropertyTemplateTypeEnum = IfcSimplePropertyTemplateTypeEnum;
    class IfcSlabTypeEnum {
      static {
        this.FLOOR = { type: 3, value: "FLOOR" };
      }
      static {
        this.ROOF = { type: 3, value: "ROOF" };
      }
      static {
        this.LANDING = { type: 3, value: "LANDING" };
      }
      static {
        this.BASESLAB = { type: 3, value: "BASESLAB" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcSlabTypeEnum = IfcSlabTypeEnum;
    class IfcSolarDeviceTypeEnum {
      static {
        this.SOLARCOLLECTOR = { type: 3, value: "SOLARCOLLECTOR" };
      }
      static {
        this.SOLARPANEL = { type: 3, value: "SOLARPANEL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcSolarDeviceTypeEnum = IfcSolarDeviceTypeEnum;
    class IfcSpaceHeaterTypeEnum {
      static {
        this.CONVECTOR = { type: 3, value: "CONVECTOR" };
      }
      static {
        this.RADIATOR = { type: 3, value: "RADIATOR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcSpaceHeaterTypeEnum = IfcSpaceHeaterTypeEnum;
    class IfcSpaceTypeEnum {
      static {
        this.SPACE = { type: 3, value: "SPACE" };
      }
      static {
        this.PARKING = { type: 3, value: "PARKING" };
      }
      static {
        this.GFA = { type: 3, value: "GFA" };
      }
      static {
        this.INTERNAL = { type: 3, value: "INTERNAL" };
      }
      static {
        this.EXTERNAL = { type: 3, value: "EXTERNAL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcSpaceTypeEnum = IfcSpaceTypeEnum;
    class IfcSpatialZoneTypeEnum {
      static {
        this.CONSTRUCTION = { type: 3, value: "CONSTRUCTION" };
      }
      static {
        this.FIRESAFETY = { type: 3, value: "FIRESAFETY" };
      }
      static {
        this.LIGHTING = { type: 3, value: "LIGHTING" };
      }
      static {
        this.OCCUPANCY = { type: 3, value: "OCCUPANCY" };
      }
      static {
        this.SECURITY = { type: 3, value: "SECURITY" };
      }
      static {
        this.THERMAL = { type: 3, value: "THERMAL" };
      }
      static {
        this.TRANSPORT = { type: 3, value: "TRANSPORT" };
      }
      static {
        this.VENTILATION = { type: 3, value: "VENTILATION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcSpatialZoneTypeEnum = IfcSpatialZoneTypeEnum;
    class IfcStackTerminalTypeEnum {
      static {
        this.BIRDCAGE = { type: 3, value: "BIRDCAGE" };
      }
      static {
        this.COWL = { type: 3, value: "COWL" };
      }
      static {
        this.RAINWATERHOPPER = { type: 3, value: "RAINWATERHOPPER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcStackTerminalTypeEnum = IfcStackTerminalTypeEnum;
    class IfcStairFlightTypeEnum {
      static {
        this.STRAIGHT = { type: 3, value: "STRAIGHT" };
      }
      static {
        this.WINDER = { type: 3, value: "WINDER" };
      }
      static {
        this.SPIRAL = { type: 3, value: "SPIRAL" };
      }
      static {
        this.CURVED = { type: 3, value: "CURVED" };
      }
      static {
        this.FREEFORM = { type: 3, value: "FREEFORM" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcStairFlightTypeEnum = IfcStairFlightTypeEnum;
    class IfcStairTypeEnum {
      static {
        this.STRAIGHT_RUN_STAIR = { type: 3, value: "STRAIGHT_RUN_STAIR" };
      }
      static {
        this.TWO_STRAIGHT_RUN_STAIR = { type: 3, value: "TWO_STRAIGHT_RUN_STAIR" };
      }
      static {
        this.QUARTER_WINDING_STAIR = { type: 3, value: "QUARTER_WINDING_STAIR" };
      }
      static {
        this.QUARTER_TURN_STAIR = { type: 3, value: "QUARTER_TURN_STAIR" };
      }
      static {
        this.HALF_WINDING_STAIR = { type: 3, value: "HALF_WINDING_STAIR" };
      }
      static {
        this.HALF_TURN_STAIR = { type: 3, value: "HALF_TURN_STAIR" };
      }
      static {
        this.TWO_QUARTER_WINDING_STAIR = { type: 3, value: "TWO_QUARTER_WINDING_STAIR" };
      }
      static {
        this.TWO_QUARTER_TURN_STAIR = { type: 3, value: "TWO_QUARTER_TURN_STAIR" };
      }
      static {
        this.THREE_QUARTER_WINDING_STAIR = { type: 3, value: "THREE_QUARTER_WINDING_STAIR" };
      }
      static {
        this.THREE_QUARTER_TURN_STAIR = { type: 3, value: "THREE_QUARTER_TURN_STAIR" };
      }
      static {
        this.SPIRAL_STAIR = { type: 3, value: "SPIRAL_STAIR" };
      }
      static {
        this.DOUBLE_RETURN_STAIR = { type: 3, value: "DOUBLE_RETURN_STAIR" };
      }
      static {
        this.CURVED_RUN_STAIR = { type: 3, value: "CURVED_RUN_STAIR" };
      }
      static {
        this.TWO_CURVED_RUN_STAIR = { type: 3, value: "TWO_CURVED_RUN_STAIR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcStairTypeEnum = IfcStairTypeEnum;
    class IfcStateEnum {
      static {
        this.READWRITE = { type: 3, value: "READWRITE" };
      }
      static {
        this.READONLY = { type: 3, value: "READONLY" };
      }
      static {
        this.LOCKED = { type: 3, value: "LOCKED" };
      }
      static {
        this.READWRITELOCKED = { type: 3, value: "READWRITELOCKED" };
      }
      static {
        this.READONLYLOCKED = { type: 3, value: "READONLYLOCKED" };
      }
    }
    IFC42.IfcStateEnum = IfcStateEnum;
    class IfcStructuralCurveActivityTypeEnum {
      static {
        this.CONST = { type: 3, value: "CONST" };
      }
      static {
        this.LINEAR = { type: 3, value: "LINEAR" };
      }
      static {
        this.POLYGONAL = { type: 3, value: "POLYGONAL" };
      }
      static {
        this.EQUIDISTANT = { type: 3, value: "EQUIDISTANT" };
      }
      static {
        this.SINUS = { type: 3, value: "SINUS" };
      }
      static {
        this.PARABOLA = { type: 3, value: "PARABOLA" };
      }
      static {
        this.DISCRETE = { type: 3, value: "DISCRETE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcStructuralCurveActivityTypeEnum = IfcStructuralCurveActivityTypeEnum;
    class IfcStructuralCurveMemberTypeEnum {
      static {
        this.RIGID_JOINED_MEMBER = { type: 3, value: "RIGID_JOINED_MEMBER" };
      }
      static {
        this.PIN_JOINED_MEMBER = { type: 3, value: "PIN_JOINED_MEMBER" };
      }
      static {
        this.CABLE = { type: 3, value: "CABLE" };
      }
      static {
        this.TENSION_MEMBER = { type: 3, value: "TENSION_MEMBER" };
      }
      static {
        this.COMPRESSION_MEMBER = { type: 3, value: "COMPRESSION_MEMBER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcStructuralCurveMemberTypeEnum = IfcStructuralCurveMemberTypeEnum;
    class IfcStructuralSurfaceActivityTypeEnum {
      static {
        this.CONST = { type: 3, value: "CONST" };
      }
      static {
        this.BILINEAR = { type: 3, value: "BILINEAR" };
      }
      static {
        this.DISCRETE = { type: 3, value: "DISCRETE" };
      }
      static {
        this.ISOCONTOUR = { type: 3, value: "ISOCONTOUR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcStructuralSurfaceActivityTypeEnum = IfcStructuralSurfaceActivityTypeEnum;
    class IfcStructuralSurfaceMemberTypeEnum {
      static {
        this.BENDING_ELEMENT = { type: 3, value: "BENDING_ELEMENT" };
      }
      static {
        this.MEMBRANE_ELEMENT = { type: 3, value: "MEMBRANE_ELEMENT" };
      }
      static {
        this.SHELL = { type: 3, value: "SHELL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcStructuralSurfaceMemberTypeEnum = IfcStructuralSurfaceMemberTypeEnum;
    class IfcSubContractResourceTypeEnum {
      static {
        this.PURCHASE = { type: 3, value: "PURCHASE" };
      }
      static {
        this.WORK = { type: 3, value: "WORK" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcSubContractResourceTypeEnum = IfcSubContractResourceTypeEnum;
    class IfcSurfaceFeatureTypeEnum {
      static {
        this.MARK = { type: 3, value: "MARK" };
      }
      static {
        this.TAG = { type: 3, value: "TAG" };
      }
      static {
        this.TREATMENT = { type: 3, value: "TREATMENT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcSurfaceFeatureTypeEnum = IfcSurfaceFeatureTypeEnum;
    class IfcSurfaceSide {
      static {
        this.POSITIVE = { type: 3, value: "POSITIVE" };
      }
      static {
        this.NEGATIVE = { type: 3, value: "NEGATIVE" };
      }
      static {
        this.BOTH = { type: 3, value: "BOTH" };
      }
    }
    IFC42.IfcSurfaceSide = IfcSurfaceSide;
    class IfcSwitchingDeviceTypeEnum {
      static {
        this.CONTACTOR = { type: 3, value: "CONTACTOR" };
      }
      static {
        this.DIMMERSWITCH = { type: 3, value: "DIMMERSWITCH" };
      }
      static {
        this.EMERGENCYSTOP = { type: 3, value: "EMERGENCYSTOP" };
      }
      static {
        this.KEYPAD = { type: 3, value: "KEYPAD" };
      }
      static {
        this.MOMENTARYSWITCH = { type: 3, value: "MOMENTARYSWITCH" };
      }
      static {
        this.SELECTORSWITCH = { type: 3, value: "SELECTORSWITCH" };
      }
      static {
        this.STARTER = { type: 3, value: "STARTER" };
      }
      static {
        this.SWITCHDISCONNECTOR = { type: 3, value: "SWITCHDISCONNECTOR" };
      }
      static {
        this.TOGGLESWITCH = { type: 3, value: "TOGGLESWITCH" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcSwitchingDeviceTypeEnum = IfcSwitchingDeviceTypeEnum;
    class IfcSystemFurnitureElementTypeEnum {
      static {
        this.PANEL = { type: 3, value: "PANEL" };
      }
      static {
        this.WORKSURFACE = { type: 3, value: "WORKSURFACE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcSystemFurnitureElementTypeEnum = IfcSystemFurnitureElementTypeEnum;
    class IfcTankTypeEnum {
      static {
        this.BASIN = { type: 3, value: "BASIN" };
      }
      static {
        this.BREAKPRESSURE = { type: 3, value: "BREAKPRESSURE" };
      }
      static {
        this.EXPANSION = { type: 3, value: "EXPANSION" };
      }
      static {
        this.FEEDANDEXPANSION = { type: 3, value: "FEEDANDEXPANSION" };
      }
      static {
        this.PRESSUREVESSEL = { type: 3, value: "PRESSUREVESSEL" };
      }
      static {
        this.STORAGE = { type: 3, value: "STORAGE" };
      }
      static {
        this.VESSEL = { type: 3, value: "VESSEL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcTankTypeEnum = IfcTankTypeEnum;
    class IfcTaskDurationEnum {
      static {
        this.ELAPSEDTIME = { type: 3, value: "ELAPSEDTIME" };
      }
      static {
        this.WORKTIME = { type: 3, value: "WORKTIME" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcTaskDurationEnum = IfcTaskDurationEnum;
    class IfcTaskTypeEnum {
      static {
        this.ATTENDANCE = { type: 3, value: "ATTENDANCE" };
      }
      static {
        this.CONSTRUCTION = { type: 3, value: "CONSTRUCTION" };
      }
      static {
        this.DEMOLITION = { type: 3, value: "DEMOLITION" };
      }
      static {
        this.DISMANTLE = { type: 3, value: "DISMANTLE" };
      }
      static {
        this.DISPOSAL = { type: 3, value: "DISPOSAL" };
      }
      static {
        this.INSTALLATION = { type: 3, value: "INSTALLATION" };
      }
      static {
        this.LOGISTIC = { type: 3, value: "LOGISTIC" };
      }
      static {
        this.MAINTENANCE = { type: 3, value: "MAINTENANCE" };
      }
      static {
        this.MOVE = { type: 3, value: "MOVE" };
      }
      static {
        this.OPERATION = { type: 3, value: "OPERATION" };
      }
      static {
        this.REMOVAL = { type: 3, value: "REMOVAL" };
      }
      static {
        this.RENOVATION = { type: 3, value: "RENOVATION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcTaskTypeEnum = IfcTaskTypeEnum;
    class IfcTendonAnchorTypeEnum {
      static {
        this.COUPLER = { type: 3, value: "COUPLER" };
      }
      static {
        this.FIXED_END = { type: 3, value: "FIXED_END" };
      }
      static {
        this.TENSIONING_END = { type: 3, value: "TENSIONING_END" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcTendonAnchorTypeEnum = IfcTendonAnchorTypeEnum;
    class IfcTendonTypeEnum {
      static {
        this.BAR = { type: 3, value: "BAR" };
      }
      static {
        this.COATED = { type: 3, value: "COATED" };
      }
      static {
        this.STRAND = { type: 3, value: "STRAND" };
      }
      static {
        this.WIRE = { type: 3, value: "WIRE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcTendonTypeEnum = IfcTendonTypeEnum;
    class IfcTextPath {
      static {
        this.LEFT = { type: 3, value: "LEFT" };
      }
      static {
        this.RIGHT = { type: 3, value: "RIGHT" };
      }
      static {
        this.UP = { type: 3, value: "UP" };
      }
      static {
        this.DOWN = { type: 3, value: "DOWN" };
      }
    }
    IFC42.IfcTextPath = IfcTextPath;
    class IfcTimeSeriesDataTypeEnum {
      static {
        this.CONTINUOUS = { type: 3, value: "CONTINUOUS" };
      }
      static {
        this.DISCRETE = { type: 3, value: "DISCRETE" };
      }
      static {
        this.DISCRETEBINARY = { type: 3, value: "DISCRETEBINARY" };
      }
      static {
        this.PIECEWISEBINARY = { type: 3, value: "PIECEWISEBINARY" };
      }
      static {
        this.PIECEWISECONSTANT = { type: 3, value: "PIECEWISECONSTANT" };
      }
      static {
        this.PIECEWISECONTINUOUS = { type: 3, value: "PIECEWISECONTINUOUS" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcTimeSeriesDataTypeEnum = IfcTimeSeriesDataTypeEnum;
    class IfcTransformerTypeEnum {
      static {
        this.CURRENT = { type: 3, value: "CURRENT" };
      }
      static {
        this.FREQUENCY = { type: 3, value: "FREQUENCY" };
      }
      static {
        this.INVERTER = { type: 3, value: "INVERTER" };
      }
      static {
        this.RECTIFIER = { type: 3, value: "RECTIFIER" };
      }
      static {
        this.VOLTAGE = { type: 3, value: "VOLTAGE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcTransformerTypeEnum = IfcTransformerTypeEnum;
    class IfcTransitionCode {
      static {
        this.DISCONTINUOUS = { type: 3, value: "DISCONTINUOUS" };
      }
      static {
        this.CONTINUOUS = { type: 3, value: "CONTINUOUS" };
      }
      static {
        this.CONTSAMEGRADIENT = { type: 3, value: "CONTSAMEGRADIENT" };
      }
      static {
        this.CONTSAMEGRADIENTSAMECURVATURE = { type: 3, value: "CONTSAMEGRADIENTSAMECURVATURE" };
      }
    }
    IFC42.IfcTransitionCode = IfcTransitionCode;
    class IfcTransportElementTypeEnum {
      static {
        this.ELEVATOR = { type: 3, value: "ELEVATOR" };
      }
      static {
        this.ESCALATOR = { type: 3, value: "ESCALATOR" };
      }
      static {
        this.MOVINGWALKWAY = { type: 3, value: "MOVINGWALKWAY" };
      }
      static {
        this.CRANEWAY = { type: 3, value: "CRANEWAY" };
      }
      static {
        this.LIFTINGGEAR = { type: 3, value: "LIFTINGGEAR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcTransportElementTypeEnum = IfcTransportElementTypeEnum;
    class IfcTrimmingPreference {
      static {
        this.CARTESIAN = { type: 3, value: "CARTESIAN" };
      }
      static {
        this.PARAMETER = { type: 3, value: "PARAMETER" };
      }
      static {
        this.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" };
      }
    }
    IFC42.IfcTrimmingPreference = IfcTrimmingPreference;
    class IfcTubeBundleTypeEnum {
      static {
        this.FINNED = { type: 3, value: "FINNED" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcTubeBundleTypeEnum = IfcTubeBundleTypeEnum;
    class IfcUnitEnum {
      static {
        this.ABSORBEDDOSEUNIT = { type: 3, value: "ABSORBEDDOSEUNIT" };
      }
      static {
        this.AMOUNTOFSUBSTANCEUNIT = { type: 3, value: "AMOUNTOFSUBSTANCEUNIT" };
      }
      static {
        this.AREAUNIT = { type: 3, value: "AREAUNIT" };
      }
      static {
        this.DOSEEQUIVALENTUNIT = { type: 3, value: "DOSEEQUIVALENTUNIT" };
      }
      static {
        this.ELECTRICCAPACITANCEUNIT = { type: 3, value: "ELECTRICCAPACITANCEUNIT" };
      }
      static {
        this.ELECTRICCHARGEUNIT = { type: 3, value: "ELECTRICCHARGEUNIT" };
      }
      static {
        this.ELECTRICCONDUCTANCEUNIT = { type: 3, value: "ELECTRICCONDUCTANCEUNIT" };
      }
      static {
        this.ELECTRICCURRENTUNIT = { type: 3, value: "ELECTRICCURRENTUNIT" };
      }
      static {
        this.ELECTRICRESISTANCEUNIT = { type: 3, value: "ELECTRICRESISTANCEUNIT" };
      }
      static {
        this.ELECTRICVOLTAGEUNIT = { type: 3, value: "ELECTRICVOLTAGEUNIT" };
      }
      static {
        this.ENERGYUNIT = { type: 3, value: "ENERGYUNIT" };
      }
      static {
        this.FORCEUNIT = { type: 3, value: "FORCEUNIT" };
      }
      static {
        this.FREQUENCYUNIT = { type: 3, value: "FREQUENCYUNIT" };
      }
      static {
        this.ILLUMINANCEUNIT = { type: 3, value: "ILLUMINANCEUNIT" };
      }
      static {
        this.INDUCTANCEUNIT = { type: 3, value: "INDUCTANCEUNIT" };
      }
      static {
        this.LENGTHUNIT = { type: 3, value: "LENGTHUNIT" };
      }
      static {
        this.LUMINOUSFLUXUNIT = { type: 3, value: "LUMINOUSFLUXUNIT" };
      }
      static {
        this.LUMINOUSINTENSITYUNIT = { type: 3, value: "LUMINOUSINTENSITYUNIT" };
      }
      static {
        this.MAGNETICFLUXDENSITYUNIT = { type: 3, value: "MAGNETICFLUXDENSITYUNIT" };
      }
      static {
        this.MAGNETICFLUXUNIT = { type: 3, value: "MAGNETICFLUXUNIT" };
      }
      static {
        this.MASSUNIT = { type: 3, value: "MASSUNIT" };
      }
      static {
        this.PLANEANGLEUNIT = { type: 3, value: "PLANEANGLEUNIT" };
      }
      static {
        this.POWERUNIT = { type: 3, value: "POWERUNIT" };
      }
      static {
        this.PRESSUREUNIT = { type: 3, value: "PRESSUREUNIT" };
      }
      static {
        this.RADIOACTIVITYUNIT = { type: 3, value: "RADIOACTIVITYUNIT" };
      }
      static {
        this.SOLIDANGLEUNIT = { type: 3, value: "SOLIDANGLEUNIT" };
      }
      static {
        this.THERMODYNAMICTEMPERATUREUNIT = { type: 3, value: "THERMODYNAMICTEMPERATUREUNIT" };
      }
      static {
        this.TIMEUNIT = { type: 3, value: "TIMEUNIT" };
      }
      static {
        this.VOLUMEUNIT = { type: 3, value: "VOLUMEUNIT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
    }
    IFC42.IfcUnitEnum = IfcUnitEnum;
    class IfcUnitaryControlElementTypeEnum {
      static {
        this.ALARMPANEL = { type: 3, value: "ALARMPANEL" };
      }
      static {
        this.CONTROLPANEL = { type: 3, value: "CONTROLPANEL" };
      }
      static {
        this.GASDETECTIONPANEL = { type: 3, value: "GASDETECTIONPANEL" };
      }
      static {
        this.INDICATORPANEL = { type: 3, value: "INDICATORPANEL" };
      }
      static {
        this.MIMICPANEL = { type: 3, value: "MIMICPANEL" };
      }
      static {
        this.HUMIDISTAT = { type: 3, value: "HUMIDISTAT" };
      }
      static {
        this.THERMOSTAT = { type: 3, value: "THERMOSTAT" };
      }
      static {
        this.WEATHERSTATION = { type: 3, value: "WEATHERSTATION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcUnitaryControlElementTypeEnum = IfcUnitaryControlElementTypeEnum;
    class IfcUnitaryEquipmentTypeEnum {
      static {
        this.AIRHANDLER = { type: 3, value: "AIRHANDLER" };
      }
      static {
        this.AIRCONDITIONINGUNIT = { type: 3, value: "AIRCONDITIONINGUNIT" };
      }
      static {
        this.DEHUMIDIFIER = { type: 3, value: "DEHUMIDIFIER" };
      }
      static {
        this.SPLITSYSTEM = { type: 3, value: "SPLITSYSTEM" };
      }
      static {
        this.ROOFTOPUNIT = { type: 3, value: "ROOFTOPUNIT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcUnitaryEquipmentTypeEnum = IfcUnitaryEquipmentTypeEnum;
    class IfcValveTypeEnum {
      static {
        this.AIRRELEASE = { type: 3, value: "AIRRELEASE" };
      }
      static {
        this.ANTIVACUUM = { type: 3, value: "ANTIVACUUM" };
      }
      static {
        this.CHANGEOVER = { type: 3, value: "CHANGEOVER" };
      }
      static {
        this.CHECK = { type: 3, value: "CHECK" };
      }
      static {
        this.COMMISSIONING = { type: 3, value: "COMMISSIONING" };
      }
      static {
        this.DIVERTING = { type: 3, value: "DIVERTING" };
      }
      static {
        this.DRAWOFFCOCK = { type: 3, value: "DRAWOFFCOCK" };
      }
      static {
        this.DOUBLECHECK = { type: 3, value: "DOUBLECHECK" };
      }
      static {
        this.DOUBLEREGULATING = { type: 3, value: "DOUBLEREGULATING" };
      }
      static {
        this.FAUCET = { type: 3, value: "FAUCET" };
      }
      static {
        this.FLUSHING = { type: 3, value: "FLUSHING" };
      }
      static {
        this.GASCOCK = { type: 3, value: "GASCOCK" };
      }
      static {
        this.GASTAP = { type: 3, value: "GASTAP" };
      }
      static {
        this.ISOLATING = { type: 3, value: "ISOLATING" };
      }
      static {
        this.MIXING = { type: 3, value: "MIXING" };
      }
      static {
        this.PRESSUREREDUCING = { type: 3, value: "PRESSUREREDUCING" };
      }
      static {
        this.PRESSURERELIEF = { type: 3, value: "PRESSURERELIEF" };
      }
      static {
        this.REGULATING = { type: 3, value: "REGULATING" };
      }
      static {
        this.SAFETYCUTOFF = { type: 3, value: "SAFETYCUTOFF" };
      }
      static {
        this.STEAMTRAP = { type: 3, value: "STEAMTRAP" };
      }
      static {
        this.STOPCOCK = { type: 3, value: "STOPCOCK" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcValveTypeEnum = IfcValveTypeEnum;
    class IfcVibrationIsolatorTypeEnum {
      static {
        this.COMPRESSION = { type: 3, value: "COMPRESSION" };
      }
      static {
        this.SPRING = { type: 3, value: "SPRING" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcVibrationIsolatorTypeEnum = IfcVibrationIsolatorTypeEnum;
    class IfcVoidingFeatureTypeEnum {
      static {
        this.CUTOUT = { type: 3, value: "CUTOUT" };
      }
      static {
        this.NOTCH = { type: 3, value: "NOTCH" };
      }
      static {
        this.HOLE = { type: 3, value: "HOLE" };
      }
      static {
        this.MITER = { type: 3, value: "MITER" };
      }
      static {
        this.CHAMFER = { type: 3, value: "CHAMFER" };
      }
      static {
        this.EDGE = { type: 3, value: "EDGE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcVoidingFeatureTypeEnum = IfcVoidingFeatureTypeEnum;
    class IfcWallTypeEnum {
      static {
        this.MOVABLE = { type: 3, value: "MOVABLE" };
      }
      static {
        this.PARAPET = { type: 3, value: "PARAPET" };
      }
      static {
        this.PARTITIONING = { type: 3, value: "PARTITIONING" };
      }
      static {
        this.PLUMBINGWALL = { type: 3, value: "PLUMBINGWALL" };
      }
      static {
        this.SHEAR = { type: 3, value: "SHEAR" };
      }
      static {
        this.SOLIDWALL = { type: 3, value: "SOLIDWALL" };
      }
      static {
        this.STANDARD = { type: 3, value: "STANDARD" };
      }
      static {
        this.POLYGONAL = { type: 3, value: "POLYGONAL" };
      }
      static {
        this.ELEMENTEDWALL = { type: 3, value: "ELEMENTEDWALL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcWallTypeEnum = IfcWallTypeEnum;
    class IfcWasteTerminalTypeEnum {
      static {
        this.FLOORTRAP = { type: 3, value: "FLOORTRAP" };
      }
      static {
        this.FLOORWASTE = { type: 3, value: "FLOORWASTE" };
      }
      static {
        this.GULLYSUMP = { type: 3, value: "GULLYSUMP" };
      }
      static {
        this.GULLYTRAP = { type: 3, value: "GULLYTRAP" };
      }
      static {
        this.ROOFDRAIN = { type: 3, value: "ROOFDRAIN" };
      }
      static {
        this.WASTEDISPOSALUNIT = { type: 3, value: "WASTEDISPOSALUNIT" };
      }
      static {
        this.WASTETRAP = { type: 3, value: "WASTETRAP" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcWasteTerminalTypeEnum = IfcWasteTerminalTypeEnum;
    class IfcWindowPanelOperationEnum {
      static {
        this.SIDEHUNGRIGHTHAND = { type: 3, value: "SIDEHUNGRIGHTHAND" };
      }
      static {
        this.SIDEHUNGLEFTHAND = { type: 3, value: "SIDEHUNGLEFTHAND" };
      }
      static {
        this.TILTANDTURNRIGHTHAND = { type: 3, value: "TILTANDTURNRIGHTHAND" };
      }
      static {
        this.TILTANDTURNLEFTHAND = { type: 3, value: "TILTANDTURNLEFTHAND" };
      }
      static {
        this.TOPHUNG = { type: 3, value: "TOPHUNG" };
      }
      static {
        this.BOTTOMHUNG = { type: 3, value: "BOTTOMHUNG" };
      }
      static {
        this.PIVOTHORIZONTAL = { type: 3, value: "PIVOTHORIZONTAL" };
      }
      static {
        this.PIVOTVERTICAL = { type: 3, value: "PIVOTVERTICAL" };
      }
      static {
        this.SLIDINGHORIZONTAL = { type: 3, value: "SLIDINGHORIZONTAL" };
      }
      static {
        this.SLIDINGVERTICAL = { type: 3, value: "SLIDINGVERTICAL" };
      }
      static {
        this.REMOVABLECASEMENT = { type: 3, value: "REMOVABLECASEMENT" };
      }
      static {
        this.FIXEDCASEMENT = { type: 3, value: "FIXEDCASEMENT" };
      }
      static {
        this.OTHEROPERATION = { type: 3, value: "OTHEROPERATION" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcWindowPanelOperationEnum = IfcWindowPanelOperationEnum;
    class IfcWindowPanelPositionEnum {
      static {
        this.LEFT = { type: 3, value: "LEFT" };
      }
      static {
        this.MIDDLE = { type: 3, value: "MIDDLE" };
      }
      static {
        this.RIGHT = { type: 3, value: "RIGHT" };
      }
      static {
        this.BOTTOM = { type: 3, value: "BOTTOM" };
      }
      static {
        this.TOP = { type: 3, value: "TOP" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcWindowPanelPositionEnum = IfcWindowPanelPositionEnum;
    class IfcWindowStyleConstructionEnum {
      static {
        this.ALUMINIUM = { type: 3, value: "ALUMINIUM" };
      }
      static {
        this.HIGH_GRADE_STEEL = { type: 3, value: "HIGH_GRADE_STEEL" };
      }
      static {
        this.STEEL = { type: 3, value: "STEEL" };
      }
      static {
        this.WOOD = { type: 3, value: "WOOD" };
      }
      static {
        this.ALUMINIUM_WOOD = { type: 3, value: "ALUMINIUM_WOOD" };
      }
      static {
        this.PLASTIC = { type: 3, value: "PLASTIC" };
      }
      static {
        this.OTHER_CONSTRUCTION = { type: 3, value: "OTHER_CONSTRUCTION" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcWindowStyleConstructionEnum = IfcWindowStyleConstructionEnum;
    class IfcWindowStyleOperationEnum {
      static {
        this.SINGLE_PANEL = { type: 3, value: "SINGLE_PANEL" };
      }
      static {
        this.DOUBLE_PANEL_VERTICAL = { type: 3, value: "DOUBLE_PANEL_VERTICAL" };
      }
      static {
        this.DOUBLE_PANEL_HORIZONTAL = { type: 3, value: "DOUBLE_PANEL_HORIZONTAL" };
      }
      static {
        this.TRIPLE_PANEL_VERTICAL = { type: 3, value: "TRIPLE_PANEL_VERTICAL" };
      }
      static {
        this.TRIPLE_PANEL_BOTTOM = { type: 3, value: "TRIPLE_PANEL_BOTTOM" };
      }
      static {
        this.TRIPLE_PANEL_TOP = { type: 3, value: "TRIPLE_PANEL_TOP" };
      }
      static {
        this.TRIPLE_PANEL_LEFT = { type: 3, value: "TRIPLE_PANEL_LEFT" };
      }
      static {
        this.TRIPLE_PANEL_RIGHT = { type: 3, value: "TRIPLE_PANEL_RIGHT" };
      }
      static {
        this.TRIPLE_PANEL_HORIZONTAL = { type: 3, value: "TRIPLE_PANEL_HORIZONTAL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcWindowStyleOperationEnum = IfcWindowStyleOperationEnum;
    class IfcWindowTypeEnum {
      static {
        this.WINDOW = { type: 3, value: "WINDOW" };
      }
      static {
        this.SKYLIGHT = { type: 3, value: "SKYLIGHT" };
      }
      static {
        this.LIGHTDOME = { type: 3, value: "LIGHTDOME" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcWindowTypeEnum = IfcWindowTypeEnum;
    class IfcWindowTypePartitioningEnum {
      static {
        this.SINGLE_PANEL = { type: 3, value: "SINGLE_PANEL" };
      }
      static {
        this.DOUBLE_PANEL_VERTICAL = { type: 3, value: "DOUBLE_PANEL_VERTICAL" };
      }
      static {
        this.DOUBLE_PANEL_HORIZONTAL = { type: 3, value: "DOUBLE_PANEL_HORIZONTAL" };
      }
      static {
        this.TRIPLE_PANEL_VERTICAL = { type: 3, value: "TRIPLE_PANEL_VERTICAL" };
      }
      static {
        this.TRIPLE_PANEL_BOTTOM = { type: 3, value: "TRIPLE_PANEL_BOTTOM" };
      }
      static {
        this.TRIPLE_PANEL_TOP = { type: 3, value: "TRIPLE_PANEL_TOP" };
      }
      static {
        this.TRIPLE_PANEL_LEFT = { type: 3, value: "TRIPLE_PANEL_LEFT" };
      }
      static {
        this.TRIPLE_PANEL_RIGHT = { type: 3, value: "TRIPLE_PANEL_RIGHT" };
      }
      static {
        this.TRIPLE_PANEL_HORIZONTAL = { type: 3, value: "TRIPLE_PANEL_HORIZONTAL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcWindowTypePartitioningEnum = IfcWindowTypePartitioningEnum;
    class IfcWorkCalendarTypeEnum {
      static {
        this.FIRSTSHIFT = { type: 3, value: "FIRSTSHIFT" };
      }
      static {
        this.SECONDSHIFT = { type: 3, value: "SECONDSHIFT" };
      }
      static {
        this.THIRDSHIFT = { type: 3, value: "THIRDSHIFT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcWorkCalendarTypeEnum = IfcWorkCalendarTypeEnum;
    class IfcWorkPlanTypeEnum {
      static {
        this.ACTUAL = { type: 3, value: "ACTUAL" };
      }
      static {
        this.BASELINE = { type: 3, value: "BASELINE" };
      }
      static {
        this.PLANNED = { type: 3, value: "PLANNED" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcWorkPlanTypeEnum = IfcWorkPlanTypeEnum;
    class IfcWorkScheduleTypeEnum {
      static {
        this.ACTUAL = { type: 3, value: "ACTUAL" };
      }
      static {
        this.BASELINE = { type: 3, value: "BASELINE" };
      }
      static {
        this.PLANNED = { type: 3, value: "PLANNED" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC42.IfcWorkScheduleTypeEnum = IfcWorkScheduleTypeEnum;
    class IfcActorRole extends IfcLineObject {
      constructor(Role, UserDefinedRole, Description) {
        super();
        this.Role = Role;
        this.UserDefinedRole = UserDefinedRole;
        this.Description = Description;
        this.type = 3630933823;
      }
    }
    IFC42.IfcActorRole = IfcActorRole;
    class IfcAddress extends IfcLineObject {
      constructor(Purpose, Description, UserDefinedPurpose) {
        super();
        this.Purpose = Purpose;
        this.Description = Description;
        this.UserDefinedPurpose = UserDefinedPurpose;
        this.type = 618182010;
      }
    }
    IFC42.IfcAddress = IfcAddress;
    class IfcApplication extends IfcLineObject {
      constructor(ApplicationDeveloper, Version, ApplicationFullName, ApplicationIdentifier) {
        super();
        this.ApplicationDeveloper = ApplicationDeveloper;
        this.Version = Version;
        this.ApplicationFullName = ApplicationFullName;
        this.ApplicationIdentifier = ApplicationIdentifier;
        this.type = 639542469;
      }
    }
    IFC42.IfcApplication = IfcApplication;
    class IfcAppliedValue extends IfcLineObject {
      constructor(Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, Category, Condition, ArithmeticOperator, Components) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.AppliedValue = AppliedValue;
        this.UnitBasis = UnitBasis;
        this.ApplicableDate = ApplicableDate;
        this.FixedUntilDate = FixedUntilDate;
        this.Category = Category;
        this.Condition = Condition;
        this.ArithmeticOperator = ArithmeticOperator;
        this.Components = Components;
        this.type = 411424972;
      }
    }
    IFC42.IfcAppliedValue = IfcAppliedValue;
    class IfcApproval extends IfcLineObject {
      constructor(Identifier, Name, Description, TimeOfApproval, Status, Level, Qualifier, RequestingApproval, GivingApproval) {
        super();
        this.Identifier = Identifier;
        this.Name = Name;
        this.Description = Description;
        this.TimeOfApproval = TimeOfApproval;
        this.Status = Status;
        this.Level = Level;
        this.Qualifier = Qualifier;
        this.RequestingApproval = RequestingApproval;
        this.GivingApproval = GivingApproval;
        this.type = 130549933;
      }
    }
    IFC42.IfcApproval = IfcApproval;
    class IfcBoundaryCondition extends IfcLineObject {
      constructor(Name) {
        super();
        this.Name = Name;
        this.type = 4037036970;
      }
    }
    IFC42.IfcBoundaryCondition = IfcBoundaryCondition;
    class IfcBoundaryEdgeCondition extends IfcBoundaryCondition {
      constructor(Name, TranslationalStiffnessByLengthX, TranslationalStiffnessByLengthY, TranslationalStiffnessByLengthZ, RotationalStiffnessByLengthX, RotationalStiffnessByLengthY, RotationalStiffnessByLengthZ) {
        super(Name);
        this.Name = Name;
        this.TranslationalStiffnessByLengthX = TranslationalStiffnessByLengthX;
        this.TranslationalStiffnessByLengthY = TranslationalStiffnessByLengthY;
        this.TranslationalStiffnessByLengthZ = TranslationalStiffnessByLengthZ;
        this.RotationalStiffnessByLengthX = RotationalStiffnessByLengthX;
        this.RotationalStiffnessByLengthY = RotationalStiffnessByLengthY;
        this.RotationalStiffnessByLengthZ = RotationalStiffnessByLengthZ;
        this.type = 1560379544;
      }
    }
    IFC42.IfcBoundaryEdgeCondition = IfcBoundaryEdgeCondition;
    class IfcBoundaryFaceCondition extends IfcBoundaryCondition {
      constructor(Name, TranslationalStiffnessByAreaX, TranslationalStiffnessByAreaY, TranslationalStiffnessByAreaZ) {
        super(Name);
        this.Name = Name;
        this.TranslationalStiffnessByAreaX = TranslationalStiffnessByAreaX;
        this.TranslationalStiffnessByAreaY = TranslationalStiffnessByAreaY;
        this.TranslationalStiffnessByAreaZ = TranslationalStiffnessByAreaZ;
        this.type = 3367102660;
      }
    }
    IFC42.IfcBoundaryFaceCondition = IfcBoundaryFaceCondition;
    class IfcBoundaryNodeCondition extends IfcBoundaryCondition {
      constructor(Name, TranslationalStiffnessX, TranslationalStiffnessY, TranslationalStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ) {
        super(Name);
        this.Name = Name;
        this.TranslationalStiffnessX = TranslationalStiffnessX;
        this.TranslationalStiffnessY = TranslationalStiffnessY;
        this.TranslationalStiffnessZ = TranslationalStiffnessZ;
        this.RotationalStiffnessX = RotationalStiffnessX;
        this.RotationalStiffnessY = RotationalStiffnessY;
        this.RotationalStiffnessZ = RotationalStiffnessZ;
        this.type = 1387855156;
      }
    }
    IFC42.IfcBoundaryNodeCondition = IfcBoundaryNodeCondition;
    class IfcBoundaryNodeConditionWarping extends IfcBoundaryNodeCondition {
      constructor(Name, TranslationalStiffnessX, TranslationalStiffnessY, TranslationalStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ, WarpingStiffness) {
        super(Name, TranslationalStiffnessX, TranslationalStiffnessY, TranslationalStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ);
        this.Name = Name;
        this.TranslationalStiffnessX = TranslationalStiffnessX;
        this.TranslationalStiffnessY = TranslationalStiffnessY;
        this.TranslationalStiffnessZ = TranslationalStiffnessZ;
        this.RotationalStiffnessX = RotationalStiffnessX;
        this.RotationalStiffnessY = RotationalStiffnessY;
        this.RotationalStiffnessZ = RotationalStiffnessZ;
        this.WarpingStiffness = WarpingStiffness;
        this.type = 2069777674;
      }
    }
    IFC42.IfcBoundaryNodeConditionWarping = IfcBoundaryNodeConditionWarping;
    class IfcConnectionGeometry extends IfcLineObject {
      constructor() {
        super();
        this.type = 2859738748;
      }
    }
    IFC42.IfcConnectionGeometry = IfcConnectionGeometry;
    class IfcConnectionPointGeometry extends IfcConnectionGeometry {
      constructor(PointOnRelatingElement, PointOnRelatedElement) {
        super();
        this.PointOnRelatingElement = PointOnRelatingElement;
        this.PointOnRelatedElement = PointOnRelatedElement;
        this.type = 2614616156;
      }
    }
    IFC42.IfcConnectionPointGeometry = IfcConnectionPointGeometry;
    class IfcConnectionSurfaceGeometry extends IfcConnectionGeometry {
      constructor(SurfaceOnRelatingElement, SurfaceOnRelatedElement) {
        super();
        this.SurfaceOnRelatingElement = SurfaceOnRelatingElement;
        this.SurfaceOnRelatedElement = SurfaceOnRelatedElement;
        this.type = 2732653382;
      }
    }
    IFC42.IfcConnectionSurfaceGeometry = IfcConnectionSurfaceGeometry;
    class IfcConnectionVolumeGeometry extends IfcConnectionGeometry {
      constructor(VolumeOnRelatingElement, VolumeOnRelatedElement) {
        super();
        this.VolumeOnRelatingElement = VolumeOnRelatingElement;
        this.VolumeOnRelatedElement = VolumeOnRelatedElement;
        this.type = 775493141;
      }
    }
    IFC42.IfcConnectionVolumeGeometry = IfcConnectionVolumeGeometry;
    class IfcConstraint extends IfcLineObject {
      constructor(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.ConstraintGrade = ConstraintGrade;
        this.ConstraintSource = ConstraintSource;
        this.CreatingActor = CreatingActor;
        this.CreationTime = CreationTime;
        this.UserDefinedGrade = UserDefinedGrade;
        this.type = 1959218052;
      }
    }
    IFC42.IfcConstraint = IfcConstraint;
    class IfcCoordinateOperation extends IfcLineObject {
      constructor(SourceCRS, TargetCRS) {
        super();
        this.SourceCRS = SourceCRS;
        this.TargetCRS = TargetCRS;
        this.type = 1785450214;
      }
    }
    IFC42.IfcCoordinateOperation = IfcCoordinateOperation;
    class IfcCoordinateReferenceSystem extends IfcLineObject {
      constructor(Name, Description, GeodeticDatum, VerticalDatum) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.GeodeticDatum = GeodeticDatum;
        this.VerticalDatum = VerticalDatum;
        this.type = 1466758467;
      }
    }
    IFC42.IfcCoordinateReferenceSystem = IfcCoordinateReferenceSystem;
    class IfcCostValue extends IfcAppliedValue {
      constructor(Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, Category, Condition, ArithmeticOperator, Components) {
        super(Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, Category, Condition, ArithmeticOperator, Components);
        this.Name = Name;
        this.Description = Description;
        this.AppliedValue = AppliedValue;
        this.UnitBasis = UnitBasis;
        this.ApplicableDate = ApplicableDate;
        this.FixedUntilDate = FixedUntilDate;
        this.Category = Category;
        this.Condition = Condition;
        this.ArithmeticOperator = ArithmeticOperator;
        this.Components = Components;
        this.type = 602808272;
      }
    }
    IFC42.IfcCostValue = IfcCostValue;
    class IfcDerivedUnit extends IfcLineObject {
      constructor(Elements, UnitType, UserDefinedType) {
        super();
        this.Elements = Elements;
        this.UnitType = UnitType;
        this.UserDefinedType = UserDefinedType;
        this.type = 1765591967;
      }
    }
    IFC42.IfcDerivedUnit = IfcDerivedUnit;
    class IfcDerivedUnitElement extends IfcLineObject {
      constructor(Unit, Exponent) {
        super();
        this.Unit = Unit;
        this.Exponent = Exponent;
        this.type = 1045800335;
      }
    }
    IFC42.IfcDerivedUnitElement = IfcDerivedUnitElement;
    class IfcDimensionalExponents extends IfcLineObject {
      constructor(LengthExponent, MassExponent, TimeExponent, ElectricCurrentExponent, ThermodynamicTemperatureExponent, AmountOfSubstanceExponent, LuminousIntensityExponent) {
        super();
        this.LengthExponent = LengthExponent;
        this.MassExponent = MassExponent;
        this.TimeExponent = TimeExponent;
        this.ElectricCurrentExponent = ElectricCurrentExponent;
        this.ThermodynamicTemperatureExponent = ThermodynamicTemperatureExponent;
        this.AmountOfSubstanceExponent = AmountOfSubstanceExponent;
        this.LuminousIntensityExponent = LuminousIntensityExponent;
        this.type = 2949456006;
      }
    }
    IFC42.IfcDimensionalExponents = IfcDimensionalExponents;
    class IfcExternalInformation extends IfcLineObject {
      constructor() {
        super();
        this.type = 4294318154;
      }
    }
    IFC42.IfcExternalInformation = IfcExternalInformation;
    class IfcExternalReference extends IfcLineObject {
      constructor(Location, Identification, Name) {
        super();
        this.Location = Location;
        this.Identification = Identification;
        this.Name = Name;
        this.type = 3200245327;
      }
    }
    IFC42.IfcExternalReference = IfcExternalReference;
    class IfcExternallyDefinedHatchStyle extends IfcExternalReference {
      constructor(Location, Identification, Name) {
        super(Location, Identification, Name);
        this.Location = Location;
        this.Identification = Identification;
        this.Name = Name;
        this.type = 2242383968;
      }
    }
    IFC42.IfcExternallyDefinedHatchStyle = IfcExternallyDefinedHatchStyle;
    class IfcExternallyDefinedSurfaceStyle extends IfcExternalReference {
      constructor(Location, Identification, Name) {
        super(Location, Identification, Name);
        this.Location = Location;
        this.Identification = Identification;
        this.Name = Name;
        this.type = 1040185647;
      }
    }
    IFC42.IfcExternallyDefinedSurfaceStyle = IfcExternallyDefinedSurfaceStyle;
    class IfcExternallyDefinedTextFont extends IfcExternalReference {
      constructor(Location, Identification, Name) {
        super(Location, Identification, Name);
        this.Location = Location;
        this.Identification = Identification;
        this.Name = Name;
        this.type = 3548104201;
      }
    }
    IFC42.IfcExternallyDefinedTextFont = IfcExternallyDefinedTextFont;
    class IfcGridAxis extends IfcLineObject {
      constructor(AxisTag, AxisCurve, SameSense) {
        super();
        this.AxisTag = AxisTag;
        this.AxisCurve = AxisCurve;
        this.SameSense = SameSense;
        this.type = 852622518;
      }
    }
    IFC42.IfcGridAxis = IfcGridAxis;
    class IfcIrregularTimeSeriesValue extends IfcLineObject {
      constructor(TimeStamp, ListValues) {
        super();
        this.TimeStamp = TimeStamp;
        this.ListValues = ListValues;
        this.type = 3020489413;
      }
    }
    IFC42.IfcIrregularTimeSeriesValue = IfcIrregularTimeSeriesValue;
    class IfcLibraryInformation extends IfcExternalInformation {
      constructor(Name, Version, Publisher, VersionDate, Location, Description) {
        super();
        this.Name = Name;
        this.Version = Version;
        this.Publisher = Publisher;
        this.VersionDate = VersionDate;
        this.Location = Location;
        this.Description = Description;
        this.type = 2655187982;
      }
    }
    IFC42.IfcLibraryInformation = IfcLibraryInformation;
    class IfcLibraryReference extends IfcExternalReference {
      constructor(Location, Identification, Name, Description, Language, ReferencedLibrary) {
        super(Location, Identification, Name);
        this.Location = Location;
        this.Identification = Identification;
        this.Name = Name;
        this.Description = Description;
        this.Language = Language;
        this.ReferencedLibrary = ReferencedLibrary;
        this.type = 3452421091;
      }
    }
    IFC42.IfcLibraryReference = IfcLibraryReference;
    class IfcLightDistributionData extends IfcLineObject {
      constructor(MainPlaneAngle, SecondaryPlaneAngle, LuminousIntensity) {
        super();
        this.MainPlaneAngle = MainPlaneAngle;
        this.SecondaryPlaneAngle = SecondaryPlaneAngle;
        this.LuminousIntensity = LuminousIntensity;
        this.type = 4162380809;
      }
    }
    IFC42.IfcLightDistributionData = IfcLightDistributionData;
    class IfcLightIntensityDistribution extends IfcLineObject {
      constructor(LightDistributionCurve, DistributionData) {
        super();
        this.LightDistributionCurve = LightDistributionCurve;
        this.DistributionData = DistributionData;
        this.type = 1566485204;
      }
    }
    IFC42.IfcLightIntensityDistribution = IfcLightIntensityDistribution;
    class IfcMapConversion extends IfcCoordinateOperation {
      constructor(SourceCRS, TargetCRS, Eastings, Northings, OrthogonalHeight, XAxisAbscissa, XAxisOrdinate, Scale) {
        super(SourceCRS, TargetCRS);
        this.SourceCRS = SourceCRS;
        this.TargetCRS = TargetCRS;
        this.Eastings = Eastings;
        this.Northings = Northings;
        this.OrthogonalHeight = OrthogonalHeight;
        this.XAxisAbscissa = XAxisAbscissa;
        this.XAxisOrdinate = XAxisOrdinate;
        this.Scale = Scale;
        this.type = 3057273783;
      }
    }
    IFC42.IfcMapConversion = IfcMapConversion;
    class IfcMaterialClassificationRelationship extends IfcLineObject {
      constructor(MaterialClassifications, ClassifiedMaterial) {
        super();
        this.MaterialClassifications = MaterialClassifications;
        this.ClassifiedMaterial = ClassifiedMaterial;
        this.type = 1847130766;
      }
    }
    IFC42.IfcMaterialClassificationRelationship = IfcMaterialClassificationRelationship;
    class IfcMaterialDefinition extends IfcLineObject {
      constructor() {
        super();
        this.type = 760658860;
      }
    }
    IFC42.IfcMaterialDefinition = IfcMaterialDefinition;
    class IfcMaterialLayer extends IfcMaterialDefinition {
      constructor(Material, LayerThickness, IsVentilated, Name, Description, Category, Priority) {
        super();
        this.Material = Material;
        this.LayerThickness = LayerThickness;
        this.IsVentilated = IsVentilated;
        this.Name = Name;
        this.Description = Description;
        this.Category = Category;
        this.Priority = Priority;
        this.type = 248100487;
      }
    }
    IFC42.IfcMaterialLayer = IfcMaterialLayer;
    class IfcMaterialLayerSet extends IfcMaterialDefinition {
      constructor(MaterialLayers, LayerSetName, Description) {
        super();
        this.MaterialLayers = MaterialLayers;
        this.LayerSetName = LayerSetName;
        this.Description = Description;
        this.type = 3303938423;
      }
    }
    IFC42.IfcMaterialLayerSet = IfcMaterialLayerSet;
    class IfcMaterialLayerWithOffsets extends IfcMaterialLayer {
      constructor(Material, LayerThickness, IsVentilated, Name, Description, Category, Priority, OffsetDirection, OffsetValues) {
        super(Material, LayerThickness, IsVentilated, Name, Description, Category, Priority);
        this.Material = Material;
        this.LayerThickness = LayerThickness;
        this.IsVentilated = IsVentilated;
        this.Name = Name;
        this.Description = Description;
        this.Category = Category;
        this.Priority = Priority;
        this.OffsetDirection = OffsetDirection;
        this.OffsetValues = OffsetValues;
        this.type = 1847252529;
      }
    }
    IFC42.IfcMaterialLayerWithOffsets = IfcMaterialLayerWithOffsets;
    class IfcMaterialList extends IfcLineObject {
      constructor(Materials) {
        super();
        this.Materials = Materials;
        this.type = 2199411900;
      }
    }
    IFC42.IfcMaterialList = IfcMaterialList;
    class IfcMaterialProfile extends IfcMaterialDefinition {
      constructor(Name, Description, Material, Profile, Priority, Category) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.Material = Material;
        this.Profile = Profile;
        this.Priority = Priority;
        this.Category = Category;
        this.type = 2235152071;
      }
    }
    IFC42.IfcMaterialProfile = IfcMaterialProfile;
    class IfcMaterialProfileSet extends IfcMaterialDefinition {
      constructor(Name, Description, MaterialProfiles, CompositeProfile) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.MaterialProfiles = MaterialProfiles;
        this.CompositeProfile = CompositeProfile;
        this.type = 164193824;
      }
    }
    IFC42.IfcMaterialProfileSet = IfcMaterialProfileSet;
    class IfcMaterialProfileWithOffsets extends IfcMaterialProfile {
      constructor(Name, Description, Material, Profile, Priority, Category, OffsetValues) {
        super(Name, Description, Material, Profile, Priority, Category);
        this.Name = Name;
        this.Description = Description;
        this.Material = Material;
        this.Profile = Profile;
        this.Priority = Priority;
        this.Category = Category;
        this.OffsetValues = OffsetValues;
        this.type = 552965576;
      }
    }
    IFC42.IfcMaterialProfileWithOffsets = IfcMaterialProfileWithOffsets;
    class IfcMaterialUsageDefinition extends IfcLineObject {
      constructor() {
        super();
        this.type = 1507914824;
      }
    }
    IFC42.IfcMaterialUsageDefinition = IfcMaterialUsageDefinition;
    class IfcMeasureWithUnit extends IfcLineObject {
      constructor(ValueComponent, UnitComponent) {
        super();
        this.ValueComponent = ValueComponent;
        this.UnitComponent = UnitComponent;
        this.type = 2597039031;
      }
    }
    IFC42.IfcMeasureWithUnit = IfcMeasureWithUnit;
    class IfcMetric extends IfcConstraint {
      constructor(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade, Benchmark, ValueSource, DataValue, ReferencePath) {
        super(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade);
        this.Name = Name;
        this.Description = Description;
        this.ConstraintGrade = ConstraintGrade;
        this.ConstraintSource = ConstraintSource;
        this.CreatingActor = CreatingActor;
        this.CreationTime = CreationTime;
        this.UserDefinedGrade = UserDefinedGrade;
        this.Benchmark = Benchmark;
        this.ValueSource = ValueSource;
        this.DataValue = DataValue;
        this.ReferencePath = ReferencePath;
        this.type = 3368373690;
      }
    }
    IFC42.IfcMetric = IfcMetric;
    class IfcMonetaryUnit extends IfcLineObject {
      constructor(Currency) {
        super();
        this.Currency = Currency;
        this.type = 2706619895;
      }
    }
    IFC42.IfcMonetaryUnit = IfcMonetaryUnit;
    class IfcNamedUnit extends IfcLineObject {
      constructor(Dimensions, UnitType) {
        super();
        this.Dimensions = Dimensions;
        this.UnitType = UnitType;
        this.type = 1918398963;
      }
    }
    IFC42.IfcNamedUnit = IfcNamedUnit;
    class IfcObjectPlacement extends IfcLineObject {
      constructor() {
        super();
        this.type = 3701648758;
      }
    }
    IFC42.IfcObjectPlacement = IfcObjectPlacement;
    class IfcObjective extends IfcConstraint {
      constructor(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade, BenchmarkValues, LogicalAggregator, ObjectiveQualifier, UserDefinedQualifier) {
        super(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade);
        this.Name = Name;
        this.Description = Description;
        this.ConstraintGrade = ConstraintGrade;
        this.ConstraintSource = ConstraintSource;
        this.CreatingActor = CreatingActor;
        this.CreationTime = CreationTime;
        this.UserDefinedGrade = UserDefinedGrade;
        this.BenchmarkValues = BenchmarkValues;
        this.LogicalAggregator = LogicalAggregator;
        this.ObjectiveQualifier = ObjectiveQualifier;
        this.UserDefinedQualifier = UserDefinedQualifier;
        this.type = 2251480897;
      }
    }
    IFC42.IfcObjective = IfcObjective;
    class IfcOrganization extends IfcLineObject {
      constructor(Identification, Name, Description, Roles, Addresses) {
        super();
        this.Identification = Identification;
        this.Name = Name;
        this.Description = Description;
        this.Roles = Roles;
        this.Addresses = Addresses;
        this.type = 4251960020;
      }
    }
    IFC42.IfcOrganization = IfcOrganization;
    class IfcOwnerHistory extends IfcLineObject {
      constructor(OwningUser, OwningApplication, State, ChangeAction, LastModifiedDate, LastModifyingUser, LastModifyingApplication, CreationDate) {
        super();
        this.OwningUser = OwningUser;
        this.OwningApplication = OwningApplication;
        this.State = State;
        this.ChangeAction = ChangeAction;
        this.LastModifiedDate = LastModifiedDate;
        this.LastModifyingUser = LastModifyingUser;
        this.LastModifyingApplication = LastModifyingApplication;
        this.CreationDate = CreationDate;
        this.type = 1207048766;
      }
    }
    IFC42.IfcOwnerHistory = IfcOwnerHistory;
    class IfcPerson extends IfcLineObject {
      constructor(Identification, FamilyName, GivenName, MiddleNames, PrefixTitles, SuffixTitles, Roles, Addresses) {
        super();
        this.Identification = Identification;
        this.FamilyName = FamilyName;
        this.GivenName = GivenName;
        this.MiddleNames = MiddleNames;
        this.PrefixTitles = PrefixTitles;
        this.SuffixTitles = SuffixTitles;
        this.Roles = Roles;
        this.Addresses = Addresses;
        this.type = 2077209135;
      }
    }
    IFC42.IfcPerson = IfcPerson;
    class IfcPersonAndOrganization extends IfcLineObject {
      constructor(ThePerson, TheOrganization, Roles) {
        super();
        this.ThePerson = ThePerson;
        this.TheOrganization = TheOrganization;
        this.Roles = Roles;
        this.type = 101040310;
      }
    }
    IFC42.IfcPersonAndOrganization = IfcPersonAndOrganization;
    class IfcPhysicalQuantity extends IfcLineObject {
      constructor(Name, Description) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.type = 2483315170;
      }
    }
    IFC42.IfcPhysicalQuantity = IfcPhysicalQuantity;
    class IfcPhysicalSimpleQuantity extends IfcPhysicalQuantity {
      constructor(Name, Description, Unit) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.type = 2226359599;
      }
    }
    IFC42.IfcPhysicalSimpleQuantity = IfcPhysicalSimpleQuantity;
    class IfcPostalAddress extends IfcAddress {
      constructor(Purpose, Description, UserDefinedPurpose, InternalLocation, AddressLines, PostalBox, Town, Region, PostalCode, Country) {
        super(Purpose, Description, UserDefinedPurpose);
        this.Purpose = Purpose;
        this.Description = Description;
        this.UserDefinedPurpose = UserDefinedPurpose;
        this.InternalLocation = InternalLocation;
        this.AddressLines = AddressLines;
        this.PostalBox = PostalBox;
        this.Town = Town;
        this.Region = Region;
        this.PostalCode = PostalCode;
        this.Country = Country;
        this.type = 3355820592;
      }
    }
    IFC42.IfcPostalAddress = IfcPostalAddress;
    class IfcPresentationItem extends IfcLineObject {
      constructor() {
        super();
        this.type = 677532197;
      }
    }
    IFC42.IfcPresentationItem = IfcPresentationItem;
    class IfcPresentationLayerAssignment extends IfcLineObject {
      constructor(Name, Description, AssignedItems, Identifier) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.AssignedItems = AssignedItems;
        this.Identifier = Identifier;
        this.type = 2022622350;
      }
    }
    IFC42.IfcPresentationLayerAssignment = IfcPresentationLayerAssignment;
    class IfcPresentationLayerWithStyle extends IfcPresentationLayerAssignment {
      constructor(Name, Description, AssignedItems, Identifier, LayerOn, LayerFrozen, LayerBlocked, LayerStyles) {
        super(Name, Description, AssignedItems, Identifier);
        this.Name = Name;
        this.Description = Description;
        this.AssignedItems = AssignedItems;
        this.Identifier = Identifier;
        this.LayerOn = LayerOn;
        this.LayerFrozen = LayerFrozen;
        this.LayerBlocked = LayerBlocked;
        this.LayerStyles = LayerStyles;
        this.type = 1304840413;
      }
    }
    IFC42.IfcPresentationLayerWithStyle = IfcPresentationLayerWithStyle;
    class IfcPresentationStyle extends IfcLineObject {
      constructor(Name) {
        super();
        this.Name = Name;
        this.type = 3119450353;
      }
    }
    IFC42.IfcPresentationStyle = IfcPresentationStyle;
    class IfcPresentationStyleAssignment extends IfcLineObject {
      constructor(Styles) {
        super();
        this.Styles = Styles;
        this.type = 2417041796;
      }
    }
    IFC42.IfcPresentationStyleAssignment = IfcPresentationStyleAssignment;
    class IfcProductRepresentation extends IfcLineObject {
      constructor(Name, Description, Representations) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.Representations = Representations;
        this.type = 2095639259;
      }
    }
    IFC42.IfcProductRepresentation = IfcProductRepresentation;
    class IfcProfileDef extends IfcLineObject {
      constructor(ProfileType, ProfileName) {
        super();
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.type = 3958567839;
      }
    }
    IFC42.IfcProfileDef = IfcProfileDef;
    class IfcProjectedCRS extends IfcCoordinateReferenceSystem {
      constructor(Name, Description, GeodeticDatum, VerticalDatum, MapProjection, MapZone, MapUnit) {
        super(Name, Description, GeodeticDatum, VerticalDatum);
        this.Name = Name;
        this.Description = Description;
        this.GeodeticDatum = GeodeticDatum;
        this.VerticalDatum = VerticalDatum;
        this.MapProjection = MapProjection;
        this.MapZone = MapZone;
        this.MapUnit = MapUnit;
        this.type = 3843373140;
      }
    }
    IFC42.IfcProjectedCRS = IfcProjectedCRS;
    class IfcPropertyAbstraction extends IfcLineObject {
      constructor() {
        super();
        this.type = 986844984;
      }
    }
    IFC42.IfcPropertyAbstraction = IfcPropertyAbstraction;
    class IfcPropertyEnumeration extends IfcPropertyAbstraction {
      constructor(Name, EnumerationValues, Unit) {
        super();
        this.Name = Name;
        this.EnumerationValues = EnumerationValues;
        this.Unit = Unit;
        this.type = 3710013099;
      }
    }
    IFC42.IfcPropertyEnumeration = IfcPropertyEnumeration;
    class IfcQuantityArea extends IfcPhysicalSimpleQuantity {
      constructor(Name, Description, Unit, AreaValue, Formula) {
        super(Name, Description, Unit);
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.AreaValue = AreaValue;
        this.Formula = Formula;
        this.type = 2044713172;
      }
    }
    IFC42.IfcQuantityArea = IfcQuantityArea;
    class IfcQuantityCount extends IfcPhysicalSimpleQuantity {
      constructor(Name, Description, Unit, CountValue, Formula) {
        super(Name, Description, Unit);
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.CountValue = CountValue;
        this.Formula = Formula;
        this.type = 2093928680;
      }
    }
    IFC42.IfcQuantityCount = IfcQuantityCount;
    class IfcQuantityLength extends IfcPhysicalSimpleQuantity {
      constructor(Name, Description, Unit, LengthValue, Formula) {
        super(Name, Description, Unit);
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.LengthValue = LengthValue;
        this.Formula = Formula;
        this.type = 931644368;
      }
    }
    IFC42.IfcQuantityLength = IfcQuantityLength;
    class IfcQuantityTime extends IfcPhysicalSimpleQuantity {
      constructor(Name, Description, Unit, TimeValue, Formula) {
        super(Name, Description, Unit);
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.TimeValue = TimeValue;
        this.Formula = Formula;
        this.type = 3252649465;
      }
    }
    IFC42.IfcQuantityTime = IfcQuantityTime;
    class IfcQuantityVolume extends IfcPhysicalSimpleQuantity {
      constructor(Name, Description, Unit, VolumeValue, Formula) {
        super(Name, Description, Unit);
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.VolumeValue = VolumeValue;
        this.Formula = Formula;
        this.type = 2405470396;
      }
    }
    IFC42.IfcQuantityVolume = IfcQuantityVolume;
    class IfcQuantityWeight extends IfcPhysicalSimpleQuantity {
      constructor(Name, Description, Unit, WeightValue, Formula) {
        super(Name, Description, Unit);
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.WeightValue = WeightValue;
        this.Formula = Formula;
        this.type = 825690147;
      }
    }
    IFC42.IfcQuantityWeight = IfcQuantityWeight;
    class IfcRecurrencePattern extends IfcLineObject {
      constructor(RecurrenceType, DayComponent, WeekdayComponent, MonthComponent, Position, Interval, Occurrences, TimePeriods) {
        super();
        this.RecurrenceType = RecurrenceType;
        this.DayComponent = DayComponent;
        this.WeekdayComponent = WeekdayComponent;
        this.MonthComponent = MonthComponent;
        this.Position = Position;
        this.Interval = Interval;
        this.Occurrences = Occurrences;
        this.TimePeriods = TimePeriods;
        this.type = 3915482550;
      }
    }
    IFC42.IfcRecurrencePattern = IfcRecurrencePattern;
    class IfcReference extends IfcLineObject {
      constructor(TypeIdentifier, AttributeIdentifier, InstanceName, ListPositions, InnerReference) {
        super();
        this.TypeIdentifier = TypeIdentifier;
        this.AttributeIdentifier = AttributeIdentifier;
        this.InstanceName = InstanceName;
        this.ListPositions = ListPositions;
        this.InnerReference = InnerReference;
        this.type = 2433181523;
      }
    }
    IFC42.IfcReference = IfcReference;
    class IfcRepresentation extends IfcLineObject {
      constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
        super();
        this.ContextOfItems = ContextOfItems;
        this.RepresentationIdentifier = RepresentationIdentifier;
        this.RepresentationType = RepresentationType;
        this.Items = Items;
        this.type = 1076942058;
      }
    }
    IFC42.IfcRepresentation = IfcRepresentation;
    class IfcRepresentationContext extends IfcLineObject {
      constructor(ContextIdentifier, ContextType) {
        super();
        this.ContextIdentifier = ContextIdentifier;
        this.ContextType = ContextType;
        this.type = 3377609919;
      }
    }
    IFC42.IfcRepresentationContext = IfcRepresentationContext;
    class IfcRepresentationItem extends IfcLineObject {
      constructor() {
        super();
        this.type = 3008791417;
      }
    }
    IFC42.IfcRepresentationItem = IfcRepresentationItem;
    class IfcRepresentationMap extends IfcLineObject {
      constructor(MappingOrigin, MappedRepresentation) {
        super();
        this.MappingOrigin = MappingOrigin;
        this.MappedRepresentation = MappedRepresentation;
        this.type = 1660063152;
      }
    }
    IFC42.IfcRepresentationMap = IfcRepresentationMap;
    class IfcResourceLevelRelationship extends IfcLineObject {
      constructor(Name, Description) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.type = 2439245199;
      }
    }
    IFC42.IfcResourceLevelRelationship = IfcResourceLevelRelationship;
    class IfcRoot extends IfcLineObject {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super();
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 2341007311;
      }
    }
    IFC42.IfcRoot = IfcRoot;
    class IfcSIUnit extends IfcNamedUnit {
      constructor(UnitType, Prefix, Name) {
        super(new Handle(0), UnitType);
        this.UnitType = UnitType;
        this.Prefix = Prefix;
        this.Name = Name;
        this.type = 448429030;
      }
    }
    IFC42.IfcSIUnit = IfcSIUnit;
    class IfcSchedulingTime extends IfcLineObject {
      constructor(Name, DataOrigin, UserDefinedDataOrigin) {
        super();
        this.Name = Name;
        this.DataOrigin = DataOrigin;
        this.UserDefinedDataOrigin = UserDefinedDataOrigin;
        this.type = 1054537805;
      }
    }
    IFC42.IfcSchedulingTime = IfcSchedulingTime;
    class IfcShapeAspect extends IfcLineObject {
      constructor(ShapeRepresentations, Name, Description, ProductDefinitional, PartOfProductDefinitionShape) {
        super();
        this.ShapeRepresentations = ShapeRepresentations;
        this.Name = Name;
        this.Description = Description;
        this.ProductDefinitional = ProductDefinitional;
        this.PartOfProductDefinitionShape = PartOfProductDefinitionShape;
        this.type = 867548509;
      }
    }
    IFC42.IfcShapeAspect = IfcShapeAspect;
    class IfcShapeModel extends IfcRepresentation {
      constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
        super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items);
        this.ContextOfItems = ContextOfItems;
        this.RepresentationIdentifier = RepresentationIdentifier;
        this.RepresentationType = RepresentationType;
        this.Items = Items;
        this.type = 3982875396;
      }
    }
    IFC42.IfcShapeModel = IfcShapeModel;
    class IfcShapeRepresentation extends IfcShapeModel {
      constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
        super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items);
        this.ContextOfItems = ContextOfItems;
        this.RepresentationIdentifier = RepresentationIdentifier;
        this.RepresentationType = RepresentationType;
        this.Items = Items;
        this.type = 4240577450;
      }
    }
    IFC42.IfcShapeRepresentation = IfcShapeRepresentation;
    class IfcStructuralConnectionCondition extends IfcLineObject {
      constructor(Name) {
        super();
        this.Name = Name;
        this.type = 2273995522;
      }
    }
    IFC42.IfcStructuralConnectionCondition = IfcStructuralConnectionCondition;
    class IfcStructuralLoad extends IfcLineObject {
      constructor(Name) {
        super();
        this.Name = Name;
        this.type = 2162789131;
      }
    }
    IFC42.IfcStructuralLoad = IfcStructuralLoad;
    class IfcStructuralLoadConfiguration extends IfcStructuralLoad {
      constructor(Name, Values, Locations) {
        super(Name);
        this.Name = Name;
        this.Values = Values;
        this.Locations = Locations;
        this.type = 3478079324;
      }
    }
    IFC42.IfcStructuralLoadConfiguration = IfcStructuralLoadConfiguration;
    class IfcStructuralLoadOrResult extends IfcStructuralLoad {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 609421318;
      }
    }
    IFC42.IfcStructuralLoadOrResult = IfcStructuralLoadOrResult;
    class IfcStructuralLoadStatic extends IfcStructuralLoadOrResult {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 2525727697;
      }
    }
    IFC42.IfcStructuralLoadStatic = IfcStructuralLoadStatic;
    class IfcStructuralLoadTemperature extends IfcStructuralLoadStatic {
      constructor(Name, DeltaTConstant, DeltaTY, DeltaTZ) {
        super(Name);
        this.Name = Name;
        this.DeltaTConstant = DeltaTConstant;
        this.DeltaTY = DeltaTY;
        this.DeltaTZ = DeltaTZ;
        this.type = 3408363356;
      }
    }
    IFC42.IfcStructuralLoadTemperature = IfcStructuralLoadTemperature;
    class IfcStyleModel extends IfcRepresentation {
      constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
        super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items);
        this.ContextOfItems = ContextOfItems;
        this.RepresentationIdentifier = RepresentationIdentifier;
        this.RepresentationType = RepresentationType;
        this.Items = Items;
        this.type = 2830218821;
      }
    }
    IFC42.IfcStyleModel = IfcStyleModel;
    class IfcStyledItem extends IfcRepresentationItem {
      constructor(Item, Styles, Name) {
        super();
        this.Item = Item;
        this.Styles = Styles;
        this.Name = Name;
        this.type = 3958052878;
      }
    }
    IFC42.IfcStyledItem = IfcStyledItem;
    class IfcStyledRepresentation extends IfcStyleModel {
      constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
        super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items);
        this.ContextOfItems = ContextOfItems;
        this.RepresentationIdentifier = RepresentationIdentifier;
        this.RepresentationType = RepresentationType;
        this.Items = Items;
        this.type = 3049322572;
      }
    }
    IFC42.IfcStyledRepresentation = IfcStyledRepresentation;
    class IfcSurfaceReinforcementArea extends IfcStructuralLoadOrResult {
      constructor(Name, SurfaceReinforcement1, SurfaceReinforcement2, ShearReinforcement) {
        super(Name);
        this.Name = Name;
        this.SurfaceReinforcement1 = SurfaceReinforcement1;
        this.SurfaceReinforcement2 = SurfaceReinforcement2;
        this.ShearReinforcement = ShearReinforcement;
        this.type = 2934153892;
      }
    }
    IFC42.IfcSurfaceReinforcementArea = IfcSurfaceReinforcementArea;
    class IfcSurfaceStyle extends IfcPresentationStyle {
      constructor(Name, Side, Styles) {
        super(Name);
        this.Name = Name;
        this.Side = Side;
        this.Styles = Styles;
        this.type = 1300840506;
      }
    }
    IFC42.IfcSurfaceStyle = IfcSurfaceStyle;
    class IfcSurfaceStyleLighting extends IfcPresentationItem {
      constructor(DiffuseTransmissionColour, DiffuseReflectionColour, TransmissionColour, ReflectanceColour) {
        super();
        this.DiffuseTransmissionColour = DiffuseTransmissionColour;
        this.DiffuseReflectionColour = DiffuseReflectionColour;
        this.TransmissionColour = TransmissionColour;
        this.ReflectanceColour = ReflectanceColour;
        this.type = 3303107099;
      }
    }
    IFC42.IfcSurfaceStyleLighting = IfcSurfaceStyleLighting;
    class IfcSurfaceStyleRefraction extends IfcPresentationItem {
      constructor(RefractionIndex, DispersionFactor) {
        super();
        this.RefractionIndex = RefractionIndex;
        this.DispersionFactor = DispersionFactor;
        this.type = 1607154358;
      }
    }
    IFC42.IfcSurfaceStyleRefraction = IfcSurfaceStyleRefraction;
    class IfcSurfaceStyleShading extends IfcPresentationItem {
      constructor(SurfaceColour, Transparency) {
        super();
        this.SurfaceColour = SurfaceColour;
        this.Transparency = Transparency;
        this.type = 846575682;
      }
    }
    IFC42.IfcSurfaceStyleShading = IfcSurfaceStyleShading;
    class IfcSurfaceStyleWithTextures extends IfcPresentationItem {
      constructor(Textures) {
        super();
        this.Textures = Textures;
        this.type = 1351298697;
      }
    }
    IFC42.IfcSurfaceStyleWithTextures = IfcSurfaceStyleWithTextures;
    class IfcSurfaceTexture extends IfcPresentationItem {
      constructor(RepeatS, RepeatT, Mode, TextureTransform, Parameter) {
        super();
        this.RepeatS = RepeatS;
        this.RepeatT = RepeatT;
        this.Mode = Mode;
        this.TextureTransform = TextureTransform;
        this.Parameter = Parameter;
        this.type = 626085974;
      }
    }
    IFC42.IfcSurfaceTexture = IfcSurfaceTexture;
    class IfcTable extends IfcLineObject {
      constructor(Name, Rows, Columns) {
        super();
        this.Name = Name;
        this.Rows = Rows;
        this.Columns = Columns;
        this.type = 985171141;
      }
    }
    IFC42.IfcTable = IfcTable;
    class IfcTableColumn extends IfcLineObject {
      constructor(Identifier, Name, Description, Unit, ReferencePath) {
        super();
        this.Identifier = Identifier;
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.ReferencePath = ReferencePath;
        this.type = 2043862942;
      }
    }
    IFC42.IfcTableColumn = IfcTableColumn;
    class IfcTableRow extends IfcLineObject {
      constructor(RowCells, IsHeading) {
        super();
        this.RowCells = RowCells;
        this.IsHeading = IsHeading;
        this.type = 531007025;
      }
    }
    IFC42.IfcTableRow = IfcTableRow;
    class IfcTaskTime extends IfcSchedulingTime {
      constructor(Name, DataOrigin, UserDefinedDataOrigin, DurationType, ScheduleDuration, ScheduleStart, ScheduleFinish, EarlyStart, EarlyFinish, LateStart, LateFinish, FreeFloat, TotalFloat, IsCritical, StatusTime, ActualDuration, ActualStart, ActualFinish, RemainingTime, Completion) {
        super(Name, DataOrigin, UserDefinedDataOrigin);
        this.Name = Name;
        this.DataOrigin = DataOrigin;
        this.UserDefinedDataOrigin = UserDefinedDataOrigin;
        this.DurationType = DurationType;
        this.ScheduleDuration = ScheduleDuration;
        this.ScheduleStart = ScheduleStart;
        this.ScheduleFinish = ScheduleFinish;
        this.EarlyStart = EarlyStart;
        this.EarlyFinish = EarlyFinish;
        this.LateStart = LateStart;
        this.LateFinish = LateFinish;
        this.FreeFloat = FreeFloat;
        this.TotalFloat = TotalFloat;
        this.IsCritical = IsCritical;
        this.StatusTime = StatusTime;
        this.ActualDuration = ActualDuration;
        this.ActualStart = ActualStart;
        this.ActualFinish = ActualFinish;
        this.RemainingTime = RemainingTime;
        this.Completion = Completion;
        this.type = 1549132990;
      }
    }
    IFC42.IfcTaskTime = IfcTaskTime;
    class IfcTaskTimeRecurring extends IfcTaskTime {
      constructor(Name, DataOrigin, UserDefinedDataOrigin, DurationType, ScheduleDuration, ScheduleStart, ScheduleFinish, EarlyStart, EarlyFinish, LateStart, LateFinish, FreeFloat, TotalFloat, IsCritical, StatusTime, ActualDuration, ActualStart, ActualFinish, RemainingTime, Completion, Recurrence) {
        super(Name, DataOrigin, UserDefinedDataOrigin, DurationType, ScheduleDuration, ScheduleStart, ScheduleFinish, EarlyStart, EarlyFinish, LateStart, LateFinish, FreeFloat, TotalFloat, IsCritical, StatusTime, ActualDuration, ActualStart, ActualFinish, RemainingTime, Completion);
        this.Name = Name;
        this.DataOrigin = DataOrigin;
        this.UserDefinedDataOrigin = UserDefinedDataOrigin;
        this.DurationType = DurationType;
        this.ScheduleDuration = ScheduleDuration;
        this.ScheduleStart = ScheduleStart;
        this.ScheduleFinish = ScheduleFinish;
        this.EarlyStart = EarlyStart;
        this.EarlyFinish = EarlyFinish;
        this.LateStart = LateStart;
        this.LateFinish = LateFinish;
        this.FreeFloat = FreeFloat;
        this.TotalFloat = TotalFloat;
        this.IsCritical = IsCritical;
        this.StatusTime = StatusTime;
        this.ActualDuration = ActualDuration;
        this.ActualStart = ActualStart;
        this.ActualFinish = ActualFinish;
        this.RemainingTime = RemainingTime;
        this.Completion = Completion;
        this.Recurrence = Recurrence;
        this.type = 2771591690;
      }
    }
    IFC42.IfcTaskTimeRecurring = IfcTaskTimeRecurring;
    class IfcTelecomAddress extends IfcAddress {
      constructor(Purpose, Description, UserDefinedPurpose, TelephoneNumbers, FacsimileNumbers, PagerNumber, ElectronicMailAddresses, WWWHomePageURL, MessagingIDs) {
        super(Purpose, Description, UserDefinedPurpose);
        this.Purpose = Purpose;
        this.Description = Description;
        this.UserDefinedPurpose = UserDefinedPurpose;
        this.TelephoneNumbers = TelephoneNumbers;
        this.FacsimileNumbers = FacsimileNumbers;
        this.PagerNumber = PagerNumber;
        this.ElectronicMailAddresses = ElectronicMailAddresses;
        this.WWWHomePageURL = WWWHomePageURL;
        this.MessagingIDs = MessagingIDs;
        this.type = 912023232;
      }
    }
    IFC42.IfcTelecomAddress = IfcTelecomAddress;
    class IfcTextStyle extends IfcPresentationStyle {
      constructor(Name, TextCharacterAppearance, TextStyle, TextFontStyle, ModelOrDraughting) {
        super(Name);
        this.Name = Name;
        this.TextCharacterAppearance = TextCharacterAppearance;
        this.TextStyle = TextStyle;
        this.TextFontStyle = TextFontStyle;
        this.ModelOrDraughting = ModelOrDraughting;
        this.type = 1447204868;
      }
    }
    IFC42.IfcTextStyle = IfcTextStyle;
    class IfcTextStyleForDefinedFont extends IfcPresentationItem {
      constructor(Colour, BackgroundColour) {
        super();
        this.Colour = Colour;
        this.BackgroundColour = BackgroundColour;
        this.type = 2636378356;
      }
    }
    IFC42.IfcTextStyleForDefinedFont = IfcTextStyleForDefinedFont;
    class IfcTextStyleTextModel extends IfcPresentationItem {
      constructor(TextIndent, TextAlign, TextDecoration, LetterSpacing, WordSpacing, TextTransform, LineHeight) {
        super();
        this.TextIndent = TextIndent;
        this.TextAlign = TextAlign;
        this.TextDecoration = TextDecoration;
        this.LetterSpacing = LetterSpacing;
        this.WordSpacing = WordSpacing;
        this.TextTransform = TextTransform;
        this.LineHeight = LineHeight;
        this.type = 1640371178;
      }
    }
    IFC42.IfcTextStyleTextModel = IfcTextStyleTextModel;
    class IfcTextureCoordinate extends IfcPresentationItem {
      constructor(Maps) {
        super();
        this.Maps = Maps;
        this.type = 280115917;
      }
    }
    IFC42.IfcTextureCoordinate = IfcTextureCoordinate;
    class IfcTextureCoordinateGenerator extends IfcTextureCoordinate {
      constructor(Maps, Mode, Parameter) {
        super(Maps);
        this.Maps = Maps;
        this.Mode = Mode;
        this.Parameter = Parameter;
        this.type = 1742049831;
      }
    }
    IFC42.IfcTextureCoordinateGenerator = IfcTextureCoordinateGenerator;
    class IfcTextureMap extends IfcTextureCoordinate {
      constructor(Maps, Vertices, MappedTo) {
        super(Maps);
        this.Maps = Maps;
        this.Vertices = Vertices;
        this.MappedTo = MappedTo;
        this.type = 2552916305;
      }
    }
    IFC42.IfcTextureMap = IfcTextureMap;
    class IfcTextureVertex extends IfcPresentationItem {
      constructor(Coordinates) {
        super();
        this.Coordinates = Coordinates;
        this.type = 1210645708;
      }
    }
    IFC42.IfcTextureVertex = IfcTextureVertex;
    class IfcTextureVertexList extends IfcPresentationItem {
      constructor(TexCoordsList) {
        super();
        this.TexCoordsList = TexCoordsList;
        this.type = 3611470254;
      }
    }
    IFC42.IfcTextureVertexList = IfcTextureVertexList;
    class IfcTimePeriod extends IfcLineObject {
      constructor(StartTime, EndTime) {
        super();
        this.StartTime = StartTime;
        this.EndTime = EndTime;
        this.type = 1199560280;
      }
    }
    IFC42.IfcTimePeriod = IfcTimePeriod;
    class IfcTimeSeries extends IfcLineObject {
      constructor(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.StartTime = StartTime;
        this.EndTime = EndTime;
        this.TimeSeriesDataType = TimeSeriesDataType;
        this.DataOrigin = DataOrigin;
        this.UserDefinedDataOrigin = UserDefinedDataOrigin;
        this.Unit = Unit;
        this.type = 3101149627;
      }
    }
    IFC42.IfcTimeSeries = IfcTimeSeries;
    class IfcTimeSeriesValue extends IfcLineObject {
      constructor(ListValues) {
        super();
        this.ListValues = ListValues;
        this.type = 581633288;
      }
    }
    IFC42.IfcTimeSeriesValue = IfcTimeSeriesValue;
    class IfcTopologicalRepresentationItem extends IfcRepresentationItem {
      constructor() {
        super();
        this.type = 1377556343;
      }
    }
    IFC42.IfcTopologicalRepresentationItem = IfcTopologicalRepresentationItem;
    class IfcTopologyRepresentation extends IfcShapeModel {
      constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
        super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items);
        this.ContextOfItems = ContextOfItems;
        this.RepresentationIdentifier = RepresentationIdentifier;
        this.RepresentationType = RepresentationType;
        this.Items = Items;
        this.type = 1735638870;
      }
    }
    IFC42.IfcTopologyRepresentation = IfcTopologyRepresentation;
    class IfcUnitAssignment extends IfcLineObject {
      constructor(Units) {
        super();
        this.Units = Units;
        this.type = 180925521;
      }
    }
    IFC42.IfcUnitAssignment = IfcUnitAssignment;
    class IfcVertex extends IfcTopologicalRepresentationItem {
      constructor() {
        super();
        this.type = 2799835756;
      }
    }
    IFC42.IfcVertex = IfcVertex;
    class IfcVertexPoint extends IfcVertex {
      constructor(VertexGeometry) {
        super();
        this.VertexGeometry = VertexGeometry;
        this.type = 1907098498;
      }
    }
    IFC42.IfcVertexPoint = IfcVertexPoint;
    class IfcVirtualGridIntersection extends IfcLineObject {
      constructor(IntersectingAxes, OffsetDistances) {
        super();
        this.IntersectingAxes = IntersectingAxes;
        this.OffsetDistances = OffsetDistances;
        this.type = 891718957;
      }
    }
    IFC42.IfcVirtualGridIntersection = IfcVirtualGridIntersection;
    class IfcWorkTime extends IfcSchedulingTime {
      constructor(Name, DataOrigin, UserDefinedDataOrigin, RecurrencePattern, Start, Finish) {
        super(Name, DataOrigin, UserDefinedDataOrigin);
        this.Name = Name;
        this.DataOrigin = DataOrigin;
        this.UserDefinedDataOrigin = UserDefinedDataOrigin;
        this.RecurrencePattern = RecurrencePattern;
        this.Start = Start;
        this.Finish = Finish;
        this.type = 1236880293;
      }
    }
    IFC42.IfcWorkTime = IfcWorkTime;
    class IfcApprovalRelationship extends IfcResourceLevelRelationship {
      constructor(Name, Description, RelatingApproval, RelatedApprovals) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.RelatingApproval = RelatingApproval;
        this.RelatedApprovals = RelatedApprovals;
        this.type = 3869604511;
      }
    }
    IFC42.IfcApprovalRelationship = IfcApprovalRelationship;
    class IfcArbitraryClosedProfileDef extends IfcProfileDef {
      constructor(ProfileType, ProfileName, OuterCurve) {
        super(ProfileType, ProfileName);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.OuterCurve = OuterCurve;
        this.type = 3798115385;
      }
    }
    IFC42.IfcArbitraryClosedProfileDef = IfcArbitraryClosedProfileDef;
    class IfcArbitraryOpenProfileDef extends IfcProfileDef {
      constructor(ProfileType, ProfileName, Curve) {
        super(ProfileType, ProfileName);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Curve = Curve;
        this.type = 1310608509;
      }
    }
    IFC42.IfcArbitraryOpenProfileDef = IfcArbitraryOpenProfileDef;
    class IfcArbitraryProfileDefWithVoids extends IfcArbitraryClosedProfileDef {
      constructor(ProfileType, ProfileName, OuterCurve, InnerCurves) {
        super(ProfileType, ProfileName, OuterCurve);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.OuterCurve = OuterCurve;
        this.InnerCurves = InnerCurves;
        this.type = 2705031697;
      }
    }
    IFC42.IfcArbitraryProfileDefWithVoids = IfcArbitraryProfileDefWithVoids;
    class IfcBlobTexture extends IfcSurfaceTexture {
      constructor(RepeatS, RepeatT, Mode, TextureTransform, Parameter, RasterFormat, RasterCode) {
        super(RepeatS, RepeatT, Mode, TextureTransform, Parameter);
        this.RepeatS = RepeatS;
        this.RepeatT = RepeatT;
        this.Mode = Mode;
        this.TextureTransform = TextureTransform;
        this.Parameter = Parameter;
        this.RasterFormat = RasterFormat;
        this.RasterCode = RasterCode;
        this.type = 616511568;
      }
    }
    IFC42.IfcBlobTexture = IfcBlobTexture;
    class IfcCenterLineProfileDef extends IfcArbitraryOpenProfileDef {
      constructor(ProfileType, ProfileName, Curve, Thickness) {
        super(ProfileType, ProfileName, Curve);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Curve = Curve;
        this.Thickness = Thickness;
        this.type = 3150382593;
      }
    }
    IFC42.IfcCenterLineProfileDef = IfcCenterLineProfileDef;
    class IfcClassification extends IfcExternalInformation {
      constructor(Source, Edition, EditionDate, Name, Description, Location, ReferenceTokens) {
        super();
        this.Source = Source;
        this.Edition = Edition;
        this.EditionDate = EditionDate;
        this.Name = Name;
        this.Description = Description;
        this.Location = Location;
        this.ReferenceTokens = ReferenceTokens;
        this.type = 747523909;
      }
    }
    IFC42.IfcClassification = IfcClassification;
    class IfcClassificationReference extends IfcExternalReference {
      constructor(Location, Identification, Name, ReferencedSource, Description, Sort) {
        super(Location, Identification, Name);
        this.Location = Location;
        this.Identification = Identification;
        this.Name = Name;
        this.ReferencedSource = ReferencedSource;
        this.Description = Description;
        this.Sort = Sort;
        this.type = 647927063;
      }
    }
    IFC42.IfcClassificationReference = IfcClassificationReference;
    class IfcColourRgbList extends IfcPresentationItem {
      constructor(ColourList) {
        super();
        this.ColourList = ColourList;
        this.type = 3285139300;
      }
    }
    IFC42.IfcColourRgbList = IfcColourRgbList;
    class IfcColourSpecification extends IfcPresentationItem {
      constructor(Name) {
        super();
        this.Name = Name;
        this.type = 3264961684;
      }
    }
    IFC42.IfcColourSpecification = IfcColourSpecification;
    class IfcCompositeProfileDef extends IfcProfileDef {
      constructor(ProfileType, ProfileName, Profiles, Label) {
        super(ProfileType, ProfileName);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Profiles = Profiles;
        this.Label = Label;
        this.type = 1485152156;
      }
    }
    IFC42.IfcCompositeProfileDef = IfcCompositeProfileDef;
    class IfcConnectedFaceSet extends IfcTopologicalRepresentationItem {
      constructor(CfsFaces) {
        super();
        this.CfsFaces = CfsFaces;
        this.type = 370225590;
      }
    }
    IFC42.IfcConnectedFaceSet = IfcConnectedFaceSet;
    class IfcConnectionCurveGeometry extends IfcConnectionGeometry {
      constructor(CurveOnRelatingElement, CurveOnRelatedElement) {
        super();
        this.CurveOnRelatingElement = CurveOnRelatingElement;
        this.CurveOnRelatedElement = CurveOnRelatedElement;
        this.type = 1981873012;
      }
    }
    IFC42.IfcConnectionCurveGeometry = IfcConnectionCurveGeometry;
    class IfcConnectionPointEccentricity extends IfcConnectionPointGeometry {
      constructor(PointOnRelatingElement, PointOnRelatedElement, EccentricityInX, EccentricityInY, EccentricityInZ) {
        super(PointOnRelatingElement, PointOnRelatedElement);
        this.PointOnRelatingElement = PointOnRelatingElement;
        this.PointOnRelatedElement = PointOnRelatedElement;
        this.EccentricityInX = EccentricityInX;
        this.EccentricityInY = EccentricityInY;
        this.EccentricityInZ = EccentricityInZ;
        this.type = 45288368;
      }
    }
    IFC42.IfcConnectionPointEccentricity = IfcConnectionPointEccentricity;
    class IfcContextDependentUnit extends IfcNamedUnit {
      constructor(Dimensions, UnitType, Name) {
        super(Dimensions, UnitType);
        this.Dimensions = Dimensions;
        this.UnitType = UnitType;
        this.Name = Name;
        this.type = 3050246964;
      }
    }
    IFC42.IfcContextDependentUnit = IfcContextDependentUnit;
    class IfcConversionBasedUnit extends IfcNamedUnit {
      constructor(Dimensions, UnitType, Name, ConversionFactor) {
        super(Dimensions, UnitType);
        this.Dimensions = Dimensions;
        this.UnitType = UnitType;
        this.Name = Name;
        this.ConversionFactor = ConversionFactor;
        this.type = 2889183280;
      }
    }
    IFC42.IfcConversionBasedUnit = IfcConversionBasedUnit;
    class IfcConversionBasedUnitWithOffset extends IfcConversionBasedUnit {
      constructor(Dimensions, UnitType, Name, ConversionFactor, ConversionOffset) {
        super(Dimensions, UnitType, Name, ConversionFactor);
        this.Dimensions = Dimensions;
        this.UnitType = UnitType;
        this.Name = Name;
        this.ConversionFactor = ConversionFactor;
        this.ConversionOffset = ConversionOffset;
        this.type = 2713554722;
      }
    }
    IFC42.IfcConversionBasedUnitWithOffset = IfcConversionBasedUnitWithOffset;
    class IfcCurrencyRelationship extends IfcResourceLevelRelationship {
      constructor(Name, Description, RelatingMonetaryUnit, RelatedMonetaryUnit, ExchangeRate, RateDateTime, RateSource) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.RelatingMonetaryUnit = RelatingMonetaryUnit;
        this.RelatedMonetaryUnit = RelatedMonetaryUnit;
        this.ExchangeRate = ExchangeRate;
        this.RateDateTime = RateDateTime;
        this.RateSource = RateSource;
        this.type = 539742890;
      }
    }
    IFC42.IfcCurrencyRelationship = IfcCurrencyRelationship;
    class IfcCurveStyle extends IfcPresentationStyle {
      constructor(Name, CurveFont, CurveWidth, CurveColour, ModelOrDraughting) {
        super(Name);
        this.Name = Name;
        this.CurveFont = CurveFont;
        this.CurveWidth = CurveWidth;
        this.CurveColour = CurveColour;
        this.ModelOrDraughting = ModelOrDraughting;
        this.type = 3800577675;
      }
    }
    IFC42.IfcCurveStyle = IfcCurveStyle;
    class IfcCurveStyleFont extends IfcPresentationItem {
      constructor(Name, PatternList) {
        super();
        this.Name = Name;
        this.PatternList = PatternList;
        this.type = 1105321065;
      }
    }
    IFC42.IfcCurveStyleFont = IfcCurveStyleFont;
    class IfcCurveStyleFontAndScaling extends IfcPresentationItem {
      constructor(Name, CurveFont, CurveFontScaling) {
        super();
        this.Name = Name;
        this.CurveFont = CurveFont;
        this.CurveFontScaling = CurveFontScaling;
        this.type = 2367409068;
      }
    }
    IFC42.IfcCurveStyleFontAndScaling = IfcCurveStyleFontAndScaling;
    class IfcCurveStyleFontPattern extends IfcPresentationItem {
      constructor(VisibleSegmentLength, InvisibleSegmentLength) {
        super();
        this.VisibleSegmentLength = VisibleSegmentLength;
        this.InvisibleSegmentLength = InvisibleSegmentLength;
        this.type = 3510044353;
      }
    }
    IFC42.IfcCurveStyleFontPattern = IfcCurveStyleFontPattern;
    class IfcDerivedProfileDef extends IfcProfileDef {
      constructor(ProfileType, ProfileName, ParentProfile, Operator, Label) {
        super(ProfileType, ProfileName);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.ParentProfile = ParentProfile;
        this.Operator = Operator;
        this.Label = Label;
        this.type = 3632507154;
      }
    }
    IFC42.IfcDerivedProfileDef = IfcDerivedProfileDef;
    class IfcDocumentInformation extends IfcExternalInformation {
      constructor(Identification, Name, Description, Location, Purpose, IntendedUse, Scope, Revision, DocumentOwner, Editors, CreationTime, LastRevisionTime, ElectronicFormat, ValidFrom, ValidUntil, Confidentiality, Status) {
        super();
        this.Identification = Identification;
        this.Name = Name;
        this.Description = Description;
        this.Location = Location;
        this.Purpose = Purpose;
        this.IntendedUse = IntendedUse;
        this.Scope = Scope;
        this.Revision = Revision;
        this.DocumentOwner = DocumentOwner;
        this.Editors = Editors;
        this.CreationTime = CreationTime;
        this.LastRevisionTime = LastRevisionTime;
        this.ElectronicFormat = ElectronicFormat;
        this.ValidFrom = ValidFrom;
        this.ValidUntil = ValidUntil;
        this.Confidentiality = Confidentiality;
        this.Status = Status;
        this.type = 1154170062;
      }
    }
    IFC42.IfcDocumentInformation = IfcDocumentInformation;
    class IfcDocumentInformationRelationship extends IfcResourceLevelRelationship {
      constructor(Name, Description, RelatingDocument, RelatedDocuments, RelationshipType) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.RelatingDocument = RelatingDocument;
        this.RelatedDocuments = RelatedDocuments;
        this.RelationshipType = RelationshipType;
        this.type = 770865208;
      }
    }
    IFC42.IfcDocumentInformationRelationship = IfcDocumentInformationRelationship;
    class IfcDocumentReference extends IfcExternalReference {
      constructor(Location, Identification, Name, Description, ReferencedDocument) {
        super(Location, Identification, Name);
        this.Location = Location;
        this.Identification = Identification;
        this.Name = Name;
        this.Description = Description;
        this.ReferencedDocument = ReferencedDocument;
        this.type = 3732053477;
      }
    }
    IFC42.IfcDocumentReference = IfcDocumentReference;
    class IfcEdge extends IfcTopologicalRepresentationItem {
      constructor(EdgeStart, EdgeEnd) {
        super();
        this.EdgeStart = EdgeStart;
        this.EdgeEnd = EdgeEnd;
        this.type = 3900360178;
      }
    }
    IFC42.IfcEdge = IfcEdge;
    class IfcEdgeCurve extends IfcEdge {
      constructor(EdgeStart, EdgeEnd, EdgeGeometry, SameSense) {
        super(EdgeStart, EdgeEnd);
        this.EdgeStart = EdgeStart;
        this.EdgeEnd = EdgeEnd;
        this.EdgeGeometry = EdgeGeometry;
        this.SameSense = SameSense;
        this.type = 476780140;
      }
    }
    IFC42.IfcEdgeCurve = IfcEdgeCurve;
    class IfcEventTime extends IfcSchedulingTime {
      constructor(Name, DataOrigin, UserDefinedDataOrigin, ActualDate, EarlyDate, LateDate, ScheduleDate) {
        super(Name, DataOrigin, UserDefinedDataOrigin);
        this.Name = Name;
        this.DataOrigin = DataOrigin;
        this.UserDefinedDataOrigin = UserDefinedDataOrigin;
        this.ActualDate = ActualDate;
        this.EarlyDate = EarlyDate;
        this.LateDate = LateDate;
        this.ScheduleDate = ScheduleDate;
        this.type = 211053100;
      }
    }
    IFC42.IfcEventTime = IfcEventTime;
    class IfcExtendedProperties extends IfcPropertyAbstraction {
      constructor(Name, Description, Properties2) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.Properties = Properties2;
        this.type = 297599258;
      }
    }
    IFC42.IfcExtendedProperties = IfcExtendedProperties;
    class IfcExternalReferenceRelationship extends IfcResourceLevelRelationship {
      constructor(Name, Description, RelatingReference, RelatedResourceObjects) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.RelatingReference = RelatingReference;
        this.RelatedResourceObjects = RelatedResourceObjects;
        this.type = 1437805879;
      }
    }
    IFC42.IfcExternalReferenceRelationship = IfcExternalReferenceRelationship;
    class IfcFace extends IfcTopologicalRepresentationItem {
      constructor(Bounds) {
        super();
        this.Bounds = Bounds;
        this.type = 2556980723;
      }
    }
    IFC42.IfcFace = IfcFace;
    class IfcFaceBound extends IfcTopologicalRepresentationItem {
      constructor(Bound, Orientation) {
        super();
        this.Bound = Bound;
        this.Orientation = Orientation;
        this.type = 1809719519;
      }
    }
    IFC42.IfcFaceBound = IfcFaceBound;
    class IfcFaceOuterBound extends IfcFaceBound {
      constructor(Bound, Orientation) {
        super(Bound, Orientation);
        this.Bound = Bound;
        this.Orientation = Orientation;
        this.type = 803316827;
      }
    }
    IFC42.IfcFaceOuterBound = IfcFaceOuterBound;
    class IfcFaceSurface extends IfcFace {
      constructor(Bounds, FaceSurface, SameSense) {
        super(Bounds);
        this.Bounds = Bounds;
        this.FaceSurface = FaceSurface;
        this.SameSense = SameSense;
        this.type = 3008276851;
      }
    }
    IFC42.IfcFaceSurface = IfcFaceSurface;
    class IfcFailureConnectionCondition extends IfcStructuralConnectionCondition {
      constructor(Name, TensionFailureX, TensionFailureY, TensionFailureZ, CompressionFailureX, CompressionFailureY, CompressionFailureZ) {
        super(Name);
        this.Name = Name;
        this.TensionFailureX = TensionFailureX;
        this.TensionFailureY = TensionFailureY;
        this.TensionFailureZ = TensionFailureZ;
        this.CompressionFailureX = CompressionFailureX;
        this.CompressionFailureY = CompressionFailureY;
        this.CompressionFailureZ = CompressionFailureZ;
        this.type = 4219587988;
      }
    }
    IFC42.IfcFailureConnectionCondition = IfcFailureConnectionCondition;
    class IfcFillAreaStyle extends IfcPresentationStyle {
      constructor(Name, FillStyles, ModelorDraughting) {
        super(Name);
        this.Name = Name;
        this.FillStyles = FillStyles;
        this.ModelorDraughting = ModelorDraughting;
        this.type = 738692330;
      }
    }
    IFC42.IfcFillAreaStyle = IfcFillAreaStyle;
    class IfcGeometricRepresentationContext extends IfcRepresentationContext {
      constructor(ContextIdentifier, ContextType, CoordinateSpaceDimension, Precision, WorldCoordinateSystem, TrueNorth) {
        super(ContextIdentifier, ContextType);
        this.ContextIdentifier = ContextIdentifier;
        this.ContextType = ContextType;
        this.CoordinateSpaceDimension = CoordinateSpaceDimension;
        this.Precision = Precision;
        this.WorldCoordinateSystem = WorldCoordinateSystem;
        this.TrueNorth = TrueNorth;
        this.type = 3448662350;
      }
    }
    IFC42.IfcGeometricRepresentationContext = IfcGeometricRepresentationContext;
    class IfcGeometricRepresentationItem extends IfcRepresentationItem {
      constructor() {
        super();
        this.type = 2453401579;
      }
    }
    IFC42.IfcGeometricRepresentationItem = IfcGeometricRepresentationItem;
    class IfcGeometricRepresentationSubContext extends IfcGeometricRepresentationContext {
      constructor(ContextIdentifier, ContextType, ParentContext, TargetScale, TargetView, UserDefinedTargetView) {
        super(ContextIdentifier, ContextType, new IfcDimensionCount(0), null, new Handle(0), null);
        this.ContextIdentifier = ContextIdentifier;
        this.ContextType = ContextType;
        this.ParentContext = ParentContext;
        this.TargetScale = TargetScale;
        this.TargetView = TargetView;
        this.UserDefinedTargetView = UserDefinedTargetView;
        this.type = 4142052618;
      }
    }
    IFC42.IfcGeometricRepresentationSubContext = IfcGeometricRepresentationSubContext;
    class IfcGeometricSet extends IfcGeometricRepresentationItem {
      constructor(Elements) {
        super();
        this.Elements = Elements;
        this.type = 3590301190;
      }
    }
    IFC42.IfcGeometricSet = IfcGeometricSet;
    class IfcGridPlacement extends IfcObjectPlacement {
      constructor(PlacementLocation, PlacementRefDirection) {
        super();
        this.PlacementLocation = PlacementLocation;
        this.PlacementRefDirection = PlacementRefDirection;
        this.type = 178086475;
      }
    }
    IFC42.IfcGridPlacement = IfcGridPlacement;
    class IfcHalfSpaceSolid extends IfcGeometricRepresentationItem {
      constructor(BaseSurface, AgreementFlag) {
        super();
        this.BaseSurface = BaseSurface;
        this.AgreementFlag = AgreementFlag;
        this.type = 812098782;
      }
    }
    IFC42.IfcHalfSpaceSolid = IfcHalfSpaceSolid;
    class IfcImageTexture extends IfcSurfaceTexture {
      constructor(RepeatS, RepeatT, Mode, TextureTransform, Parameter, URLReference) {
        super(RepeatS, RepeatT, Mode, TextureTransform, Parameter);
        this.RepeatS = RepeatS;
        this.RepeatT = RepeatT;
        this.Mode = Mode;
        this.TextureTransform = TextureTransform;
        this.Parameter = Parameter;
        this.URLReference = URLReference;
        this.type = 3905492369;
      }
    }
    IFC42.IfcImageTexture = IfcImageTexture;
    class IfcIndexedColourMap extends IfcPresentationItem {
      constructor(MappedTo, Opacity, Colours, ColourIndex) {
        super();
        this.MappedTo = MappedTo;
        this.Opacity = Opacity;
        this.Colours = Colours;
        this.ColourIndex = ColourIndex;
        this.type = 3570813810;
      }
    }
    IFC42.IfcIndexedColourMap = IfcIndexedColourMap;
    class IfcIndexedTextureMap extends IfcTextureCoordinate {
      constructor(Maps, MappedTo, TexCoords) {
        super(Maps);
        this.Maps = Maps;
        this.MappedTo = MappedTo;
        this.TexCoords = TexCoords;
        this.type = 1437953363;
      }
    }
    IFC42.IfcIndexedTextureMap = IfcIndexedTextureMap;
    class IfcIndexedTriangleTextureMap extends IfcIndexedTextureMap {
      constructor(Maps, MappedTo, TexCoords, TexCoordIndex) {
        super(Maps, MappedTo, TexCoords);
        this.Maps = Maps;
        this.MappedTo = MappedTo;
        this.TexCoords = TexCoords;
        this.TexCoordIndex = TexCoordIndex;
        this.type = 2133299955;
      }
    }
    IFC42.IfcIndexedTriangleTextureMap = IfcIndexedTriangleTextureMap;
    class IfcIrregularTimeSeries extends IfcTimeSeries {
      constructor(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit, Values) {
        super(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit);
        this.Name = Name;
        this.Description = Description;
        this.StartTime = StartTime;
        this.EndTime = EndTime;
        this.TimeSeriesDataType = TimeSeriesDataType;
        this.DataOrigin = DataOrigin;
        this.UserDefinedDataOrigin = UserDefinedDataOrigin;
        this.Unit = Unit;
        this.Values = Values;
        this.type = 3741457305;
      }
    }
    IFC42.IfcIrregularTimeSeries = IfcIrregularTimeSeries;
    class IfcLagTime extends IfcSchedulingTime {
      constructor(Name, DataOrigin, UserDefinedDataOrigin, LagValue, DurationType) {
        super(Name, DataOrigin, UserDefinedDataOrigin);
        this.Name = Name;
        this.DataOrigin = DataOrigin;
        this.UserDefinedDataOrigin = UserDefinedDataOrigin;
        this.LagValue = LagValue;
        this.DurationType = DurationType;
        this.type = 1585845231;
      }
    }
    IFC42.IfcLagTime = IfcLagTime;
    class IfcLightSource extends IfcGeometricRepresentationItem {
      constructor(Name, LightColour, AmbientIntensity, Intensity) {
        super();
        this.Name = Name;
        this.LightColour = LightColour;
        this.AmbientIntensity = AmbientIntensity;
        this.Intensity = Intensity;
        this.type = 1402838566;
      }
    }
    IFC42.IfcLightSource = IfcLightSource;
    class IfcLightSourceAmbient extends IfcLightSource {
      constructor(Name, LightColour, AmbientIntensity, Intensity) {
        super(Name, LightColour, AmbientIntensity, Intensity);
        this.Name = Name;
        this.LightColour = LightColour;
        this.AmbientIntensity = AmbientIntensity;
        this.Intensity = Intensity;
        this.type = 125510826;
      }
    }
    IFC42.IfcLightSourceAmbient = IfcLightSourceAmbient;
    class IfcLightSourceDirectional extends IfcLightSource {
      constructor(Name, LightColour, AmbientIntensity, Intensity, Orientation) {
        super(Name, LightColour, AmbientIntensity, Intensity);
        this.Name = Name;
        this.LightColour = LightColour;
        this.AmbientIntensity = AmbientIntensity;
        this.Intensity = Intensity;
        this.Orientation = Orientation;
        this.type = 2604431987;
      }
    }
    IFC42.IfcLightSourceDirectional = IfcLightSourceDirectional;
    class IfcLightSourceGoniometric extends IfcLightSource {
      constructor(Name, LightColour, AmbientIntensity, Intensity, Position, ColourAppearance, ColourTemperature, LuminousFlux, LightEmissionSource, LightDistributionDataSource) {
        super(Name, LightColour, AmbientIntensity, Intensity);
        this.Name = Name;
        this.LightColour = LightColour;
        this.AmbientIntensity = AmbientIntensity;
        this.Intensity = Intensity;
        this.Position = Position;
        this.ColourAppearance = ColourAppearance;
        this.ColourTemperature = ColourTemperature;
        this.LuminousFlux = LuminousFlux;
        this.LightEmissionSource = LightEmissionSource;
        this.LightDistributionDataSource = LightDistributionDataSource;
        this.type = 4266656042;
      }
    }
    IFC42.IfcLightSourceGoniometric = IfcLightSourceGoniometric;
    class IfcLightSourcePositional extends IfcLightSource {
      constructor(Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation) {
        super(Name, LightColour, AmbientIntensity, Intensity);
        this.Name = Name;
        this.LightColour = LightColour;
        this.AmbientIntensity = AmbientIntensity;
        this.Intensity = Intensity;
        this.Position = Position;
        this.Radius = Radius;
        this.ConstantAttenuation = ConstantAttenuation;
        this.DistanceAttenuation = DistanceAttenuation;
        this.QuadricAttenuation = QuadricAttenuation;
        this.type = 1520743889;
      }
    }
    IFC42.IfcLightSourcePositional = IfcLightSourcePositional;
    class IfcLightSourceSpot extends IfcLightSourcePositional {
      constructor(Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation, Orientation, ConcentrationExponent, SpreadAngle, BeamWidthAngle) {
        super(Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation);
        this.Name = Name;
        this.LightColour = LightColour;
        this.AmbientIntensity = AmbientIntensity;
        this.Intensity = Intensity;
        this.Position = Position;
        this.Radius = Radius;
        this.ConstantAttenuation = ConstantAttenuation;
        this.DistanceAttenuation = DistanceAttenuation;
        this.QuadricAttenuation = QuadricAttenuation;
        this.Orientation = Orientation;
        this.ConcentrationExponent = ConcentrationExponent;
        this.SpreadAngle = SpreadAngle;
        this.BeamWidthAngle = BeamWidthAngle;
        this.type = 3422422726;
      }
    }
    IFC42.IfcLightSourceSpot = IfcLightSourceSpot;
    class IfcLocalPlacement extends IfcObjectPlacement {
      constructor(PlacementRelTo, RelativePlacement) {
        super();
        this.PlacementRelTo = PlacementRelTo;
        this.RelativePlacement = RelativePlacement;
        this.type = 2624227202;
      }
    }
    IFC42.IfcLocalPlacement = IfcLocalPlacement;
    class IfcLoop extends IfcTopologicalRepresentationItem {
      constructor() {
        super();
        this.type = 1008929658;
      }
    }
    IFC42.IfcLoop = IfcLoop;
    class IfcMappedItem extends IfcRepresentationItem {
      constructor(MappingSource, MappingTarget) {
        super();
        this.MappingSource = MappingSource;
        this.MappingTarget = MappingTarget;
        this.type = 2347385850;
      }
    }
    IFC42.IfcMappedItem = IfcMappedItem;
    class IfcMaterial extends IfcMaterialDefinition {
      constructor(Name, Description, Category) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.Category = Category;
        this.type = 1838606355;
      }
    }
    IFC42.IfcMaterial = IfcMaterial;
    class IfcMaterialConstituent extends IfcMaterialDefinition {
      constructor(Name, Description, Material, Fraction, Category) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.Material = Material;
        this.Fraction = Fraction;
        this.Category = Category;
        this.type = 3708119e3;
      }
    }
    IFC42.IfcMaterialConstituent = IfcMaterialConstituent;
    class IfcMaterialConstituentSet extends IfcMaterialDefinition {
      constructor(Name, Description, MaterialConstituents) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.MaterialConstituents = MaterialConstituents;
        this.type = 2852063980;
      }
    }
    IFC42.IfcMaterialConstituentSet = IfcMaterialConstituentSet;
    class IfcMaterialDefinitionRepresentation extends IfcProductRepresentation {
      constructor(Name, Description, Representations, RepresentedMaterial) {
        super(Name, Description, Representations);
        this.Name = Name;
        this.Description = Description;
        this.Representations = Representations;
        this.RepresentedMaterial = RepresentedMaterial;
        this.type = 2022407955;
      }
    }
    IFC42.IfcMaterialDefinitionRepresentation = IfcMaterialDefinitionRepresentation;
    class IfcMaterialLayerSetUsage extends IfcMaterialUsageDefinition {
      constructor(ForLayerSet, LayerSetDirection, DirectionSense, OffsetFromReferenceLine, ReferenceExtent) {
        super();
        this.ForLayerSet = ForLayerSet;
        this.LayerSetDirection = LayerSetDirection;
        this.DirectionSense = DirectionSense;
        this.OffsetFromReferenceLine = OffsetFromReferenceLine;
        this.ReferenceExtent = ReferenceExtent;
        this.type = 1303795690;
      }
    }
    IFC42.IfcMaterialLayerSetUsage = IfcMaterialLayerSetUsage;
    class IfcMaterialProfileSetUsage extends IfcMaterialUsageDefinition {
      constructor(ForProfileSet, CardinalPoint, ReferenceExtent) {
        super();
        this.ForProfileSet = ForProfileSet;
        this.CardinalPoint = CardinalPoint;
        this.ReferenceExtent = ReferenceExtent;
        this.type = 3079605661;
      }
    }
    IFC42.IfcMaterialProfileSetUsage = IfcMaterialProfileSetUsage;
    class IfcMaterialProfileSetUsageTapering extends IfcMaterialProfileSetUsage {
      constructor(ForProfileSet, CardinalPoint, ReferenceExtent, ForProfileEndSet, CardinalEndPoint) {
        super(ForProfileSet, CardinalPoint, ReferenceExtent);
        this.ForProfileSet = ForProfileSet;
        this.CardinalPoint = CardinalPoint;
        this.ReferenceExtent = ReferenceExtent;
        this.ForProfileEndSet = ForProfileEndSet;
        this.CardinalEndPoint = CardinalEndPoint;
        this.type = 3404854881;
      }
    }
    IFC42.IfcMaterialProfileSetUsageTapering = IfcMaterialProfileSetUsageTapering;
    class IfcMaterialProperties extends IfcExtendedProperties {
      constructor(Name, Description, Properties2, Material) {
        super(Name, Description, Properties2);
        this.Name = Name;
        this.Description = Description;
        this.Properties = Properties2;
        this.Material = Material;
        this.type = 3265635763;
      }
    }
    IFC42.IfcMaterialProperties = IfcMaterialProperties;
    class IfcMaterialRelationship extends IfcResourceLevelRelationship {
      constructor(Name, Description, RelatingMaterial, RelatedMaterials, Expression) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.RelatingMaterial = RelatingMaterial;
        this.RelatedMaterials = RelatedMaterials;
        this.Expression = Expression;
        this.type = 853536259;
      }
    }
    IFC42.IfcMaterialRelationship = IfcMaterialRelationship;
    class IfcMirroredProfileDef extends IfcDerivedProfileDef {
      constructor(ProfileType, ProfileName, ParentProfile, Label) {
        super(ProfileType, ProfileName, ParentProfile, new Handle(0), Label);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.ParentProfile = ParentProfile;
        this.Label = Label;
        this.type = 2998442950;
      }
    }
    IFC42.IfcMirroredProfileDef = IfcMirroredProfileDef;
    class IfcObjectDefinition extends IfcRoot {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 219451334;
      }
    }
    IFC42.IfcObjectDefinition = IfcObjectDefinition;
    class IfcOpenShell extends IfcConnectedFaceSet {
      constructor(CfsFaces) {
        super(CfsFaces);
        this.CfsFaces = CfsFaces;
        this.type = 2665983363;
      }
    }
    IFC42.IfcOpenShell = IfcOpenShell;
    class IfcOrganizationRelationship extends IfcResourceLevelRelationship {
      constructor(Name, Description, RelatingOrganization, RelatedOrganizations) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.RelatingOrganization = RelatingOrganization;
        this.RelatedOrganizations = RelatedOrganizations;
        this.type = 1411181986;
      }
    }
    IFC42.IfcOrganizationRelationship = IfcOrganizationRelationship;
    class IfcOrientedEdge extends IfcEdge {
      constructor(EdgeElement, Orientation) {
        super(new Handle(0), new Handle(0));
        this.EdgeElement = EdgeElement;
        this.Orientation = Orientation;
        this.type = 1029017970;
      }
    }
    IFC42.IfcOrientedEdge = IfcOrientedEdge;
    class IfcParameterizedProfileDef extends IfcProfileDef {
      constructor(ProfileType, ProfileName, Position) {
        super(ProfileType, ProfileName);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.type = 2529465313;
      }
    }
    IFC42.IfcParameterizedProfileDef = IfcParameterizedProfileDef;
    class IfcPath extends IfcTopologicalRepresentationItem {
      constructor(EdgeList) {
        super();
        this.EdgeList = EdgeList;
        this.type = 2519244187;
      }
    }
    IFC42.IfcPath = IfcPath;
    class IfcPhysicalComplexQuantity extends IfcPhysicalQuantity {
      constructor(Name, Description, HasQuantities, Discrimination, Quality, Usage) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.HasQuantities = HasQuantities;
        this.Discrimination = Discrimination;
        this.Quality = Quality;
        this.Usage = Usage;
        this.type = 3021840470;
      }
    }
    IFC42.IfcPhysicalComplexQuantity = IfcPhysicalComplexQuantity;
    class IfcPixelTexture extends IfcSurfaceTexture {
      constructor(RepeatS, RepeatT, Mode, TextureTransform, Parameter, Width, Height, ColourComponents, Pixel) {
        super(RepeatS, RepeatT, Mode, TextureTransform, Parameter);
        this.RepeatS = RepeatS;
        this.RepeatT = RepeatT;
        this.Mode = Mode;
        this.TextureTransform = TextureTransform;
        this.Parameter = Parameter;
        this.Width = Width;
        this.Height = Height;
        this.ColourComponents = ColourComponents;
        this.Pixel = Pixel;
        this.type = 597895409;
      }
    }
    IFC42.IfcPixelTexture = IfcPixelTexture;
    class IfcPlacement extends IfcGeometricRepresentationItem {
      constructor(Location) {
        super();
        this.Location = Location;
        this.type = 2004835150;
      }
    }
    IFC42.IfcPlacement = IfcPlacement;
    class IfcPlanarExtent extends IfcGeometricRepresentationItem {
      constructor(SizeInX, SizeInY) {
        super();
        this.SizeInX = SizeInX;
        this.SizeInY = SizeInY;
        this.type = 1663979128;
      }
    }
    IFC42.IfcPlanarExtent = IfcPlanarExtent;
    class IfcPoint extends IfcGeometricRepresentationItem {
      constructor() {
        super();
        this.type = 2067069095;
      }
    }
    IFC42.IfcPoint = IfcPoint;
    class IfcPointOnCurve extends IfcPoint {
      constructor(BasisCurve, PointParameter) {
        super();
        this.BasisCurve = BasisCurve;
        this.PointParameter = PointParameter;
        this.type = 4022376103;
      }
    }
    IFC42.IfcPointOnCurve = IfcPointOnCurve;
    class IfcPointOnSurface extends IfcPoint {
      constructor(BasisSurface, PointParameterU, PointParameterV) {
        super();
        this.BasisSurface = BasisSurface;
        this.PointParameterU = PointParameterU;
        this.PointParameterV = PointParameterV;
        this.type = 1423911732;
      }
    }
    IFC42.IfcPointOnSurface = IfcPointOnSurface;
    class IfcPolyLoop extends IfcLoop {
      constructor(Polygon) {
        super();
        this.Polygon = Polygon;
        this.type = 2924175390;
      }
    }
    IFC42.IfcPolyLoop = IfcPolyLoop;
    class IfcPolygonalBoundedHalfSpace extends IfcHalfSpaceSolid {
      constructor(BaseSurface, AgreementFlag, Position, PolygonalBoundary) {
        super(BaseSurface, AgreementFlag);
        this.BaseSurface = BaseSurface;
        this.AgreementFlag = AgreementFlag;
        this.Position = Position;
        this.PolygonalBoundary = PolygonalBoundary;
        this.type = 2775532180;
      }
    }
    IFC42.IfcPolygonalBoundedHalfSpace = IfcPolygonalBoundedHalfSpace;
    class IfcPreDefinedItem extends IfcPresentationItem {
      constructor(Name) {
        super();
        this.Name = Name;
        this.type = 3727388367;
      }
    }
    IFC42.IfcPreDefinedItem = IfcPreDefinedItem;
    class IfcPreDefinedProperties extends IfcPropertyAbstraction {
      constructor() {
        super();
        this.type = 3778827333;
      }
    }
    IFC42.IfcPreDefinedProperties = IfcPreDefinedProperties;
    class IfcPreDefinedTextFont extends IfcPreDefinedItem {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 1775413392;
      }
    }
    IFC42.IfcPreDefinedTextFont = IfcPreDefinedTextFont;
    class IfcProductDefinitionShape extends IfcProductRepresentation {
      constructor(Name, Description, Representations) {
        super(Name, Description, Representations);
        this.Name = Name;
        this.Description = Description;
        this.Representations = Representations;
        this.type = 673634403;
      }
    }
    IFC42.IfcProductDefinitionShape = IfcProductDefinitionShape;
    class IfcProfileProperties extends IfcExtendedProperties {
      constructor(Name, Description, Properties2, ProfileDefinition) {
        super(Name, Description, Properties2);
        this.Name = Name;
        this.Description = Description;
        this.Properties = Properties2;
        this.ProfileDefinition = ProfileDefinition;
        this.type = 2802850158;
      }
    }
    IFC42.IfcProfileProperties = IfcProfileProperties;
    class IfcProperty extends IfcPropertyAbstraction {
      constructor(Name, Description) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.type = 2598011224;
      }
    }
    IFC42.IfcProperty = IfcProperty;
    class IfcPropertyDefinition extends IfcRoot {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 1680319473;
      }
    }
    IFC42.IfcPropertyDefinition = IfcPropertyDefinition;
    class IfcPropertyDependencyRelationship extends IfcResourceLevelRelationship {
      constructor(Name, Description, DependingProperty, DependantProperty, Expression) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.DependingProperty = DependingProperty;
        this.DependantProperty = DependantProperty;
        this.Expression = Expression;
        this.type = 148025276;
      }
    }
    IFC42.IfcPropertyDependencyRelationship = IfcPropertyDependencyRelationship;
    class IfcPropertySetDefinition extends IfcPropertyDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 3357820518;
      }
    }
    IFC42.IfcPropertySetDefinition = IfcPropertySetDefinition;
    class IfcPropertyTemplateDefinition extends IfcPropertyDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 1482703590;
      }
    }
    IFC42.IfcPropertyTemplateDefinition = IfcPropertyTemplateDefinition;
    class IfcQuantitySet extends IfcPropertySetDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 2090586900;
      }
    }
    IFC42.IfcQuantitySet = IfcQuantitySet;
    class IfcRectangleProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, XDim, YDim) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.XDim = XDim;
        this.YDim = YDim;
        this.type = 3615266464;
      }
    }
    IFC42.IfcRectangleProfileDef = IfcRectangleProfileDef;
    class IfcRegularTimeSeries extends IfcTimeSeries {
      constructor(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit, TimeStep, Values) {
        super(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit);
        this.Name = Name;
        this.Description = Description;
        this.StartTime = StartTime;
        this.EndTime = EndTime;
        this.TimeSeriesDataType = TimeSeriesDataType;
        this.DataOrigin = DataOrigin;
        this.UserDefinedDataOrigin = UserDefinedDataOrigin;
        this.Unit = Unit;
        this.TimeStep = TimeStep;
        this.Values = Values;
        this.type = 3413951693;
      }
    }
    IFC42.IfcRegularTimeSeries = IfcRegularTimeSeries;
    class IfcReinforcementBarProperties extends IfcPreDefinedProperties {
      constructor(TotalCrossSectionArea, SteelGrade, BarSurface, EffectiveDepth, NominalBarDiameter, BarCount) {
        super();
        this.TotalCrossSectionArea = TotalCrossSectionArea;
        this.SteelGrade = SteelGrade;
        this.BarSurface = BarSurface;
        this.EffectiveDepth = EffectiveDepth;
        this.NominalBarDiameter = NominalBarDiameter;
        this.BarCount = BarCount;
        this.type = 1580146022;
      }
    }
    IFC42.IfcReinforcementBarProperties = IfcReinforcementBarProperties;
    class IfcRelationship extends IfcRoot {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 478536968;
      }
    }
    IFC42.IfcRelationship = IfcRelationship;
    class IfcResourceApprovalRelationship extends IfcResourceLevelRelationship {
      constructor(Name, Description, RelatedResourceObjects, RelatingApproval) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.RelatedResourceObjects = RelatedResourceObjects;
        this.RelatingApproval = RelatingApproval;
        this.type = 2943643501;
      }
    }
    IFC42.IfcResourceApprovalRelationship = IfcResourceApprovalRelationship;
    class IfcResourceConstraintRelationship extends IfcResourceLevelRelationship {
      constructor(Name, Description, RelatingConstraint, RelatedResourceObjects) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.RelatingConstraint = RelatingConstraint;
        this.RelatedResourceObjects = RelatedResourceObjects;
        this.type = 1608871552;
      }
    }
    IFC42.IfcResourceConstraintRelationship = IfcResourceConstraintRelationship;
    class IfcResourceTime extends IfcSchedulingTime {
      constructor(Name, DataOrigin, UserDefinedDataOrigin, ScheduleWork, ScheduleUsage, ScheduleStart, ScheduleFinish, ScheduleContour, LevelingDelay, IsOverAllocated, StatusTime, ActualWork, ActualUsage, ActualStart, ActualFinish, RemainingWork, RemainingUsage, Completion) {
        super(Name, DataOrigin, UserDefinedDataOrigin);
        this.Name = Name;
        this.DataOrigin = DataOrigin;
        this.UserDefinedDataOrigin = UserDefinedDataOrigin;
        this.ScheduleWork = ScheduleWork;
        this.ScheduleUsage = ScheduleUsage;
        this.ScheduleStart = ScheduleStart;
        this.ScheduleFinish = ScheduleFinish;
        this.ScheduleContour = ScheduleContour;
        this.LevelingDelay = LevelingDelay;
        this.IsOverAllocated = IsOverAllocated;
        this.StatusTime = StatusTime;
        this.ActualWork = ActualWork;
        this.ActualUsage = ActualUsage;
        this.ActualStart = ActualStart;
        this.ActualFinish = ActualFinish;
        this.RemainingWork = RemainingWork;
        this.RemainingUsage = RemainingUsage;
        this.Completion = Completion;
        this.type = 1042787934;
      }
    }
    IFC42.IfcResourceTime = IfcResourceTime;
    class IfcRoundedRectangleProfileDef extends IfcRectangleProfileDef {
      constructor(ProfileType, ProfileName, Position, XDim, YDim, RoundingRadius) {
        super(ProfileType, ProfileName, Position, XDim, YDim);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.XDim = XDim;
        this.YDim = YDim;
        this.RoundingRadius = RoundingRadius;
        this.type = 2778083089;
      }
    }
    IFC42.IfcRoundedRectangleProfileDef = IfcRoundedRectangleProfileDef;
    class IfcSectionProperties extends IfcPreDefinedProperties {
      constructor(SectionType, StartProfile, EndProfile) {
        super();
        this.SectionType = SectionType;
        this.StartProfile = StartProfile;
        this.EndProfile = EndProfile;
        this.type = 2042790032;
      }
    }
    IFC42.IfcSectionProperties = IfcSectionProperties;
    class IfcSectionReinforcementProperties extends IfcPreDefinedProperties {
      constructor(LongitudinalStartPosition, LongitudinalEndPosition, TransversePosition, ReinforcementRole, SectionDefinition, CrossSectionReinforcementDefinitions) {
        super();
        this.LongitudinalStartPosition = LongitudinalStartPosition;
        this.LongitudinalEndPosition = LongitudinalEndPosition;
        this.TransversePosition = TransversePosition;
        this.ReinforcementRole = ReinforcementRole;
        this.SectionDefinition = SectionDefinition;
        this.CrossSectionReinforcementDefinitions = CrossSectionReinforcementDefinitions;
        this.type = 4165799628;
      }
    }
    IFC42.IfcSectionReinforcementProperties = IfcSectionReinforcementProperties;
    class IfcSectionedSpine extends IfcGeometricRepresentationItem {
      constructor(SpineCurve, CrossSections, CrossSectionPositions) {
        super();
        this.SpineCurve = SpineCurve;
        this.CrossSections = CrossSections;
        this.CrossSectionPositions = CrossSectionPositions;
        this.type = 1509187699;
      }
    }
    IFC42.IfcSectionedSpine = IfcSectionedSpine;
    class IfcShellBasedSurfaceModel extends IfcGeometricRepresentationItem {
      constructor(SbsmBoundary) {
        super();
        this.SbsmBoundary = SbsmBoundary;
        this.type = 4124623270;
      }
    }
    IFC42.IfcShellBasedSurfaceModel = IfcShellBasedSurfaceModel;
    class IfcSimpleProperty extends IfcProperty {
      constructor(Name, Description) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.type = 3692461612;
      }
    }
    IFC42.IfcSimpleProperty = IfcSimpleProperty;
    class IfcSlippageConnectionCondition extends IfcStructuralConnectionCondition {
      constructor(Name, SlippageX, SlippageY, SlippageZ) {
        super(Name);
        this.Name = Name;
        this.SlippageX = SlippageX;
        this.SlippageY = SlippageY;
        this.SlippageZ = SlippageZ;
        this.type = 2609359061;
      }
    }
    IFC42.IfcSlippageConnectionCondition = IfcSlippageConnectionCondition;
    class IfcSolidModel extends IfcGeometricRepresentationItem {
      constructor() {
        super();
        this.type = 723233188;
      }
    }
    IFC42.IfcSolidModel = IfcSolidModel;
    class IfcStructuralLoadLinearForce extends IfcStructuralLoadStatic {
      constructor(Name, LinearForceX, LinearForceY, LinearForceZ, LinearMomentX, LinearMomentY, LinearMomentZ) {
        super(Name);
        this.Name = Name;
        this.LinearForceX = LinearForceX;
        this.LinearForceY = LinearForceY;
        this.LinearForceZ = LinearForceZ;
        this.LinearMomentX = LinearMomentX;
        this.LinearMomentY = LinearMomentY;
        this.LinearMomentZ = LinearMomentZ;
        this.type = 1595516126;
      }
    }
    IFC42.IfcStructuralLoadLinearForce = IfcStructuralLoadLinearForce;
    class IfcStructuralLoadPlanarForce extends IfcStructuralLoadStatic {
      constructor(Name, PlanarForceX, PlanarForceY, PlanarForceZ) {
        super(Name);
        this.Name = Name;
        this.PlanarForceX = PlanarForceX;
        this.PlanarForceY = PlanarForceY;
        this.PlanarForceZ = PlanarForceZ;
        this.type = 2668620305;
      }
    }
    IFC42.IfcStructuralLoadPlanarForce = IfcStructuralLoadPlanarForce;
    class IfcStructuralLoadSingleDisplacement extends IfcStructuralLoadStatic {
      constructor(Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ) {
        super(Name);
        this.Name = Name;
        this.DisplacementX = DisplacementX;
        this.DisplacementY = DisplacementY;
        this.DisplacementZ = DisplacementZ;
        this.RotationalDisplacementRX = RotationalDisplacementRX;
        this.RotationalDisplacementRY = RotationalDisplacementRY;
        this.RotationalDisplacementRZ = RotationalDisplacementRZ;
        this.type = 2473145415;
      }
    }
    IFC42.IfcStructuralLoadSingleDisplacement = IfcStructuralLoadSingleDisplacement;
    class IfcStructuralLoadSingleDisplacementDistortion extends IfcStructuralLoadSingleDisplacement {
      constructor(Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ, Distortion) {
        super(Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ);
        this.Name = Name;
        this.DisplacementX = DisplacementX;
        this.DisplacementY = DisplacementY;
        this.DisplacementZ = DisplacementZ;
        this.RotationalDisplacementRX = RotationalDisplacementRX;
        this.RotationalDisplacementRY = RotationalDisplacementRY;
        this.RotationalDisplacementRZ = RotationalDisplacementRZ;
        this.Distortion = Distortion;
        this.type = 1973038258;
      }
    }
    IFC42.IfcStructuralLoadSingleDisplacementDistortion = IfcStructuralLoadSingleDisplacementDistortion;
    class IfcStructuralLoadSingleForce extends IfcStructuralLoadStatic {
      constructor(Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ) {
        super(Name);
        this.Name = Name;
        this.ForceX = ForceX;
        this.ForceY = ForceY;
        this.ForceZ = ForceZ;
        this.MomentX = MomentX;
        this.MomentY = MomentY;
        this.MomentZ = MomentZ;
        this.type = 1597423693;
      }
    }
    IFC42.IfcStructuralLoadSingleForce = IfcStructuralLoadSingleForce;
    class IfcStructuralLoadSingleForceWarping extends IfcStructuralLoadSingleForce {
      constructor(Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ, WarpingMoment) {
        super(Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ);
        this.Name = Name;
        this.ForceX = ForceX;
        this.ForceY = ForceY;
        this.ForceZ = ForceZ;
        this.MomentX = MomentX;
        this.MomentY = MomentY;
        this.MomentZ = MomentZ;
        this.WarpingMoment = WarpingMoment;
        this.type = 1190533807;
      }
    }
    IFC42.IfcStructuralLoadSingleForceWarping = IfcStructuralLoadSingleForceWarping;
    class IfcSubedge extends IfcEdge {
      constructor(EdgeStart, EdgeEnd, ParentEdge) {
        super(EdgeStart, EdgeEnd);
        this.EdgeStart = EdgeStart;
        this.EdgeEnd = EdgeEnd;
        this.ParentEdge = ParentEdge;
        this.type = 2233826070;
      }
    }
    IFC42.IfcSubedge = IfcSubedge;
    class IfcSurface extends IfcGeometricRepresentationItem {
      constructor() {
        super();
        this.type = 2513912981;
      }
    }
    IFC42.IfcSurface = IfcSurface;
    class IfcSurfaceStyleRendering extends IfcSurfaceStyleShading {
      constructor(SurfaceColour, Transparency, DiffuseColour, TransmissionColour, DiffuseTransmissionColour, ReflectionColour, SpecularColour, SpecularHighlight, ReflectanceMethod) {
        super(SurfaceColour, Transparency);
        this.SurfaceColour = SurfaceColour;
        this.Transparency = Transparency;
        this.DiffuseColour = DiffuseColour;
        this.TransmissionColour = TransmissionColour;
        this.DiffuseTransmissionColour = DiffuseTransmissionColour;
        this.ReflectionColour = ReflectionColour;
        this.SpecularColour = SpecularColour;
        this.SpecularHighlight = SpecularHighlight;
        this.ReflectanceMethod = ReflectanceMethod;
        this.type = 1878645084;
      }
    }
    IFC42.IfcSurfaceStyleRendering = IfcSurfaceStyleRendering;
    class IfcSweptAreaSolid extends IfcSolidModel {
      constructor(SweptArea, Position) {
        super();
        this.SweptArea = SweptArea;
        this.Position = Position;
        this.type = 2247615214;
      }
    }
    IFC42.IfcSweptAreaSolid = IfcSweptAreaSolid;
    class IfcSweptDiskSolid extends IfcSolidModel {
      constructor(Directrix, Radius, InnerRadius, StartParam, EndParam) {
        super();
        this.Directrix = Directrix;
        this.Radius = Radius;
        this.InnerRadius = InnerRadius;
        this.StartParam = StartParam;
        this.EndParam = EndParam;
        this.type = 1260650574;
      }
    }
    IFC42.IfcSweptDiskSolid = IfcSweptDiskSolid;
    class IfcSweptDiskSolidPolygonal extends IfcSweptDiskSolid {
      constructor(Directrix, Radius, InnerRadius, StartParam, EndParam, FilletRadius) {
        super(Directrix, Radius, InnerRadius, StartParam, EndParam);
        this.Directrix = Directrix;
        this.Radius = Radius;
        this.InnerRadius = InnerRadius;
        this.StartParam = StartParam;
        this.EndParam = EndParam;
        this.FilletRadius = FilletRadius;
        this.type = 1096409881;
      }
    }
    IFC42.IfcSweptDiskSolidPolygonal = IfcSweptDiskSolidPolygonal;
    class IfcSweptSurface extends IfcSurface {
      constructor(SweptCurve, Position) {
        super();
        this.SweptCurve = SweptCurve;
        this.Position = Position;
        this.type = 230924584;
      }
    }
    IFC42.IfcSweptSurface = IfcSweptSurface;
    class IfcTShapeProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, FlangeEdgeRadius, WebEdgeRadius, WebSlope, FlangeSlope) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.Depth = Depth;
        this.FlangeWidth = FlangeWidth;
        this.WebThickness = WebThickness;
        this.FlangeThickness = FlangeThickness;
        this.FilletRadius = FilletRadius;
        this.FlangeEdgeRadius = FlangeEdgeRadius;
        this.WebEdgeRadius = WebEdgeRadius;
        this.WebSlope = WebSlope;
        this.FlangeSlope = FlangeSlope;
        this.type = 3071757647;
      }
    }
    IFC42.IfcTShapeProfileDef = IfcTShapeProfileDef;
    class IfcTessellatedItem extends IfcGeometricRepresentationItem {
      constructor() {
        super();
        this.type = 901063453;
      }
    }
    IFC42.IfcTessellatedItem = IfcTessellatedItem;
    class IfcTextLiteral extends IfcGeometricRepresentationItem {
      constructor(Literal, Placement, Path) {
        super();
        this.Literal = Literal;
        this.Placement = Placement;
        this.Path = Path;
        this.type = 4282788508;
      }
    }
    IFC42.IfcTextLiteral = IfcTextLiteral;
    class IfcTextLiteralWithExtent extends IfcTextLiteral {
      constructor(Literal, Placement, Path, Extent, BoxAlignment) {
        super(Literal, Placement, Path);
        this.Literal = Literal;
        this.Placement = Placement;
        this.Path = Path;
        this.Extent = Extent;
        this.BoxAlignment = BoxAlignment;
        this.type = 3124975700;
      }
    }
    IFC42.IfcTextLiteralWithExtent = IfcTextLiteralWithExtent;
    class IfcTextStyleFontModel extends IfcPreDefinedTextFont {
      constructor(Name, FontFamily, FontStyle, FontVariant, FontWeight, FontSize) {
        super(Name);
        this.Name = Name;
        this.FontFamily = FontFamily;
        this.FontStyle = FontStyle;
        this.FontVariant = FontVariant;
        this.FontWeight = FontWeight;
        this.FontSize = FontSize;
        this.type = 1983826977;
      }
    }
    IFC42.IfcTextStyleFontModel = IfcTextStyleFontModel;
    class IfcTrapeziumProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, BottomXDim, TopXDim, YDim, TopXOffset) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.BottomXDim = BottomXDim;
        this.TopXDim = TopXDim;
        this.YDim = YDim;
        this.TopXOffset = TopXOffset;
        this.type = 2715220739;
      }
    }
    IFC42.IfcTrapeziumProfileDef = IfcTrapeziumProfileDef;
    class IfcTypeObject extends IfcObjectDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.type = 1628702193;
      }
    }
    IFC42.IfcTypeObject = IfcTypeObject;
    class IfcTypeProcess extends IfcTypeObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ProcessType = ProcessType;
        this.type = 3736923433;
      }
    }
    IFC42.IfcTypeProcess = IfcTypeProcess;
    class IfcTypeProduct extends IfcTypeObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.type = 2347495698;
      }
    }
    IFC42.IfcTypeProduct = IfcTypeProduct;
    class IfcTypeResource extends IfcTypeObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ResourceType = ResourceType;
        this.type = 3698973494;
      }
    }
    IFC42.IfcTypeResource = IfcTypeResource;
    class IfcUShapeProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, EdgeRadius, FlangeSlope) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.Depth = Depth;
        this.FlangeWidth = FlangeWidth;
        this.WebThickness = WebThickness;
        this.FlangeThickness = FlangeThickness;
        this.FilletRadius = FilletRadius;
        this.EdgeRadius = EdgeRadius;
        this.FlangeSlope = FlangeSlope;
        this.type = 427810014;
      }
    }
    IFC42.IfcUShapeProfileDef = IfcUShapeProfileDef;
    class IfcVector extends IfcGeometricRepresentationItem {
      constructor(Orientation, Magnitude) {
        super();
        this.Orientation = Orientation;
        this.Magnitude = Magnitude;
        this.type = 1417489154;
      }
    }
    IFC42.IfcVector = IfcVector;
    class IfcVertexLoop extends IfcLoop {
      constructor(LoopVertex) {
        super();
        this.LoopVertex = LoopVertex;
        this.type = 2759199220;
      }
    }
    IFC42.IfcVertexLoop = IfcVertexLoop;
    class IfcWindowStyle extends IfcTypeProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ConstructionType, OperationType, ParameterTakesPrecedence, Sizeable) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ConstructionType = ConstructionType;
        this.OperationType = OperationType;
        this.ParameterTakesPrecedence = ParameterTakesPrecedence;
        this.Sizeable = Sizeable;
        this.type = 1299126871;
      }
    }
    IFC42.IfcWindowStyle = IfcWindowStyle;
    class IfcZShapeProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, EdgeRadius) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.Depth = Depth;
        this.FlangeWidth = FlangeWidth;
        this.WebThickness = WebThickness;
        this.FlangeThickness = FlangeThickness;
        this.FilletRadius = FilletRadius;
        this.EdgeRadius = EdgeRadius;
        this.type = 2543172580;
      }
    }
    IFC42.IfcZShapeProfileDef = IfcZShapeProfileDef;
    class IfcAdvancedFace extends IfcFaceSurface {
      constructor(Bounds, FaceSurface, SameSense) {
        super(Bounds, FaceSurface, SameSense);
        this.Bounds = Bounds;
        this.FaceSurface = FaceSurface;
        this.SameSense = SameSense;
        this.type = 3406155212;
      }
    }
    IFC42.IfcAdvancedFace = IfcAdvancedFace;
    class IfcAnnotationFillArea extends IfcGeometricRepresentationItem {
      constructor(OuterBoundary, InnerBoundaries) {
        super();
        this.OuterBoundary = OuterBoundary;
        this.InnerBoundaries = InnerBoundaries;
        this.type = 669184980;
      }
    }
    IFC42.IfcAnnotationFillArea = IfcAnnotationFillArea;
    class IfcAsymmetricIShapeProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, BottomFlangeWidth, OverallDepth, WebThickness, BottomFlangeThickness, BottomFlangeFilletRadius, TopFlangeWidth, TopFlangeThickness, TopFlangeFilletRadius, BottomFlangeEdgeRadius, BottomFlangeSlope, TopFlangeEdgeRadius, TopFlangeSlope) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.BottomFlangeWidth = BottomFlangeWidth;
        this.OverallDepth = OverallDepth;
        this.WebThickness = WebThickness;
        this.BottomFlangeThickness = BottomFlangeThickness;
        this.BottomFlangeFilletRadius = BottomFlangeFilletRadius;
        this.TopFlangeWidth = TopFlangeWidth;
        this.TopFlangeThickness = TopFlangeThickness;
        this.TopFlangeFilletRadius = TopFlangeFilletRadius;
        this.BottomFlangeEdgeRadius = BottomFlangeEdgeRadius;
        this.BottomFlangeSlope = BottomFlangeSlope;
        this.TopFlangeEdgeRadius = TopFlangeEdgeRadius;
        this.TopFlangeSlope = TopFlangeSlope;
        this.type = 3207858831;
      }
    }
    IFC42.IfcAsymmetricIShapeProfileDef = IfcAsymmetricIShapeProfileDef;
    class IfcAxis1Placement extends IfcPlacement {
      constructor(Location, Axis) {
        super(Location);
        this.Location = Location;
        this.Axis = Axis;
        this.type = 4261334040;
      }
    }
    IFC42.IfcAxis1Placement = IfcAxis1Placement;
    class IfcAxis2Placement2D extends IfcPlacement {
      constructor(Location, RefDirection) {
        super(Location);
        this.Location = Location;
        this.RefDirection = RefDirection;
        this.type = 3125803723;
      }
    }
    IFC42.IfcAxis2Placement2D = IfcAxis2Placement2D;
    class IfcAxis2Placement3D extends IfcPlacement {
      constructor(Location, Axis, RefDirection) {
        super(Location);
        this.Location = Location;
        this.Axis = Axis;
        this.RefDirection = RefDirection;
        this.type = 2740243338;
      }
    }
    IFC42.IfcAxis2Placement3D = IfcAxis2Placement3D;
    class IfcBooleanResult extends IfcGeometricRepresentationItem {
      constructor(Operator, FirstOperand, SecondOperand) {
        super();
        this.Operator = Operator;
        this.FirstOperand = FirstOperand;
        this.SecondOperand = SecondOperand;
        this.type = 2736907675;
      }
    }
    IFC42.IfcBooleanResult = IfcBooleanResult;
    class IfcBoundedSurface extends IfcSurface {
      constructor() {
        super();
        this.type = 4182860854;
      }
    }
    IFC42.IfcBoundedSurface = IfcBoundedSurface;
    class IfcBoundingBox extends IfcGeometricRepresentationItem {
      constructor(Corner, XDim, YDim, ZDim) {
        super();
        this.Corner = Corner;
        this.XDim = XDim;
        this.YDim = YDim;
        this.ZDim = ZDim;
        this.type = 2581212453;
      }
    }
    IFC42.IfcBoundingBox = IfcBoundingBox;
    class IfcBoxedHalfSpace extends IfcHalfSpaceSolid {
      constructor(BaseSurface, AgreementFlag, Enclosure) {
        super(BaseSurface, AgreementFlag);
        this.BaseSurface = BaseSurface;
        this.AgreementFlag = AgreementFlag;
        this.Enclosure = Enclosure;
        this.type = 2713105998;
      }
    }
    IFC42.IfcBoxedHalfSpace = IfcBoxedHalfSpace;
    class IfcCShapeProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, Depth, Width, WallThickness, Girth, InternalFilletRadius) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.Depth = Depth;
        this.Width = Width;
        this.WallThickness = WallThickness;
        this.Girth = Girth;
        this.InternalFilletRadius = InternalFilletRadius;
        this.type = 2898889636;
      }
    }
    IFC42.IfcCShapeProfileDef = IfcCShapeProfileDef;
    class IfcCartesianPoint extends IfcPoint {
      constructor(Coordinates) {
        super();
        this.Coordinates = Coordinates;
        this.type = 1123145078;
      }
    }
    IFC42.IfcCartesianPoint = IfcCartesianPoint;
    class IfcCartesianPointList extends IfcGeometricRepresentationItem {
      constructor() {
        super();
        this.type = 574549367;
      }
    }
    IFC42.IfcCartesianPointList = IfcCartesianPointList;
    class IfcCartesianPointList2D extends IfcCartesianPointList {
      constructor(CoordList) {
        super();
        this.CoordList = CoordList;
        this.type = 1675464909;
      }
    }
    IFC42.IfcCartesianPointList2D = IfcCartesianPointList2D;
    class IfcCartesianPointList3D extends IfcCartesianPointList {
      constructor(CoordList) {
        super();
        this.CoordList = CoordList;
        this.type = 2059837836;
      }
    }
    IFC42.IfcCartesianPointList3D = IfcCartesianPointList3D;
    class IfcCartesianTransformationOperator extends IfcGeometricRepresentationItem {
      constructor(Axis1, Axis2, LocalOrigin, Scale) {
        super();
        this.Axis1 = Axis1;
        this.Axis2 = Axis2;
        this.LocalOrigin = LocalOrigin;
        this.Scale = Scale;
        this.type = 59481748;
      }
    }
    IFC42.IfcCartesianTransformationOperator = IfcCartesianTransformationOperator;
    class IfcCartesianTransformationOperator2D extends IfcCartesianTransformationOperator {
      constructor(Axis1, Axis2, LocalOrigin, Scale) {
        super(Axis1, Axis2, LocalOrigin, Scale);
        this.Axis1 = Axis1;
        this.Axis2 = Axis2;
        this.LocalOrigin = LocalOrigin;
        this.Scale = Scale;
        this.type = 3749851601;
      }
    }
    IFC42.IfcCartesianTransformationOperator2D = IfcCartesianTransformationOperator2D;
    class IfcCartesianTransformationOperator2DnonUniform extends IfcCartesianTransformationOperator2D {
      constructor(Axis1, Axis2, LocalOrigin, Scale, Scale2) {
        super(Axis1, Axis2, LocalOrigin, Scale);
        this.Axis1 = Axis1;
        this.Axis2 = Axis2;
        this.LocalOrigin = LocalOrigin;
        this.Scale = Scale;
        this.Scale2 = Scale2;
        this.type = 3486308946;
      }
    }
    IFC42.IfcCartesianTransformationOperator2DnonUniform = IfcCartesianTransformationOperator2DnonUniform;
    class IfcCartesianTransformationOperator3D extends IfcCartesianTransformationOperator {
      constructor(Axis1, Axis2, LocalOrigin, Scale, Axis3) {
        super(Axis1, Axis2, LocalOrigin, Scale);
        this.Axis1 = Axis1;
        this.Axis2 = Axis2;
        this.LocalOrigin = LocalOrigin;
        this.Scale = Scale;
        this.Axis3 = Axis3;
        this.type = 3331915920;
      }
    }
    IFC42.IfcCartesianTransformationOperator3D = IfcCartesianTransformationOperator3D;
    class IfcCartesianTransformationOperator3DnonUniform extends IfcCartesianTransformationOperator3D {
      constructor(Axis1, Axis2, LocalOrigin, Scale, Axis3, Scale2, Scale3) {
        super(Axis1, Axis2, LocalOrigin, Scale, Axis3);
        this.Axis1 = Axis1;
        this.Axis2 = Axis2;
        this.LocalOrigin = LocalOrigin;
        this.Scale = Scale;
        this.Axis3 = Axis3;
        this.Scale2 = Scale2;
        this.Scale3 = Scale3;
        this.type = 1416205885;
      }
    }
    IFC42.IfcCartesianTransformationOperator3DnonUniform = IfcCartesianTransformationOperator3DnonUniform;
    class IfcCircleProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, Radius) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.Radius = Radius;
        this.type = 1383045692;
      }
    }
    IFC42.IfcCircleProfileDef = IfcCircleProfileDef;
    class IfcClosedShell extends IfcConnectedFaceSet {
      constructor(CfsFaces) {
        super(CfsFaces);
        this.CfsFaces = CfsFaces;
        this.type = 2205249479;
      }
    }
    IFC42.IfcClosedShell = IfcClosedShell;
    class IfcColourRgb extends IfcColourSpecification {
      constructor(Name, Red, Green, Blue) {
        super(Name);
        this.Name = Name;
        this.Red = Red;
        this.Green = Green;
        this.Blue = Blue;
        this.type = 776857604;
      }
    }
    IFC42.IfcColourRgb = IfcColourRgb;
    class IfcComplexProperty extends IfcProperty {
      constructor(Name, Description, UsageName, HasProperties) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.UsageName = UsageName;
        this.HasProperties = HasProperties;
        this.type = 2542286263;
      }
    }
    IFC42.IfcComplexProperty = IfcComplexProperty;
    class IfcCompositeCurveSegment extends IfcGeometricRepresentationItem {
      constructor(Transition, SameSense, ParentCurve) {
        super();
        this.Transition = Transition;
        this.SameSense = SameSense;
        this.ParentCurve = ParentCurve;
        this.type = 2485617015;
      }
    }
    IFC42.IfcCompositeCurveSegment = IfcCompositeCurveSegment;
    class IfcConstructionResourceType extends IfcTypeResource {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ResourceType = ResourceType;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.type = 2574617495;
      }
    }
    IFC42.IfcConstructionResourceType = IfcConstructionResourceType;
    class IfcContext extends IfcObjectDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.LongName = LongName;
        this.Phase = Phase;
        this.RepresentationContexts = RepresentationContexts;
        this.UnitsInContext = UnitsInContext;
        this.type = 3419103109;
      }
    }
    IFC42.IfcContext = IfcContext;
    class IfcCrewResourceType extends IfcConstructionResourceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ResourceType = ResourceType;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 1815067380;
      }
    }
    IFC42.IfcCrewResourceType = IfcCrewResourceType;
    class IfcCsgPrimitive3D extends IfcGeometricRepresentationItem {
      constructor(Position) {
        super();
        this.Position = Position;
        this.type = 2506170314;
      }
    }
    IFC42.IfcCsgPrimitive3D = IfcCsgPrimitive3D;
    class IfcCsgSolid extends IfcSolidModel {
      constructor(TreeRootExpression) {
        super();
        this.TreeRootExpression = TreeRootExpression;
        this.type = 2147822146;
      }
    }
    IFC42.IfcCsgSolid = IfcCsgSolid;
    class IfcCurve extends IfcGeometricRepresentationItem {
      constructor() {
        super();
        this.type = 2601014836;
      }
    }
    IFC42.IfcCurve = IfcCurve;
    class IfcCurveBoundedPlane extends IfcBoundedSurface {
      constructor(BasisSurface, OuterBoundary, InnerBoundaries) {
        super();
        this.BasisSurface = BasisSurface;
        this.OuterBoundary = OuterBoundary;
        this.InnerBoundaries = InnerBoundaries;
        this.type = 2827736869;
      }
    }
    IFC42.IfcCurveBoundedPlane = IfcCurveBoundedPlane;
    class IfcCurveBoundedSurface extends IfcBoundedSurface {
      constructor(BasisSurface, Boundaries, ImplicitOuter) {
        super();
        this.BasisSurface = BasisSurface;
        this.Boundaries = Boundaries;
        this.ImplicitOuter = ImplicitOuter;
        this.type = 2629017746;
      }
    }
    IFC42.IfcCurveBoundedSurface = IfcCurveBoundedSurface;
    class IfcDirection extends IfcGeometricRepresentationItem {
      constructor(DirectionRatios) {
        super();
        this.DirectionRatios = DirectionRatios;
        this.type = 32440307;
      }
    }
    IFC42.IfcDirection = IfcDirection;
    class IfcDoorStyle extends IfcTypeProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, OperationType, ConstructionType, ParameterTakesPrecedence, Sizeable) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.OperationType = OperationType;
        this.ConstructionType = ConstructionType;
        this.ParameterTakesPrecedence = ParameterTakesPrecedence;
        this.Sizeable = Sizeable;
        this.type = 526551008;
      }
    }
    IFC42.IfcDoorStyle = IfcDoorStyle;
    class IfcEdgeLoop extends IfcLoop {
      constructor(EdgeList) {
        super();
        this.EdgeList = EdgeList;
        this.type = 1472233963;
      }
    }
    IFC42.IfcEdgeLoop = IfcEdgeLoop;
    class IfcElementQuantity extends IfcQuantitySet {
      constructor(GlobalId, OwnerHistory, Name, Description, MethodOfMeasurement, Quantities) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.MethodOfMeasurement = MethodOfMeasurement;
        this.Quantities = Quantities;
        this.type = 1883228015;
      }
    }
    IFC42.IfcElementQuantity = IfcElementQuantity;
    class IfcElementType extends IfcTypeProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 339256511;
      }
    }
    IFC42.IfcElementType = IfcElementType;
    class IfcElementarySurface extends IfcSurface {
      constructor(Position) {
        super();
        this.Position = Position;
        this.type = 2777663545;
      }
    }
    IFC42.IfcElementarySurface = IfcElementarySurface;
    class IfcEllipseProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, SemiAxis1, SemiAxis2) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.SemiAxis1 = SemiAxis1;
        this.SemiAxis2 = SemiAxis2;
        this.type = 2835456948;
      }
    }
    IFC42.IfcEllipseProfileDef = IfcEllipseProfileDef;
    class IfcEventType extends IfcTypeProcess {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType, EventTriggerType, UserDefinedEventTriggerType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ProcessType = ProcessType;
        this.PredefinedType = PredefinedType;
        this.EventTriggerType = EventTriggerType;
        this.UserDefinedEventTriggerType = UserDefinedEventTriggerType;
        this.type = 4024345920;
      }
    }
    IFC42.IfcEventType = IfcEventType;
    class IfcExtrudedAreaSolid extends IfcSweptAreaSolid {
      constructor(SweptArea, Position, ExtrudedDirection, Depth) {
        super(SweptArea, Position);
        this.SweptArea = SweptArea;
        this.Position = Position;
        this.ExtrudedDirection = ExtrudedDirection;
        this.Depth = Depth;
        this.type = 477187591;
      }
    }
    IFC42.IfcExtrudedAreaSolid = IfcExtrudedAreaSolid;
    class IfcExtrudedAreaSolidTapered extends IfcExtrudedAreaSolid {
      constructor(SweptArea, Position, ExtrudedDirection, Depth, EndSweptArea) {
        super(SweptArea, Position, ExtrudedDirection, Depth);
        this.SweptArea = SweptArea;
        this.Position = Position;
        this.ExtrudedDirection = ExtrudedDirection;
        this.Depth = Depth;
        this.EndSweptArea = EndSweptArea;
        this.type = 2804161546;
      }
    }
    IFC42.IfcExtrudedAreaSolidTapered = IfcExtrudedAreaSolidTapered;
    class IfcFaceBasedSurfaceModel extends IfcGeometricRepresentationItem {
      constructor(FbsmFaces) {
        super();
        this.FbsmFaces = FbsmFaces;
        this.type = 2047409740;
      }
    }
    IFC42.IfcFaceBasedSurfaceModel = IfcFaceBasedSurfaceModel;
    class IfcFillAreaStyleHatching extends IfcGeometricRepresentationItem {
      constructor(HatchLineAppearance, StartOfNextHatchLine, PointOfReferenceHatchLine, PatternStart, HatchLineAngle) {
        super();
        this.HatchLineAppearance = HatchLineAppearance;
        this.StartOfNextHatchLine = StartOfNextHatchLine;
        this.PointOfReferenceHatchLine = PointOfReferenceHatchLine;
        this.PatternStart = PatternStart;
        this.HatchLineAngle = HatchLineAngle;
        this.type = 374418227;
      }
    }
    IFC42.IfcFillAreaStyleHatching = IfcFillAreaStyleHatching;
    class IfcFillAreaStyleTiles extends IfcGeometricRepresentationItem {
      constructor(TilingPattern, Tiles, TilingScale) {
        super();
        this.TilingPattern = TilingPattern;
        this.Tiles = Tiles;
        this.TilingScale = TilingScale;
        this.type = 315944413;
      }
    }
    IFC42.IfcFillAreaStyleTiles = IfcFillAreaStyleTiles;
    class IfcFixedReferenceSweptAreaSolid extends IfcSweptAreaSolid {
      constructor(SweptArea, Position, Directrix, StartParam, EndParam, FixedReference) {
        super(SweptArea, Position);
        this.SweptArea = SweptArea;
        this.Position = Position;
        this.Directrix = Directrix;
        this.StartParam = StartParam;
        this.EndParam = EndParam;
        this.FixedReference = FixedReference;
        this.type = 2652556860;
      }
    }
    IFC42.IfcFixedReferenceSweptAreaSolid = IfcFixedReferenceSweptAreaSolid;
    class IfcFurnishingElementType extends IfcElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 4238390223;
      }
    }
    IFC42.IfcFurnishingElementType = IfcFurnishingElementType;
    class IfcFurnitureType extends IfcFurnishingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, AssemblyPlace, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.AssemblyPlace = AssemblyPlace;
        this.PredefinedType = PredefinedType;
        this.type = 1268542332;
      }
    }
    IFC42.IfcFurnitureType = IfcFurnitureType;
    class IfcGeographicElementType extends IfcElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 4095422895;
      }
    }
    IFC42.IfcGeographicElementType = IfcGeographicElementType;
    class IfcGeometricCurveSet extends IfcGeometricSet {
      constructor(Elements) {
        super(Elements);
        this.Elements = Elements;
        this.type = 987898635;
      }
    }
    IFC42.IfcGeometricCurveSet = IfcGeometricCurveSet;
    class IfcIShapeProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, OverallWidth, OverallDepth, WebThickness, FlangeThickness, FilletRadius, FlangeEdgeRadius, FlangeSlope) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.OverallWidth = OverallWidth;
        this.OverallDepth = OverallDepth;
        this.WebThickness = WebThickness;
        this.FlangeThickness = FlangeThickness;
        this.FilletRadius = FilletRadius;
        this.FlangeEdgeRadius = FlangeEdgeRadius;
        this.FlangeSlope = FlangeSlope;
        this.type = 1484403080;
      }
    }
    IFC42.IfcIShapeProfileDef = IfcIShapeProfileDef;
    class IfcIndexedPolygonalFace extends IfcTessellatedItem {
      constructor(CoordIndex) {
        super();
        this.CoordIndex = CoordIndex;
        this.type = 178912537;
      }
    }
    IFC42.IfcIndexedPolygonalFace = IfcIndexedPolygonalFace;
    class IfcIndexedPolygonalFaceWithVoids extends IfcIndexedPolygonalFace {
      constructor(CoordIndex, InnerCoordIndices) {
        super(CoordIndex);
        this.CoordIndex = CoordIndex;
        this.InnerCoordIndices = InnerCoordIndices;
        this.type = 2294589976;
      }
    }
    IFC42.IfcIndexedPolygonalFaceWithVoids = IfcIndexedPolygonalFaceWithVoids;
    class IfcLShapeProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, Depth, Width, Thickness, FilletRadius, EdgeRadius, LegSlope) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.Depth = Depth;
        this.Width = Width;
        this.Thickness = Thickness;
        this.FilletRadius = FilletRadius;
        this.EdgeRadius = EdgeRadius;
        this.LegSlope = LegSlope;
        this.type = 572779678;
      }
    }
    IFC42.IfcLShapeProfileDef = IfcLShapeProfileDef;
    class IfcLaborResourceType extends IfcConstructionResourceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ResourceType = ResourceType;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 428585644;
      }
    }
    IFC42.IfcLaborResourceType = IfcLaborResourceType;
    class IfcLine extends IfcCurve {
      constructor(Pnt, Dir) {
        super();
        this.Pnt = Pnt;
        this.Dir = Dir;
        this.type = 1281925730;
      }
    }
    IFC42.IfcLine = IfcLine;
    class IfcManifoldSolidBrep extends IfcSolidModel {
      constructor(Outer) {
        super();
        this.Outer = Outer;
        this.type = 1425443689;
      }
    }
    IFC42.IfcManifoldSolidBrep = IfcManifoldSolidBrep;
    class IfcObject extends IfcObjectDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.type = 3888040117;
      }
    }
    IFC42.IfcObject = IfcObject;
    class IfcOffsetCurve2D extends IfcCurve {
      constructor(BasisCurve, Distance, SelfIntersect) {
        super();
        this.BasisCurve = BasisCurve;
        this.Distance = Distance;
        this.SelfIntersect = SelfIntersect;
        this.type = 3388369263;
      }
    }
    IFC42.IfcOffsetCurve2D = IfcOffsetCurve2D;
    class IfcOffsetCurve3D extends IfcCurve {
      constructor(BasisCurve, Distance, SelfIntersect, RefDirection) {
        super();
        this.BasisCurve = BasisCurve;
        this.Distance = Distance;
        this.SelfIntersect = SelfIntersect;
        this.RefDirection = RefDirection;
        this.type = 3505215534;
      }
    }
    IFC42.IfcOffsetCurve3D = IfcOffsetCurve3D;
    class IfcPcurve extends IfcCurve {
      constructor(BasisSurface, ReferenceCurve) {
        super();
        this.BasisSurface = BasisSurface;
        this.ReferenceCurve = ReferenceCurve;
        this.type = 1682466193;
      }
    }
    IFC42.IfcPcurve = IfcPcurve;
    class IfcPlanarBox extends IfcPlanarExtent {
      constructor(SizeInX, SizeInY, Placement) {
        super(SizeInX, SizeInY);
        this.SizeInX = SizeInX;
        this.SizeInY = SizeInY;
        this.Placement = Placement;
        this.type = 603570806;
      }
    }
    IFC42.IfcPlanarBox = IfcPlanarBox;
    class IfcPlane extends IfcElementarySurface {
      constructor(Position) {
        super(Position);
        this.Position = Position;
        this.type = 220341763;
      }
    }
    IFC42.IfcPlane = IfcPlane;
    class IfcPreDefinedColour extends IfcPreDefinedItem {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 759155922;
      }
    }
    IFC42.IfcPreDefinedColour = IfcPreDefinedColour;
    class IfcPreDefinedCurveFont extends IfcPreDefinedItem {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 2559016684;
      }
    }
    IFC42.IfcPreDefinedCurveFont = IfcPreDefinedCurveFont;
    class IfcPreDefinedPropertySet extends IfcPropertySetDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 3967405729;
      }
    }
    IFC42.IfcPreDefinedPropertySet = IfcPreDefinedPropertySet;
    class IfcProcedureType extends IfcTypeProcess {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ProcessType = ProcessType;
        this.PredefinedType = PredefinedType;
        this.type = 569719735;
      }
    }
    IFC42.IfcProcedureType = IfcProcedureType;
    class IfcProcess extends IfcObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.type = 2945172077;
      }
    }
    IFC42.IfcProcess = IfcProcess;
    class IfcProduct extends IfcObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.type = 4208778838;
      }
    }
    IFC42.IfcProduct = IfcProduct;
    class IfcProject extends IfcContext {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.LongName = LongName;
        this.Phase = Phase;
        this.RepresentationContexts = RepresentationContexts;
        this.UnitsInContext = UnitsInContext;
        this.type = 103090709;
      }
    }
    IFC42.IfcProject = IfcProject;
    class IfcProjectLibrary extends IfcContext {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.LongName = LongName;
        this.Phase = Phase;
        this.RepresentationContexts = RepresentationContexts;
        this.UnitsInContext = UnitsInContext;
        this.type = 653396225;
      }
    }
    IFC42.IfcProjectLibrary = IfcProjectLibrary;
    class IfcPropertyBoundedValue extends IfcSimpleProperty {
      constructor(Name, Description, UpperBoundValue, LowerBoundValue, Unit, SetPointValue) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.UpperBoundValue = UpperBoundValue;
        this.LowerBoundValue = LowerBoundValue;
        this.Unit = Unit;
        this.SetPointValue = SetPointValue;
        this.type = 871118103;
      }
    }
    IFC42.IfcPropertyBoundedValue = IfcPropertyBoundedValue;
    class IfcPropertyEnumeratedValue extends IfcSimpleProperty {
      constructor(Name, Description, EnumerationValues, EnumerationReference) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.EnumerationValues = EnumerationValues;
        this.EnumerationReference = EnumerationReference;
        this.type = 4166981789;
      }
    }
    IFC42.IfcPropertyEnumeratedValue = IfcPropertyEnumeratedValue;
    class IfcPropertyListValue extends IfcSimpleProperty {
      constructor(Name, Description, ListValues, Unit) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.ListValues = ListValues;
        this.Unit = Unit;
        this.type = 2752243245;
      }
    }
    IFC42.IfcPropertyListValue = IfcPropertyListValue;
    class IfcPropertyReferenceValue extends IfcSimpleProperty {
      constructor(Name, Description, UsageName, PropertyReference) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.UsageName = UsageName;
        this.PropertyReference = PropertyReference;
        this.type = 941946838;
      }
    }
    IFC42.IfcPropertyReferenceValue = IfcPropertyReferenceValue;
    class IfcPropertySet extends IfcPropertySetDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, HasProperties) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.HasProperties = HasProperties;
        this.type = 1451395588;
      }
    }
    IFC42.IfcPropertySet = IfcPropertySet;
    class IfcPropertySetTemplate extends IfcPropertyTemplateDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, TemplateType, ApplicableEntity, HasPropertyTemplates) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.TemplateType = TemplateType;
        this.ApplicableEntity = ApplicableEntity;
        this.HasPropertyTemplates = HasPropertyTemplates;
        this.type = 492091185;
      }
    }
    IFC42.IfcPropertySetTemplate = IfcPropertySetTemplate;
    class IfcPropertySingleValue extends IfcSimpleProperty {
      constructor(Name, Description, NominalValue, Unit) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.NominalValue = NominalValue;
        this.Unit = Unit;
        this.type = 3650150729;
      }
    }
    IFC42.IfcPropertySingleValue = IfcPropertySingleValue;
    class IfcPropertyTableValue extends IfcSimpleProperty {
      constructor(Name, Description, DefiningValues, DefinedValues, Expression, DefiningUnit, DefinedUnit, CurveInterpolation) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.DefiningValues = DefiningValues;
        this.DefinedValues = DefinedValues;
        this.Expression = Expression;
        this.DefiningUnit = DefiningUnit;
        this.DefinedUnit = DefinedUnit;
        this.CurveInterpolation = CurveInterpolation;
        this.type = 110355661;
      }
    }
    IFC42.IfcPropertyTableValue = IfcPropertyTableValue;
    class IfcPropertyTemplate extends IfcPropertyTemplateDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 3521284610;
      }
    }
    IFC42.IfcPropertyTemplate = IfcPropertyTemplate;
    class IfcProxy extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, ProxyType, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.ProxyType = ProxyType;
        this.Tag = Tag;
        this.type = 3219374653;
      }
    }
    IFC42.IfcProxy = IfcProxy;
    class IfcRectangleHollowProfileDef extends IfcRectangleProfileDef {
      constructor(ProfileType, ProfileName, Position, XDim, YDim, WallThickness, InnerFilletRadius, OuterFilletRadius) {
        super(ProfileType, ProfileName, Position, XDim, YDim);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.XDim = XDim;
        this.YDim = YDim;
        this.WallThickness = WallThickness;
        this.InnerFilletRadius = InnerFilletRadius;
        this.OuterFilletRadius = OuterFilletRadius;
        this.type = 2770003689;
      }
    }
    IFC42.IfcRectangleHollowProfileDef = IfcRectangleHollowProfileDef;
    class IfcRectangularPyramid extends IfcCsgPrimitive3D {
      constructor(Position, XLength, YLength, Height) {
        super(Position);
        this.Position = Position;
        this.XLength = XLength;
        this.YLength = YLength;
        this.Height = Height;
        this.type = 2798486643;
      }
    }
    IFC42.IfcRectangularPyramid = IfcRectangularPyramid;
    class IfcRectangularTrimmedSurface extends IfcBoundedSurface {
      constructor(BasisSurface, U1, V1, U2, V2, Usense, Vsense) {
        super();
        this.BasisSurface = BasisSurface;
        this.U1 = U1;
        this.V1 = V1;
        this.U2 = U2;
        this.V2 = V2;
        this.Usense = Usense;
        this.Vsense = Vsense;
        this.type = 3454111270;
      }
    }
    IFC42.IfcRectangularTrimmedSurface = IfcRectangularTrimmedSurface;
    class IfcReinforcementDefinitionProperties extends IfcPreDefinedPropertySet {
      constructor(GlobalId, OwnerHistory, Name, Description, DefinitionType, ReinforcementSectionDefinitions) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.DefinitionType = DefinitionType;
        this.ReinforcementSectionDefinitions = ReinforcementSectionDefinitions;
        this.type = 3765753017;
      }
    }
    IFC42.IfcReinforcementDefinitionProperties = IfcReinforcementDefinitionProperties;
    class IfcRelAssigns extends IfcRelationship {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.type = 3939117080;
      }
    }
    IFC42.IfcRelAssigns = IfcRelAssigns;
    class IfcRelAssignsToActor extends IfcRelAssigns {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingActor, ActingRole) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingActor = RelatingActor;
        this.ActingRole = ActingRole;
        this.type = 1683148259;
      }
    }
    IFC42.IfcRelAssignsToActor = IfcRelAssignsToActor;
    class IfcRelAssignsToControl extends IfcRelAssigns {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingControl = RelatingControl;
        this.type = 2495723537;
      }
    }
    IFC42.IfcRelAssignsToControl = IfcRelAssignsToControl;
    class IfcRelAssignsToGroup extends IfcRelAssigns {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingGroup = RelatingGroup;
        this.type = 1307041759;
      }
    }
    IFC42.IfcRelAssignsToGroup = IfcRelAssignsToGroup;
    class IfcRelAssignsToGroupByFactor extends IfcRelAssignsToGroup {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup, Factor) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingGroup = RelatingGroup;
        this.Factor = Factor;
        this.type = 1027710054;
      }
    }
    IFC42.IfcRelAssignsToGroupByFactor = IfcRelAssignsToGroupByFactor;
    class IfcRelAssignsToProcess extends IfcRelAssigns {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingProcess, QuantityInProcess) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingProcess = RelatingProcess;
        this.QuantityInProcess = QuantityInProcess;
        this.type = 4278684876;
      }
    }
    IFC42.IfcRelAssignsToProcess = IfcRelAssignsToProcess;
    class IfcRelAssignsToProduct extends IfcRelAssigns {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingProduct) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingProduct = RelatingProduct;
        this.type = 2857406711;
      }
    }
    IFC42.IfcRelAssignsToProduct = IfcRelAssignsToProduct;
    class IfcRelAssignsToResource extends IfcRelAssigns {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingResource) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingResource = RelatingResource;
        this.type = 205026976;
      }
    }
    IFC42.IfcRelAssignsToResource = IfcRelAssignsToResource;
    class IfcRelAssociates extends IfcRelationship {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.type = 1865459582;
      }
    }
    IFC42.IfcRelAssociates = IfcRelAssociates;
    class IfcRelAssociatesApproval extends IfcRelAssociates {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingApproval) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingApproval = RelatingApproval;
        this.type = 4095574036;
      }
    }
    IFC42.IfcRelAssociatesApproval = IfcRelAssociatesApproval;
    class IfcRelAssociatesClassification extends IfcRelAssociates {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingClassification) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingClassification = RelatingClassification;
        this.type = 919958153;
      }
    }
    IFC42.IfcRelAssociatesClassification = IfcRelAssociatesClassification;
    class IfcRelAssociatesConstraint extends IfcRelAssociates {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, Intent, RelatingConstraint) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.Intent = Intent;
        this.RelatingConstraint = RelatingConstraint;
        this.type = 2728634034;
      }
    }
    IFC42.IfcRelAssociatesConstraint = IfcRelAssociatesConstraint;
    class IfcRelAssociatesDocument extends IfcRelAssociates {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingDocument) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingDocument = RelatingDocument;
        this.type = 982818633;
      }
    }
    IFC42.IfcRelAssociatesDocument = IfcRelAssociatesDocument;
    class IfcRelAssociatesLibrary extends IfcRelAssociates {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingLibrary) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingLibrary = RelatingLibrary;
        this.type = 3840914261;
      }
    }
    IFC42.IfcRelAssociatesLibrary = IfcRelAssociatesLibrary;
    class IfcRelAssociatesMaterial extends IfcRelAssociates {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingMaterial) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingMaterial = RelatingMaterial;
        this.type = 2655215786;
      }
    }
    IFC42.IfcRelAssociatesMaterial = IfcRelAssociatesMaterial;
    class IfcRelConnects extends IfcRelationship {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 826625072;
      }
    }
    IFC42.IfcRelConnects = IfcRelConnects;
    class IfcRelConnectsElements extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ConnectionGeometry = ConnectionGeometry;
        this.RelatingElement = RelatingElement;
        this.RelatedElement = RelatedElement;
        this.type = 1204542856;
      }
    }
    IFC42.IfcRelConnectsElements = IfcRelConnectsElements;
    class IfcRelConnectsPathElements extends IfcRelConnectsElements {
      constructor(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement, RelatingPriorities, RelatedPriorities, RelatedConnectionType, RelatingConnectionType) {
        super(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ConnectionGeometry = ConnectionGeometry;
        this.RelatingElement = RelatingElement;
        this.RelatedElement = RelatedElement;
        this.RelatingPriorities = RelatingPriorities;
        this.RelatedPriorities = RelatedPriorities;
        this.RelatedConnectionType = RelatedConnectionType;
        this.RelatingConnectionType = RelatingConnectionType;
        this.type = 3945020480;
      }
    }
    IFC42.IfcRelConnectsPathElements = IfcRelConnectsPathElements;
    class IfcRelConnectsPortToElement extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingPort, RelatedElement) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingPort = RelatingPort;
        this.RelatedElement = RelatedElement;
        this.type = 4201705270;
      }
    }
    IFC42.IfcRelConnectsPortToElement = IfcRelConnectsPortToElement;
    class IfcRelConnectsPorts extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingPort, RelatedPort, RealizingElement) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingPort = RelatingPort;
        this.RelatedPort = RelatedPort;
        this.RealizingElement = RealizingElement;
        this.type = 3190031847;
      }
    }
    IFC42.IfcRelConnectsPorts = IfcRelConnectsPorts;
    class IfcRelConnectsStructuralActivity extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedStructuralActivity) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingElement = RelatingElement;
        this.RelatedStructuralActivity = RelatedStructuralActivity;
        this.type = 2127690289;
      }
    }
    IFC42.IfcRelConnectsStructuralActivity = IfcRelConnectsStructuralActivity;
    class IfcRelConnectsStructuralMember extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingStructuralMember = RelatingStructuralMember;
        this.RelatedStructuralConnection = RelatedStructuralConnection;
        this.AppliedCondition = AppliedCondition;
        this.AdditionalConditions = AdditionalConditions;
        this.SupportedLength = SupportedLength;
        this.ConditionCoordinateSystem = ConditionCoordinateSystem;
        this.type = 1638771189;
      }
    }
    IFC42.IfcRelConnectsStructuralMember = IfcRelConnectsStructuralMember;
    class IfcRelConnectsWithEccentricity extends IfcRelConnectsStructuralMember {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem, ConnectionConstraint) {
        super(GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingStructuralMember = RelatingStructuralMember;
        this.RelatedStructuralConnection = RelatedStructuralConnection;
        this.AppliedCondition = AppliedCondition;
        this.AdditionalConditions = AdditionalConditions;
        this.SupportedLength = SupportedLength;
        this.ConditionCoordinateSystem = ConditionCoordinateSystem;
        this.ConnectionConstraint = ConnectionConstraint;
        this.type = 504942748;
      }
    }
    IFC42.IfcRelConnectsWithEccentricity = IfcRelConnectsWithEccentricity;
    class IfcRelConnectsWithRealizingElements extends IfcRelConnectsElements {
      constructor(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement, RealizingElements, ConnectionType) {
        super(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ConnectionGeometry = ConnectionGeometry;
        this.RelatingElement = RelatingElement;
        this.RelatedElement = RelatedElement;
        this.RealizingElements = RealizingElements;
        this.ConnectionType = ConnectionType;
        this.type = 3678494232;
      }
    }
    IFC42.IfcRelConnectsWithRealizingElements = IfcRelConnectsWithRealizingElements;
    class IfcRelContainedInSpatialStructure extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedElements, RelatingStructure) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedElements = RelatedElements;
        this.RelatingStructure = RelatingStructure;
        this.type = 3242617779;
      }
    }
    IFC42.IfcRelContainedInSpatialStructure = IfcRelContainedInSpatialStructure;
    class IfcRelCoversBldgElements extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingBuildingElement, RelatedCoverings) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingBuildingElement = RelatingBuildingElement;
        this.RelatedCoverings = RelatedCoverings;
        this.type = 886880790;
      }
    }
    IFC42.IfcRelCoversBldgElements = IfcRelCoversBldgElements;
    class IfcRelCoversSpaces extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedCoverings) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingSpace = RelatingSpace;
        this.RelatedCoverings = RelatedCoverings;
        this.type = 2802773753;
      }
    }
    IFC42.IfcRelCoversSpaces = IfcRelCoversSpaces;
    class IfcRelDeclares extends IfcRelationship {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingContext, RelatedDefinitions) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingContext = RelatingContext;
        this.RelatedDefinitions = RelatedDefinitions;
        this.type = 2565941209;
      }
    }
    IFC42.IfcRelDeclares = IfcRelDeclares;
    class IfcRelDecomposes extends IfcRelationship {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 2551354335;
      }
    }
    IFC42.IfcRelDecomposes = IfcRelDecomposes;
    class IfcRelDefines extends IfcRelationship {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 693640335;
      }
    }
    IFC42.IfcRelDefines = IfcRelDefines;
    class IfcRelDefinesByObject extends IfcRelDefines {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingObject) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingObject = RelatingObject;
        this.type = 1462361463;
      }
    }
    IFC42.IfcRelDefinesByObject = IfcRelDefinesByObject;
    class IfcRelDefinesByProperties extends IfcRelDefines {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingPropertyDefinition) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingPropertyDefinition = RelatingPropertyDefinition;
        this.type = 4186316022;
      }
    }
    IFC42.IfcRelDefinesByProperties = IfcRelDefinesByProperties;
    class IfcRelDefinesByTemplate extends IfcRelDefines {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedPropertySets, RelatingTemplate) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedPropertySets = RelatedPropertySets;
        this.RelatingTemplate = RelatingTemplate;
        this.type = 307848117;
      }
    }
    IFC42.IfcRelDefinesByTemplate = IfcRelDefinesByTemplate;
    class IfcRelDefinesByType extends IfcRelDefines {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingType) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingType = RelatingType;
        this.type = 781010003;
      }
    }
    IFC42.IfcRelDefinesByType = IfcRelDefinesByType;
    class IfcRelFillsElement extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingOpeningElement, RelatedBuildingElement) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingOpeningElement = RelatingOpeningElement;
        this.RelatedBuildingElement = RelatedBuildingElement;
        this.type = 3940055652;
      }
    }
    IFC42.IfcRelFillsElement = IfcRelFillsElement;
    class IfcRelFlowControlElements extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedControlElements, RelatingFlowElement) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedControlElements = RelatedControlElements;
        this.RelatingFlowElement = RelatingFlowElement;
        this.type = 279856033;
      }
    }
    IFC42.IfcRelFlowControlElements = IfcRelFlowControlElements;
    class IfcRelInterferesElements extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedElement, InterferenceGeometry, InterferenceType, ImpliedOrder) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingElement = RelatingElement;
        this.RelatedElement = RelatedElement;
        this.InterferenceGeometry = InterferenceGeometry;
        this.InterferenceType = InterferenceType;
        this.ImpliedOrder = ImpliedOrder;
        this.type = 427948657;
      }
    }
    IFC42.IfcRelInterferesElements = IfcRelInterferesElements;
    class IfcRelNests extends IfcRelDecomposes {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingObject = RelatingObject;
        this.RelatedObjects = RelatedObjects;
        this.type = 3268803585;
      }
    }
    IFC42.IfcRelNests = IfcRelNests;
    class IfcRelProjectsElement extends IfcRelDecomposes {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedFeatureElement) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingElement = RelatingElement;
        this.RelatedFeatureElement = RelatedFeatureElement;
        this.type = 750771296;
      }
    }
    IFC42.IfcRelProjectsElement = IfcRelProjectsElement;
    class IfcRelReferencedInSpatialStructure extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedElements, RelatingStructure) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedElements = RelatedElements;
        this.RelatingStructure = RelatingStructure;
        this.type = 1245217292;
      }
    }
    IFC42.IfcRelReferencedInSpatialStructure = IfcRelReferencedInSpatialStructure;
    class IfcRelSequence extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingProcess, RelatedProcess, TimeLag, SequenceType, UserDefinedSequenceType) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingProcess = RelatingProcess;
        this.RelatedProcess = RelatedProcess;
        this.TimeLag = TimeLag;
        this.SequenceType = SequenceType;
        this.UserDefinedSequenceType = UserDefinedSequenceType;
        this.type = 4122056220;
      }
    }
    IFC42.IfcRelSequence = IfcRelSequence;
    class IfcRelServicesBuildings extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingSystem, RelatedBuildings) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingSystem = RelatingSystem;
        this.RelatedBuildings = RelatedBuildings;
        this.type = 366585022;
      }
    }
    IFC42.IfcRelServicesBuildings = IfcRelServicesBuildings;
    class IfcRelSpaceBoundary extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingSpace = RelatingSpace;
        this.RelatedBuildingElement = RelatedBuildingElement;
        this.ConnectionGeometry = ConnectionGeometry;
        this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary;
        this.InternalOrExternalBoundary = InternalOrExternalBoundary;
        this.type = 3451746338;
      }
    }
    IFC42.IfcRelSpaceBoundary = IfcRelSpaceBoundary;
    class IfcRelSpaceBoundary1stLevel extends IfcRelSpaceBoundary {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, ParentBoundary) {
        super(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingSpace = RelatingSpace;
        this.RelatedBuildingElement = RelatedBuildingElement;
        this.ConnectionGeometry = ConnectionGeometry;
        this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary;
        this.InternalOrExternalBoundary = InternalOrExternalBoundary;
        this.ParentBoundary = ParentBoundary;
        this.type = 3523091289;
      }
    }
    IFC42.IfcRelSpaceBoundary1stLevel = IfcRelSpaceBoundary1stLevel;
    class IfcRelSpaceBoundary2ndLevel extends IfcRelSpaceBoundary1stLevel {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, ParentBoundary, CorrespondingBoundary) {
        super(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, ParentBoundary);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingSpace = RelatingSpace;
        this.RelatedBuildingElement = RelatedBuildingElement;
        this.ConnectionGeometry = ConnectionGeometry;
        this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary;
        this.InternalOrExternalBoundary = InternalOrExternalBoundary;
        this.ParentBoundary = ParentBoundary;
        this.CorrespondingBoundary = CorrespondingBoundary;
        this.type = 1521410863;
      }
    }
    IFC42.IfcRelSpaceBoundary2ndLevel = IfcRelSpaceBoundary2ndLevel;
    class IfcRelVoidsElement extends IfcRelDecomposes {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingBuildingElement, RelatedOpeningElement) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingBuildingElement = RelatingBuildingElement;
        this.RelatedOpeningElement = RelatedOpeningElement;
        this.type = 1401173127;
      }
    }
    IFC42.IfcRelVoidsElement = IfcRelVoidsElement;
    class IfcReparametrisedCompositeCurveSegment extends IfcCompositeCurveSegment {
      constructor(Transition, SameSense, ParentCurve, ParamLength) {
        super(Transition, SameSense, ParentCurve);
        this.Transition = Transition;
        this.SameSense = SameSense;
        this.ParentCurve = ParentCurve;
        this.ParamLength = ParamLength;
        this.type = 816062949;
      }
    }
    IFC42.IfcReparametrisedCompositeCurveSegment = IfcReparametrisedCompositeCurveSegment;
    class IfcResource extends IfcObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.type = 2914609552;
      }
    }
    IFC42.IfcResource = IfcResource;
    class IfcRevolvedAreaSolid extends IfcSweptAreaSolid {
      constructor(SweptArea, Position, Axis, Angle) {
        super(SweptArea, Position);
        this.SweptArea = SweptArea;
        this.Position = Position;
        this.Axis = Axis;
        this.Angle = Angle;
        this.type = 1856042241;
      }
    }
    IFC42.IfcRevolvedAreaSolid = IfcRevolvedAreaSolid;
    class IfcRevolvedAreaSolidTapered extends IfcRevolvedAreaSolid {
      constructor(SweptArea, Position, Axis, Angle, EndSweptArea) {
        super(SweptArea, Position, Axis, Angle);
        this.SweptArea = SweptArea;
        this.Position = Position;
        this.Axis = Axis;
        this.Angle = Angle;
        this.EndSweptArea = EndSweptArea;
        this.type = 3243963512;
      }
    }
    IFC42.IfcRevolvedAreaSolidTapered = IfcRevolvedAreaSolidTapered;
    class IfcRightCircularCone extends IfcCsgPrimitive3D {
      constructor(Position, Height, BottomRadius) {
        super(Position);
        this.Position = Position;
        this.Height = Height;
        this.BottomRadius = BottomRadius;
        this.type = 4158566097;
      }
    }
    IFC42.IfcRightCircularCone = IfcRightCircularCone;
    class IfcRightCircularCylinder extends IfcCsgPrimitive3D {
      constructor(Position, Height, Radius) {
        super(Position);
        this.Position = Position;
        this.Height = Height;
        this.Radius = Radius;
        this.type = 3626867408;
      }
    }
    IFC42.IfcRightCircularCylinder = IfcRightCircularCylinder;
    class IfcSimplePropertyTemplate extends IfcPropertyTemplate {
      constructor(GlobalId, OwnerHistory, Name, Description, TemplateType, PrimaryMeasureType, SecondaryMeasureType, Enumerators, PrimaryUnit, SecondaryUnit, Expression, AccessState) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.TemplateType = TemplateType;
        this.PrimaryMeasureType = PrimaryMeasureType;
        this.SecondaryMeasureType = SecondaryMeasureType;
        this.Enumerators = Enumerators;
        this.PrimaryUnit = PrimaryUnit;
        this.SecondaryUnit = SecondaryUnit;
        this.Expression = Expression;
        this.AccessState = AccessState;
        this.type = 3663146110;
      }
    }
    IFC42.IfcSimplePropertyTemplate = IfcSimplePropertyTemplate;
    class IfcSpatialElement extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.type = 1412071761;
      }
    }
    IFC42.IfcSpatialElement = IfcSpatialElement;
    class IfcSpatialElementType extends IfcTypeProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 710998568;
      }
    }
    IFC42.IfcSpatialElementType = IfcSpatialElementType;
    class IfcSpatialStructureElement extends IfcSpatialElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.type = 2706606064;
      }
    }
    IFC42.IfcSpatialStructureElement = IfcSpatialStructureElement;
    class IfcSpatialStructureElementType extends IfcSpatialElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 3893378262;
      }
    }
    IFC42.IfcSpatialStructureElementType = IfcSpatialStructureElementType;
    class IfcSpatialZone extends IfcSpatialElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.PredefinedType = PredefinedType;
        this.type = 463610769;
      }
    }
    IFC42.IfcSpatialZone = IfcSpatialZone;
    class IfcSpatialZoneType extends IfcSpatialElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, LongName) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.LongName = LongName;
        this.type = 2481509218;
      }
    }
    IFC42.IfcSpatialZoneType = IfcSpatialZoneType;
    class IfcSphere extends IfcCsgPrimitive3D {
      constructor(Position, Radius) {
        super(Position);
        this.Position = Position;
        this.Radius = Radius;
        this.type = 451544542;
      }
    }
    IFC42.IfcSphere = IfcSphere;
    class IfcSphericalSurface extends IfcElementarySurface {
      constructor(Position, Radius) {
        super(Position);
        this.Position = Position;
        this.Radius = Radius;
        this.type = 4015995234;
      }
    }
    IFC42.IfcSphericalSurface = IfcSphericalSurface;
    class IfcStructuralActivity extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.type = 3544373492;
      }
    }
    IFC42.IfcStructuralActivity = IfcStructuralActivity;
    class IfcStructuralItem extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.type = 3136571912;
      }
    }
    IFC42.IfcStructuralItem = IfcStructuralItem;
    class IfcStructuralMember extends IfcStructuralItem {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.type = 530289379;
      }
    }
    IFC42.IfcStructuralMember = IfcStructuralMember;
    class IfcStructuralReaction extends IfcStructuralActivity {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.type = 3689010777;
      }
    }
    IFC42.IfcStructuralReaction = IfcStructuralReaction;
    class IfcStructuralSurfaceMember extends IfcStructuralMember {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.PredefinedType = PredefinedType;
        this.Thickness = Thickness;
        this.type = 3979015343;
      }
    }
    IFC42.IfcStructuralSurfaceMember = IfcStructuralSurfaceMember;
    class IfcStructuralSurfaceMemberVarying extends IfcStructuralSurfaceMember {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.PredefinedType = PredefinedType;
        this.Thickness = Thickness;
        this.type = 2218152070;
      }
    }
    IFC42.IfcStructuralSurfaceMemberVarying = IfcStructuralSurfaceMemberVarying;
    class IfcStructuralSurfaceReaction extends IfcStructuralReaction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.PredefinedType = PredefinedType;
        this.type = 603775116;
      }
    }
    IFC42.IfcStructuralSurfaceReaction = IfcStructuralSurfaceReaction;
    class IfcSubContractResourceType extends IfcConstructionResourceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ResourceType = ResourceType;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 4095615324;
      }
    }
    IFC42.IfcSubContractResourceType = IfcSubContractResourceType;
    class IfcSurfaceCurve extends IfcCurve {
      constructor(Curve3D, AssociatedGeometry, MasterRepresentation) {
        super();
        this.Curve3D = Curve3D;
        this.AssociatedGeometry = AssociatedGeometry;
        this.MasterRepresentation = MasterRepresentation;
        this.type = 699246055;
      }
    }
    IFC42.IfcSurfaceCurve = IfcSurfaceCurve;
    class IfcSurfaceCurveSweptAreaSolid extends IfcSweptAreaSolid {
      constructor(SweptArea, Position, Directrix, StartParam, EndParam, ReferenceSurface) {
        super(SweptArea, Position);
        this.SweptArea = SweptArea;
        this.Position = Position;
        this.Directrix = Directrix;
        this.StartParam = StartParam;
        this.EndParam = EndParam;
        this.ReferenceSurface = ReferenceSurface;
        this.type = 2028607225;
      }
    }
    IFC42.IfcSurfaceCurveSweptAreaSolid = IfcSurfaceCurveSweptAreaSolid;
    class IfcSurfaceOfLinearExtrusion extends IfcSweptSurface {
      constructor(SweptCurve, Position, ExtrudedDirection, Depth) {
        super(SweptCurve, Position);
        this.SweptCurve = SweptCurve;
        this.Position = Position;
        this.ExtrudedDirection = ExtrudedDirection;
        this.Depth = Depth;
        this.type = 2809605785;
      }
    }
    IFC42.IfcSurfaceOfLinearExtrusion = IfcSurfaceOfLinearExtrusion;
    class IfcSurfaceOfRevolution extends IfcSweptSurface {
      constructor(SweptCurve, Position, AxisPosition) {
        super(SweptCurve, Position);
        this.SweptCurve = SweptCurve;
        this.Position = Position;
        this.AxisPosition = AxisPosition;
        this.type = 4124788165;
      }
    }
    IFC42.IfcSurfaceOfRevolution = IfcSurfaceOfRevolution;
    class IfcSystemFurnitureElementType extends IfcFurnishingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1580310250;
      }
    }
    IFC42.IfcSystemFurnitureElementType = IfcSystemFurnitureElementType;
    class IfcTask extends IfcProcess {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Status, WorkMethod, IsMilestone, Priority, TaskTime, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.Status = Status;
        this.WorkMethod = WorkMethod;
        this.IsMilestone = IsMilestone;
        this.Priority = Priority;
        this.TaskTime = TaskTime;
        this.PredefinedType = PredefinedType;
        this.type = 3473067441;
      }
    }
    IFC42.IfcTask = IfcTask;
    class IfcTaskType extends IfcTypeProcess {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType, WorkMethod) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ProcessType = ProcessType;
        this.PredefinedType = PredefinedType;
        this.WorkMethod = WorkMethod;
        this.type = 3206491090;
      }
    }
    IFC42.IfcTaskType = IfcTaskType;
    class IfcTessellatedFaceSet extends IfcTessellatedItem {
      constructor(Coordinates) {
        super();
        this.Coordinates = Coordinates;
        this.type = 2387106220;
      }
    }
    IFC42.IfcTessellatedFaceSet = IfcTessellatedFaceSet;
    class IfcToroidalSurface extends IfcElementarySurface {
      constructor(Position, MajorRadius, MinorRadius) {
        super(Position);
        this.Position = Position;
        this.MajorRadius = MajorRadius;
        this.MinorRadius = MinorRadius;
        this.type = 1935646853;
      }
    }
    IFC42.IfcToroidalSurface = IfcToroidalSurface;
    class IfcTransportElementType extends IfcElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2097647324;
      }
    }
    IFC42.IfcTransportElementType = IfcTransportElementType;
    class IfcTriangulatedFaceSet extends IfcTessellatedFaceSet {
      constructor(Coordinates, Normals, Closed, CoordIndex, PnIndex) {
        super(Coordinates);
        this.Coordinates = Coordinates;
        this.Normals = Normals;
        this.Closed = Closed;
        this.CoordIndex = CoordIndex;
        this.PnIndex = PnIndex;
        this.type = 2916149573;
      }
    }
    IFC42.IfcTriangulatedFaceSet = IfcTriangulatedFaceSet;
    class IfcWindowLiningProperties extends IfcPreDefinedPropertySet {
      constructor(GlobalId, OwnerHistory, Name, Description, LiningDepth, LiningThickness, TransomThickness, MullionThickness, FirstTransomOffset, SecondTransomOffset, FirstMullionOffset, SecondMullionOffset, ShapeAspectStyle, LiningOffset, LiningToPanelOffsetX, LiningToPanelOffsetY) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.LiningDepth = LiningDepth;
        this.LiningThickness = LiningThickness;
        this.TransomThickness = TransomThickness;
        this.MullionThickness = MullionThickness;
        this.FirstTransomOffset = FirstTransomOffset;
        this.SecondTransomOffset = SecondTransomOffset;
        this.FirstMullionOffset = FirstMullionOffset;
        this.SecondMullionOffset = SecondMullionOffset;
        this.ShapeAspectStyle = ShapeAspectStyle;
        this.LiningOffset = LiningOffset;
        this.LiningToPanelOffsetX = LiningToPanelOffsetX;
        this.LiningToPanelOffsetY = LiningToPanelOffsetY;
        this.type = 336235671;
      }
    }
    IFC42.IfcWindowLiningProperties = IfcWindowLiningProperties;
    class IfcWindowPanelProperties extends IfcPreDefinedPropertySet {
      constructor(GlobalId, OwnerHistory, Name, Description, OperationType, PanelPosition, FrameDepth, FrameThickness, ShapeAspectStyle) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.OperationType = OperationType;
        this.PanelPosition = PanelPosition;
        this.FrameDepth = FrameDepth;
        this.FrameThickness = FrameThickness;
        this.ShapeAspectStyle = ShapeAspectStyle;
        this.type = 512836454;
      }
    }
    IFC42.IfcWindowPanelProperties = IfcWindowPanelProperties;
    class IfcActor extends IfcObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.TheActor = TheActor;
        this.type = 2296667514;
      }
    }
    IFC42.IfcActor = IfcActor;
    class IfcAdvancedBrep extends IfcManifoldSolidBrep {
      constructor(Outer) {
        super(Outer);
        this.Outer = Outer;
        this.type = 1635779807;
      }
    }
    IFC42.IfcAdvancedBrep = IfcAdvancedBrep;
    class IfcAdvancedBrepWithVoids extends IfcAdvancedBrep {
      constructor(Outer, Voids) {
        super(Outer);
        this.Outer = Outer;
        this.Voids = Voids;
        this.type = 2603310189;
      }
    }
    IFC42.IfcAdvancedBrepWithVoids = IfcAdvancedBrepWithVoids;
    class IfcAnnotation extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.type = 1674181508;
      }
    }
    IFC42.IfcAnnotation = IfcAnnotation;
    class IfcBSplineSurface extends IfcBoundedSurface {
      constructor(UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect) {
        super();
        this.UDegree = UDegree;
        this.VDegree = VDegree;
        this.ControlPointsList = ControlPointsList;
        this.SurfaceForm = SurfaceForm;
        this.UClosed = UClosed;
        this.VClosed = VClosed;
        this.SelfIntersect = SelfIntersect;
        this.type = 2887950389;
      }
    }
    IFC42.IfcBSplineSurface = IfcBSplineSurface;
    class IfcBSplineSurfaceWithKnots extends IfcBSplineSurface {
      constructor(UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect, UMultiplicities, VMultiplicities, UKnots, VKnots, KnotSpec) {
        super(UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect);
        this.UDegree = UDegree;
        this.VDegree = VDegree;
        this.ControlPointsList = ControlPointsList;
        this.SurfaceForm = SurfaceForm;
        this.UClosed = UClosed;
        this.VClosed = VClosed;
        this.SelfIntersect = SelfIntersect;
        this.UMultiplicities = UMultiplicities;
        this.VMultiplicities = VMultiplicities;
        this.UKnots = UKnots;
        this.VKnots = VKnots;
        this.KnotSpec = KnotSpec;
        this.type = 167062518;
      }
    }
    IFC42.IfcBSplineSurfaceWithKnots = IfcBSplineSurfaceWithKnots;
    class IfcBlock extends IfcCsgPrimitive3D {
      constructor(Position, XLength, YLength, ZLength) {
        super(Position);
        this.Position = Position;
        this.XLength = XLength;
        this.YLength = YLength;
        this.ZLength = ZLength;
        this.type = 1334484129;
      }
    }
    IFC42.IfcBlock = IfcBlock;
    class IfcBooleanClippingResult extends IfcBooleanResult {
      constructor(Operator, FirstOperand, SecondOperand) {
        super(Operator, FirstOperand, SecondOperand);
        this.Operator = Operator;
        this.FirstOperand = FirstOperand;
        this.SecondOperand = SecondOperand;
        this.type = 3649129432;
      }
    }
    IFC42.IfcBooleanClippingResult = IfcBooleanClippingResult;
    class IfcBoundedCurve extends IfcCurve {
      constructor() {
        super();
        this.type = 1260505505;
      }
    }
    IFC42.IfcBoundedCurve = IfcBoundedCurve;
    class IfcBuilding extends IfcSpatialStructureElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, ElevationOfRefHeight, ElevationOfTerrain, BuildingAddress) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.ElevationOfRefHeight = ElevationOfRefHeight;
        this.ElevationOfTerrain = ElevationOfTerrain;
        this.BuildingAddress = BuildingAddress;
        this.type = 4031249490;
      }
    }
    IFC42.IfcBuilding = IfcBuilding;
    class IfcBuildingElementType extends IfcElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 1950629157;
      }
    }
    IFC42.IfcBuildingElementType = IfcBuildingElementType;
    class IfcBuildingStorey extends IfcSpatialStructureElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, Elevation) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.Elevation = Elevation;
        this.type = 3124254112;
      }
    }
    IFC42.IfcBuildingStorey = IfcBuildingStorey;
    class IfcChimneyType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2197970202;
      }
    }
    IFC42.IfcChimneyType = IfcChimneyType;
    class IfcCircleHollowProfileDef extends IfcCircleProfileDef {
      constructor(ProfileType, ProfileName, Position, Radius, WallThickness) {
        super(ProfileType, ProfileName, Position, Radius);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.Radius = Radius;
        this.WallThickness = WallThickness;
        this.type = 2937912522;
      }
    }
    IFC42.IfcCircleHollowProfileDef = IfcCircleHollowProfileDef;
    class IfcCivilElementType extends IfcElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 3893394355;
      }
    }
    IFC42.IfcCivilElementType = IfcCivilElementType;
    class IfcColumnType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 300633059;
      }
    }
    IFC42.IfcColumnType = IfcColumnType;
    class IfcComplexPropertyTemplate extends IfcPropertyTemplate {
      constructor(GlobalId, OwnerHistory, Name, Description, UsageName, TemplateType, HasPropertyTemplates) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.UsageName = UsageName;
        this.TemplateType = TemplateType;
        this.HasPropertyTemplates = HasPropertyTemplates;
        this.type = 3875453745;
      }
    }
    IFC42.IfcComplexPropertyTemplate = IfcComplexPropertyTemplate;
    class IfcCompositeCurve extends IfcBoundedCurve {
      constructor(Segments, SelfIntersect) {
        super();
        this.Segments = Segments;
        this.SelfIntersect = SelfIntersect;
        this.type = 3732776249;
      }
    }
    IFC42.IfcCompositeCurve = IfcCompositeCurve;
    class IfcCompositeCurveOnSurface extends IfcCompositeCurve {
      constructor(Segments, SelfIntersect) {
        super(Segments, SelfIntersect);
        this.Segments = Segments;
        this.SelfIntersect = SelfIntersect;
        this.type = 15328376;
      }
    }
    IFC42.IfcCompositeCurveOnSurface = IfcCompositeCurveOnSurface;
    class IfcConic extends IfcCurve {
      constructor(Position) {
        super();
        this.Position = Position;
        this.type = 2510884976;
      }
    }
    IFC42.IfcConic = IfcConic;
    class IfcConstructionEquipmentResourceType extends IfcConstructionResourceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ResourceType = ResourceType;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 2185764099;
      }
    }
    IFC42.IfcConstructionEquipmentResourceType = IfcConstructionEquipmentResourceType;
    class IfcConstructionMaterialResourceType extends IfcConstructionResourceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ResourceType = ResourceType;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 4105962743;
      }
    }
    IFC42.IfcConstructionMaterialResourceType = IfcConstructionMaterialResourceType;
    class IfcConstructionProductResourceType extends IfcConstructionResourceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ResourceType = ResourceType;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 1525564444;
      }
    }
    IFC42.IfcConstructionProductResourceType = IfcConstructionProductResourceType;
    class IfcConstructionResource extends IfcResource {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.Usage = Usage;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.type = 2559216714;
      }
    }
    IFC42.IfcConstructionResource = IfcConstructionResource;
    class IfcControl extends IfcObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.type = 3293443760;
      }
    }
    IFC42.IfcControl = IfcControl;
    class IfcCostItem extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, CostValues, CostQuantities) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.PredefinedType = PredefinedType;
        this.CostValues = CostValues;
        this.CostQuantities = CostQuantities;
        this.type = 3895139033;
      }
    }
    IFC42.IfcCostItem = IfcCostItem;
    class IfcCostSchedule extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, SubmittedOn, UpdateDate) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.PredefinedType = PredefinedType;
        this.Status = Status;
        this.SubmittedOn = SubmittedOn;
        this.UpdateDate = UpdateDate;
        this.type = 1419761937;
      }
    }
    IFC42.IfcCostSchedule = IfcCostSchedule;
    class IfcCoveringType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1916426348;
      }
    }
    IFC42.IfcCoveringType = IfcCoveringType;
    class IfcCrewResource extends IfcConstructionResource {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.Usage = Usage;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 3295246426;
      }
    }
    IFC42.IfcCrewResource = IfcCrewResource;
    class IfcCurtainWallType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1457835157;
      }
    }
    IFC42.IfcCurtainWallType = IfcCurtainWallType;
    class IfcCylindricalSurface extends IfcElementarySurface {
      constructor(Position, Radius) {
        super(Position);
        this.Position = Position;
        this.Radius = Radius;
        this.type = 1213902940;
      }
    }
    IFC42.IfcCylindricalSurface = IfcCylindricalSurface;
    class IfcDistributionElementType extends IfcElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 3256556792;
      }
    }
    IFC42.IfcDistributionElementType = IfcDistributionElementType;
    class IfcDistributionFlowElementType extends IfcDistributionElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 3849074793;
      }
    }
    IFC42.IfcDistributionFlowElementType = IfcDistributionFlowElementType;
    class IfcDoorLiningProperties extends IfcPreDefinedPropertySet {
      constructor(GlobalId, OwnerHistory, Name, Description, LiningDepth, LiningThickness, ThresholdDepth, ThresholdThickness, TransomThickness, TransomOffset, LiningOffset, ThresholdOffset, CasingThickness, CasingDepth, ShapeAspectStyle, LiningToPanelOffsetX, LiningToPanelOffsetY) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.LiningDepth = LiningDepth;
        this.LiningThickness = LiningThickness;
        this.ThresholdDepth = ThresholdDepth;
        this.ThresholdThickness = ThresholdThickness;
        this.TransomThickness = TransomThickness;
        this.TransomOffset = TransomOffset;
        this.LiningOffset = LiningOffset;
        this.ThresholdOffset = ThresholdOffset;
        this.CasingThickness = CasingThickness;
        this.CasingDepth = CasingDepth;
        this.ShapeAspectStyle = ShapeAspectStyle;
        this.LiningToPanelOffsetX = LiningToPanelOffsetX;
        this.LiningToPanelOffsetY = LiningToPanelOffsetY;
        this.type = 2963535650;
      }
    }
    IFC42.IfcDoorLiningProperties = IfcDoorLiningProperties;
    class IfcDoorPanelProperties extends IfcPreDefinedPropertySet {
      constructor(GlobalId, OwnerHistory, Name, Description, PanelDepth, PanelOperation, PanelWidth, PanelPosition, ShapeAspectStyle) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.PanelDepth = PanelDepth;
        this.PanelOperation = PanelOperation;
        this.PanelWidth = PanelWidth;
        this.PanelPosition = PanelPosition;
        this.ShapeAspectStyle = ShapeAspectStyle;
        this.type = 1714330368;
      }
    }
    IFC42.IfcDoorPanelProperties = IfcDoorPanelProperties;
    class IfcDoorType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, OperationType, ParameterTakesPrecedence, UserDefinedOperationType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.OperationType = OperationType;
        this.ParameterTakesPrecedence = ParameterTakesPrecedence;
        this.UserDefinedOperationType = UserDefinedOperationType;
        this.type = 2323601079;
      }
    }
    IFC42.IfcDoorType = IfcDoorType;
    class IfcDraughtingPreDefinedColour extends IfcPreDefinedColour {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 445594917;
      }
    }
    IFC42.IfcDraughtingPreDefinedColour = IfcDraughtingPreDefinedColour;
    class IfcDraughtingPreDefinedCurveFont extends IfcPreDefinedCurveFont {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 4006246654;
      }
    }
    IFC42.IfcDraughtingPreDefinedCurveFont = IfcDraughtingPreDefinedCurveFont;
    class IfcElement extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1758889154;
      }
    }
    IFC42.IfcElement = IfcElement;
    class IfcElementAssembly extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, AssemblyPlace, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.AssemblyPlace = AssemblyPlace;
        this.PredefinedType = PredefinedType;
        this.type = 4123344466;
      }
    }
    IFC42.IfcElementAssembly = IfcElementAssembly;
    class IfcElementAssemblyType extends IfcElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2397081782;
      }
    }
    IFC42.IfcElementAssemblyType = IfcElementAssemblyType;
    class IfcElementComponent extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1623761950;
      }
    }
    IFC42.IfcElementComponent = IfcElementComponent;
    class IfcElementComponentType extends IfcElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 2590856083;
      }
    }
    IFC42.IfcElementComponentType = IfcElementComponentType;
    class IfcEllipse extends IfcConic {
      constructor(Position, SemiAxis1, SemiAxis2) {
        super(Position);
        this.Position = Position;
        this.SemiAxis1 = SemiAxis1;
        this.SemiAxis2 = SemiAxis2;
        this.type = 1704287377;
      }
    }
    IFC42.IfcEllipse = IfcEllipse;
    class IfcEnergyConversionDeviceType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 2107101300;
      }
    }
    IFC42.IfcEnergyConversionDeviceType = IfcEnergyConversionDeviceType;
    class IfcEngineType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 132023988;
      }
    }
    IFC42.IfcEngineType = IfcEngineType;
    class IfcEvaporativeCoolerType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3174744832;
      }
    }
    IFC42.IfcEvaporativeCoolerType = IfcEvaporativeCoolerType;
    class IfcEvaporatorType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3390157468;
      }
    }
    IFC42.IfcEvaporatorType = IfcEvaporatorType;
    class IfcEvent extends IfcProcess {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, PredefinedType, EventTriggerType, UserDefinedEventTriggerType, EventOccurenceTime) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.PredefinedType = PredefinedType;
        this.EventTriggerType = EventTriggerType;
        this.UserDefinedEventTriggerType = UserDefinedEventTriggerType;
        this.EventOccurenceTime = EventOccurenceTime;
        this.type = 4148101412;
      }
    }
    IFC42.IfcEvent = IfcEvent;
    class IfcExternalSpatialStructureElement extends IfcSpatialElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.type = 2853485674;
      }
    }
    IFC42.IfcExternalSpatialStructureElement = IfcExternalSpatialStructureElement;
    class IfcFacetedBrep extends IfcManifoldSolidBrep {
      constructor(Outer) {
        super(Outer);
        this.Outer = Outer;
        this.type = 807026263;
      }
    }
    IFC42.IfcFacetedBrep = IfcFacetedBrep;
    class IfcFacetedBrepWithVoids extends IfcFacetedBrep {
      constructor(Outer, Voids) {
        super(Outer);
        this.Outer = Outer;
        this.Voids = Voids;
        this.type = 3737207727;
      }
    }
    IFC42.IfcFacetedBrepWithVoids = IfcFacetedBrepWithVoids;
    class IfcFastener extends IfcElementComponent {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 647756555;
      }
    }
    IFC42.IfcFastener = IfcFastener;
    class IfcFastenerType extends IfcElementComponentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2489546625;
      }
    }
    IFC42.IfcFastenerType = IfcFastenerType;
    class IfcFeatureElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 2827207264;
      }
    }
    IFC42.IfcFeatureElement = IfcFeatureElement;
    class IfcFeatureElementAddition extends IfcFeatureElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 2143335405;
      }
    }
    IFC42.IfcFeatureElementAddition = IfcFeatureElementAddition;
    class IfcFeatureElementSubtraction extends IfcFeatureElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1287392070;
      }
    }
    IFC42.IfcFeatureElementSubtraction = IfcFeatureElementSubtraction;
    class IfcFlowControllerType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 3907093117;
      }
    }
    IFC42.IfcFlowControllerType = IfcFlowControllerType;
    class IfcFlowFittingType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 3198132628;
      }
    }
    IFC42.IfcFlowFittingType = IfcFlowFittingType;
    class IfcFlowMeterType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3815607619;
      }
    }
    IFC42.IfcFlowMeterType = IfcFlowMeterType;
    class IfcFlowMovingDeviceType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 1482959167;
      }
    }
    IFC42.IfcFlowMovingDeviceType = IfcFlowMovingDeviceType;
    class IfcFlowSegmentType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 1834744321;
      }
    }
    IFC42.IfcFlowSegmentType = IfcFlowSegmentType;
    class IfcFlowStorageDeviceType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 1339347760;
      }
    }
    IFC42.IfcFlowStorageDeviceType = IfcFlowStorageDeviceType;
    class IfcFlowTerminalType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 2297155007;
      }
    }
    IFC42.IfcFlowTerminalType = IfcFlowTerminalType;
    class IfcFlowTreatmentDeviceType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 3009222698;
      }
    }
    IFC42.IfcFlowTreatmentDeviceType = IfcFlowTreatmentDeviceType;
    class IfcFootingType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1893162501;
      }
    }
    IFC42.IfcFootingType = IfcFootingType;
    class IfcFurnishingElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 263784265;
      }
    }
    IFC42.IfcFurnishingElement = IfcFurnishingElement;
    class IfcFurniture extends IfcFurnishingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1509553395;
      }
    }
    IFC42.IfcFurniture = IfcFurniture;
    class IfcGeographicElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3493046030;
      }
    }
    IFC42.IfcGeographicElement = IfcGeographicElement;
    class IfcGrid extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, UAxes, VAxes, WAxes, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.UAxes = UAxes;
        this.VAxes = VAxes;
        this.WAxes = WAxes;
        this.PredefinedType = PredefinedType;
        this.type = 3009204131;
      }
    }
    IFC42.IfcGrid = IfcGrid;
    class IfcGroup extends IfcObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.type = 2706460486;
      }
    }
    IFC42.IfcGroup = IfcGroup;
    class IfcHeatExchangerType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1251058090;
      }
    }
    IFC42.IfcHeatExchangerType = IfcHeatExchangerType;
    class IfcHumidifierType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1806887404;
      }
    }
    IFC42.IfcHumidifierType = IfcHumidifierType;
    class IfcIndexedPolyCurve extends IfcBoundedCurve {
      constructor(Points, Segments, SelfIntersect) {
        super();
        this.Points = Points;
        this.Segments = Segments;
        this.SelfIntersect = SelfIntersect;
        this.type = 2571569899;
      }
    }
    IFC42.IfcIndexedPolyCurve = IfcIndexedPolyCurve;
    class IfcInterceptorType extends IfcFlowTreatmentDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3946677679;
      }
    }
    IFC42.IfcInterceptorType = IfcInterceptorType;
    class IfcIntersectionCurve extends IfcSurfaceCurve {
      constructor(Curve3D, AssociatedGeometry, MasterRepresentation) {
        super(Curve3D, AssociatedGeometry, MasterRepresentation);
        this.Curve3D = Curve3D;
        this.AssociatedGeometry = AssociatedGeometry;
        this.MasterRepresentation = MasterRepresentation;
        this.type = 3113134337;
      }
    }
    IFC42.IfcIntersectionCurve = IfcIntersectionCurve;
    class IfcInventory extends IfcGroup {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, Jurisdiction, ResponsiblePersons, LastUpdateDate, CurrentValue, OriginalValue) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.PredefinedType = PredefinedType;
        this.Jurisdiction = Jurisdiction;
        this.ResponsiblePersons = ResponsiblePersons;
        this.LastUpdateDate = LastUpdateDate;
        this.CurrentValue = CurrentValue;
        this.OriginalValue = OriginalValue;
        this.type = 2391368822;
      }
    }
    IFC42.IfcInventory = IfcInventory;
    class IfcJunctionBoxType extends IfcFlowFittingType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 4288270099;
      }
    }
    IFC42.IfcJunctionBoxType = IfcJunctionBoxType;
    class IfcLaborResource extends IfcConstructionResource {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.Usage = Usage;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 3827777499;
      }
    }
    IFC42.IfcLaborResource = IfcLaborResource;
    class IfcLampType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1051575348;
      }
    }
    IFC42.IfcLampType = IfcLampType;
    class IfcLightFixtureType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1161773419;
      }
    }
    IFC42.IfcLightFixtureType = IfcLightFixtureType;
    class IfcMechanicalFastener extends IfcElementComponent {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, NominalDiameter, NominalLength, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.NominalDiameter = NominalDiameter;
        this.NominalLength = NominalLength;
        this.PredefinedType = PredefinedType;
        this.type = 377706215;
      }
    }
    IFC42.IfcMechanicalFastener = IfcMechanicalFastener;
    class IfcMechanicalFastenerType extends IfcElementComponentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, NominalLength) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.NominalDiameter = NominalDiameter;
        this.NominalLength = NominalLength;
        this.type = 2108223431;
      }
    }
    IFC42.IfcMechanicalFastenerType = IfcMechanicalFastenerType;
    class IfcMedicalDeviceType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1114901282;
      }
    }
    IFC42.IfcMedicalDeviceType = IfcMedicalDeviceType;
    class IfcMemberType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3181161470;
      }
    }
    IFC42.IfcMemberType = IfcMemberType;
    class IfcMotorConnectionType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 977012517;
      }
    }
    IFC42.IfcMotorConnectionType = IfcMotorConnectionType;
    class IfcOccupant extends IfcActor {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.TheActor = TheActor;
        this.PredefinedType = PredefinedType;
        this.type = 4143007308;
      }
    }
    IFC42.IfcOccupant = IfcOccupant;
    class IfcOpeningElement extends IfcFeatureElementSubtraction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3588315303;
      }
    }
    IFC42.IfcOpeningElement = IfcOpeningElement;
    class IfcOpeningStandardCase extends IfcOpeningElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3079942009;
      }
    }
    IFC42.IfcOpeningStandardCase = IfcOpeningStandardCase;
    class IfcOutletType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2837617999;
      }
    }
    IFC42.IfcOutletType = IfcOutletType;
    class IfcPerformanceHistory extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LifeCyclePhase, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LifeCyclePhase = LifeCyclePhase;
        this.PredefinedType = PredefinedType;
        this.type = 2382730787;
      }
    }
    IFC42.IfcPerformanceHistory = IfcPerformanceHistory;
    class IfcPermeableCoveringProperties extends IfcPreDefinedPropertySet {
      constructor(GlobalId, OwnerHistory, Name, Description, OperationType, PanelPosition, FrameDepth, FrameThickness, ShapeAspectStyle) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.OperationType = OperationType;
        this.PanelPosition = PanelPosition;
        this.FrameDepth = FrameDepth;
        this.FrameThickness = FrameThickness;
        this.ShapeAspectStyle = ShapeAspectStyle;
        this.type = 3566463478;
      }
    }
    IFC42.IfcPermeableCoveringProperties = IfcPermeableCoveringProperties;
    class IfcPermit extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.PredefinedType = PredefinedType;
        this.Status = Status;
        this.LongDescription = LongDescription;
        this.type = 3327091369;
      }
    }
    IFC42.IfcPermit = IfcPermit;
    class IfcPileType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1158309216;
      }
    }
    IFC42.IfcPileType = IfcPileType;
    class IfcPipeFittingType extends IfcFlowFittingType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 804291784;
      }
    }
    IFC42.IfcPipeFittingType = IfcPipeFittingType;
    class IfcPipeSegmentType extends IfcFlowSegmentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 4231323485;
      }
    }
    IFC42.IfcPipeSegmentType = IfcPipeSegmentType;
    class IfcPlateType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 4017108033;
      }
    }
    IFC42.IfcPlateType = IfcPlateType;
    class IfcPolygonalFaceSet extends IfcTessellatedFaceSet {
      constructor(Coordinates, Closed, Faces, PnIndex) {
        super(Coordinates);
        this.Coordinates = Coordinates;
        this.Closed = Closed;
        this.Faces = Faces;
        this.PnIndex = PnIndex;
        this.type = 2839578677;
      }
    }
    IFC42.IfcPolygonalFaceSet = IfcPolygonalFaceSet;
    class IfcPolyline extends IfcBoundedCurve {
      constructor(Points) {
        super();
        this.Points = Points;
        this.type = 3724593414;
      }
    }
    IFC42.IfcPolyline = IfcPolyline;
    class IfcPort extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.type = 3740093272;
      }
    }
    IFC42.IfcPort = IfcPort;
    class IfcProcedure extends IfcProcess {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.PredefinedType = PredefinedType;
        this.type = 2744685151;
      }
    }
    IFC42.IfcProcedure = IfcProcedure;
    class IfcProjectOrder extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.PredefinedType = PredefinedType;
        this.Status = Status;
        this.LongDescription = LongDescription;
        this.type = 2904328755;
      }
    }
    IFC42.IfcProjectOrder = IfcProjectOrder;
    class IfcProjectionElement extends IfcFeatureElementAddition {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3651124850;
      }
    }
    IFC42.IfcProjectionElement = IfcProjectionElement;
    class IfcProtectiveDeviceType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1842657554;
      }
    }
    IFC42.IfcProtectiveDeviceType = IfcProtectiveDeviceType;
    class IfcPumpType extends IfcFlowMovingDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2250791053;
      }
    }
    IFC42.IfcPumpType = IfcPumpType;
    class IfcRailingType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2893384427;
      }
    }
    IFC42.IfcRailingType = IfcRailingType;
    class IfcRampFlightType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2324767716;
      }
    }
    IFC42.IfcRampFlightType = IfcRampFlightType;
    class IfcRampType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1469900589;
      }
    }
    IFC42.IfcRampType = IfcRampType;
    class IfcRationalBSplineSurfaceWithKnots extends IfcBSplineSurfaceWithKnots {
      constructor(UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect, UMultiplicities, VMultiplicities, UKnots, VKnots, KnotSpec, WeightsData) {
        super(UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect, UMultiplicities, VMultiplicities, UKnots, VKnots, KnotSpec);
        this.UDegree = UDegree;
        this.VDegree = VDegree;
        this.ControlPointsList = ControlPointsList;
        this.SurfaceForm = SurfaceForm;
        this.UClosed = UClosed;
        this.VClosed = VClosed;
        this.SelfIntersect = SelfIntersect;
        this.UMultiplicities = UMultiplicities;
        this.VMultiplicities = VMultiplicities;
        this.UKnots = UKnots;
        this.VKnots = VKnots;
        this.KnotSpec = KnotSpec;
        this.WeightsData = WeightsData;
        this.type = 683857671;
      }
    }
    IFC42.IfcRationalBSplineSurfaceWithKnots = IfcRationalBSplineSurfaceWithKnots;
    class IfcReinforcingElement extends IfcElementComponent {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.SteelGrade = SteelGrade;
        this.type = 3027567501;
      }
    }
    IFC42.IfcReinforcingElement = IfcReinforcingElement;
    class IfcReinforcingElementType extends IfcElementComponentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 964333572;
      }
    }
    IFC42.IfcReinforcingElementType = IfcReinforcingElementType;
    class IfcReinforcingMesh extends IfcReinforcingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, MeshLength, MeshWidth, LongitudinalBarNominalDiameter, TransverseBarNominalDiameter, LongitudinalBarCrossSectionArea, TransverseBarCrossSectionArea, LongitudinalBarSpacing, TransverseBarSpacing, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.SteelGrade = SteelGrade;
        this.MeshLength = MeshLength;
        this.MeshWidth = MeshWidth;
        this.LongitudinalBarNominalDiameter = LongitudinalBarNominalDiameter;
        this.TransverseBarNominalDiameter = TransverseBarNominalDiameter;
        this.LongitudinalBarCrossSectionArea = LongitudinalBarCrossSectionArea;
        this.TransverseBarCrossSectionArea = TransverseBarCrossSectionArea;
        this.LongitudinalBarSpacing = LongitudinalBarSpacing;
        this.TransverseBarSpacing = TransverseBarSpacing;
        this.PredefinedType = PredefinedType;
        this.type = 2320036040;
      }
    }
    IFC42.IfcReinforcingMesh = IfcReinforcingMesh;
    class IfcReinforcingMeshType extends IfcReinforcingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, MeshLength, MeshWidth, LongitudinalBarNominalDiameter, TransverseBarNominalDiameter, LongitudinalBarCrossSectionArea, TransverseBarCrossSectionArea, LongitudinalBarSpacing, TransverseBarSpacing, BendingShapeCode, BendingParameters) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.MeshLength = MeshLength;
        this.MeshWidth = MeshWidth;
        this.LongitudinalBarNominalDiameter = LongitudinalBarNominalDiameter;
        this.TransverseBarNominalDiameter = TransverseBarNominalDiameter;
        this.LongitudinalBarCrossSectionArea = LongitudinalBarCrossSectionArea;
        this.TransverseBarCrossSectionArea = TransverseBarCrossSectionArea;
        this.LongitudinalBarSpacing = LongitudinalBarSpacing;
        this.TransverseBarSpacing = TransverseBarSpacing;
        this.BendingShapeCode = BendingShapeCode;
        this.BendingParameters = BendingParameters;
        this.type = 2310774935;
      }
    }
    IFC42.IfcReinforcingMeshType = IfcReinforcingMeshType;
    class IfcRelAggregates extends IfcRelDecomposes {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingObject = RelatingObject;
        this.RelatedObjects = RelatedObjects;
        this.type = 160246688;
      }
    }
    IFC42.IfcRelAggregates = IfcRelAggregates;
    class IfcRoofType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2781568857;
      }
    }
    IFC42.IfcRoofType = IfcRoofType;
    class IfcSanitaryTerminalType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1768891740;
      }
    }
    IFC42.IfcSanitaryTerminalType = IfcSanitaryTerminalType;
    class IfcSeamCurve extends IfcSurfaceCurve {
      constructor(Curve3D, AssociatedGeometry, MasterRepresentation) {
        super(Curve3D, AssociatedGeometry, MasterRepresentation);
        this.Curve3D = Curve3D;
        this.AssociatedGeometry = AssociatedGeometry;
        this.MasterRepresentation = MasterRepresentation;
        this.type = 2157484638;
      }
    }
    IFC42.IfcSeamCurve = IfcSeamCurve;
    class IfcShadingDeviceType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 4074543187;
      }
    }
    IFC42.IfcShadingDeviceType = IfcShadingDeviceType;
    class IfcSite extends IfcSpatialStructureElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, RefLatitude, RefLongitude, RefElevation, LandTitleNumber, SiteAddress) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.RefLatitude = RefLatitude;
        this.RefLongitude = RefLongitude;
        this.RefElevation = RefElevation;
        this.LandTitleNumber = LandTitleNumber;
        this.SiteAddress = SiteAddress;
        this.type = 4097777520;
      }
    }
    IFC42.IfcSite = IfcSite;
    class IfcSlabType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2533589738;
      }
    }
    IFC42.IfcSlabType = IfcSlabType;
    class IfcSolarDeviceType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1072016465;
      }
    }
    IFC42.IfcSolarDeviceType = IfcSolarDeviceType;
    class IfcSpace extends IfcSpatialStructureElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType, ElevationWithFlooring) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.PredefinedType = PredefinedType;
        this.ElevationWithFlooring = ElevationWithFlooring;
        this.type = 3856911033;
      }
    }
    IFC42.IfcSpace = IfcSpace;
    class IfcSpaceHeaterType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1305183839;
      }
    }
    IFC42.IfcSpaceHeaterType = IfcSpaceHeaterType;
    class IfcSpaceType extends IfcSpatialStructureElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, LongName) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.LongName = LongName;
        this.type = 3812236995;
      }
    }
    IFC42.IfcSpaceType = IfcSpaceType;
    class IfcStackTerminalType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3112655638;
      }
    }
    IFC42.IfcStackTerminalType = IfcStackTerminalType;
    class IfcStairFlightType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1039846685;
      }
    }
    IFC42.IfcStairFlightType = IfcStairFlightType;
    class IfcStairType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 338393293;
      }
    }
    IFC42.IfcStairType = IfcStairType;
    class IfcStructuralAction extends IfcStructuralActivity {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.DestabilizingLoad = DestabilizingLoad;
        this.type = 682877961;
      }
    }
    IFC42.IfcStructuralAction = IfcStructuralAction;
    class IfcStructuralConnection extends IfcStructuralItem {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedCondition = AppliedCondition;
        this.type = 1179482911;
      }
    }
    IFC42.IfcStructuralConnection = IfcStructuralConnection;
    class IfcStructuralCurveAction extends IfcStructuralAction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.DestabilizingLoad = DestabilizingLoad;
        this.ProjectedOrTrue = ProjectedOrTrue;
        this.PredefinedType = PredefinedType;
        this.type = 1004757350;
      }
    }
    IFC42.IfcStructuralCurveAction = IfcStructuralCurveAction;
    class IfcStructuralCurveConnection extends IfcStructuralConnection {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition, Axis) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedCondition = AppliedCondition;
        this.Axis = Axis;
        this.type = 4243806635;
      }
    }
    IFC42.IfcStructuralCurveConnection = IfcStructuralCurveConnection;
    class IfcStructuralCurveMember extends IfcStructuralMember {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Axis) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.PredefinedType = PredefinedType;
        this.Axis = Axis;
        this.type = 214636428;
      }
    }
    IFC42.IfcStructuralCurveMember = IfcStructuralCurveMember;
    class IfcStructuralCurveMemberVarying extends IfcStructuralCurveMember {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Axis) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Axis);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.PredefinedType = PredefinedType;
        this.Axis = Axis;
        this.type = 2445595289;
      }
    }
    IFC42.IfcStructuralCurveMemberVarying = IfcStructuralCurveMemberVarying;
    class IfcStructuralCurveReaction extends IfcStructuralReaction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.PredefinedType = PredefinedType;
        this.type = 2757150158;
      }
    }
    IFC42.IfcStructuralCurveReaction = IfcStructuralCurveReaction;
    class IfcStructuralLinearAction extends IfcStructuralCurveAction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.DestabilizingLoad = DestabilizingLoad;
        this.ProjectedOrTrue = ProjectedOrTrue;
        this.PredefinedType = PredefinedType;
        this.type = 1807405624;
      }
    }
    IFC42.IfcStructuralLinearAction = IfcStructuralLinearAction;
    class IfcStructuralLoadGroup extends IfcGroup {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.PredefinedType = PredefinedType;
        this.ActionType = ActionType;
        this.ActionSource = ActionSource;
        this.Coefficient = Coefficient;
        this.Purpose = Purpose;
        this.type = 1252848954;
      }
    }
    IFC42.IfcStructuralLoadGroup = IfcStructuralLoadGroup;
    class IfcStructuralPointAction extends IfcStructuralAction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.DestabilizingLoad = DestabilizingLoad;
        this.type = 2082059205;
      }
    }
    IFC42.IfcStructuralPointAction = IfcStructuralPointAction;
    class IfcStructuralPointConnection extends IfcStructuralConnection {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition, ConditionCoordinateSystem) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedCondition = AppliedCondition;
        this.ConditionCoordinateSystem = ConditionCoordinateSystem;
        this.type = 734778138;
      }
    }
    IFC42.IfcStructuralPointConnection = IfcStructuralPointConnection;
    class IfcStructuralPointReaction extends IfcStructuralReaction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.type = 1235345126;
      }
    }
    IFC42.IfcStructuralPointReaction = IfcStructuralPointReaction;
    class IfcStructuralResultGroup extends IfcGroup {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TheoryType, ResultForLoadGroup, IsLinear) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.TheoryType = TheoryType;
        this.ResultForLoadGroup = ResultForLoadGroup;
        this.IsLinear = IsLinear;
        this.type = 2986769608;
      }
    }
    IFC42.IfcStructuralResultGroup = IfcStructuralResultGroup;
    class IfcStructuralSurfaceAction extends IfcStructuralAction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.DestabilizingLoad = DestabilizingLoad;
        this.ProjectedOrTrue = ProjectedOrTrue;
        this.PredefinedType = PredefinedType;
        this.type = 3657597509;
      }
    }
    IFC42.IfcStructuralSurfaceAction = IfcStructuralSurfaceAction;
    class IfcStructuralSurfaceConnection extends IfcStructuralConnection {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedCondition = AppliedCondition;
        this.type = 1975003073;
      }
    }
    IFC42.IfcStructuralSurfaceConnection = IfcStructuralSurfaceConnection;
    class IfcSubContractResource extends IfcConstructionResource {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.Usage = Usage;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 148013059;
      }
    }
    IFC42.IfcSubContractResource = IfcSubContractResource;
    class IfcSurfaceFeature extends IfcFeatureElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3101698114;
      }
    }
    IFC42.IfcSurfaceFeature = IfcSurfaceFeature;
    class IfcSwitchingDeviceType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2315554128;
      }
    }
    IFC42.IfcSwitchingDeviceType = IfcSwitchingDeviceType;
    class IfcSystem extends IfcGroup {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.type = 2254336722;
      }
    }
    IFC42.IfcSystem = IfcSystem;
    class IfcSystemFurnitureElement extends IfcFurnishingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 413509423;
      }
    }
    IFC42.IfcSystemFurnitureElement = IfcSystemFurnitureElement;
    class IfcTankType extends IfcFlowStorageDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 5716631;
      }
    }
    IFC42.IfcTankType = IfcTankType;
    class IfcTendon extends IfcReinforcingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType, NominalDiameter, CrossSectionArea, TensionForce, PreStress, FrictionCoefficient, AnchorageSlip, MinCurvatureRadius) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.SteelGrade = SteelGrade;
        this.PredefinedType = PredefinedType;
        this.NominalDiameter = NominalDiameter;
        this.CrossSectionArea = CrossSectionArea;
        this.TensionForce = TensionForce;
        this.PreStress = PreStress;
        this.FrictionCoefficient = FrictionCoefficient;
        this.AnchorageSlip = AnchorageSlip;
        this.MinCurvatureRadius = MinCurvatureRadius;
        this.type = 3824725483;
      }
    }
    IFC42.IfcTendon = IfcTendon;
    class IfcTendonAnchor extends IfcReinforcingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.SteelGrade = SteelGrade;
        this.PredefinedType = PredefinedType;
        this.type = 2347447852;
      }
    }
    IFC42.IfcTendonAnchor = IfcTendonAnchor;
    class IfcTendonAnchorType extends IfcReinforcingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3081323446;
      }
    }
    IFC42.IfcTendonAnchorType = IfcTendonAnchorType;
    class IfcTendonType extends IfcReinforcingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, CrossSectionArea, SheathDiameter) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.NominalDiameter = NominalDiameter;
        this.CrossSectionArea = CrossSectionArea;
        this.SheathDiameter = SheathDiameter;
        this.type = 2415094496;
      }
    }
    IFC42.IfcTendonType = IfcTendonType;
    class IfcTransformerType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1692211062;
      }
    }
    IFC42.IfcTransformerType = IfcTransformerType;
    class IfcTransportElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1620046519;
      }
    }
    IFC42.IfcTransportElement = IfcTransportElement;
    class IfcTrimmedCurve extends IfcBoundedCurve {
      constructor(BasisCurve, Trim1, Trim2, SenseAgreement, MasterRepresentation) {
        super();
        this.BasisCurve = BasisCurve;
        this.Trim1 = Trim1;
        this.Trim2 = Trim2;
        this.SenseAgreement = SenseAgreement;
        this.MasterRepresentation = MasterRepresentation;
        this.type = 3593883385;
      }
    }
    IFC42.IfcTrimmedCurve = IfcTrimmedCurve;
    class IfcTubeBundleType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1600972822;
      }
    }
    IFC42.IfcTubeBundleType = IfcTubeBundleType;
    class IfcUnitaryEquipmentType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1911125066;
      }
    }
    IFC42.IfcUnitaryEquipmentType = IfcUnitaryEquipmentType;
    class IfcValveType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 728799441;
      }
    }
    IFC42.IfcValveType = IfcValveType;
    class IfcVibrationIsolator extends IfcElementComponent {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2391383451;
      }
    }
    IFC42.IfcVibrationIsolator = IfcVibrationIsolator;
    class IfcVibrationIsolatorType extends IfcElementComponentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3313531582;
      }
    }
    IFC42.IfcVibrationIsolatorType = IfcVibrationIsolatorType;
    class IfcVirtualElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 2769231204;
      }
    }
    IFC42.IfcVirtualElement = IfcVirtualElement;
    class IfcVoidingFeature extends IfcFeatureElementSubtraction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 926996030;
      }
    }
    IFC42.IfcVoidingFeature = IfcVoidingFeature;
    class IfcWallType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1898987631;
      }
    }
    IFC42.IfcWallType = IfcWallType;
    class IfcWasteTerminalType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1133259667;
      }
    }
    IFC42.IfcWasteTerminalType = IfcWasteTerminalType;
    class IfcWindowType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, PartitioningType, ParameterTakesPrecedence, UserDefinedPartitioningType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.PartitioningType = PartitioningType;
        this.ParameterTakesPrecedence = ParameterTakesPrecedence;
        this.UserDefinedPartitioningType = UserDefinedPartitioningType;
        this.type = 4009809668;
      }
    }
    IFC42.IfcWindowType = IfcWindowType;
    class IfcWorkCalendar extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, WorkingTimes, ExceptionTimes, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.WorkingTimes = WorkingTimes;
        this.ExceptionTimes = ExceptionTimes;
        this.PredefinedType = PredefinedType;
        this.type = 4088093105;
      }
    }
    IFC42.IfcWorkCalendar = IfcWorkCalendar;
    class IfcWorkControl extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.CreationDate = CreationDate;
        this.Creators = Creators;
        this.Purpose = Purpose;
        this.Duration = Duration;
        this.TotalFloat = TotalFloat;
        this.StartTime = StartTime;
        this.FinishTime = FinishTime;
        this.type = 1028945134;
      }
    }
    IFC42.IfcWorkControl = IfcWorkControl;
    class IfcWorkPlan extends IfcWorkControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.CreationDate = CreationDate;
        this.Creators = Creators;
        this.Purpose = Purpose;
        this.Duration = Duration;
        this.TotalFloat = TotalFloat;
        this.StartTime = StartTime;
        this.FinishTime = FinishTime;
        this.PredefinedType = PredefinedType;
        this.type = 4218914973;
      }
    }
    IFC42.IfcWorkPlan = IfcWorkPlan;
    class IfcWorkSchedule extends IfcWorkControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.CreationDate = CreationDate;
        this.Creators = Creators;
        this.Purpose = Purpose;
        this.Duration = Duration;
        this.TotalFloat = TotalFloat;
        this.StartTime = StartTime;
        this.FinishTime = FinishTime;
        this.PredefinedType = PredefinedType;
        this.type = 3342526732;
      }
    }
    IFC42.IfcWorkSchedule = IfcWorkSchedule;
    class IfcZone extends IfcSystem {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.LongName = LongName;
        this.type = 1033361043;
      }
    }
    IFC42.IfcZone = IfcZone;
    class IfcActionRequest extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.PredefinedType = PredefinedType;
        this.Status = Status;
        this.LongDescription = LongDescription;
        this.type = 3821786052;
      }
    }
    IFC42.IfcActionRequest = IfcActionRequest;
    class IfcAirTerminalBoxType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1411407467;
      }
    }
    IFC42.IfcAirTerminalBoxType = IfcAirTerminalBoxType;
    class IfcAirTerminalType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3352864051;
      }
    }
    IFC42.IfcAirTerminalType = IfcAirTerminalType;
    class IfcAirToAirHeatRecoveryType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1871374353;
      }
    }
    IFC42.IfcAirToAirHeatRecoveryType = IfcAirToAirHeatRecoveryType;
    class IfcAsset extends IfcGroup {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, OriginalValue, CurrentValue, TotalReplacementCost, Owner, User, ResponsiblePerson, IncorporationDate, DepreciatedValue) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.OriginalValue = OriginalValue;
        this.CurrentValue = CurrentValue;
        this.TotalReplacementCost = TotalReplacementCost;
        this.Owner = Owner;
        this.User = User;
        this.ResponsiblePerson = ResponsiblePerson;
        this.IncorporationDate = IncorporationDate;
        this.DepreciatedValue = DepreciatedValue;
        this.type = 3460190687;
      }
    }
    IFC42.IfcAsset = IfcAsset;
    class IfcAudioVisualApplianceType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1532957894;
      }
    }
    IFC42.IfcAudioVisualApplianceType = IfcAudioVisualApplianceType;
    class IfcBSplineCurve extends IfcBoundedCurve {
      constructor(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect) {
        super();
        this.Degree = Degree;
        this.ControlPointsList = ControlPointsList;
        this.CurveForm = CurveForm;
        this.ClosedCurve = ClosedCurve;
        this.SelfIntersect = SelfIntersect;
        this.type = 1967976161;
      }
    }
    IFC42.IfcBSplineCurve = IfcBSplineCurve;
    class IfcBSplineCurveWithKnots extends IfcBSplineCurve {
      constructor(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, KnotMultiplicities, Knots, KnotSpec) {
        super(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect);
        this.Degree = Degree;
        this.ControlPointsList = ControlPointsList;
        this.CurveForm = CurveForm;
        this.ClosedCurve = ClosedCurve;
        this.SelfIntersect = SelfIntersect;
        this.KnotMultiplicities = KnotMultiplicities;
        this.Knots = Knots;
        this.KnotSpec = KnotSpec;
        this.type = 2461110595;
      }
    }
    IFC42.IfcBSplineCurveWithKnots = IfcBSplineCurveWithKnots;
    class IfcBeamType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 819618141;
      }
    }
    IFC42.IfcBeamType = IfcBeamType;
    class IfcBoilerType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 231477066;
      }
    }
    IFC42.IfcBoilerType = IfcBoilerType;
    class IfcBoundaryCurve extends IfcCompositeCurveOnSurface {
      constructor(Segments, SelfIntersect) {
        super(Segments, SelfIntersect);
        this.Segments = Segments;
        this.SelfIntersect = SelfIntersect;
        this.type = 1136057603;
      }
    }
    IFC42.IfcBoundaryCurve = IfcBoundaryCurve;
    class IfcBuildingElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 3299480353;
      }
    }
    IFC42.IfcBuildingElement = IfcBuildingElement;
    class IfcBuildingElementPart extends IfcElementComponent {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2979338954;
      }
    }
    IFC42.IfcBuildingElementPart = IfcBuildingElementPart;
    class IfcBuildingElementPartType extends IfcElementComponentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 39481116;
      }
    }
    IFC42.IfcBuildingElementPartType = IfcBuildingElementPartType;
    class IfcBuildingElementProxy extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1095909175;
      }
    }
    IFC42.IfcBuildingElementProxy = IfcBuildingElementProxy;
    class IfcBuildingElementProxyType extends IfcBuildingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1909888760;
      }
    }
    IFC42.IfcBuildingElementProxyType = IfcBuildingElementProxyType;
    class IfcBuildingSystem extends IfcSystem {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, LongName) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.PredefinedType = PredefinedType;
        this.LongName = LongName;
        this.type = 1177604601;
      }
    }
    IFC42.IfcBuildingSystem = IfcBuildingSystem;
    class IfcBurnerType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2188180465;
      }
    }
    IFC42.IfcBurnerType = IfcBurnerType;
    class IfcCableCarrierFittingType extends IfcFlowFittingType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 395041908;
      }
    }
    IFC42.IfcCableCarrierFittingType = IfcCableCarrierFittingType;
    class IfcCableCarrierSegmentType extends IfcFlowSegmentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3293546465;
      }
    }
    IFC42.IfcCableCarrierSegmentType = IfcCableCarrierSegmentType;
    class IfcCableFittingType extends IfcFlowFittingType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2674252688;
      }
    }
    IFC42.IfcCableFittingType = IfcCableFittingType;
    class IfcCableSegmentType extends IfcFlowSegmentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1285652485;
      }
    }
    IFC42.IfcCableSegmentType = IfcCableSegmentType;
    class IfcChillerType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2951183804;
      }
    }
    IFC42.IfcChillerType = IfcChillerType;
    class IfcChimney extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3296154744;
      }
    }
    IFC42.IfcChimney = IfcChimney;
    class IfcCircle extends IfcConic {
      constructor(Position, Radius) {
        super(Position);
        this.Position = Position;
        this.Radius = Radius;
        this.type = 2611217952;
      }
    }
    IFC42.IfcCircle = IfcCircle;
    class IfcCivilElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1677625105;
      }
    }
    IFC42.IfcCivilElement = IfcCivilElement;
    class IfcCoilType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2301859152;
      }
    }
    IFC42.IfcCoilType = IfcCoilType;
    class IfcColumn extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 843113511;
      }
    }
    IFC42.IfcColumn = IfcColumn;
    class IfcColumnStandardCase extends IfcColumn {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 905975707;
      }
    }
    IFC42.IfcColumnStandardCase = IfcColumnStandardCase;
    class IfcCommunicationsApplianceType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 400855858;
      }
    }
    IFC42.IfcCommunicationsApplianceType = IfcCommunicationsApplianceType;
    class IfcCompressorType extends IfcFlowMovingDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3850581409;
      }
    }
    IFC42.IfcCompressorType = IfcCompressorType;
    class IfcCondenserType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2816379211;
      }
    }
    IFC42.IfcCondenserType = IfcCondenserType;
    class IfcConstructionEquipmentResource extends IfcConstructionResource {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.Usage = Usage;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 3898045240;
      }
    }
    IFC42.IfcConstructionEquipmentResource = IfcConstructionEquipmentResource;
    class IfcConstructionMaterialResource extends IfcConstructionResource {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.Usage = Usage;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 1060000209;
      }
    }
    IFC42.IfcConstructionMaterialResource = IfcConstructionMaterialResource;
    class IfcConstructionProductResource extends IfcConstructionResource {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.Usage = Usage;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 488727124;
      }
    }
    IFC42.IfcConstructionProductResource = IfcConstructionProductResource;
    class IfcCooledBeamType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 335055490;
      }
    }
    IFC42.IfcCooledBeamType = IfcCooledBeamType;
    class IfcCoolingTowerType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2954562838;
      }
    }
    IFC42.IfcCoolingTowerType = IfcCoolingTowerType;
    class IfcCovering extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1973544240;
      }
    }
    IFC42.IfcCovering = IfcCovering;
    class IfcCurtainWall extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3495092785;
      }
    }
    IFC42.IfcCurtainWall = IfcCurtainWall;
    class IfcDamperType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3961806047;
      }
    }
    IFC42.IfcDamperType = IfcDamperType;
    class IfcDiscreteAccessory extends IfcElementComponent {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1335981549;
      }
    }
    IFC42.IfcDiscreteAccessory = IfcDiscreteAccessory;
    class IfcDiscreteAccessoryType extends IfcElementComponentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2635815018;
      }
    }
    IFC42.IfcDiscreteAccessoryType = IfcDiscreteAccessoryType;
    class IfcDistributionChamberElementType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1599208980;
      }
    }
    IFC42.IfcDistributionChamberElementType = IfcDistributionChamberElementType;
    class IfcDistributionControlElementType extends IfcDistributionElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 2063403501;
      }
    }
    IFC42.IfcDistributionControlElementType = IfcDistributionControlElementType;
    class IfcDistributionElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1945004755;
      }
    }
    IFC42.IfcDistributionElement = IfcDistributionElement;
    class IfcDistributionFlowElement extends IfcDistributionElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 3040386961;
      }
    }
    IFC42.IfcDistributionFlowElement = IfcDistributionFlowElement;
    class IfcDistributionPort extends IfcPort {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, FlowDirection, PredefinedType, SystemType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.FlowDirection = FlowDirection;
        this.PredefinedType = PredefinedType;
        this.SystemType = SystemType;
        this.type = 3041715199;
      }
    }
    IFC42.IfcDistributionPort = IfcDistributionPort;
    class IfcDistributionSystem extends IfcSystem {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.LongName = LongName;
        this.PredefinedType = PredefinedType;
        this.type = 3205830791;
      }
    }
    IFC42.IfcDistributionSystem = IfcDistributionSystem;
    class IfcDoor extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, OperationType, UserDefinedOperationType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.OverallHeight = OverallHeight;
        this.OverallWidth = OverallWidth;
        this.PredefinedType = PredefinedType;
        this.OperationType = OperationType;
        this.UserDefinedOperationType = UserDefinedOperationType;
        this.type = 395920057;
      }
    }
    IFC42.IfcDoor = IfcDoor;
    class IfcDoorStandardCase extends IfcDoor {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, OperationType, UserDefinedOperationType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, OperationType, UserDefinedOperationType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.OverallHeight = OverallHeight;
        this.OverallWidth = OverallWidth;
        this.PredefinedType = PredefinedType;
        this.OperationType = OperationType;
        this.UserDefinedOperationType = UserDefinedOperationType;
        this.type = 3242481149;
      }
    }
    IFC42.IfcDoorStandardCase = IfcDoorStandardCase;
    class IfcDuctFittingType extends IfcFlowFittingType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 869906466;
      }
    }
    IFC42.IfcDuctFittingType = IfcDuctFittingType;
    class IfcDuctSegmentType extends IfcFlowSegmentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3760055223;
      }
    }
    IFC42.IfcDuctSegmentType = IfcDuctSegmentType;
    class IfcDuctSilencerType extends IfcFlowTreatmentDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2030761528;
      }
    }
    IFC42.IfcDuctSilencerType = IfcDuctSilencerType;
    class IfcElectricApplianceType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 663422040;
      }
    }
    IFC42.IfcElectricApplianceType = IfcElectricApplianceType;
    class IfcElectricDistributionBoardType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2417008758;
      }
    }
    IFC42.IfcElectricDistributionBoardType = IfcElectricDistributionBoardType;
    class IfcElectricFlowStorageDeviceType extends IfcFlowStorageDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3277789161;
      }
    }
    IFC42.IfcElectricFlowStorageDeviceType = IfcElectricFlowStorageDeviceType;
    class IfcElectricGeneratorType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1534661035;
      }
    }
    IFC42.IfcElectricGeneratorType = IfcElectricGeneratorType;
    class IfcElectricMotorType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1217240411;
      }
    }
    IFC42.IfcElectricMotorType = IfcElectricMotorType;
    class IfcElectricTimeControlType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 712377611;
      }
    }
    IFC42.IfcElectricTimeControlType = IfcElectricTimeControlType;
    class IfcEnergyConversionDevice extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1658829314;
      }
    }
    IFC42.IfcEnergyConversionDevice = IfcEnergyConversionDevice;
    class IfcEngine extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2814081492;
      }
    }
    IFC42.IfcEngine = IfcEngine;
    class IfcEvaporativeCooler extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3747195512;
      }
    }
    IFC42.IfcEvaporativeCooler = IfcEvaporativeCooler;
    class IfcEvaporator extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 484807127;
      }
    }
    IFC42.IfcEvaporator = IfcEvaporator;
    class IfcExternalSpatialElement extends IfcExternalSpatialStructureElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.PredefinedType = PredefinedType;
        this.type = 1209101575;
      }
    }
    IFC42.IfcExternalSpatialElement = IfcExternalSpatialElement;
    class IfcFanType extends IfcFlowMovingDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 346874300;
      }
    }
    IFC42.IfcFanType = IfcFanType;
    class IfcFilterType extends IfcFlowTreatmentDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1810631287;
      }
    }
    IFC42.IfcFilterType = IfcFilterType;
    class IfcFireSuppressionTerminalType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 4222183408;
      }
    }
    IFC42.IfcFireSuppressionTerminalType = IfcFireSuppressionTerminalType;
    class IfcFlowController extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 2058353004;
      }
    }
    IFC42.IfcFlowController = IfcFlowController;
    class IfcFlowFitting extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 4278956645;
      }
    }
    IFC42.IfcFlowFitting = IfcFlowFitting;
    class IfcFlowInstrumentType extends IfcDistributionControlElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 4037862832;
      }
    }
    IFC42.IfcFlowInstrumentType = IfcFlowInstrumentType;
    class IfcFlowMeter extends IfcFlowController {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2188021234;
      }
    }
    IFC42.IfcFlowMeter = IfcFlowMeter;
    class IfcFlowMovingDevice extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 3132237377;
      }
    }
    IFC42.IfcFlowMovingDevice = IfcFlowMovingDevice;
    class IfcFlowSegment extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 987401354;
      }
    }
    IFC42.IfcFlowSegment = IfcFlowSegment;
    class IfcFlowStorageDevice extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 707683696;
      }
    }
    IFC42.IfcFlowStorageDevice = IfcFlowStorageDevice;
    class IfcFlowTerminal extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 2223149337;
      }
    }
    IFC42.IfcFlowTerminal = IfcFlowTerminal;
    class IfcFlowTreatmentDevice extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 3508470533;
      }
    }
    IFC42.IfcFlowTreatmentDevice = IfcFlowTreatmentDevice;
    class IfcFooting extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 900683007;
      }
    }
    IFC42.IfcFooting = IfcFooting;
    class IfcHeatExchanger extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3319311131;
      }
    }
    IFC42.IfcHeatExchanger = IfcHeatExchanger;
    class IfcHumidifier extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2068733104;
      }
    }
    IFC42.IfcHumidifier = IfcHumidifier;
    class IfcInterceptor extends IfcFlowTreatmentDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 4175244083;
      }
    }
    IFC42.IfcInterceptor = IfcInterceptor;
    class IfcJunctionBox extends IfcFlowFitting {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2176052936;
      }
    }
    IFC42.IfcJunctionBox = IfcJunctionBox;
    class IfcLamp extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 76236018;
      }
    }
    IFC42.IfcLamp = IfcLamp;
    class IfcLightFixture extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 629592764;
      }
    }
    IFC42.IfcLightFixture = IfcLightFixture;
    class IfcMedicalDevice extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1437502449;
      }
    }
    IFC42.IfcMedicalDevice = IfcMedicalDevice;
    class IfcMember extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1073191201;
      }
    }
    IFC42.IfcMember = IfcMember;
    class IfcMemberStandardCase extends IfcMember {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1911478936;
      }
    }
    IFC42.IfcMemberStandardCase = IfcMemberStandardCase;
    class IfcMotorConnection extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2474470126;
      }
    }
    IFC42.IfcMotorConnection = IfcMotorConnection;
    class IfcOuterBoundaryCurve extends IfcBoundaryCurve {
      constructor(Segments, SelfIntersect) {
        super(Segments, SelfIntersect);
        this.Segments = Segments;
        this.SelfIntersect = SelfIntersect;
        this.type = 144952367;
      }
    }
    IFC42.IfcOuterBoundaryCurve = IfcOuterBoundaryCurve;
    class IfcOutlet extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3694346114;
      }
    }
    IFC42.IfcOutlet = IfcOutlet;
    class IfcPile extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType, ConstructionType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.ConstructionType = ConstructionType;
        this.type = 1687234759;
      }
    }
    IFC42.IfcPile = IfcPile;
    class IfcPipeFitting extends IfcFlowFitting {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 310824031;
      }
    }
    IFC42.IfcPipeFitting = IfcPipeFitting;
    class IfcPipeSegment extends IfcFlowSegment {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3612865200;
      }
    }
    IFC42.IfcPipeSegment = IfcPipeSegment;
    class IfcPlate extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3171933400;
      }
    }
    IFC42.IfcPlate = IfcPlate;
    class IfcPlateStandardCase extends IfcPlate {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1156407060;
      }
    }
    IFC42.IfcPlateStandardCase = IfcPlateStandardCase;
    class IfcProtectiveDevice extends IfcFlowController {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 738039164;
      }
    }
    IFC42.IfcProtectiveDevice = IfcProtectiveDevice;
    class IfcProtectiveDeviceTrippingUnitType extends IfcDistributionControlElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 655969474;
      }
    }
    IFC42.IfcProtectiveDeviceTrippingUnitType = IfcProtectiveDeviceTrippingUnitType;
    class IfcPump extends IfcFlowMovingDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 90941305;
      }
    }
    IFC42.IfcPump = IfcPump;
    class IfcRailing extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2262370178;
      }
    }
    IFC42.IfcRailing = IfcRailing;
    class IfcRamp extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3024970846;
      }
    }
    IFC42.IfcRamp = IfcRamp;
    class IfcRampFlight extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3283111854;
      }
    }
    IFC42.IfcRampFlight = IfcRampFlight;
    class IfcRationalBSplineCurveWithKnots extends IfcBSplineCurveWithKnots {
      constructor(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, KnotMultiplicities, Knots, KnotSpec, WeightsData) {
        super(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, KnotMultiplicities, Knots, KnotSpec);
        this.Degree = Degree;
        this.ControlPointsList = ControlPointsList;
        this.CurveForm = CurveForm;
        this.ClosedCurve = ClosedCurve;
        this.SelfIntersect = SelfIntersect;
        this.KnotMultiplicities = KnotMultiplicities;
        this.Knots = Knots;
        this.KnotSpec = KnotSpec;
        this.WeightsData = WeightsData;
        this.type = 1232101972;
      }
    }
    IFC42.IfcRationalBSplineCurveWithKnots = IfcRationalBSplineCurveWithKnots;
    class IfcReinforcingBar extends IfcReinforcingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, NominalDiameter, CrossSectionArea, BarLength, PredefinedType, BarSurface) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.SteelGrade = SteelGrade;
        this.NominalDiameter = NominalDiameter;
        this.CrossSectionArea = CrossSectionArea;
        this.BarLength = BarLength;
        this.PredefinedType = PredefinedType;
        this.BarSurface = BarSurface;
        this.type = 979691226;
      }
    }
    IFC42.IfcReinforcingBar = IfcReinforcingBar;
    class IfcReinforcingBarType extends IfcReinforcingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, CrossSectionArea, BarLength, BarSurface, BendingShapeCode, BendingParameters) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.NominalDiameter = NominalDiameter;
        this.CrossSectionArea = CrossSectionArea;
        this.BarLength = BarLength;
        this.BarSurface = BarSurface;
        this.BendingShapeCode = BendingShapeCode;
        this.BendingParameters = BendingParameters;
        this.type = 2572171363;
      }
    }
    IFC42.IfcReinforcingBarType = IfcReinforcingBarType;
    class IfcRoof extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2016517767;
      }
    }
    IFC42.IfcRoof = IfcRoof;
    class IfcSanitaryTerminal extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3053780830;
      }
    }
    IFC42.IfcSanitaryTerminal = IfcSanitaryTerminal;
    class IfcSensorType extends IfcDistributionControlElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1783015770;
      }
    }
    IFC42.IfcSensorType = IfcSensorType;
    class IfcShadingDevice extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1329646415;
      }
    }
    IFC42.IfcShadingDevice = IfcShadingDevice;
    class IfcSlab extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1529196076;
      }
    }
    IFC42.IfcSlab = IfcSlab;
    class IfcSlabElementedCase extends IfcSlab {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3127900445;
      }
    }
    IFC42.IfcSlabElementedCase = IfcSlabElementedCase;
    class IfcSlabStandardCase extends IfcSlab {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3027962421;
      }
    }
    IFC42.IfcSlabStandardCase = IfcSlabStandardCase;
    class IfcSolarDevice extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3420628829;
      }
    }
    IFC42.IfcSolarDevice = IfcSolarDevice;
    class IfcSpaceHeater extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1999602285;
      }
    }
    IFC42.IfcSpaceHeater = IfcSpaceHeater;
    class IfcStackTerminal extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1404847402;
      }
    }
    IFC42.IfcStackTerminal = IfcStackTerminal;
    class IfcStair extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 331165859;
      }
    }
    IFC42.IfcStair = IfcStair;
    class IfcStairFlight extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, NumberOfRisers, NumberOfTreads, RiserHeight, TreadLength, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.NumberOfRisers = NumberOfRisers;
        this.NumberOfTreads = NumberOfTreads;
        this.RiserHeight = RiserHeight;
        this.TreadLength = TreadLength;
        this.PredefinedType = PredefinedType;
        this.type = 4252922144;
      }
    }
    IFC42.IfcStairFlight = IfcStairFlight;
    class IfcStructuralAnalysisModel extends IfcSystem {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, OrientationOf2DPlane, LoadedBy, HasResults, SharedPlacement) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.PredefinedType = PredefinedType;
        this.OrientationOf2DPlane = OrientationOf2DPlane;
        this.LoadedBy = LoadedBy;
        this.HasResults = HasResults;
        this.SharedPlacement = SharedPlacement;
        this.type = 2515109513;
      }
    }
    IFC42.IfcStructuralAnalysisModel = IfcStructuralAnalysisModel;
    class IfcStructuralLoadCase extends IfcStructuralLoadGroup {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose, SelfWeightCoefficients) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.PredefinedType = PredefinedType;
        this.ActionType = ActionType;
        this.ActionSource = ActionSource;
        this.Coefficient = Coefficient;
        this.Purpose = Purpose;
        this.SelfWeightCoefficients = SelfWeightCoefficients;
        this.type = 385403989;
      }
    }
    IFC42.IfcStructuralLoadCase = IfcStructuralLoadCase;
    class IfcStructuralPlanarAction extends IfcStructuralSurfaceAction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.DestabilizingLoad = DestabilizingLoad;
        this.ProjectedOrTrue = ProjectedOrTrue;
        this.PredefinedType = PredefinedType;
        this.type = 1621171031;
      }
    }
    IFC42.IfcStructuralPlanarAction = IfcStructuralPlanarAction;
    class IfcSwitchingDevice extends IfcFlowController {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1162798199;
      }
    }
    IFC42.IfcSwitchingDevice = IfcSwitchingDevice;
    class IfcTank extends IfcFlowStorageDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 812556717;
      }
    }
    IFC42.IfcTank = IfcTank;
    class IfcTransformer extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3825984169;
      }
    }
    IFC42.IfcTransformer = IfcTransformer;
    class IfcTubeBundle extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3026737570;
      }
    }
    IFC42.IfcTubeBundle = IfcTubeBundle;
    class IfcUnitaryControlElementType extends IfcDistributionControlElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3179687236;
      }
    }
    IFC42.IfcUnitaryControlElementType = IfcUnitaryControlElementType;
    class IfcUnitaryEquipment extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 4292641817;
      }
    }
    IFC42.IfcUnitaryEquipment = IfcUnitaryEquipment;
    class IfcValve extends IfcFlowController {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 4207607924;
      }
    }
    IFC42.IfcValve = IfcValve;
    class IfcWall extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2391406946;
      }
    }
    IFC42.IfcWall = IfcWall;
    class IfcWallElementedCase extends IfcWall {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 4156078855;
      }
    }
    IFC42.IfcWallElementedCase = IfcWallElementedCase;
    class IfcWallStandardCase extends IfcWall {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3512223829;
      }
    }
    IFC42.IfcWallStandardCase = IfcWallStandardCase;
    class IfcWasteTerminal extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 4237592921;
      }
    }
    IFC42.IfcWasteTerminal = IfcWasteTerminal;
    class IfcWindow extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, PartitioningType, UserDefinedPartitioningType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.OverallHeight = OverallHeight;
        this.OverallWidth = OverallWidth;
        this.PredefinedType = PredefinedType;
        this.PartitioningType = PartitioningType;
        this.UserDefinedPartitioningType = UserDefinedPartitioningType;
        this.type = 3304561284;
      }
    }
    IFC42.IfcWindow = IfcWindow;
    class IfcWindowStandardCase extends IfcWindow {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, PartitioningType, UserDefinedPartitioningType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, PartitioningType, UserDefinedPartitioningType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.OverallHeight = OverallHeight;
        this.OverallWidth = OverallWidth;
        this.PredefinedType = PredefinedType;
        this.PartitioningType = PartitioningType;
        this.UserDefinedPartitioningType = UserDefinedPartitioningType;
        this.type = 486154966;
      }
    }
    IFC42.IfcWindowStandardCase = IfcWindowStandardCase;
    class IfcActuatorType extends IfcDistributionControlElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2874132201;
      }
    }
    IFC42.IfcActuatorType = IfcActuatorType;
    class IfcAirTerminal extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1634111441;
      }
    }
    IFC42.IfcAirTerminal = IfcAirTerminal;
    class IfcAirTerminalBox extends IfcFlowController {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 177149247;
      }
    }
    IFC42.IfcAirTerminalBox = IfcAirTerminalBox;
    class IfcAirToAirHeatRecovery extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2056796094;
      }
    }
    IFC42.IfcAirToAirHeatRecovery = IfcAirToAirHeatRecovery;
    class IfcAlarmType extends IfcDistributionControlElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3001207471;
      }
    }
    IFC42.IfcAlarmType = IfcAlarmType;
    class IfcAudioVisualAppliance extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 277319702;
      }
    }
    IFC42.IfcAudioVisualAppliance = IfcAudioVisualAppliance;
    class IfcBeam extends IfcBuildingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 753842376;
      }
    }
    IFC42.IfcBeam = IfcBeam;
    class IfcBeamStandardCase extends IfcBeam {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2906023776;
      }
    }
    IFC42.IfcBeamStandardCase = IfcBeamStandardCase;
    class IfcBoiler extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 32344328;
      }
    }
    IFC42.IfcBoiler = IfcBoiler;
    class IfcBurner extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2938176219;
      }
    }
    IFC42.IfcBurner = IfcBurner;
    class IfcCableCarrierFitting extends IfcFlowFitting {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 635142910;
      }
    }
    IFC42.IfcCableCarrierFitting = IfcCableCarrierFitting;
    class IfcCableCarrierSegment extends IfcFlowSegment {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3758799889;
      }
    }
    IFC42.IfcCableCarrierSegment = IfcCableCarrierSegment;
    class IfcCableFitting extends IfcFlowFitting {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1051757585;
      }
    }
    IFC42.IfcCableFitting = IfcCableFitting;
    class IfcCableSegment extends IfcFlowSegment {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 4217484030;
      }
    }
    IFC42.IfcCableSegment = IfcCableSegment;
    class IfcChiller extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3902619387;
      }
    }
    IFC42.IfcChiller = IfcChiller;
    class IfcCoil extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 639361253;
      }
    }
    IFC42.IfcCoil = IfcCoil;
    class IfcCommunicationsAppliance extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3221913625;
      }
    }
    IFC42.IfcCommunicationsAppliance = IfcCommunicationsAppliance;
    class IfcCompressor extends IfcFlowMovingDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3571504051;
      }
    }
    IFC42.IfcCompressor = IfcCompressor;
    class IfcCondenser extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2272882330;
      }
    }
    IFC42.IfcCondenser = IfcCondenser;
    class IfcControllerType extends IfcDistributionControlElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 578613899;
      }
    }
    IFC42.IfcControllerType = IfcControllerType;
    class IfcCooledBeam extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 4136498852;
      }
    }
    IFC42.IfcCooledBeam = IfcCooledBeam;
    class IfcCoolingTower extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3640358203;
      }
    }
    IFC42.IfcCoolingTower = IfcCoolingTower;
    class IfcDamper extends IfcFlowController {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 4074379575;
      }
    }
    IFC42.IfcDamper = IfcDamper;
    class IfcDistributionChamberElement extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1052013943;
      }
    }
    IFC42.IfcDistributionChamberElement = IfcDistributionChamberElement;
    class IfcDistributionCircuit extends IfcDistributionSystem {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, PredefinedType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.LongName = LongName;
        this.PredefinedType = PredefinedType;
        this.type = 562808652;
      }
    }
    IFC42.IfcDistributionCircuit = IfcDistributionCircuit;
    class IfcDistributionControlElement extends IfcDistributionElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1062813311;
      }
    }
    IFC42.IfcDistributionControlElement = IfcDistributionControlElement;
    class IfcDuctFitting extends IfcFlowFitting {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 342316401;
      }
    }
    IFC42.IfcDuctFitting = IfcDuctFitting;
    class IfcDuctSegment extends IfcFlowSegment {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3518393246;
      }
    }
    IFC42.IfcDuctSegment = IfcDuctSegment;
    class IfcDuctSilencer extends IfcFlowTreatmentDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1360408905;
      }
    }
    IFC42.IfcDuctSilencer = IfcDuctSilencer;
    class IfcElectricAppliance extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1904799276;
      }
    }
    IFC42.IfcElectricAppliance = IfcElectricAppliance;
    class IfcElectricDistributionBoard extends IfcFlowController {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 862014818;
      }
    }
    IFC42.IfcElectricDistributionBoard = IfcElectricDistributionBoard;
    class IfcElectricFlowStorageDevice extends IfcFlowStorageDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3310460725;
      }
    }
    IFC42.IfcElectricFlowStorageDevice = IfcElectricFlowStorageDevice;
    class IfcElectricGenerator extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 264262732;
      }
    }
    IFC42.IfcElectricGenerator = IfcElectricGenerator;
    class IfcElectricMotor extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 402227799;
      }
    }
    IFC42.IfcElectricMotor = IfcElectricMotor;
    class IfcElectricTimeControl extends IfcFlowController {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1003880860;
      }
    }
    IFC42.IfcElectricTimeControl = IfcElectricTimeControl;
    class IfcFan extends IfcFlowMovingDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3415622556;
      }
    }
    IFC42.IfcFan = IfcFan;
    class IfcFilter extends IfcFlowTreatmentDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 819412036;
      }
    }
    IFC42.IfcFilter = IfcFilter;
    class IfcFireSuppressionTerminal extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1426591983;
      }
    }
    IFC42.IfcFireSuppressionTerminal = IfcFireSuppressionTerminal;
    class IfcFlowInstrument extends IfcDistributionControlElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 182646315;
      }
    }
    IFC42.IfcFlowInstrument = IfcFlowInstrument;
    class IfcProtectiveDeviceTrippingUnit extends IfcDistributionControlElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2295281155;
      }
    }
    IFC42.IfcProtectiveDeviceTrippingUnit = IfcProtectiveDeviceTrippingUnit;
    class IfcSensor extends IfcDistributionControlElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 4086658281;
      }
    }
    IFC42.IfcSensor = IfcSensor;
    class IfcUnitaryControlElement extends IfcDistributionControlElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 630975310;
      }
    }
    IFC42.IfcUnitaryControlElement = IfcUnitaryControlElement;
    class IfcActuator extends IfcDistributionControlElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 4288193352;
      }
    }
    IFC42.IfcActuator = IfcActuator;
    class IfcAlarm extends IfcDistributionControlElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3087945054;
      }
    }
    IFC42.IfcAlarm = IfcAlarm;
    class IfcController extends IfcDistributionControlElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 25142252;
      }
    }
    IFC42.IfcController = IfcController;
  })(IFC4 || (IFC4 = {}));
  SchemaNames[3] = ["IFC4X3", "IFC4X1", "IFC4X2", "IFC4X3_RC3", "IFC4X3_RC4", "IFC4X3_RC1", "IFC4X3_RC2", "IFC4X3_ADD2", "IFC4X3_ADD1"];
  FromRawLineData[3] = {
    3630933823: (v) => new IFC4X3.IfcActorRole(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcText((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    618182010: (v) => new IFC4X3.IfcAddress(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    2879124712: (v) => new IFC4X3.IfcAlignmentParameterSegment((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    3633395639: (v) => new IFC4X3.IfcAlignmentVerticalSegment((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4X3.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4X3.IfcNonNegativeLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4X3.IfcLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4X3.IfcRatioMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcRatioMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    639542469: (v) => new IFC4X3.IfcApplication(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4X3.IfcIdentifier((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    411424972: (v) => new IFC4X3.IfcAppliedValue((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcDate((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcDate((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    130549933: (v) => new IFC4X3.IfcApproval((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcText((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcDateTime((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 3, v[8])),
    4037036970: (v) => new IFC4X3.IfcBoundaryCondition((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    1560379544: (v) => new IFC4X3.IfcBoundaryEdgeCondition((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : TypeInitialiser(3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : TypeInitialiser(3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : TypeInitialiser(3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : TypeInitialiser(3, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : TypeInitialiser(3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : TypeInitialiser(3, v[6])),
    3367102660: (v) => new IFC4X3.IfcBoundaryFaceCondition((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : TypeInitialiser(3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : TypeInitialiser(3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : TypeInitialiser(3, v[3])),
    1387855156: (v) => new IFC4X3.IfcBoundaryNodeCondition((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : TypeInitialiser(3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : TypeInitialiser(3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : TypeInitialiser(3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : TypeInitialiser(3, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : TypeInitialiser(3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : TypeInitialiser(3, v[6])),
    2069777674: (v) => new IFC4X3.IfcBoundaryNodeConditionWarping((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : TypeInitialiser(3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : TypeInitialiser(3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : TypeInitialiser(3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : TypeInitialiser(3, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : TypeInitialiser(3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : TypeInitialiser(3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : TypeInitialiser(3, v[7])),
    2859738748: (_) => new IFC4X3.IfcConnectionGeometry(),
    2614616156: (v) => new IFC4X3.IfcConnectionPointGeometry(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1])),
    2732653382: (v) => new IFC4X3.IfcConnectionSurfaceGeometry(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1])),
    775493141: (v) => new IFC4X3.IfcConnectionVolumeGeometry(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1])),
    1959218052: (v) => new IFC4X3.IfcConstraint(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcDateTime((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    1785450214: (v) => new IFC4X3.IfcCoordinateOperation(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1])),
    1466758467: (v) => new IFC4X3.IfcCoordinateReferenceSystem((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcIdentifier((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    602808272: (v) => new IFC4X3.IfcCostValue((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcDate((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcDate((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    1765591967: (v) => new IFC4X3.IfcDerivedUnit(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], v[1], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    1045800335: (v) => new IFC4X3.IfcDerivedUnitElement(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new NumberHandle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 10)),
    2949456006: (v) => new IFC4X3.IfcDimensionalExponents(new NumberHandle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 10), new NumberHandle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 10), new NumberHandle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 10), new NumberHandle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 10), new NumberHandle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 10), new NumberHandle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 10), new NumberHandle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 10)),
    4294318154: (_) => new IFC4X3.IfcExternalInformation(),
    3200245327: (v) => new IFC4X3.IfcExternalReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcURIReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    2242383968: (v) => new IFC4X3.IfcExternallyDefinedHatchStyle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcURIReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    1040185647: (v) => new IFC4X3.IfcExternallyDefinedSurfaceStyle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcURIReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3548104201: (v) => new IFC4X3.IfcExternallyDefinedTextFont((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcURIReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    917726184: (v) => new IFC4X3.IfcGeographicCRS((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcIdentifier((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcIdentifier((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    852622518: (v) => new IFC4X3.IfcGridAxis((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new IFC4X3.IfcBoolean((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3020489413: (v) => new IFC4X3.IfcIrregularTimeSeriesValue(new IFC4X3.IfcDateTime((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(3, p) : null) || []),
    2655187982: (v) => new IFC4X3.IfcLibraryInformation(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcDateTime((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcURIReference((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcText((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    3452421091: (v) => new IFC4X3.IfcLibraryReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcURIReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLanguageId((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    4162380809: (v) => new IFC4X3.IfcLightDistributionData(new IFC4X3.IfcPlaneAngleMeasure((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcPlaneAngleMeasure(p.value) : null) || [], v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcLuminousIntensityDistributionMeasure(p.value) : null) || []),
    1566485204: (v) => new IFC4X3.IfcLightIntensityDistribution(v[0], v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    3057273783: (v) => new IFC4X3.IfcMapConversion(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new IFC4X3.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4X3.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4X3.IfcLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcReal((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcReal((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcReal((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    4105526436: (v) => new IFC4X3.IfcMapConversionScaled(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new IFC4X3.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4X3.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4X3.IfcLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcReal((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcReal((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcReal((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), new IFC4X3.IfcReal((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), new IFC4X3.IfcReal((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), new IFC4X3.IfcReal((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value)),
    1847130766: (v) => new IFC4X3.IfcMaterialClassificationRelationship(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1])),
    760658860: (_) => new IFC4X3.IfcMaterialDefinition(),
    248100487: (v) => new IFC4X3.IfcMaterialLayer((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcNonNegativeLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLogical((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcText((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcInteger((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    3303938423: (v) => new IFC4X3.IfcMaterialLayerSet(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcText((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    1847252529: (v) => new IFC4X3.IfcMaterialLayerWithOffsets((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcNonNegativeLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLogical((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcText((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcInteger((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7], new IFC4X3.IfcLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2199411900: (v) => new IFC4X3.IfcMaterialList(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    2235152071: (v) => new IFC4X3.IfcMaterialProfile((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcInteger((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    164193824: (v) => new IFC4X3.IfcMaterialProfileSet((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3])),
    552965576: (v) => new IFC4X3.IfcMaterialProfileWithOffsets((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcInteger((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    1507914824: (_) => new IFC4X3.IfcMaterialUsageDefinition(),
    2597039031: (v) => new IFC4X3.IfcMeasureWithUnit(TypeInitialiser(3, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1])),
    3368373690: (v) => new IFC4X3.IfcMetric(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcDateTime((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 3, v[9]), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 3, v[10])),
    2706619895: (v) => new IFC4X3.IfcMonetaryUnit(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    1918398963: (v) => new IFC4X3.IfcNamedUnit(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), v[1]),
    3701648758: (v) => new IFC4X3.IfcObjectPlacement((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0])),
    2251480897: (v) => new IFC4X3.IfcObjective(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcDateTime((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], v[8], v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcLabel((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value)),
    4251960020: (v) => new IFC4X3.IfcOrganization((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcText((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    1207048766: (v) => new IFC4X3.IfcOwnerHistory(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), v[2], v[3], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcTimeStamp((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), new IFC4X3.IfcTimeStamp((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2077209135: (v) => new IFC4X3.IfcPerson((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcLabel(p.value) : null) || [], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcLabel(p.value) : null) || [], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcLabel(p.value) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    101040310: (v) => new IFC4X3.IfcPersonAndOrganization(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    2483315170: (v) => new IFC4X3.IfcPhysicalQuantity(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    2226359599: (v) => new IFC4X3.IfcPhysicalSimpleQuantity(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2])),
    3355820592: (v) => new IFC4X3.IfcPostalAddress(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcLabel(p.value) : null) || [], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcLabel((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    677532197: (_) => new IFC4X3.IfcPresentationItem(),
    2022622350: (v) => new IFC4X3.IfcPresentationLayerAssignment(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcIdentifier((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    1304840413: (v) => new IFC4X3.IfcPresentationLayerWithStyle(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcIdentifier((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4X3.IfcLogical((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4X3.IfcLogical((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcLogical((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    3119450353: (v) => new IFC4X3.IfcPresentationStyle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    2095639259: (v) => new IFC4X3.IfcProductRepresentation((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    3958567839: (v) => new IFC4X3.IfcProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    3843373140: (v) => new IFC4X3.IfcProjectedCRS((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcIdentifier((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcIdentifier((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6])),
    986844984: (_) => new IFC4X3.IfcPropertyAbstraction(),
    3710013099: (v) => new IFC4X3.IfcPropertyEnumeration(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(3, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2])),
    2044713172: (v) => new IFC4X3.IfcQuantityArea(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcAreaMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    2093928680: (v) => new IFC4X3.IfcQuantityCount(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcCountMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    931644368: (v) => new IFC4X3.IfcQuantityLength(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    2691318326: (v) => new IFC4X3.IfcQuantityNumber(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcNumericMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3252649465: (v) => new IFC4X3.IfcQuantityTime(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcTimeMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    2405470396: (v) => new IFC4X3.IfcQuantityVolume(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcVolumeMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    825690147: (v) => new IFC4X3.IfcQuantityWeight(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcMassMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3915482550: (v) => new IFC4X3.IfcRecurrencePattern(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcDayInMonthNumber(p.value) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcDayInWeekNumber(p.value) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcMonthInYearNumber(p.value) : null) || [], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcInteger((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcInteger((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcInteger((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    2433181523: (v) => new IFC4X3.IfcReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcInteger(p.value) : null) || [], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4])),
    1076942058: (v) => new IFC4X3.IfcRepresentation(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    3377609919: (v) => new IFC4X3.IfcRepresentationContext((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    3008791417: (_) => new IFC4X3.IfcRepresentationItem(),
    1660063152: (v) => new IFC4X3.IfcRepresentationMap(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1])),
    2439245199: (v) => new IFC4X3.IfcResourceLevelRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    1794013214: (v) => new IFC4X3.IfcRigidOperation(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), TypeInitialiser(3, v[2]), TypeInitialiser(3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    2341007311: (v) => new IFC4X3.IfcRoot(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    448429030: (v) => new IFC4X3.IfcSIUnit(v[0], v[1], v[2]),
    1054537805: (v) => new IFC4X3.IfcSchedulingTime((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    867548509: (v) => new IFC4X3.IfcShapeAspect(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcText((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4X3.IfcLogical((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4])),
    3982875396: (v) => new IFC4X3.IfcShapeModel(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    4240577450: (v) => new IFC4X3.IfcShapeRepresentation(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    2273995522: (v) => new IFC4X3.IfcStructuralConnectionCondition((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    2162789131: (v) => new IFC4X3.IfcStructuralLoad((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    3478079324: (v) => new IFC4X3.IfcStructuralLoadConfiguration((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new IFC4X3.IfcLengthMeasure(p2.value) : null) || [])),
    609421318: (v) => new IFC4X3.IfcStructuralLoadOrResult((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    2525727697: (v) => new IFC4X3.IfcStructuralLoadStatic((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    3408363356: (v) => new IFC4X3.IfcStructuralLoadTemperature((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcThermodynamicTemperatureMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcThermodynamicTemperatureMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcThermodynamicTemperatureMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2830218821: (v) => new IFC4X3.IfcStyleModel(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    3958052878: (v) => new IFC4X3.IfcStyledItem((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3049322572: (v) => new IFC4X3.IfcStyledRepresentation(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    2934153892: (v) => new IFC4X3.IfcSurfaceReinforcementArea((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcLengthMeasure(p.value) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcLengthMeasure(p.value) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    1300840506: (v) => new IFC4X3.IfcSurfaceStyle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1], v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    3303107099: (v) => new IFC4X3.IfcSurfaceStyleLighting(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3])),
    1607154358: (v) => new IFC4X3.IfcSurfaceStyleRefraction((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcReal((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcReal((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    846575682: (v) => new IFC4X3.IfcSurfaceStyleShading(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcNormalisedRatioMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    1351298697: (v) => new IFC4X3.IfcSurfaceStyleWithTextures(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    626085974: (v) => new IFC4X3.IfcSurfaceTexture(new IFC4X3.IfcBoolean((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4X3.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcIdentifier((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcIdentifier(p.value) : null) || []),
    985171141: (v) => new IFC4X3.IfcTable((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    2043862942: (v) => new IFC4X3.IfcTableColumn((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcText((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4])),
    531007025: (v) => new IFC4X3.IfcTableRow((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(3, p) : null) || [], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    1549132990: (v) => new IFC4X3.IfcTaskTime((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcDuration((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcDateTime((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcDateTime((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcDateTime((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcDateTime((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcDateTime((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcDateTime((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4X3.IfcDuration((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4X3.IfcDuration((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC4X3.IfcBoolean((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC4X3.IfcDateTime((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value), (v[15] ?? void 0) === void 0 || v[15] === "" ? null : new IFC4X3.IfcDuration((v[15] ?? void 0) === void 0 || v[15] === "" ? null : v[15].value), (v[16] ?? void 0) === void 0 || v[16] === "" ? null : new IFC4X3.IfcDateTime((v[16] ?? void 0) === void 0 || v[16] === "" ? null : v[16].value), (v[17] ?? void 0) === void 0 || v[17] === "" ? null : new IFC4X3.IfcDateTime((v[17] ?? void 0) === void 0 || v[17] === "" ? null : v[17].value), (v[18] ?? void 0) === void 0 || v[18] === "" ? null : new IFC4X3.IfcDuration((v[18] ?? void 0) === void 0 || v[18] === "" ? null : v[18].value), (v[19] ?? void 0) === void 0 || v[19] === "" ? null : new IFC4X3.IfcPositiveRatioMeasure((v[19] ?? void 0) === void 0 || v[19] === "" ? null : v[19].value)),
    2771591690: (v) => new IFC4X3.IfcTaskTimeRecurring((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcDuration((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcDateTime((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcDateTime((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcDateTime((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcDateTime((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcDateTime((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcDateTime((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4X3.IfcDuration((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4X3.IfcDuration((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC4X3.IfcBoolean((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC4X3.IfcDateTime((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value), (v[15] ?? void 0) === void 0 || v[15] === "" ? null : new IFC4X3.IfcDuration((v[15] ?? void 0) === void 0 || v[15] === "" ? null : v[15].value), (v[16] ?? void 0) === void 0 || v[16] === "" ? null : new IFC4X3.IfcDateTime((v[16] ?? void 0) === void 0 || v[16] === "" ? null : v[16].value), (v[17] ?? void 0) === void 0 || v[17] === "" ? null : new IFC4X3.IfcDateTime((v[17] ?? void 0) === void 0 || v[17] === "" ? null : v[17].value), (v[18] ?? void 0) === void 0 || v[18] === "" ? null : new IFC4X3.IfcDuration((v[18] ?? void 0) === void 0 || v[18] === "" ? null : v[18].value), (v[19] ?? void 0) === void 0 || v[19] === "" ? null : new IFC4X3.IfcPositiveRatioMeasure((v[19] ?? void 0) === void 0 || v[19] === "" ? null : v[19].value), new Handle((v[20] ?? void 0) === void 0 || v[20] === "" ? null : v[20].value, 3, v[20])),
    912023232: (v) => new IFC4X3.IfcTelecomAddress(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcLabel(p.value) : null) || [], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcLabel(p.value) : null) || [], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcLabel(p.value) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcURIReference((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcURIReference(p.value) : null) || []),
    1447204868: (v) => new IFC4X3.IfcTextStyle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcBoolean((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    2636378356: (v) => new IFC4X3.IfcTextStyleForDefinedFont(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1])),
    1640371178: (v) => new IFC4X3.IfcTextStyleTextModel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : TypeInitialiser(3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcTextAlignment((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcTextDecoration((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : TypeInitialiser(3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : TypeInitialiser(3, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcTextTransformation((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : TypeInitialiser(3, v[6])),
    280115917: (v) => new IFC4X3.IfcTextureCoordinate(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    1742049831: (v) => new IFC4X3.IfcTextureCoordinateGenerator(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcReal(p.value) : null) || []),
    222769930: (v) => new IFC4X3.IfcTextureCoordinateIndices(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcPositiveInteger(p.value) : null) || [], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1])),
    1010789467: (v) => new IFC4X3.IfcTextureCoordinateIndicesWithVoids(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcPositiveInteger(p.value) : null) || [], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), v[2]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new IFC4X3.IfcPositiveInteger(p2.value) : null) || [])),
    2552916305: (v) => new IFC4X3.IfcTextureMap(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2])),
    1210645708: (v) => new IFC4X3.IfcTextureVertex(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcParameterValue(p.value) : null) || []),
    3611470254: (v) => new IFC4X3.IfcTextureVertexList(v[0]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new IFC4X3.IfcParameterValue(p2.value) : null) || [])),
    1199560280: (v) => new IFC4X3.IfcTimePeriod(new IFC4X3.IfcTime((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4X3.IfcTime((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    3101149627: (v) => new IFC4X3.IfcTimeSeries(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4X3.IfcDateTime((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4X3.IfcDateTime((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4], v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7])),
    581633288: (v) => new IFC4X3.IfcTimeSeriesValue(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(3, p) : null) || []),
    1377556343: (_) => new IFC4X3.IfcTopologicalRepresentationItem(),
    1735638870: (v) => new IFC4X3.IfcTopologyRepresentation(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    180925521: (v) => new IFC4X3.IfcUnitAssignment(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    2799835756: (_) => new IFC4X3.IfcVertex(),
    1907098498: (v) => new IFC4X3.IfcVertexPoint(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0])),
    891718957: (v) => new IFC4X3.IfcVirtualGridIntersection(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcLengthMeasure(p.value) : null) || []),
    1175146630: (v) => new IFC4X3.IfcWellKnownText(new IFC4X3.IfcWellKnownTextLiteral((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1])),
    1236880293: (v) => new IFC4X3.IfcWorkTime((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcDate((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcDate((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    3752311538: (v) => new IFC4X3.IfcAlignmentCantSegment((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4X3.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4X3.IfcNonNegativeLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4X3.IfcLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    536804194: (v) => new IFC4X3.IfcAlignmentHorizontalSegment((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcPlaneAngleMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4X3.IfcLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4X3.IfcLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcNonNegativeLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3869604511: (v) => new IFC4X3.IfcApprovalRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    3798115385: (v) => new IFC4X3.IfcArbitraryClosedProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2])),
    1310608509: (v) => new IFC4X3.IfcArbitraryOpenProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2])),
    2705031697: (v) => new IFC4X3.IfcArbitraryProfileDefWithVoids(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    616511568: (v) => new IFC4X3.IfcBlobTexture(new IFC4X3.IfcBoolean((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4X3.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcIdentifier((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcIdentifier(p.value) : null) || [], new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcBinary((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    3150382593: (v) => new IFC4X3.IfcCenterLineProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    747523909: (v) => new IFC4X3.IfcClassification((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcDate((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4X3.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcText((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcURIReference((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcIdentifier(p.value) : null) || []),
    647927063: (v) => new IFC4X3.IfcClassificationReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcURIReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcText((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    3285139300: (v) => new IFC4X3.IfcColourRgbList(v[0]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new IFC4X3.IfcNormalisedRatioMeasure(p2.value) : null) || [])),
    3264961684: (v) => new IFC4X3.IfcColourSpecification((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    1485152156: (v) => new IFC4X3.IfcCompositeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    370225590: (v) => new IFC4X3.IfcConnectedFaceSet(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    1981873012: (v) => new IFC4X3.IfcConnectionCurveGeometry(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1])),
    45288368: (v) => new IFC4X3.IfcConnectionPointEccentricity(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3050246964: (v) => new IFC4X3.IfcContextDependentUnit(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), v[1], new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    2889183280: (v) => new IFC4X3.IfcConversionBasedUnit(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), v[1], new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3])),
    2713554722: (v) => new IFC4X3.IfcConversionBasedUnitWithOffset(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), v[1], new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3]), new IFC4X3.IfcReal((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    539742890: (v) => new IFC4X3.IfcCurrencyRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3]), new IFC4X3.IfcPositiveRatioMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcDateTime((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6])),
    3800577675: (v) => new IFC4X3.IfcCurveStyle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : TypeInitialiser(3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcBoolean((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    1105321065: (v) => new IFC4X3.IfcCurveStyleFont((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    2367409068: (v) => new IFC4X3.IfcCurveStyleFontAndScaling((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new IFC4X3.IfcPositiveRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3510044353: (v) => new IFC4X3.IfcCurveStyleFontPattern(new IFC4X3.IfcLengthMeasure((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    3632507154: (v) => new IFC4X3.IfcDerivedProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    1154170062: (v) => new IFC4X3.IfcDocumentInformation(new IFC4X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcText((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcURIReference((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcText((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcText((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 3, v[8]), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcDateTime((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4X3.IfcDateTime((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4X3.IfcIdentifier((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC4X3.IfcDate((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC4X3.IfcDate((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value), v[15], v[16]),
    770865208: (v) => new IFC4X3.IfcDocumentInformationRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3732053477: (v) => new IFC4X3.IfcDocumentReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcURIReference((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcIdentifier((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4])),
    3900360178: (v) => new IFC4X3.IfcEdge(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1])),
    476780140: (v) => new IFC4X3.IfcEdgeCurve(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcBoolean((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    211053100: (v) => new IFC4X3.IfcEventTime((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcDateTime((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcDateTime((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcDateTime((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcDateTime((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    297599258: (v) => new IFC4X3.IfcExtendedProperties((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    1437805879: (v) => new IFC4X3.IfcExternalReferenceRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    2556980723: (v) => new IFC4X3.IfcFace(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    1809719519: (v) => new IFC4X3.IfcFaceBound(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    803316827: (v) => new IFC4X3.IfcFaceOuterBound(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    3008276851: (v) => new IFC4X3.IfcFaceSurface(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new IFC4X3.IfcBoolean((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    4219587988: (v) => new IFC4X3.IfcFailureConnectionCondition((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcForceMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcForceMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcForceMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcForceMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcForceMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcForceMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    738692330: (v) => new IFC4X3.IfcFillAreaStyle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcBoolean((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3448662350: (v) => new IFC4X3.IfcGeometricRepresentationContext((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4X3.IfcDimensionCount((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcReal((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    2453401579: (_) => new IFC4X3.IfcGeometricRepresentationItem(),
    4142052618: (v) => new IFC4X3.IfcGeometricRepresentationSubContext((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcPositiveRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    3590301190: (v) => new IFC4X3.IfcGeometricSet(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    178086475: (v) => new IFC4X3.IfcGridPlacement((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2])),
    812098782: (v) => new IFC4X3.IfcHalfSpaceSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    3905492369: (v) => new IFC4X3.IfcImageTexture(new IFC4X3.IfcBoolean((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4X3.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcIdentifier((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcIdentifier(p.value) : null) || [], new IFC4X3.IfcURIReference((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    3570813810: (v) => new IFC4X3.IfcIndexedColourMap(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcNormalisedRatioMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcPositiveInteger(p.value) : null) || []),
    1437953363: (v) => new IFC4X3.IfcIndexedTextureMap(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2])),
    2133299955: (v) => new IFC4X3.IfcIndexedTriangleTextureMap(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new IFC4X3.IfcPositiveInteger(p2.value) : null) || [])),
    3741457305: (v) => new IFC4X3.IfcIrregularTimeSeries(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4X3.IfcDateTime((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4X3.IfcDateTime((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4], v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    1585845231: (v) => new IFC4X3.IfcLagTime((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), TypeInitialiser(3, v[3]), v[4]),
    1402838566: (v) => new IFC4X3.IfcLightSource((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcNormalisedRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcNormalisedRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    125510826: (v) => new IFC4X3.IfcLightSourceAmbient((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcNormalisedRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcNormalisedRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2604431987: (v) => new IFC4X3.IfcLightSourceDirectional((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcNormalisedRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcNormalisedRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4])),
    4266656042: (v) => new IFC4X3.IfcLightSourceGoniometric((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcNormalisedRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcNormalisedRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), new IFC4X3.IfcThermodynamicTemperatureMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), new IFC4X3.IfcLuminousFluxMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 3, v[9])),
    1520743889: (v) => new IFC4X3.IfcLightSourcePositional((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcNormalisedRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcNormalisedRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), new IFC4X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcReal((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), new IFC4X3.IfcReal((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), new IFC4X3.IfcReal((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3422422726: (v) => new IFC4X3.IfcLightSourceSpot((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcNormalisedRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcNormalisedRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), new IFC4X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcReal((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), new IFC4X3.IfcReal((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), new IFC4X3.IfcReal((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 3, v[9]), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcReal((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), new IFC4X3.IfcPositivePlaneAngleMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), new IFC4X3.IfcPositivePlaneAngleMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value)),
    388784114: (v) => new IFC4X3.IfcLinearPlacement((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2])),
    2624227202: (v) => new IFC4X3.IfcLocalPlacement((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1])),
    1008929658: (_) => new IFC4X3.IfcLoop(),
    2347385850: (v) => new IFC4X3.IfcMappedItem(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1])),
    1838606355: (v) => new IFC4X3.IfcMaterial(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3708119e3: (v) => new IFC4X3.IfcMaterialConstituent((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcNormalisedRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    2852063980: (v) => new IFC4X3.IfcMaterialConstituentSet((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    2022407955: (v) => new IFC4X3.IfcMaterialDefinitionRepresentation((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3])),
    1303795690: (v) => new IFC4X3.IfcMaterialLayerSetUsage(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), v[1], v[2], new IFC4X3.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3079605661: (v) => new IFC4X3.IfcMaterialProfileSetUsage(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcCardinalPointReference((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3404854881: (v) => new IFC4X3.IfcMaterialProfileSetUsageTapering(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcCardinalPointReference((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcCardinalPointReference((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3265635763: (v) => new IFC4X3.IfcMaterialProperties((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3])),
    853536259: (v) => new IFC4X3.IfcMaterialRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    2998442950: (v) => new IFC4X3.IfcMirroredProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    219451334: (v) => new IFC4X3.IfcObjectDefinition(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    182550632: (v) => new IFC4X3.IfcOpenCrossProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4X3.IfcBoolean((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcNonNegativeLengthMeasure(p.value) : null) || [], v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcPlaneAngleMeasure(p.value) : null) || [], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcLabel(p.value) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6])),
    2665983363: (v) => new IFC4X3.IfcOpenShell(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    1411181986: (v) => new IFC4X3.IfcOrganizationRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    1029017970: (v) => new IFC4X3.IfcOrientedEdge(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    2529465313: (v) => new IFC4X3.IfcParameterizedProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2])),
    2519244187: (v) => new IFC4X3.IfcPath(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    3021840470: (v) => new IFC4X3.IfcPhysicalComplexQuantity(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new IFC4X3.IfcLabel((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    597895409: (v) => new IFC4X3.IfcPixelTexture(new IFC4X3.IfcBoolean((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4X3.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcIdentifier((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcIdentifier(p.value) : null) || [], new IFC4X3.IfcInteger((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcInteger((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), new IFC4X3.IfcInteger((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcBinary(p.value) : null) || []),
    2004835150: (v) => new IFC4X3.IfcPlacement(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0])),
    1663979128: (v) => new IFC4X3.IfcPlanarExtent(new IFC4X3.IfcLengthMeasure((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    2067069095: (_) => new IFC4X3.IfcPoint(),
    2165702409: (v) => new IFC4X3.IfcPointByDistanceExpression(TypeInitialiser(3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4])),
    4022376103: (v) => new IFC4X3.IfcPointOnCurve(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcParameterValue((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    1423911732: (v) => new IFC4X3.IfcPointOnSurface(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcParameterValue((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4X3.IfcParameterValue((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    2924175390: (v) => new IFC4X3.IfcPolyLoop(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    2775532180: (v) => new IFC4X3.IfcPolygonalBoundedHalfSpace(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3])),
    3727388367: (v) => new IFC4X3.IfcPreDefinedItem(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    3778827333: (_) => new IFC4X3.IfcPreDefinedProperties(),
    1775413392: (v) => new IFC4X3.IfcPreDefinedTextFont(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    673634403: (v) => new IFC4X3.IfcProductDefinitionShape((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    2802850158: (v) => new IFC4X3.IfcProfileProperties((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3])),
    2598011224: (v) => new IFC4X3.IfcProperty(new IFC4X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    1680319473: (v) => new IFC4X3.IfcPropertyDefinition(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    148025276: (v) => new IFC4X3.IfcPropertyDependencyRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcText((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3357820518: (v) => new IFC4X3.IfcPropertySetDefinition(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    1482703590: (v) => new IFC4X3.IfcPropertyTemplateDefinition(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2090586900: (v) => new IFC4X3.IfcQuantitySet(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    3615266464: (v) => new IFC4X3.IfcRectangleProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3413951693: (v) => new IFC4X3.IfcRegularTimeSeries(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4X3.IfcDateTime((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4X3.IfcDateTime((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4], v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), new IFC4X3.IfcTimeMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    1580146022: (v) => new IFC4X3.IfcReinforcementBarProperties(new IFC4X3.IfcAreaMeasure((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcCountMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    478536968: (v) => new IFC4X3.IfcRelationship(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2943643501: (v) => new IFC4X3.IfcResourceApprovalRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3])),
    1608871552: (v) => new IFC4X3.IfcResourceConstraintRelationship((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    1042787934: (v) => new IFC4X3.IfcResourceTime((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcDuration((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcPositiveRatioMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcDateTime((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcDateTime((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcDuration((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcBoolean((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcDateTime((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4X3.IfcDuration((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4X3.IfcPositiveRatioMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC4X3.IfcDateTime((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC4X3.IfcDateTime((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value), (v[15] ?? void 0) === void 0 || v[15] === "" ? null : new IFC4X3.IfcDuration((v[15] ?? void 0) === void 0 || v[15] === "" ? null : v[15].value), (v[16] ?? void 0) === void 0 || v[16] === "" ? null : new IFC4X3.IfcPositiveRatioMeasure((v[16] ?? void 0) === void 0 || v[16] === "" ? null : v[16].value), (v[17] ?? void 0) === void 0 || v[17] === "" ? null : new IFC4X3.IfcPositiveRatioMeasure((v[17] ?? void 0) === void 0 || v[17] === "" ? null : v[17].value)),
    2778083089: (v) => new IFC4X3.IfcRoundedRectangleProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    2042790032: (v) => new IFC4X3.IfcSectionProperties(v[0], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2])),
    4165799628: (v) => new IFC4X3.IfcSectionReinforcementProperties(new IFC4X3.IfcLengthMeasure((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3], new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    1509187699: (v) => new IFC4X3.IfcSectionedSpine(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    823603102: (v) => new IFC4X3.IfcSegment(v[0]),
    4124623270: (v) => new IFC4X3.IfcShellBasedSurfaceModel(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    3692461612: (v) => new IFC4X3.IfcSimpleProperty(new IFC4X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    2609359061: (v) => new IFC4X3.IfcSlippageConnectionCondition((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    723233188: (_) => new IFC4X3.IfcSolidModel(),
    1595516126: (v) => new IFC4X3.IfcStructuralLoadLinearForce((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLinearForceMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLinearForceMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcLinearForceMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLinearMomentMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcLinearMomentMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcLinearMomentMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    2668620305: (v) => new IFC4X3.IfcStructuralLoadPlanarForce((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcPlanarForceMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcPlanarForceMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcPlanarForceMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2473145415: (v) => new IFC4X3.IfcStructuralLoadSingleDisplacement((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcPlaneAngleMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcPlaneAngleMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcPlaneAngleMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    1973038258: (v) => new IFC4X3.IfcStructuralLoadSingleDisplacementDistortion((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcPlaneAngleMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcPlaneAngleMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcPlaneAngleMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcCurvatureMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    1597423693: (v) => new IFC4X3.IfcStructuralLoadSingleForce((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcForceMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcForceMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcForceMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcTorqueMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcTorqueMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcTorqueMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    1190533807: (v) => new IFC4X3.IfcStructuralLoadSingleForceWarping((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcForceMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcForceMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcForceMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcTorqueMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcTorqueMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcTorqueMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcWarpingMomentMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2233826070: (v) => new IFC4X3.IfcSubedge(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2])),
    2513912981: (_) => new IFC4X3.IfcSurface(),
    1878645084: (v) => new IFC4X3.IfcSurfaceStyleRendering(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcNormalisedRatioMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : TypeInitialiser(3, v[7]), v[8]),
    2247615214: (v) => new IFC4X3.IfcSweptAreaSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1])),
    1260650574: (v) => new IFC4X3.IfcSweptDiskSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcParameterValue((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcParameterValue((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    1096409881: (v) => new IFC4X3.IfcSweptDiskSolidPolygonal(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcParameterValue((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcParameterValue((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    230924584: (v) => new IFC4X3.IfcSweptSurface(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1])),
    3071757647: (v) => new IFC4X3.IfcTShapeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcPlaneAngleMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4X3.IfcPlaneAngleMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value)),
    901063453: (_) => new IFC4X3.IfcTessellatedItem(),
    4282788508: (v) => new IFC4X3.IfcTextLiteral(new IFC4X3.IfcPresentableText((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), v[2]),
    3124975700: (v) => new IFC4X3.IfcTextLiteralWithExtent(new IFC4X3.IfcPresentableText((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), v[2], new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3]), new IFC4X3.IfcBoxAlignment((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    1983826977: (v) => new IFC4X3.IfcTextStyleFontModel(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcTextFontName(p.value) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcFontStyle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcFontVariant((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcFontWeight((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), TypeInitialiser(3, v[5])),
    2715220739: (v) => new IFC4X3.IfcTrapeziumProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    1628702193: (v) => new IFC4X3.IfcTypeObject(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    3736923433: (v) => new IFC4X3.IfcTypeProcess(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2347495698: (v) => new IFC4X3.IfcTypeProduct(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3698973494: (v) => new IFC4X3.IfcTypeResource(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    427810014: (v) => new IFC4X3.IfcUShapeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcPlaneAngleMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    1417489154: (v) => new IFC4X3.IfcVector(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    2759199220: (v) => new IFC4X3.IfcVertexLoop(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0])),
    2543172580: (v) => new IFC4X3.IfcZShapeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3406155212: (v) => new IFC4X3.IfcAdvancedFace(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new IFC4X3.IfcBoolean((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    669184980: (v) => new IFC4X3.IfcAnnotationFillArea(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    3207858831: (v) => new IFC4X3.IfcAsymmetricIShapeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), new IFC4X3.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4X3.IfcPlaneAngleMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC4X3.IfcPlaneAngleMeasure((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value)),
    4261334040: (v) => new IFC4X3.IfcAxis1Placement(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1])),
    3125803723: (v) => new IFC4X3.IfcAxis2Placement2D(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1])),
    2740243338: (v) => new IFC4X3.IfcAxis2Placement3D(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2])),
    3425423356: (v) => new IFC4X3.IfcAxis2PlacementLinear(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2])),
    2736907675: (v) => new IFC4X3.IfcBooleanResult(v[0], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2])),
    4182860854: (_) => new IFC4X3.IfcBoundedSurface(),
    2581212453: (v) => new IFC4X3.IfcBoundingBox(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4X3.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2713105998: (v) => new IFC4X3.IfcBoxedHalfSpace(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2])),
    2898889636: (v) => new IFC4X3.IfcCShapeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    1123145078: (v) => new IFC4X3.IfcCartesianPoint(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcLengthMeasure(p.value) : null) || []),
    574549367: (_) => new IFC4X3.IfcCartesianPointList(),
    1675464909: (v) => new IFC4X3.IfcCartesianPointList2D(v[0]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new IFC4X3.IfcLengthMeasure(p2.value) : null) || []), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcLabel(p.value) : null) || []),
    2059837836: (v) => new IFC4X3.IfcCartesianPointList3D(v[0]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new IFC4X3.IfcLengthMeasure(p2.value) : null) || []), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcLabel(p.value) : null) || []),
    59481748: (v) => new IFC4X3.IfcCartesianTransformationOperator((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcReal((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    3749851601: (v) => new IFC4X3.IfcCartesianTransformationOperator2D((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcReal((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    3486308946: (v) => new IFC4X3.IfcCartesianTransformationOperator2DnonUniform((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcReal((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcReal((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3331915920: (v) => new IFC4X3.IfcCartesianTransformationOperator3D((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcReal((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4])),
    1416205885: (v) => new IFC4X3.IfcCartesianTransformationOperator3DnonUniform((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcReal((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcReal((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcReal((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    1383045692: (v) => new IFC4X3.IfcCircleProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2205249479: (v) => new IFC4X3.IfcClosedShell(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    776857604: (v) => new IFC4X3.IfcColourRgb((v[0] ?? void 0) === void 0 || v[0] === "" ? null : new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4X3.IfcNormalisedRatioMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4X3.IfcNormalisedRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4X3.IfcNormalisedRatioMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2542286263: (v) => new IFC4X3.IfcComplexProperty(new IFC4X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4X3.IfcIdentifier((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    2485617015: (v) => new IFC4X3.IfcCompositeCurveSegment(v[0], new IFC4X3.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2])),
    2574617495: (v) => new IFC4X3.IfcConstructionResourceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 3, v[10])),
    3419103109: (v) => new IFC4X3.IfcContext(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 3, v[8])),
    1815067380: (v) => new IFC4X3.IfcCrewResourceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 3, v[10]), v[11]),
    2506170314: (v) => new IFC4X3.IfcCsgPrimitive3D(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0])),
    2147822146: (v) => new IFC4X3.IfcCsgSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0])),
    2601014836: (_) => new IFC4X3.IfcCurve(),
    2827736869: (v) => new IFC4X3.IfcCurveBoundedPlane(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    2629017746: (v) => new IFC4X3.IfcCurveBoundedSurface(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new IFC4X3.IfcBoolean((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    4212018352: (v) => new IFC4X3.IfcCurveSegment(v[0], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), TypeInitialiser(3, v[2]), TypeInitialiser(3, v[3]), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4])),
    32440307: (v) => new IFC4X3.IfcDirection(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcReal(p.value) : null) || []),
    593015953: (v) => new IFC4X3.IfcDirectrixCurveSweptAreaSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : TypeInitialiser(3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : TypeInitialiser(3, v[4])),
    1472233963: (v) => new IFC4X3.IfcEdgeLoop(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    1883228015: (v) => new IFC4X3.IfcElementQuantity(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    339256511: (v) => new IFC4X3.IfcElementType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2777663545: (v) => new IFC4X3.IfcElementarySurface(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0])),
    2835456948: (v) => new IFC4X3.IfcEllipseProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    4024345920: (v) => new IFC4X3.IfcEventType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], v[10], (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4X3.IfcLabel((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value)),
    477187591: (v) => new IFC4X3.IfcExtrudedAreaSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2804161546: (v) => new IFC4X3.IfcExtrudedAreaSolidTapered(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4])),
    2047409740: (v) => new IFC4X3.IfcFaceBasedSurfaceModel(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    374418227: (v) => new IFC4X3.IfcFillAreaStyleHatching(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3]), new IFC4X3.IfcPlaneAngleMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    315944413: (v) => new IFC4X3.IfcFillAreaStyleTiles(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new IFC4X3.IfcPositiveRatioMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    2652556860: (v) => new IFC4X3.IfcFixedReferenceSweptAreaSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : TypeInitialiser(3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : TypeInitialiser(3, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    4238390223: (v) => new IFC4X3.IfcFurnishingElementType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1268542332: (v) => new IFC4X3.IfcFurnitureType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], v[10]),
    4095422895: (v) => new IFC4X3.IfcGeographicElementType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    987898635: (v) => new IFC4X3.IfcGeometricCurveSet(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    1484403080: (v) => new IFC4X3.IfcIShapeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcPlaneAngleMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    178912537: (v) => new IFC4X3.IfcIndexedPolygonalFace(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcPositiveInteger(p.value) : null) || []),
    2294589976: (v) => new IFC4X3.IfcIndexedPolygonalFaceWithVoids(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcPositiveInteger(p.value) : null) || [], v[1]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new IFC4X3.IfcPositiveInteger(p2.value) : null) || [])),
    3465909080: (v) => new IFC4X3.IfcIndexedPolygonalTextureMap(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    572779678: (v) => new IFC4X3.IfcLShapeProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcPlaneAngleMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    428585644: (v) => new IFC4X3.IfcLaborResourceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 3, v[10]), v[11]),
    1281925730: (v) => new IFC4X3.IfcLine(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1])),
    1425443689: (v) => new IFC4X3.IfcManifoldSolidBrep(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0])),
    3888040117: (v) => new IFC4X3.IfcObject(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    590820931: (v) => new IFC4X3.IfcOffsetCurve(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0])),
    3388369263: (v) => new IFC4X3.IfcOffsetCurve2D(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4X3.IfcLogical((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3505215534: (v) => new IFC4X3.IfcOffsetCurve3D(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4X3.IfcLogical((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3])),
    2485787929: (v) => new IFC4X3.IfcOffsetCurveByDistances(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    1682466193: (v) => new IFC4X3.IfcPcurve(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1])),
    603570806: (v) => new IFC4X3.IfcPlanarBox(new IFC4X3.IfcLengthMeasure((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2])),
    220341763: (v) => new IFC4X3.IfcPlane(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0])),
    3381221214: (v) => new IFC4X3.IfcPolynomialCurve(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcReal(p.value) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcReal(p.value) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcReal(p.value) : null) || []),
    759155922: (v) => new IFC4X3.IfcPreDefinedColour(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    2559016684: (v) => new IFC4X3.IfcPreDefinedCurveFont(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    3967405729: (v) => new IFC4X3.IfcPreDefinedPropertySet(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    569719735: (v) => new IFC4X3.IfcProcedureType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2945172077: (v) => new IFC4X3.IfcProcess(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    4208778838: (v) => new IFC4X3.IfcProduct(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6])),
    103090709: (v) => new IFC4X3.IfcProject(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 3, v[8])),
    653396225: (v) => new IFC4X3.IfcProjectLibrary(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 3, v[8])),
    871118103: (v) => new IFC4X3.IfcPropertyBoundedValue(new IFC4X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : TypeInitialiser(3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : TypeInitialiser(3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : TypeInitialiser(3, v[5])),
    4166981789: (v) => new IFC4X3.IfcPropertyEnumeratedValue(new IFC4X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(3, p) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3])),
    2752243245: (v) => new IFC4X3.IfcPropertyListValue(new IFC4X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(3, p) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3])),
    941946838: (v) => new IFC4X3.IfcPropertyReferenceValue(new IFC4X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcText((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3])),
    1451395588: (v) => new IFC4X3.IfcPropertySet(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    492091185: (v) => new IFC4X3.IfcPropertySetTemplate(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    3650150729: (v) => new IFC4X3.IfcPropertySingleValue(new IFC4X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : TypeInitialiser(3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3])),
    110355661: (v) => new IFC4X3.IfcPropertyTableValue(new IFC4X3.IfcIdentifier((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcText((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(3, p) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(3, p) : null) || [], (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcText((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), v[7]),
    3521284610: (v) => new IFC4X3.IfcPropertyTemplate(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2770003689: (v) => new IFC4X3.IfcRectangleHollowProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4X3.IfcPositiveLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2798486643: (v) => new IFC4X3.IfcRectangularPyramid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4X3.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    3454111270: (v) => new IFC4X3.IfcRectangularTrimmedSurface(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcParameterValue((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4X3.IfcParameterValue((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4X3.IfcParameterValue((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4X3.IfcParameterValue((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4X3.IfcBoolean((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcBoolean((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    3765753017: (v) => new IFC4X3.IfcReinforcementDefinitionProperties(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    3939117080: (v) => new IFC4X3.IfcRelAssigns(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcStrippedOptional((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    1683148259: (v) => new IFC4X3.IfcRelAssignsToActor(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcStrippedOptional((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7])),
    2495723537: (v) => new IFC4X3.IfcRelAssignsToControl(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcStrippedOptional((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6])),
    1307041759: (v) => new IFC4X3.IfcRelAssignsToGroup(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcStrippedOptional((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6])),
    1027710054: (v) => new IFC4X3.IfcRelAssignsToGroupByFactor(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcStrippedOptional((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), new IFC4X3.IfcRatioMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    4278684876: (v) => new IFC4X3.IfcRelAssignsToProcess(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcStrippedOptional((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7])),
    2857406711: (v) => new IFC4X3.IfcRelAssignsToProduct(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcStrippedOptional((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6])),
    205026976: (v) => new IFC4X3.IfcRelAssignsToResource(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcStrippedOptional((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6])),
    1865459582: (v) => new IFC4X3.IfcRelAssociates(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    4095574036: (v) => new IFC4X3.IfcRelAssociatesApproval(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    919958153: (v) => new IFC4X3.IfcRelAssociatesClassification(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    2728634034: (v) => new IFC4X3.IfcRelAssociatesConstraint(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6])),
    982818633: (v) => new IFC4X3.IfcRelAssociatesDocument(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    3840914261: (v) => new IFC4X3.IfcRelAssociatesLibrary(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    2655215786: (v) => new IFC4X3.IfcRelAssociatesMaterial(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    1033248425: (v) => new IFC4X3.IfcRelAssociatesProfileDef(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    826625072: (v) => new IFC4X3.IfcRelConnects(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    1204542856: (v) => new IFC4X3.IfcRelConnectsElements(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6])),
    3945020480: (v) => new IFC4X3.IfcRelConnectsPathElements(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcInteger(p.value) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcInteger(p.value) : null) || [], v[9], v[10]),
    4201705270: (v) => new IFC4X3.IfcRelConnectsPortToElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    3190031847: (v) => new IFC4X3.IfcRelConnectsPorts(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6])),
    2127690289: (v) => new IFC4X3.IfcRelConnectsStructuralActivity(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    1638771189: (v) => new IFC4X3.IfcRelConnectsStructuralMember(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 3, v[9])),
    504942748: (v) => new IFC4X3.IfcRelConnectsWithEccentricity(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 3, v[9]), new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 3, v[10])),
    3678494232: (v) => new IFC4X3.IfcRelConnectsWithRealizingElements(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3242617779: (v) => new IFC4X3.IfcRelContainedInSpatialStructure(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    886880790: (v) => new IFC4X3.IfcRelCoversBldgElements(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    2802773753: (v) => new IFC4X3.IfcRelCoversSpaces(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    2565941209: (v) => new IFC4X3.IfcRelDeclares(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    2551354335: (v) => new IFC4X3.IfcRelDecomposes(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    693640335: (v) => new IFC4X3.IfcRelDefines(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    1462361463: (v) => new IFC4X3.IfcRelDefinesByObject(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    4186316022: (v) => new IFC4X3.IfcRelDefinesByProperties(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    307848117: (v) => new IFC4X3.IfcRelDefinesByTemplate(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    781010003: (v) => new IFC4X3.IfcRelDefinesByType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    3940055652: (v) => new IFC4X3.IfcRelFillsElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    279856033: (v) => new IFC4X3.IfcRelFlowControlElements(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    427948657: (v) => new IFC4X3.IfcRelInterferesElements(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), new IFC4X3.IfcLogical((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 3, v[9])),
    3268803585: (v) => new IFC4X3.IfcRelNests(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    1441486842: (v) => new IFC4X3.IfcRelPositions(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    750771296: (v) => new IFC4X3.IfcRelProjectsElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    1245217292: (v) => new IFC4X3.IfcRelReferencedInSpatialStructure(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    4122056220: (v) => new IFC4X3.IfcRelSequence(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    366585022: (v) => new IFC4X3.IfcRelServicesBuildings(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    3451746338: (v) => new IFC4X3.IfcRelSpaceBoundary(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), v[7], v[8]),
    3523091289: (v) => new IFC4X3.IfcRelSpaceBoundary1stLevel(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), v[7], v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 3, v[9])),
    1521410863: (v) => new IFC4X3.IfcRelSpaceBoundary2ndLevel(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), v[7], v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 3, v[9]), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 3, v[10])),
    1401173127: (v) => new IFC4X3.IfcRelVoidsElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    816062949: (v) => new IFC4X3.IfcReparametrisedCompositeCurveSegment(v[0], new IFC4X3.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcParameterValue((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    2914609552: (v) => new IFC4X3.IfcResource(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    1856042241: (v) => new IFC4X3.IfcRevolvedAreaSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcPlaneAngleMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    3243963512: (v) => new IFC4X3.IfcRevolvedAreaSolidTapered(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcPlaneAngleMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4])),
    4158566097: (v) => new IFC4X3.IfcRightCircularCone(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4X3.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3626867408: (v) => new IFC4X3.IfcRightCircularCylinder(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4X3.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    1862484736: (v) => new IFC4X3.IfcSectionedSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    1290935644: (v) => new IFC4X3.IfcSectionedSolidHorizontal(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    1356537516: (v) => new IFC4X3.IfcSectionedSurface(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    3663146110: (v) => new IFC4X3.IfcSimplePropertyTemplate(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4], (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 3, v[8]), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 3, v[9]), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcLabel((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), v[11]),
    1412071761: (v) => new IFC4X3.IfcSpatialElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    710998568: (v) => new IFC4X3.IfcSpatialElementType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2706606064: (v) => new IFC4X3.IfcSpatialStructureElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3893378262: (v) => new IFC4X3.IfcSpatialStructureElementType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    463610769: (v) => new IFC4X3.IfcSpatialZone(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2481509218: (v) => new IFC4X3.IfcSpatialZoneType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcLabel((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value)),
    451544542: (v) => new IFC4X3.IfcSphere(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    4015995234: (v) => new IFC4X3.IfcSphericalSurface(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    2735484536: (v) => new IFC4X3.IfcSpiral(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0])),
    3544373492: (v) => new IFC4X3.IfcStructuralActivity(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), v[8]),
    3136571912: (v) => new IFC4X3.IfcStructuralItem(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6])),
    530289379: (v) => new IFC4X3.IfcStructuralMember(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6])),
    3689010777: (v) => new IFC4X3.IfcStructuralReaction(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), v[8]),
    3979015343: (v) => new IFC4X3.IfcStructuralSurfaceMember(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2218152070: (v) => new IFC4X3.IfcStructuralSurfaceMemberVarying(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    603775116: (v) => new IFC4X3.IfcStructuralSurfaceReaction(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), v[8], v[9]),
    4095615324: (v) => new IFC4X3.IfcSubContractResourceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 3, v[10]), v[11]),
    699246055: (v) => new IFC4X3.IfcSurfaceCurve(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], v[2]),
    2028607225: (v) => new IFC4X3.IfcSurfaceCurveSweptAreaSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : TypeInitialiser(3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : TypeInitialiser(3, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    2809605785: (v) => new IFC4X3.IfcSurfaceOfLinearExtrusion(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    4124788165: (v) => new IFC4X3.IfcSurfaceOfRevolution(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2])),
    1580310250: (v) => new IFC4X3.IfcSystemFurnitureElementType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3473067441: (v) => new IFC4X3.IfcTask(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), new IFC4X3.IfcBoolean((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcInteger((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new Handle((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value, 3, v[11]), v[12]),
    3206491090: (v) => new IFC4X3.IfcTaskType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcLabel((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value)),
    2387106220: (v) => new IFC4X3.IfcTessellatedFaceSet(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0])),
    782932809: (v) => new IFC4X3.IfcThirdOrderPolynomialSpiral(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    1935646853: (v) => new IFC4X3.IfcToroidalSurface(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4X3.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3665877780: (v) => new IFC4X3.IfcTransportationDeviceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2916149573: (v) => new IFC4X3.IfcTriangulatedFaceSet(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new IFC4X3.IfcParameterValue(p2.value) : null) || []), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcBoolean((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new IFC4X3.IfcPositiveInteger(p2.value) : null) || []), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcPositiveInteger(p.value) : null) || []),
    1229763772: (v) => new IFC4X3.IfcTriangulatedIrregularNetwork(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new IFC4X3.IfcParameterValue(p2.value) : null) || []), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcBoolean((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), v[3]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new IFC4X3.IfcPositiveInteger(p2.value) : null) || []), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcPositiveInteger(p.value) : null) || [], v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcInteger(p.value) : null) || []),
    3651464721: (v) => new IFC4X3.IfcVehicleType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    336235671: (v) => new IFC4X3.IfcWindowLiningProperties(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcNormalisedRatioMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcNormalisedRatioMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcNormalisedRatioMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4X3.IfcNormalisedRatioMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new Handle((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value, 3, v[12]), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC4X3.IfcLengthMeasure((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC4X3.IfcLengthMeasure((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value), (v[15] ?? void 0) === void 0 || v[15] === "" ? null : new IFC4X3.IfcLengthMeasure((v[15] ?? void 0) === void 0 || v[15] === "" ? null : v[15].value)),
    512836454: (v) => new IFC4X3.IfcWindowPanelProperties(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4], v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 3, v[8])),
    2296667514: (v) => new IFC4X3.IfcActor(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    1635779807: (v) => new IFC4X3.IfcAdvancedBrep(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0])),
    2603310189: (v) => new IFC4X3.IfcAdvancedBrepWithVoids(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    1674181508: (v) => new IFC4X3.IfcAnnotation(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), v[7]),
    2887950389: (v) => new IFC4X3.IfcBSplineSurface(new IFC4X3.IfcInteger((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4X3.IfcInteger((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new Handle(p2.value, 3, p2) : null) || []), v[3], new IFC4X3.IfcLogical((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4X3.IfcLogical((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcLogical((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    167062518: (v) => new IFC4X3.IfcBSplineSurfaceWithKnots(new IFC4X3.IfcInteger((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4X3.IfcInteger((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new Handle(p2.value, 3, p2) : null) || []), v[3], new IFC4X3.IfcLogical((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4X3.IfcLogical((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcLogical((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcInteger(p.value) : null) || [], v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcInteger(p.value) : null) || [], v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcParameterValue(p.value) : null) || [], v[10]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcParameterValue(p.value) : null) || [], v[11]),
    1334484129: (v) => new IFC4X3.IfcBlock(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4X3.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), new IFC4X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    3649129432: (v) => new IFC4X3.IfcBooleanClippingResult(v[0], new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2])),
    1260505505: (_) => new IFC4X3.IfcBoundedCurve(),
    3124254112: (v) => new IFC4X3.IfcBuildingStorey(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    1626504194: (v) => new IFC4X3.IfcBuiltElementType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2197970202: (v) => new IFC4X3.IfcChimneyType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2937912522: (v) => new IFC4X3.IfcCircleHollowProfileDef(v[0], (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcLabel((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), new IFC4X3.IfcPositiveLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    3893394355: (v) => new IFC4X3.IfcCivilElementType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3497074424: (v) => new IFC4X3.IfcClothoid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    300633059: (v) => new IFC4X3.IfcColumnType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3875453745: (v) => new IFC4X3.IfcComplexPropertyTemplate(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    3732776249: (v) => new IFC4X3.IfcCompositeCurve(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new IFC4X3.IfcLogical((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    15328376: (v) => new IFC4X3.IfcCompositeCurveOnSurface(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new IFC4X3.IfcLogical((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    2510884976: (v) => new IFC4X3.IfcConic(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0])),
    2185764099: (v) => new IFC4X3.IfcConstructionEquipmentResourceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 3, v[10]), v[11]),
    4105962743: (v) => new IFC4X3.IfcConstructionMaterialResourceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 3, v[10]), v[11]),
    1525564444: (v) => new IFC4X3.IfcConstructionProductResourceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcIdentifier((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcText((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 3, v[10]), v[11]),
    2559216714: (v) => new IFC4X3.IfcConstructionResource(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 3, v[9])),
    3293443760: (v) => new IFC4X3.IfcControl(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    2000195564: (v) => new IFC4X3.IfcCosineSpiral(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3895139033: (v) => new IFC4X3.IfcCostItem(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), v[6], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    1419761937: (v) => new IFC4X3.IfcCostSchedule(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), v[6], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcDateTime((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcDateTime((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    4189326743: (v) => new IFC4X3.IfcCourseType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1916426348: (v) => new IFC4X3.IfcCoveringType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3295246426: (v) => new IFC4X3.IfcCrewResource(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 3, v[9]), v[10]),
    1457835157: (v) => new IFC4X3.IfcCurtainWallType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1213902940: (v) => new IFC4X3.IfcCylindricalSurface(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    1306400036: (v) => new IFC4X3.IfcDeepFoundationType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    4234616927: (v) => new IFC4X3.IfcDirectrixDerivedReferenceSweptAreaSolid(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : TypeInitialiser(3, v[3]), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : TypeInitialiser(3, v[4]), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5])),
    3256556792: (v) => new IFC4X3.IfcDistributionElementType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3849074793: (v) => new IFC4X3.IfcDistributionFlowElementType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2963535650: (v) => new IFC4X3.IfcDoorLiningProperties(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcNonNegativeLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4X3.IfcLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new Handle((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value, 3, v[14]), (v[15] ?? void 0) === void 0 || v[15] === "" ? null : new IFC4X3.IfcLengthMeasure((v[15] ?? void 0) === void 0 || v[15] === "" ? null : v[15].value), (v[16] ?? void 0) === void 0 || v[16] === "" ? null : new IFC4X3.IfcLengthMeasure((v[16] ?? void 0) === void 0 || v[16] === "" ? null : v[16].value)),
    1714330368: (v) => new IFC4X3.IfcDoorPanelProperties(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcNormalisedRatioMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 3, v[8])),
    2323601079: (v) => new IFC4X3.IfcDoorType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], v[10], (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4X3.IfcBoolean((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4X3.IfcLabel((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value)),
    445594917: (v) => new IFC4X3.IfcDraughtingPreDefinedColour(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    4006246654: (v) => new IFC4X3.IfcDraughtingPreDefinedCurveFont(new IFC4X3.IfcLabel((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value)),
    1758889154: (v) => new IFC4X3.IfcElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    4123344466: (v) => new IFC4X3.IfcElementAssembly(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], v[9]),
    2397081782: (v) => new IFC4X3.IfcElementAssemblyType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1623761950: (v) => new IFC4X3.IfcElementComponent(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2590856083: (v) => new IFC4X3.IfcElementComponentType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1704287377: (v) => new IFC4X3.IfcEllipse(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new IFC4X3.IfcPositiveLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    2107101300: (v) => new IFC4X3.IfcEnergyConversionDeviceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    132023988: (v) => new IFC4X3.IfcEngineType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3174744832: (v) => new IFC4X3.IfcEvaporativeCoolerType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3390157468: (v) => new IFC4X3.IfcEvaporatorType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    4148101412: (v) => new IFC4X3.IfcEvent(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7], v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcLabel((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 3, v[10])),
    2853485674: (v) => new IFC4X3.IfcExternalSpatialStructureElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    807026263: (v) => new IFC4X3.IfcFacetedBrep(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0])),
    3737207727: (v) => new IFC4X3.IfcFacetedBrepWithVoids(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    24185140: (v) => new IFC4X3.IfcFacility(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1310830890: (v) => new IFC4X3.IfcFacilityPart(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], v[9]),
    4228831410: (v) => new IFC4X3.IfcFacilityPartCommon(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], v[9], v[10]),
    647756555: (v) => new IFC4X3.IfcFastener(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2489546625: (v) => new IFC4X3.IfcFastenerType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2827207264: (v) => new IFC4X3.IfcFeatureElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2143335405: (v) => new IFC4X3.IfcFeatureElementAddition(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    1287392070: (v) => new IFC4X3.IfcFeatureElementSubtraction(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3907093117: (v) => new IFC4X3.IfcFlowControllerType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3198132628: (v) => new IFC4X3.IfcFlowFittingType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3815607619: (v) => new IFC4X3.IfcFlowMeterType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1482959167: (v) => new IFC4X3.IfcFlowMovingDeviceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1834744321: (v) => new IFC4X3.IfcFlowSegmentType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1339347760: (v) => new IFC4X3.IfcFlowStorageDeviceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2297155007: (v) => new IFC4X3.IfcFlowTerminalType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3009222698: (v) => new IFC4X3.IfcFlowTreatmentDeviceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1893162501: (v) => new IFC4X3.IfcFootingType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    263784265: (v) => new IFC4X3.IfcFurnishingElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    1509553395: (v) => new IFC4X3.IfcFurniture(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3493046030: (v) => new IFC4X3.IfcGeographicElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    4230923436: (v) => new IFC4X3.IfcGeotechnicalElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    1594536857: (v) => new IFC4X3.IfcGeotechnicalStratum(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2898700619: (v) => new IFC4X3.IfcGradientCurve(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new IFC4X3.IfcLogical((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3])),
    2706460486: (v) => new IFC4X3.IfcGroup(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    1251058090: (v) => new IFC4X3.IfcHeatExchangerType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1806887404: (v) => new IFC4X3.IfcHumidifierType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2568555532: (v) => new IFC4X3.IfcImpactProtectionDevice(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3948183225: (v) => new IFC4X3.IfcImpactProtectionDeviceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2571569899: (v) => new IFC4X3.IfcIndexedPolyCurve(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(3, p) : null) || [], (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcBoolean((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value)),
    3946677679: (v) => new IFC4X3.IfcInterceptorType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3113134337: (v) => new IFC4X3.IfcIntersectionCurve(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], v[2]),
    2391368822: (v) => new IFC4X3.IfcInventory(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcDate((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 3, v[9]), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 3, v[10])),
    4288270099: (v) => new IFC4X3.IfcJunctionBoxType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    679976338: (v) => new IFC4X3.IfcKerbType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3827777499: (v) => new IFC4X3.IfcLaborResource(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 3, v[9]), v[10]),
    1051575348: (v) => new IFC4X3.IfcLampType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1161773419: (v) => new IFC4X3.IfcLightFixtureType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2176059722: (v) => new IFC4X3.IfcLinearElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6])),
    1770583370: (v) => new IFC4X3.IfcLiquidTerminalType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    525669439: (v) => new IFC4X3.IfcMarineFacility(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], v[9]),
    976884017: (v) => new IFC4X3.IfcMarinePart(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], v[9], v[10]),
    377706215: (v) => new IFC4X3.IfcMechanicalFastener(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), v[10]),
    2108223431: (v) => new IFC4X3.IfcMechanicalFastenerType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value)),
    1114901282: (v) => new IFC4X3.IfcMedicalDeviceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3181161470: (v) => new IFC4X3.IfcMemberType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1950438474: (v) => new IFC4X3.IfcMobileTelecommunicationsApplianceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    710110818: (v) => new IFC4X3.IfcMooringDeviceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    977012517: (v) => new IFC4X3.IfcMotorConnectionType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    506776471: (v) => new IFC4X3.IfcNavigationElementType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    4143007308: (v) => new IFC4X3.IfcOccupant(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), v[6]),
    3588315303: (v) => new IFC4X3.IfcOpeningElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2837617999: (v) => new IFC4X3.IfcOutletType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    514975943: (v) => new IFC4X3.IfcPavementType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2382730787: (v) => new IFC4X3.IfcPerformanceHistory(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7]),
    3566463478: (v) => new IFC4X3.IfcPermeableCoveringProperties(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4], v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 3, v[8])),
    3327091369: (v) => new IFC4X3.IfcPermit(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), v[6], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcText((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1158309216: (v) => new IFC4X3.IfcPileType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    804291784: (v) => new IFC4X3.IfcPipeFittingType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    4231323485: (v) => new IFC4X3.IfcPipeSegmentType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    4017108033: (v) => new IFC4X3.IfcPlateType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2839578677: (v) => new IFC4X3.IfcPolygonalFaceSet(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new IFC4X3.IfcBoolean((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcPositiveInteger(p.value) : null) || []),
    3724593414: (v) => new IFC4X3.IfcPolyline(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    3740093272: (v) => new IFC4X3.IfcPort(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6])),
    1946335990: (v) => new IFC4X3.IfcPositioningElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6])),
    2744685151: (v) => new IFC4X3.IfcProcedure(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7]),
    2904328755: (v) => new IFC4X3.IfcProjectOrder(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), v[6], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcText((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    3651124850: (v) => new IFC4X3.IfcProjectionElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1842657554: (v) => new IFC4X3.IfcProtectiveDeviceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2250791053: (v) => new IFC4X3.IfcPumpType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1763565496: (v) => new IFC4X3.IfcRailType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2893384427: (v) => new IFC4X3.IfcRailingType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3992365140: (v) => new IFC4X3.IfcRailway(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], v[9]),
    1891881377: (v) => new IFC4X3.IfcRailwayPart(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], v[9], v[10]),
    2324767716: (v) => new IFC4X3.IfcRampFlightType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1469900589: (v) => new IFC4X3.IfcRampType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    683857671: (v) => new IFC4X3.IfcRationalBSplineSurfaceWithKnots(new IFC4X3.IfcInteger((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), new IFC4X3.IfcInteger((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), v[2]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new Handle(p2.value, 3, p2) : null) || []), v[3], new IFC4X3.IfcLogical((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), new IFC4X3.IfcLogical((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcLogical((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcInteger(p.value) : null) || [], v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcInteger(p.value) : null) || [], v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcParameterValue(p.value) : null) || [], v[10]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcParameterValue(p.value) : null) || [], v[11], v[12]?.map((p) => p?.map((p2) => (p2?.value ?? void 0) !== void 0 && p2?.value !== "" ? new IFC4X3.IfcReal(p2.value) : null) || [])),
    4021432810: (v) => new IFC4X3.IfcReferent(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), v[7]),
    3027567501: (v) => new IFC4X3.IfcReinforcingElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    964333572: (v) => new IFC4X3.IfcReinforcingElementType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    2320036040: (v) => new IFC4X3.IfcReinforcingMesh(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC4X3.IfcAreaMeasure((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC4X3.IfcAreaMeasure((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value), (v[15] ?? void 0) === void 0 || v[15] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[15] ?? void 0) === void 0 || v[15] === "" ? null : v[15].value), (v[16] ?? void 0) === void 0 || v[16] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[16] ?? void 0) === void 0 || v[16] === "" ? null : v[16].value), v[17]),
    2310774935: (v) => new IFC4X3.IfcReinforcingMeshType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC4X3.IfcAreaMeasure((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value), (v[15] ?? void 0) === void 0 || v[15] === "" ? null : new IFC4X3.IfcAreaMeasure((v[15] ?? void 0) === void 0 || v[15] === "" ? null : v[15].value), (v[16] ?? void 0) === void 0 || v[16] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[16] ?? void 0) === void 0 || v[16] === "" ? null : v[16].value), (v[17] ?? void 0) === void 0 || v[17] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[17] ?? void 0) === void 0 || v[17] === "" ? null : v[17].value), (v[18] ?? void 0) === void 0 || v[18] === "" ? null : new IFC4X3.IfcLabel((v[18] ?? void 0) === void 0 || v[18] === "" ? null : v[18].value), (v[19] ?? void 0) === void 0 || v[19] === "" ? null : v[19]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(3, p) : null) || []),
    3818125796: (v) => new IFC4X3.IfcRelAdheresToElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    160246688: (v) => new IFC4X3.IfcRelAggregates(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new Handle((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value, 3, v[4]), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || []),
    146592293: (v) => new IFC4X3.IfcRoad(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], v[9]),
    550521510: (v) => new IFC4X3.IfcRoadPart(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], v[9], v[10]),
    2781568857: (v) => new IFC4X3.IfcRoofType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1768891740: (v) => new IFC4X3.IfcSanitaryTerminalType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2157484638: (v) => new IFC4X3.IfcSeamCurve(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], v[2]),
    3649235739: (v) => new IFC4X3.IfcSecondOrderPolynomialSpiral(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    544395925: (v) => new IFC4X3.IfcSegmentedReferenceCurve(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new IFC4X3.IfcLogical((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), new Handle((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value, 3, v[2]), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new Handle((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value, 3, v[3])),
    1027922057: (v) => new IFC4X3.IfcSeventhOrderPolynomialSpiral(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLengthMeasure((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcLengthMeasure((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcLengthMeasure((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    4074543187: (v) => new IFC4X3.IfcShadingDeviceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    33720170: (v) => new IFC4X3.IfcSign(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3599934289: (v) => new IFC4X3.IfcSignType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1894708472: (v) => new IFC4X3.IfcSignalType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    42703149: (v) => new IFC4X3.IfcSineSpiral(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLengthMeasure((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcLengthMeasure((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value)),
    4097777520: (v) => new IFC4X3.IfcSite(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcCompoundPlaneAngleMeasure(v[9].map((x) => x.value)), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcCompoundPlaneAngleMeasure(v[10].map((x) => x.value)), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4X3.IfcLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4X3.IfcLabel((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new Handle((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value, 3, v[13])),
    2533589738: (v) => new IFC4X3.IfcSlabType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1072016465: (v) => new IFC4X3.IfcSolarDeviceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3856911033: (v) => new IFC4X3.IfcSpace(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value)),
    1305183839: (v) => new IFC4X3.IfcSpaceHeaterType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3812236995: (v) => new IFC4X3.IfcSpaceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcLabel((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value)),
    3112655638: (v) => new IFC4X3.IfcStackTerminalType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1039846685: (v) => new IFC4X3.IfcStairFlightType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    338393293: (v) => new IFC4X3.IfcStairType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    682877961: (v) => new IFC4X3.IfcStructuralAction(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcBoolean((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    1179482911: (v) => new IFC4X3.IfcStructuralConnection(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7])),
    1004757350: (v) => new IFC4X3.IfcStructuralCurveAction(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcBoolean((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), v[10], v[11]),
    4243806635: (v) => new IFC4X3.IfcStructuralCurveConnection(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 3, v[8])),
    214636428: (v) => new IFC4X3.IfcStructuralCurveMember(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), v[7], new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 3, v[8])),
    2445595289: (v) => new IFC4X3.IfcStructuralCurveMemberVarying(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), v[7], new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 3, v[8])),
    2757150158: (v) => new IFC4X3.IfcStructuralCurveReaction(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), v[8], v[9]),
    1807405624: (v) => new IFC4X3.IfcStructuralLinearAction(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcBoolean((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), v[10], v[11]),
    1252848954: (v) => new IFC4X3.IfcStructuralLoadGroup(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], v[6], v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcRatioMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcLabel((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    2082059205: (v) => new IFC4X3.IfcStructuralPointAction(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcBoolean((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value)),
    734778138: (v) => new IFC4X3.IfcStructuralPointConnection(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 3, v[8])),
    1235345126: (v) => new IFC4X3.IfcStructuralPointReaction(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), v[8]),
    2986769608: (v) => new IFC4X3.IfcStructuralResultGroup(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), new IFC4X3.IfcBoolean((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3657597509: (v) => new IFC4X3.IfcStructuralSurfaceAction(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcBoolean((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), v[10], v[11]),
    1975003073: (v) => new IFC4X3.IfcStructuralSurfaceConnection(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7])),
    148013059: (v) => new IFC4X3.IfcSubContractResource(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 3, v[9]), v[10]),
    3101698114: (v) => new IFC4X3.IfcSurfaceFeature(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2315554128: (v) => new IFC4X3.IfcSwitchingDeviceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2254336722: (v) => new IFC4X3.IfcSystem(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    413509423: (v) => new IFC4X3.IfcSystemFurnitureElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    5716631: (v) => new IFC4X3.IfcTankType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3824725483: (v) => new IFC4X3.IfcTendon(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4X3.IfcAreaMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4X3.IfcForceMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new IFC4X3.IfcPressureMeasure((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value), (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC4X3.IfcNormalisedRatioMeasure((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value), (v[15] ?? void 0) === void 0 || v[15] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[15] ?? void 0) === void 0 || v[15] === "" ? null : v[15].value), (v[16] ?? void 0) === void 0 || v[16] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[16] ?? void 0) === void 0 || v[16] === "" ? null : v[16].value)),
    2347447852: (v) => new IFC4X3.IfcTendonAnchor(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3081323446: (v) => new IFC4X3.IfcTendonAnchorType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3663046924: (v) => new IFC4X3.IfcTendonConduit(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2281632017: (v) => new IFC4X3.IfcTendonConduitType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2415094496: (v) => new IFC4X3.IfcTendonType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4X3.IfcAreaMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value)),
    618700268: (v) => new IFC4X3.IfcTrackElementType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1692211062: (v) => new IFC4X3.IfcTransformerType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2097647324: (v) => new IFC4X3.IfcTransportElementType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1953115116: (v) => new IFC4X3.IfcTransportationDevice(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3593883385: (v) => new IFC4X3.IfcTrimmedCurve(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], v[2]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new IFC4X3.IfcBoolean((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), v[4]),
    1600972822: (v) => new IFC4X3.IfcTubeBundleType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1911125066: (v) => new IFC4X3.IfcUnitaryEquipmentType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    728799441: (v) => new IFC4X3.IfcValveType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    840318589: (v) => new IFC4X3.IfcVehicle(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1530820697: (v) => new IFC4X3.IfcVibrationDamper(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3956297820: (v) => new IFC4X3.IfcVibrationDamperType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2391383451: (v) => new IFC4X3.IfcVibrationIsolator(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3313531582: (v) => new IFC4X3.IfcVibrationIsolatorType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2769231204: (v) => new IFC4X3.IfcVirtualElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    926996030: (v) => new IFC4X3.IfcVoidingFeature(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1898987631: (v) => new IFC4X3.IfcWallType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1133259667: (v) => new IFC4X3.IfcWasteTerminalType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    4009809668: (v) => new IFC4X3.IfcWindowType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], v[10], (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4X3.IfcBoolean((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4X3.IfcLabel((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value)),
    4088093105: (v) => new IFC4X3.IfcWorkCalendar(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], v[8]),
    1028945134: (v) => new IFC4X3.IfcWorkControl(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcDateTime((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcDuration((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcDuration((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), new IFC4X3.IfcDateTime((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4X3.IfcDateTime((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value)),
    4218914973: (v) => new IFC4X3.IfcWorkPlan(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcDateTime((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcDuration((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcDuration((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), new IFC4X3.IfcDateTime((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4X3.IfcDateTime((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), v[13]),
    3342526732: (v) => new IFC4X3.IfcWorkSchedule(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), new IFC4X3.IfcDateTime((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcDuration((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcDuration((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), new IFC4X3.IfcDateTime((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4X3.IfcDateTime((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), v[13]),
    1033361043: (v) => new IFC4X3.IfcZone(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value)),
    3821786052: (v) => new IFC4X3.IfcActionRequest(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), v[6], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcText((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1411407467: (v) => new IFC4X3.IfcAirTerminalBoxType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3352864051: (v) => new IFC4X3.IfcAirTerminalType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1871374353: (v) => new IFC4X3.IfcAirToAirHeatRecoveryType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    4266260250: (v) => new IFC4X3.IfcAlignmentCant(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), new IFC4X3.IfcPositiveLengthMeasure((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    1545765605: (v) => new IFC4X3.IfcAlignmentHorizontal(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6])),
    317615605: (v) => new IFC4X3.IfcAlignmentSegment(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7])),
    1662888072: (v) => new IFC4X3.IfcAlignmentVertical(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6])),
    3460190687: (v) => new IFC4X3.IfcAsset(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new Handle((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value, 3, v[8]), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 3, v[9]), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new Handle((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value, 3, v[10]), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new Handle((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value, 3, v[11]), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4X3.IfcDate((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), (v[13] ?? void 0) === void 0 || v[13] === "" ? null : new Handle((v[13] ?? void 0) === void 0 || v[13] === "" ? null : v[13].value, 3, v[13])),
    1532957894: (v) => new IFC4X3.IfcAudioVisualApplianceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1967976161: (v) => new IFC4X3.IfcBSplineCurve(new IFC4X3.IfcInteger((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], v[2], new IFC4X3.IfcLogical((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4X3.IfcLogical((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value)),
    2461110595: (v) => new IFC4X3.IfcBSplineCurveWithKnots(new IFC4X3.IfcInteger((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], v[2], new IFC4X3.IfcLogical((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4X3.IfcLogical((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcInteger(p.value) : null) || [], v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcParameterValue(p.value) : null) || [], v[7]),
    819618141: (v) => new IFC4X3.IfcBeamType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3649138523: (v) => new IFC4X3.IfcBearingType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    231477066: (v) => new IFC4X3.IfcBoilerType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1136057603: (v) => new IFC4X3.IfcBoundaryCurve(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new IFC4X3.IfcLogical((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    644574406: (v) => new IFC4X3.IfcBridge(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], v[9]),
    963979645: (v) => new IFC4X3.IfcBridgePart(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], v[9], v[10]),
    4031249490: (v) => new IFC4X3.IfcBuilding(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new Handle((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value, 3, v[11])),
    2979338954: (v) => new IFC4X3.IfcBuildingElementPart(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    39481116: (v) => new IFC4X3.IfcBuildingElementPartType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1909888760: (v) => new IFC4X3.IfcBuildingElementProxyType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1177604601: (v) => new IFC4X3.IfcBuildingSystem(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    1876633798: (v) => new IFC4X3.IfcBuiltElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3862327254: (v) => new IFC4X3.IfcBuiltSystem(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcLabel((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value)),
    2188180465: (v) => new IFC4X3.IfcBurnerType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    395041908: (v) => new IFC4X3.IfcCableCarrierFittingType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3293546465: (v) => new IFC4X3.IfcCableCarrierSegmentType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2674252688: (v) => new IFC4X3.IfcCableFittingType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1285652485: (v) => new IFC4X3.IfcCableSegmentType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3203706013: (v) => new IFC4X3.IfcCaissonFoundationType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2951183804: (v) => new IFC4X3.IfcChillerType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3296154744: (v) => new IFC4X3.IfcChimney(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2611217952: (v) => new IFC4X3.IfcCircle(new Handle((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value, 3, v[0]), new IFC4X3.IfcPositiveLengthMeasure((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    1677625105: (v) => new IFC4X3.IfcCivilElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2301859152: (v) => new IFC4X3.IfcCoilType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    843113511: (v) => new IFC4X3.IfcColumn(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    400855858: (v) => new IFC4X3.IfcCommunicationsApplianceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3850581409: (v) => new IFC4X3.IfcCompressorType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2816379211: (v) => new IFC4X3.IfcCondenserType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3898045240: (v) => new IFC4X3.IfcConstructionEquipmentResource(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 3, v[9]), v[10]),
    1060000209: (v) => new IFC4X3.IfcConstructionMaterialResource(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 3, v[9]), v[10]),
    488727124: (v) => new IFC4X3.IfcConstructionProductResource(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcIdentifier((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new IFC4X3.IfcText((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 3, v[9]), v[10]),
    2940368186: (v) => new IFC4X3.IfcConveyorSegmentType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    335055490: (v) => new IFC4X3.IfcCooledBeamType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2954562838: (v) => new IFC4X3.IfcCoolingTowerType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1502416096: (v) => new IFC4X3.IfcCourse(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1973544240: (v) => new IFC4X3.IfcCovering(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3495092785: (v) => new IFC4X3.IfcCurtainWall(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3961806047: (v) => new IFC4X3.IfcDamperType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3426335179: (v) => new IFC4X3.IfcDeepFoundation(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    1335981549: (v) => new IFC4X3.IfcDiscreteAccessory(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2635815018: (v) => new IFC4X3.IfcDiscreteAccessoryType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    479945903: (v) => new IFC4X3.IfcDistributionBoardType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1599208980: (v) => new IFC4X3.IfcDistributionChamberElementType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2063403501: (v) => new IFC4X3.IfcDistributionControlElementType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value)),
    1945004755: (v) => new IFC4X3.IfcDistributionElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3040386961: (v) => new IFC4X3.IfcDistributionFlowElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3041715199: (v) => new IFC4X3.IfcDistributionPort(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), v[7], v[8], v[9]),
    3205830791: (v) => new IFC4X3.IfcDistributionSystem(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), v[6]),
    395920057: (v) => new IFC4X3.IfcDoor(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), v[10], v[11], (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4X3.IfcLabel((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value)),
    869906466: (v) => new IFC4X3.IfcDuctFittingType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3760055223: (v) => new IFC4X3.IfcDuctSegmentType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2030761528: (v) => new IFC4X3.IfcDuctSilencerType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3071239417: (v) => new IFC4X3.IfcEarthworksCut(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1077100507: (v) => new IFC4X3.IfcEarthworksElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3376911765: (v) => new IFC4X3.IfcEarthworksFill(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    663422040: (v) => new IFC4X3.IfcElectricApplianceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2417008758: (v) => new IFC4X3.IfcElectricDistributionBoardType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3277789161: (v) => new IFC4X3.IfcElectricFlowStorageDeviceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2142170206: (v) => new IFC4X3.IfcElectricFlowTreatmentDeviceType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1534661035: (v) => new IFC4X3.IfcElectricGeneratorType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1217240411: (v) => new IFC4X3.IfcElectricMotorType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    712377611: (v) => new IFC4X3.IfcElectricTimeControlType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1658829314: (v) => new IFC4X3.IfcEnergyConversionDevice(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2814081492: (v) => new IFC4X3.IfcEngine(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3747195512: (v) => new IFC4X3.IfcEvaporativeCooler(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    484807127: (v) => new IFC4X3.IfcEvaporator(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1209101575: (v) => new IFC4X3.IfcExternalSpatialElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    346874300: (v) => new IFC4X3.IfcFanType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1810631287: (v) => new IFC4X3.IfcFilterType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    4222183408: (v) => new IFC4X3.IfcFireSuppressionTerminalType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2058353004: (v) => new IFC4X3.IfcFlowController(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    4278956645: (v) => new IFC4X3.IfcFlowFitting(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    4037862832: (v) => new IFC4X3.IfcFlowInstrumentType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    2188021234: (v) => new IFC4X3.IfcFlowMeter(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3132237377: (v) => new IFC4X3.IfcFlowMovingDevice(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    987401354: (v) => new IFC4X3.IfcFlowSegment(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    707683696: (v) => new IFC4X3.IfcFlowStorageDevice(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2223149337: (v) => new IFC4X3.IfcFlowTerminal(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3508470533: (v) => new IFC4X3.IfcFlowTreatmentDevice(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    900683007: (v) => new IFC4X3.IfcFooting(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2713699986: (v) => new IFC4X3.IfcGeotechnicalAssembly(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    3009204131: (v) => new IFC4X3.IfcGrid(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], v[10]),
    3319311131: (v) => new IFC4X3.IfcHeatExchanger(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2068733104: (v) => new IFC4X3.IfcHumidifier(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    4175244083: (v) => new IFC4X3.IfcInterceptor(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2176052936: (v) => new IFC4X3.IfcJunctionBox(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2696325953: (v) => new IFC4X3.IfcKerb(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    76236018: (v) => new IFC4X3.IfcLamp(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    629592764: (v) => new IFC4X3.IfcLightFixture(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1154579445: (v) => new IFC4X3.IfcLinearPositioningElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6])),
    1638804497: (v) => new IFC4X3.IfcLiquidTerminal(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1437502449: (v) => new IFC4X3.IfcMedicalDevice(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1073191201: (v) => new IFC4X3.IfcMember(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2078563270: (v) => new IFC4X3.IfcMobileTelecommunicationsAppliance(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    234836483: (v) => new IFC4X3.IfcMooringDevice(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2474470126: (v) => new IFC4X3.IfcMotorConnection(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2182337498: (v) => new IFC4X3.IfcNavigationElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    144952367: (v) => new IFC4X3.IfcOuterBoundaryCurve(v[0]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], new IFC4X3.IfcLogical((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value)),
    3694346114: (v) => new IFC4X3.IfcOutlet(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1383356374: (v) => new IFC4X3.IfcPavement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1687234759: (v) => new IFC4X3.IfcPile(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8], v[9]),
    310824031: (v) => new IFC4X3.IfcPipeFitting(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3612865200: (v) => new IFC4X3.IfcPipeSegment(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3171933400: (v) => new IFC4X3.IfcPlate(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    738039164: (v) => new IFC4X3.IfcProtectiveDevice(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    655969474: (v) => new IFC4X3.IfcProtectiveDeviceTrippingUnitType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    90941305: (v) => new IFC4X3.IfcPump(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3290496277: (v) => new IFC4X3.IfcRail(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2262370178: (v) => new IFC4X3.IfcRailing(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3024970846: (v) => new IFC4X3.IfcRamp(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3283111854: (v) => new IFC4X3.IfcRampFlight(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1232101972: (v) => new IFC4X3.IfcRationalBSplineCurveWithKnots(new IFC4X3.IfcInteger((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), v[1]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], v[2], new IFC4X3.IfcLogical((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), new IFC4X3.IfcLogical((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcInteger(p.value) : null) || [], v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcParameterValue(p.value) : null) || [], v[7], v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcReal(p.value) : null) || []),
    3798194928: (v) => new IFC4X3.IfcReinforcedSoil(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    979691226: (v) => new IFC4X3.IfcReinforcingBar(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcAreaMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), v[12], v[13]),
    2572171363: (v) => new IFC4X3.IfcReinforcingBarType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9], (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4X3.IfcAreaMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value), v[13], (v[14] ?? void 0) === void 0 || v[14] === "" ? null : new IFC4X3.IfcLabel((v[14] ?? void 0) === void 0 || v[14] === "" ? null : v[14].value), (v[15] ?? void 0) === void 0 || v[15] === "" ? null : v[15]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? TypeInitialiser(3, p) : null) || []),
    2016517767: (v) => new IFC4X3.IfcRoof(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3053780830: (v) => new IFC4X3.IfcSanitaryTerminal(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1783015770: (v) => new IFC4X3.IfcSensorType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1329646415: (v) => new IFC4X3.IfcShadingDevice(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    991950508: (v) => new IFC4X3.IfcSignal(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1529196076: (v) => new IFC4X3.IfcSlab(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3420628829: (v) => new IFC4X3.IfcSolarDevice(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1999602285: (v) => new IFC4X3.IfcSpaceHeater(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1404847402: (v) => new IFC4X3.IfcStackTerminal(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    331165859: (v) => new IFC4X3.IfcStair(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    4252922144: (v) => new IFC4X3.IfcStairFlight(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcInteger((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcInteger((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10].value), (v[11] ?? void 0) === void 0 || v[11] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[11] ?? void 0) === void 0 || v[11] === "" ? null : v[11].value), v[12]),
    2515109513: (v) => new IFC4X3.IfcStructuralAnalysisModel(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new Handle((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value, 3, v[9])),
    385403989: (v) => new IFC4X3.IfcStructuralLoadCase(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), v[5], v[6], v[7], (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcRatioMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcLabel((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), (v[10] ?? void 0) === void 0 || v[10] === "" ? null : v[10]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new IFC4X3.IfcRatioMeasure(p.value) : null) || []),
    1621171031: (v) => new IFC4X3.IfcStructuralPlanarAction(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), new Handle((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value, 3, v[7]), v[8], (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcBoolean((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), v[10], v[11]),
    1162798199: (v) => new IFC4X3.IfcSwitchingDevice(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    812556717: (v) => new IFC4X3.IfcTank(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3425753595: (v) => new IFC4X3.IfcTrackElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3825984169: (v) => new IFC4X3.IfcTransformer(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1620046519: (v) => new IFC4X3.IfcTransportElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3026737570: (v) => new IFC4X3.IfcTubeBundle(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3179687236: (v) => new IFC4X3.IfcUnitaryControlElementType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    4292641817: (v) => new IFC4X3.IfcUnitaryEquipment(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    4207607924: (v) => new IFC4X3.IfcValve(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2391406946: (v) => new IFC4X3.IfcWall(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3512223829: (v) => new IFC4X3.IfcWallStandardCase(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    4237592921: (v) => new IFC4X3.IfcWasteTerminal(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3304561284: (v) => new IFC4X3.IfcWindow(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), (v[9] ?? void 0) === void 0 || v[9] === "" ? null : new IFC4X3.IfcPositiveLengthMeasure((v[9] ?? void 0) === void 0 || v[9] === "" ? null : v[9].value), v[10], v[11], (v[12] ?? void 0) === void 0 || v[12] === "" ? null : new IFC4X3.IfcLabel((v[12] ?? void 0) === void 0 || v[12] === "" ? null : v[12].value)),
    2874132201: (v) => new IFC4X3.IfcActuatorType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    1634111441: (v) => new IFC4X3.IfcAirTerminal(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    177149247: (v) => new IFC4X3.IfcAirTerminalBox(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2056796094: (v) => new IFC4X3.IfcAirToAirHeatRecovery(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3001207471: (v) => new IFC4X3.IfcAlarmType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    325726236: (v) => new IFC4X3.IfcAlignment(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), v[7]),
    277319702: (v) => new IFC4X3.IfcAudioVisualAppliance(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    753842376: (v) => new IFC4X3.IfcBeam(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    4196446775: (v) => new IFC4X3.IfcBearing(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    32344328: (v) => new IFC4X3.IfcBoiler(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3314249567: (v) => new IFC4X3.IfcBorehole(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    1095909175: (v) => new IFC4X3.IfcBuildingElementProxy(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2938176219: (v) => new IFC4X3.IfcBurner(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    635142910: (v) => new IFC4X3.IfcCableCarrierFitting(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3758799889: (v) => new IFC4X3.IfcCableCarrierSegment(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1051757585: (v) => new IFC4X3.IfcCableFitting(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    4217484030: (v) => new IFC4X3.IfcCableSegment(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3999819293: (v) => new IFC4X3.IfcCaissonFoundation(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3902619387: (v) => new IFC4X3.IfcChiller(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    639361253: (v) => new IFC4X3.IfcCoil(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3221913625: (v) => new IFC4X3.IfcCommunicationsAppliance(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3571504051: (v) => new IFC4X3.IfcCompressor(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2272882330: (v) => new IFC4X3.IfcCondenser(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    578613899: (v) => new IFC4X3.IfcControllerType(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcIdentifier((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6]?.map((p) => (p?.value ?? void 0) !== void 0 && p?.value !== "" ? new Handle(p.value, 3, p) : null) || [], (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcLabel((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), (v[8] ?? void 0) === void 0 || v[8] === "" ? null : new IFC4X3.IfcLabel((v[8] ?? void 0) === void 0 || v[8] === "" ? null : v[8].value), v[9]),
    3460952963: (v) => new IFC4X3.IfcConveyorSegment(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    4136498852: (v) => new IFC4X3.IfcCooledBeam(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3640358203: (v) => new IFC4X3.IfcCoolingTower(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    4074379575: (v) => new IFC4X3.IfcDamper(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3693000487: (v) => new IFC4X3.IfcDistributionBoard(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1052013943: (v) => new IFC4X3.IfcDistributionChamberElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    562808652: (v) => new IFC4X3.IfcDistributionCircuit(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new IFC4X3.IfcLabel((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value), v[6]),
    1062813311: (v) => new IFC4X3.IfcDistributionControlElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    342316401: (v) => new IFC4X3.IfcDuctFitting(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3518393246: (v) => new IFC4X3.IfcDuctSegment(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1360408905: (v) => new IFC4X3.IfcDuctSilencer(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1904799276: (v) => new IFC4X3.IfcElectricAppliance(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    862014818: (v) => new IFC4X3.IfcElectricDistributionBoard(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3310460725: (v) => new IFC4X3.IfcElectricFlowStorageDevice(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    24726584: (v) => new IFC4X3.IfcElectricFlowTreatmentDevice(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    264262732: (v) => new IFC4X3.IfcElectricGenerator(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    402227799: (v) => new IFC4X3.IfcElectricMotor(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1003880860: (v) => new IFC4X3.IfcElectricTimeControl(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3415622556: (v) => new IFC4X3.IfcFan(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    819412036: (v) => new IFC4X3.IfcFilter(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    1426591983: (v) => new IFC4X3.IfcFireSuppressionTerminal(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    182646315: (v) => new IFC4X3.IfcFlowInstrument(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    2680139844: (v) => new IFC4X3.IfcGeomodel(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    1971632696: (v) => new IFC4X3.IfcGeoslice(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value)),
    2295281155: (v) => new IFC4X3.IfcProtectiveDeviceTrippingUnit(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    4086658281: (v) => new IFC4X3.IfcSensor(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    630975310: (v) => new IFC4X3.IfcUnitaryControlElement(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    4288193352: (v) => new IFC4X3.IfcActuator(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    3087945054: (v) => new IFC4X3.IfcAlarm(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8]),
    25142252: (v) => new IFC4X3.IfcController(new IFC4X3.IfcGloballyUniqueId((v[0] ?? void 0) === void 0 || v[0] === "" ? null : v[0].value), (v[1] ?? void 0) === void 0 || v[1] === "" ? null : new Handle((v[1] ?? void 0) === void 0 || v[1] === "" ? null : v[1].value, 3, v[1]), (v[2] ?? void 0) === void 0 || v[2] === "" ? null : new IFC4X3.IfcLabel((v[2] ?? void 0) === void 0 || v[2] === "" ? null : v[2].value), (v[3] ?? void 0) === void 0 || v[3] === "" ? null : new IFC4X3.IfcText((v[3] ?? void 0) === void 0 || v[3] === "" ? null : v[3].value), (v[4] ?? void 0) === void 0 || v[4] === "" ? null : new IFC4X3.IfcLabel((v[4] ?? void 0) === void 0 || v[4] === "" ? null : v[4].value), (v[5] ?? void 0) === void 0 || v[5] === "" ? null : new Handle((v[5] ?? void 0) === void 0 || v[5] === "" ? null : v[5].value, 3, v[5]), (v[6] ?? void 0) === void 0 || v[6] === "" ? null : new Handle((v[6] ?? void 0) === void 0 || v[6] === "" ? null : v[6].value, 3, v[6]), (v[7] ?? void 0) === void 0 || v[7] === "" ? null : new IFC4X3.IfcIdentifier((v[7] ?? void 0) === void 0 || v[7] === "" ? null : v[7].value), v[8])
  };
  InheritanceDef[3] = {
    618182010: [IFCTELECOMADDRESS, IFCPOSTALADDRESS],
    2879124712: [IFCALIGNMENTHORIZONTALSEGMENT, IFCALIGNMENTCANTSEGMENT, IFCALIGNMENTVERTICALSEGMENT],
    411424972: [IFCCOSTVALUE],
    4037036970: [IFCBOUNDARYNODECONDITIONWARPING, IFCBOUNDARYNODECONDITION, IFCBOUNDARYFACECONDITION, IFCBOUNDARYEDGECONDITION],
    1387855156: [IFCBOUNDARYNODECONDITIONWARPING],
    2859738748: [IFCCONNECTIONCURVEGEOMETRY, IFCCONNECTIONVOLUMEGEOMETRY, IFCCONNECTIONSURFACEGEOMETRY, IFCCONNECTIONPOINTECCENTRICITY, IFCCONNECTIONPOINTGEOMETRY],
    2614616156: [IFCCONNECTIONPOINTECCENTRICITY],
    1959218052: [IFCOBJECTIVE, IFCMETRIC],
    1785450214: [IFCRIGIDOPERATION, IFCMAPCONVERSIONSCALED, IFCMAPCONVERSION],
    1466758467: [IFCPROJECTEDCRS, IFCGEOGRAPHICCRS],
    4294318154: [IFCDOCUMENTINFORMATION, IFCCLASSIFICATION, IFCLIBRARYINFORMATION],
    3200245327: [IFCDOCUMENTREFERENCE, IFCCLASSIFICATIONREFERENCE, IFCLIBRARYREFERENCE, IFCEXTERNALLYDEFINEDTEXTFONT, IFCEXTERNALLYDEFINEDSURFACESTYLE, IFCEXTERNALLYDEFINEDHATCHSTYLE],
    3057273783: [IFCMAPCONVERSIONSCALED],
    760658860: [IFCMATERIALCONSTITUENTSET, IFCMATERIALCONSTITUENT, IFCMATERIAL, IFCMATERIALPROFILESET, IFCMATERIALPROFILEWITHOFFSETS, IFCMATERIALPROFILE, IFCMATERIALLAYERSET, IFCMATERIALLAYERWITHOFFSETS, IFCMATERIALLAYER],
    248100487: [IFCMATERIALLAYERWITHOFFSETS],
    2235152071: [IFCMATERIALPROFILEWITHOFFSETS],
    1507914824: [IFCMATERIALPROFILESETUSAGETAPERING, IFCMATERIALPROFILESETUSAGE, IFCMATERIALLAYERSETUSAGE],
    1918398963: [IFCCONVERSIONBASEDUNITWITHOFFSET, IFCCONVERSIONBASEDUNIT, IFCCONTEXTDEPENDENTUNIT, IFCSIUNIT],
    3701648758: [IFCLOCALPLACEMENT, IFCLINEARPLACEMENT, IFCGRIDPLACEMENT],
    2483315170: [IFCPHYSICALCOMPLEXQUANTITY, IFCQUANTITYWEIGHT, IFCQUANTITYVOLUME, IFCQUANTITYTIME, IFCQUANTITYNUMBER, IFCQUANTITYLENGTH, IFCQUANTITYCOUNT, IFCQUANTITYAREA, IFCPHYSICALSIMPLEQUANTITY],
    2226359599: [IFCQUANTITYWEIGHT, IFCQUANTITYVOLUME, IFCQUANTITYTIME, IFCQUANTITYNUMBER, IFCQUANTITYLENGTH, IFCQUANTITYCOUNT, IFCQUANTITYAREA],
    677532197: [IFCDRAUGHTINGPREDEFINEDCURVEFONT, IFCPREDEFINEDCURVEFONT, IFCDRAUGHTINGPREDEFINEDCOLOUR, IFCPREDEFINEDCOLOUR, IFCTEXTSTYLEFONTMODEL, IFCPREDEFINEDTEXTFONT, IFCPREDEFINEDITEM, IFCINDEXEDCOLOURMAP, IFCCURVESTYLEFONTPATTERN, IFCCURVESTYLEFONTANDSCALING, IFCCURVESTYLEFONT, IFCCOLOURRGB, IFCCOLOURSPECIFICATION, IFCCOLOURRGBLIST, IFCTEXTUREVERTEXLIST, IFCTEXTUREVERTEX, IFCINDEXEDPOLYGONALTEXTUREMAP, IFCINDEXEDTRIANGLETEXTUREMAP, IFCINDEXEDTEXTUREMAP, IFCTEXTUREMAP, IFCTEXTURECOORDINATEGENERATOR, IFCTEXTURECOORDINATE, IFCTEXTSTYLETEXTMODEL, IFCTEXTSTYLEFORDEFINEDFONT, IFCPIXELTEXTURE, IFCIMAGETEXTURE, IFCBLOBTEXTURE, IFCSURFACETEXTURE, IFCSURFACESTYLEWITHTEXTURES, IFCSURFACESTYLERENDERING, IFCSURFACESTYLESHADING, IFCSURFACESTYLEREFRACTION, IFCSURFACESTYLELIGHTING],
    2022622350: [IFCPRESENTATIONLAYERWITHSTYLE],
    3119450353: [IFCFILLAREASTYLE, IFCCURVESTYLE, IFCTEXTSTYLE, IFCSURFACESTYLE],
    2095639259: [IFCPRODUCTDEFINITIONSHAPE, IFCMATERIALDEFINITIONREPRESENTATION],
    3958567839: [IFCLSHAPEPROFILEDEF, IFCISHAPEPROFILEDEF, IFCELLIPSEPROFILEDEF, IFCCIRCLEHOLLOWPROFILEDEF, IFCCIRCLEPROFILEDEF, IFCCSHAPEPROFILEDEF, IFCASYMMETRICISHAPEPROFILEDEF, IFCZSHAPEPROFILEDEF, IFCUSHAPEPROFILEDEF, IFCTRAPEZIUMPROFILEDEF, IFCTSHAPEPROFILEDEF, IFCRECTANGLEHOLLOWPROFILEDEF, IFCROUNDEDRECTANGLEPROFILEDEF, IFCRECTANGLEPROFILEDEF, IFCPARAMETERIZEDPROFILEDEF, IFCOPENCROSSPROFILEDEF, IFCMIRROREDPROFILEDEF, IFCDERIVEDPROFILEDEF, IFCCOMPOSITEPROFILEDEF, IFCCENTERLINEPROFILEDEF, IFCARBITRARYOPENPROFILEDEF, IFCARBITRARYPROFILEDEFWITHVOIDS, IFCARBITRARYCLOSEDPROFILEDEF],
    986844984: [IFCCOMPLEXPROPERTY, IFCPROPERTYTABLEVALUE, IFCPROPERTYSINGLEVALUE, IFCPROPERTYREFERENCEVALUE, IFCPROPERTYLISTVALUE, IFCPROPERTYENUMERATEDVALUE, IFCPROPERTYBOUNDEDVALUE, IFCSIMPLEPROPERTY, IFCPROPERTY, IFCSECTIONREINFORCEMENTPROPERTIES, IFCSECTIONPROPERTIES, IFCREINFORCEMENTBARPROPERTIES, IFCPREDEFINEDPROPERTIES, IFCPROFILEPROPERTIES, IFCMATERIALPROPERTIES, IFCEXTENDEDPROPERTIES, IFCPROPERTYENUMERATION],
    1076942058: [IFCSTYLEDREPRESENTATION, IFCSTYLEMODEL, IFCTOPOLOGYREPRESENTATION, IFCSHAPEREPRESENTATION, IFCSHAPEMODEL],
    3377609919: [IFCGEOMETRICREPRESENTATIONSUBCONTEXT, IFCGEOMETRICREPRESENTATIONCONTEXT],
    3008791417: [IFCMAPPEDITEM, IFCFILLAREASTYLETILES, IFCFILLAREASTYLEHATCHING, IFCFACEBASEDSURFACEMODEL, IFCDIRECTION, IFCCIRCLE, IFCELLIPSE, IFCCONIC, IFCRATIONALBSPLINECURVEWITHKNOTS, IFCBSPLINECURVEWITHKNOTS, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFCINDEXEDPOLYCURVE, IFCSEGMENTEDREFERENCECURVE, IFCGRADIENTCURVE, IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE, IFCCOMPOSITECURVEONSURFACE, IFCCOMPOSITECURVE, IFCBOUNDEDCURVE, IFCSEAMCURVE, IFCINTERSECTIONCURVE, IFCSURFACECURVE, IFCSINESPIRAL, IFCSEVENTHORDERPOLYNOMIALSPIRAL, IFCSECONDORDERPOLYNOMIALSPIRAL, IFCCOSINESPIRAL, IFCCLOTHOID, IFCTHIRDORDERPOLYNOMIALSPIRAL, IFCSPIRAL, IFCPOLYNOMIALCURVE, IFCPCURVE, IFCOFFSETCURVEBYDISTANCES, IFCOFFSETCURVE3D, IFCOFFSETCURVE2D, IFCOFFSETCURVE, IFCLINE, IFCCURVE, IFCBLOCK, IFCSPHERE, IFCRIGHTCIRCULARCYLINDER, IFCRIGHTCIRCULARCONE, IFCRECTANGULARPYRAMID, IFCCSGPRIMITIVE3D, IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR3D, IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR2D, IFCCARTESIANTRANSFORMATIONOPERATOR, IFCCARTESIANPOINTLIST3D, IFCCARTESIANPOINTLIST2D, IFCCARTESIANPOINTLIST, IFCBOUNDINGBOX, IFCBOOLEANCLIPPINGRESULT, IFCBOOLEANRESULT, IFCANNOTATIONFILLAREA, IFCVECTOR, IFCTEXTLITERALWITHEXTENT, IFCTEXTLITERAL, IFCPOLYGONALFACESET, IFCTRIANGULATEDIRREGULARNETWORK, IFCTRIANGULATEDFACESET, IFCTESSELLATEDFACESET, IFCINDEXEDPOLYGONALFACEWITHVOIDS, IFCINDEXEDPOLYGONALFACE, IFCTESSELLATEDITEM, IFCSECTIONEDSURFACE, IFCCYLINDRICALSURFACE, IFCTOROIDALSURFACE, IFCSPHERICALSURFACE, IFCPLANE, IFCELEMENTARYSURFACE, IFCRATIONALBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACE, IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDSURFACE, IFCCURVEBOUNDEDPLANE, IFCBOUNDEDSURFACE, IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION, IFCSWEPTSURFACE, IFCSURFACE, IFCSECTIONEDSOLIDHORIZONTAL, IFCSECTIONEDSOLID, IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP, IFCADVANCEDBREPWITHVOIDS, IFCADVANCEDBREP, IFCMANIFOLDSOLIDBREP, IFCCSGSOLID, IFCSWEPTDISKSOLIDPOLYGONAL, IFCSWEPTDISKSOLID, IFCREVOLVEDAREASOLIDTAPERED, IFCREVOLVEDAREASOLID, IFCEXTRUDEDAREASOLIDTAPERED, IFCEXTRUDEDAREASOLID, IFCSURFACECURVESWEPTAREASOLID, IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID, IFCFIXEDREFERENCESWEPTAREASOLID, IFCDIRECTRIXCURVESWEPTAREASOLID, IFCSWEPTAREASOLID, IFCSOLIDMODEL, IFCSHELLBASEDSURFACEMODEL, IFCCURVESEGMENT, IFCREPARAMETRISEDCOMPOSITECURVESEGMENT, IFCCOMPOSITECURVESEGMENT, IFCSEGMENT, IFCSECTIONEDSPINE, IFCCARTESIANPOINT, IFCPOINTONSURFACE, IFCPOINTONCURVE, IFCPOINTBYDISTANCEEXPRESSION, IFCPOINT, IFCPLANARBOX, IFCPLANAREXTENT, IFCAXIS2PLACEMENTLINEAR, IFCAXIS2PLACEMENT3D, IFCAXIS2PLACEMENT2D, IFCAXIS1PLACEMENT, IFCPLACEMENT, IFCLIGHTSOURCESPOT, IFCLIGHTSOURCEPOSITIONAL, IFCLIGHTSOURCEGONIOMETRIC, IFCLIGHTSOURCEDIRECTIONAL, IFCLIGHTSOURCEAMBIENT, IFCLIGHTSOURCE, IFCBOXEDHALFSPACE, IFCPOLYGONALBOUNDEDHALFSPACE, IFCHALFSPACESOLID, IFCGEOMETRICCURVESET, IFCGEOMETRICSET, IFCGEOMETRICREPRESENTATIONITEM, IFCPATH, IFCEDGELOOP, IFCVERTEXLOOP, IFCPOLYLOOP, IFCLOOP, IFCFACEOUTERBOUND, IFCFACEBOUND, IFCADVANCEDFACE, IFCFACESURFACE, IFCFACE, IFCSUBEDGE, IFCORIENTEDEDGE, IFCEDGECURVE, IFCEDGE, IFCCLOSEDSHELL, IFCOPENSHELL, IFCCONNECTEDFACESET, IFCVERTEXPOINT, IFCVERTEX, IFCTOPOLOGICALREPRESENTATIONITEM, IFCSTYLEDITEM],
    2439245199: [IFCRESOURCECONSTRAINTRELATIONSHIP, IFCRESOURCEAPPROVALRELATIONSHIP, IFCPROPERTYDEPENDENCYRELATIONSHIP, IFCORGANIZATIONRELATIONSHIP, IFCMATERIALRELATIONSHIP, IFCEXTERNALREFERENCERELATIONSHIP, IFCDOCUMENTINFORMATIONRELATIONSHIP, IFCCURRENCYRELATIONSHIP, IFCAPPROVALRELATIONSHIP],
    2341007311: [IFCRELDEFINESBYTYPE, IFCRELDEFINESBYTEMPLATE, IFCRELDEFINESBYPROPERTIES, IFCRELDEFINESBYOBJECT, IFCRELDEFINES, IFCRELAGGREGATES, IFCRELADHERESTOELEMENT, IFCRELVOIDSELEMENT, IFCRELPROJECTSELEMENT, IFCRELNESTS, IFCRELDECOMPOSES, IFCRELDECLARES, IFCRELSPACEBOUNDARY2NDLEVEL, IFCRELSPACEBOUNDARY1STLEVEL, IFCRELSPACEBOUNDARY, IFCRELSERVICESBUILDINGS, IFCRELSEQUENCE, IFCRELREFERENCEDINSPATIALSTRUCTURE, IFCRELPOSITIONS, IFCRELINTERFERESELEMENTS, IFCRELFLOWCONTROLELEMENTS, IFCRELFILLSELEMENT, IFCRELCOVERSSPACES, IFCRELCOVERSBLDGELEMENTS, IFCRELCONTAINEDINSPATIALSTRUCTURE, IFCRELCONNECTSWITHECCENTRICITY, IFCRELCONNECTSSTRUCTURALMEMBER, IFCRELCONNECTSSTRUCTURALACTIVITY, IFCRELCONNECTSPORTS, IFCRELCONNECTSPORTTOELEMENT, IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS, IFCRELCONNECTSELEMENTS, IFCRELCONNECTS, IFCRELASSOCIATESPROFILEDEF, IFCRELASSOCIATESMATERIAL, IFCRELASSOCIATESLIBRARY, IFCRELASSOCIATESDOCUMENT, IFCRELASSOCIATESCONSTRAINT, IFCRELASSOCIATESCLASSIFICATION, IFCRELASSOCIATESAPPROVAL, IFCRELASSOCIATES, IFCRELASSIGNSTORESOURCE, IFCRELASSIGNSTOPRODUCT, IFCRELASSIGNSTOPROCESS, IFCRELASSIGNSTOGROUPBYFACTOR, IFCRELASSIGNSTOGROUP, IFCRELASSIGNSTOCONTROL, IFCRELASSIGNSTOACTOR, IFCRELASSIGNS, IFCRELATIONSHIP, IFCCOMPLEXPROPERTYTEMPLATE, IFCSIMPLEPROPERTYTEMPLATE, IFCPROPERTYTEMPLATE, IFCPROPERTYSETTEMPLATE, IFCPROPERTYTEMPLATEDEFINITION, IFCPROPERTYSET, IFCPERMEABLECOVERINGPROPERTIES, IFCDOORPANELPROPERTIES, IFCDOORLININGPROPERTIES, IFCWINDOWPANELPROPERTIES, IFCWINDOWLININGPROPERTIES, IFCREINFORCEMENTDEFINITIONPROPERTIES, IFCPREDEFINEDPROPERTYSET, IFCELEMENTQUANTITY, IFCQUANTITYSET, IFCPROPERTYSETDEFINITION, IFCPROPERTYDEFINITION, IFCASSET, IFCSTRUCTURALANALYSISMODEL, IFCDISTRIBUTIONCIRCUIT, IFCDISTRIBUTIONSYSTEM, IFCBUILTSYSTEM, IFCBUILDINGSYSTEM, IFCZONE, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADCASE, IFCSTRUCTURALLOADGROUP, IFCINVENTORY, IFCGROUP, IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCWORKCALENDAR, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCCOSTSCHEDULE, IFCCOSTITEM, IFCCONTROL, IFCOCCUPANT, IFCACTOR, IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE, IFCRESOURCE, IFCALIGNMENT, IFCLINEARPOSITIONINGELEMENT, IFCGRID, IFCREFERENT, IFCPOSITIONINGELEMENT, IFCDISTRIBUTIONPORT, IFCPORT, IFCALIGNMENTVERTICAL, IFCALIGNMENTSEGMENT, IFCALIGNMENTHORIZONTAL, IFCALIGNMENTCANT, IFCLINEARELEMENT, IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCELECTRICFLOWTREATMENTDEVICE, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSIGNAL, IFCSANITARYTERMINAL, IFCOUTLET, IFCMOBILETELECOMMUNICATIONSAPPLIANCE, IFCMEDICALDEVICE, IFCLIQUIDTERMINAL, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCONVEYORSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCCIVILELEMENT, IFCBUILDINGELEMENTPROXY, IFCBEARING, IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCTRACKELEMENT, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCRAIL, IFCPLATE, IFCPAVEMENT, IFCNAVIGATIONELEMENT, IFCMOORINGDEVICE, IFCMEMBER, IFCKERB, IFCFOOTING, IFCREINFORCEDSOIL, IFCEARTHWORKSFILL, IFCEARTHWORKSELEMENT, IFCDOOR, IFCCAISSONFOUNDATION, IFCPILE, IFCDEEPFOUNDATION, IFCCURTAINWALL, IFCCOVERING, IFCCOURSE, IFCCOLUMN, IFCCHIMNEY, IFCBUILTELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCVEHICLE, IFCTRANSPORTATIONDEVICE, IFCGEOSLICE, IFCGEOMODEL, IFCBOREHOLE, IFCGEOTECHNICALASSEMBLY, IFCGEOTECHNICALSTRATUM, IFCGEOTECHNICALELEMENT, IFCGEOGRAPHICELEMENT, IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE, IFCFURNISHINGELEMENT, IFCSURFACEFEATURE, IFCEARTHWORKSCUT, IFCVOIDINGFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCVIBRATIONDAMPER, IFCSIGN, IFCREINFORCINGBAR, IFCTENDONCONDUIT, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCIMPACTPROTECTIONDEVICE, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCEXTERNALSPATIALELEMENT, IFCEXTERNALSPATIALSTRUCTUREELEMENT, IFCSPATIALZONE, IFCSPACE, IFCSITE, IFCBRIDGEPART, IFCROADPART, IFCRAILWAYPART, IFCMARINEPART, IFCFACILITYPARTCOMMON, IFCFACILITYPART, IFCBUILDING, IFCBRIDGE, IFCROAD, IFCRAILWAY, IFCMARINEFACILITY, IFCFACILITY, IFCBUILDINGSTOREY, IFCSPATIALSTRUCTUREELEMENT, IFCSPATIALELEMENT, IFCPRODUCT, IFCPROCEDURE, IFCEVENT, IFCTASK, IFCPROCESS, IFCOBJECT, IFCPROJECTLIBRARY, IFCPROJECT, IFCCONTEXT, IFCCONSTRUCTIONPRODUCTRESOURCETYPE, IFCCONSTRUCTIONMATERIALRESOURCETYPE, IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE, IFCSUBCONTRACTRESOURCETYPE, IFCLABORRESOURCETYPE, IFCCREWRESOURCETYPE, IFCCONSTRUCTIONRESOURCETYPE, IFCTYPERESOURCE, IFCSPATIALZONETYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSPATIALELEMENTTYPE, IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCVIBRATIONDAMPERTYPE, IFCSIGNTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONCONDUITTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCIMPACTPROTECTIONDEVICETYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCELEMENTASSEMBLYTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCELECTRICFLOWTREATMENTDEVICETYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSIGNALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE, IFCMEDICALDEVICETYPE, IFCLIQUIDTERMINALTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCONVEYORSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCCIVILELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEARINGTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCTRACKELEMENTTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCRAILTYPE, IFCPLATETYPE, IFCPAVEMENTTYPE, IFCNAVIGATIONELEMENTTYPE, IFCMOORINGDEVICETYPE, IFCMEMBERTYPE, IFCKERBTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCAISSONFOUNDATIONTYPE, IFCPILETYPE, IFCDEEPFOUNDATIONTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOURSETYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE, IFCBUILTELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCVEHICLETYPE, IFCTRANSPORTATIONDEVICETYPE, IFCGEOGRAPHICELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE, IFCTYPEPRODUCT, IFCTASKTYPE, IFCPROCEDURETYPE, IFCEVENTTYPE, IFCTYPEPROCESS, IFCTYPEOBJECT, IFCOBJECTDEFINITION],
    1054537805: [IFCRESOURCETIME, IFCLAGTIME, IFCEVENTTIME, IFCWORKTIME, IFCTASKTIMERECURRING, IFCTASKTIME],
    3982875396: [IFCTOPOLOGYREPRESENTATION, IFCSHAPEREPRESENTATION],
    2273995522: [IFCSLIPPAGECONNECTIONCONDITION, IFCFAILURECONNECTIONCONDITION],
    2162789131: [IFCSURFACEREINFORCEMENTAREA, IFCSTRUCTURALLOADSINGLEFORCEWARPING, IFCSTRUCTURALLOADSINGLEFORCE, IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION, IFCSTRUCTURALLOADSINGLEDISPLACEMENT, IFCSTRUCTURALLOADPLANARFORCE, IFCSTRUCTURALLOADLINEARFORCE, IFCSTRUCTURALLOADTEMPERATURE, IFCSTRUCTURALLOADSTATIC, IFCSTRUCTURALLOADORRESULT, IFCSTRUCTURALLOADCONFIGURATION],
    609421318: [IFCSURFACEREINFORCEMENTAREA, IFCSTRUCTURALLOADSINGLEFORCEWARPING, IFCSTRUCTURALLOADSINGLEFORCE, IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION, IFCSTRUCTURALLOADSINGLEDISPLACEMENT, IFCSTRUCTURALLOADPLANARFORCE, IFCSTRUCTURALLOADLINEARFORCE, IFCSTRUCTURALLOADTEMPERATURE, IFCSTRUCTURALLOADSTATIC],
    2525727697: [IFCSTRUCTURALLOADSINGLEFORCEWARPING, IFCSTRUCTURALLOADSINGLEFORCE, IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION, IFCSTRUCTURALLOADSINGLEDISPLACEMENT, IFCSTRUCTURALLOADPLANARFORCE, IFCSTRUCTURALLOADLINEARFORCE, IFCSTRUCTURALLOADTEMPERATURE],
    2830218821: [IFCSTYLEDREPRESENTATION],
    846575682: [IFCSURFACESTYLERENDERING],
    626085974: [IFCPIXELTEXTURE, IFCIMAGETEXTURE, IFCBLOBTEXTURE],
    1549132990: [IFCTASKTIMERECURRING],
    280115917: [IFCINDEXEDPOLYGONALTEXTUREMAP, IFCINDEXEDTRIANGLETEXTUREMAP, IFCINDEXEDTEXTUREMAP, IFCTEXTUREMAP, IFCTEXTURECOORDINATEGENERATOR],
    222769930: [IFCTEXTURECOORDINATEINDICESWITHVOIDS],
    3101149627: [IFCREGULARTIMESERIES, IFCIRREGULARTIMESERIES],
    1377556343: [IFCPATH, IFCEDGELOOP, IFCVERTEXLOOP, IFCPOLYLOOP, IFCLOOP, IFCFACEOUTERBOUND, IFCFACEBOUND, IFCADVANCEDFACE, IFCFACESURFACE, IFCFACE, IFCSUBEDGE, IFCORIENTEDEDGE, IFCEDGECURVE, IFCEDGE, IFCCLOSEDSHELL, IFCOPENSHELL, IFCCONNECTEDFACESET, IFCVERTEXPOINT, IFCVERTEX],
    2799835756: [IFCVERTEXPOINT],
    3798115385: [IFCARBITRARYPROFILEDEFWITHVOIDS],
    1310608509: [IFCCENTERLINEPROFILEDEF],
    3264961684: [IFCCOLOURRGB],
    370225590: [IFCCLOSEDSHELL, IFCOPENSHELL],
    2889183280: [IFCCONVERSIONBASEDUNITWITHOFFSET],
    3632507154: [IFCMIRROREDPROFILEDEF],
    3900360178: [IFCSUBEDGE, IFCORIENTEDEDGE, IFCEDGECURVE],
    297599258: [IFCPROFILEPROPERTIES, IFCMATERIALPROPERTIES],
    2556980723: [IFCADVANCEDFACE, IFCFACESURFACE],
    1809719519: [IFCFACEOUTERBOUND],
    3008276851: [IFCADVANCEDFACE],
    3448662350: [IFCGEOMETRICREPRESENTATIONSUBCONTEXT],
    2453401579: [IFCFILLAREASTYLETILES, IFCFILLAREASTYLEHATCHING, IFCFACEBASEDSURFACEMODEL, IFCDIRECTION, IFCCIRCLE, IFCELLIPSE, IFCCONIC, IFCRATIONALBSPLINECURVEWITHKNOTS, IFCBSPLINECURVEWITHKNOTS, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFCINDEXEDPOLYCURVE, IFCSEGMENTEDREFERENCECURVE, IFCGRADIENTCURVE, IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE, IFCCOMPOSITECURVEONSURFACE, IFCCOMPOSITECURVE, IFCBOUNDEDCURVE, IFCSEAMCURVE, IFCINTERSECTIONCURVE, IFCSURFACECURVE, IFCSINESPIRAL, IFCSEVENTHORDERPOLYNOMIALSPIRAL, IFCSECONDORDERPOLYNOMIALSPIRAL, IFCCOSINESPIRAL, IFCCLOTHOID, IFCTHIRDORDERPOLYNOMIALSPIRAL, IFCSPIRAL, IFCPOLYNOMIALCURVE, IFCPCURVE, IFCOFFSETCURVEBYDISTANCES, IFCOFFSETCURVE3D, IFCOFFSETCURVE2D, IFCOFFSETCURVE, IFCLINE, IFCCURVE, IFCBLOCK, IFCSPHERE, IFCRIGHTCIRCULARCYLINDER, IFCRIGHTCIRCULARCONE, IFCRECTANGULARPYRAMID, IFCCSGPRIMITIVE3D, IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR3D, IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR2D, IFCCARTESIANTRANSFORMATIONOPERATOR, IFCCARTESIANPOINTLIST3D, IFCCARTESIANPOINTLIST2D, IFCCARTESIANPOINTLIST, IFCBOUNDINGBOX, IFCBOOLEANCLIPPINGRESULT, IFCBOOLEANRESULT, IFCANNOTATIONFILLAREA, IFCVECTOR, IFCTEXTLITERALWITHEXTENT, IFCTEXTLITERAL, IFCPOLYGONALFACESET, IFCTRIANGULATEDIRREGULARNETWORK, IFCTRIANGULATEDFACESET, IFCTESSELLATEDFACESET, IFCINDEXEDPOLYGONALFACEWITHVOIDS, IFCINDEXEDPOLYGONALFACE, IFCTESSELLATEDITEM, IFCSECTIONEDSURFACE, IFCCYLINDRICALSURFACE, IFCTOROIDALSURFACE, IFCSPHERICALSURFACE, IFCPLANE, IFCELEMENTARYSURFACE, IFCRATIONALBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACE, IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDSURFACE, IFCCURVEBOUNDEDPLANE, IFCBOUNDEDSURFACE, IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION, IFCSWEPTSURFACE, IFCSURFACE, IFCSECTIONEDSOLIDHORIZONTAL, IFCSECTIONEDSOLID, IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP, IFCADVANCEDBREPWITHVOIDS, IFCADVANCEDBREP, IFCMANIFOLDSOLIDBREP, IFCCSGSOLID, IFCSWEPTDISKSOLIDPOLYGONAL, IFCSWEPTDISKSOLID, IFCREVOLVEDAREASOLIDTAPERED, IFCREVOLVEDAREASOLID, IFCEXTRUDEDAREASOLIDTAPERED, IFCEXTRUDEDAREASOLID, IFCSURFACECURVESWEPTAREASOLID, IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID, IFCFIXEDREFERENCESWEPTAREASOLID, IFCDIRECTRIXCURVESWEPTAREASOLID, IFCSWEPTAREASOLID, IFCSOLIDMODEL, IFCSHELLBASEDSURFACEMODEL, IFCCURVESEGMENT, IFCREPARAMETRISEDCOMPOSITECURVESEGMENT, IFCCOMPOSITECURVESEGMENT, IFCSEGMENT, IFCSECTIONEDSPINE, IFCCARTESIANPOINT, IFCPOINTONSURFACE, IFCPOINTONCURVE, IFCPOINTBYDISTANCEEXPRESSION, IFCPOINT, IFCPLANARBOX, IFCPLANAREXTENT, IFCAXIS2PLACEMENTLINEAR, IFCAXIS2PLACEMENT3D, IFCAXIS2PLACEMENT2D, IFCAXIS1PLACEMENT, IFCPLACEMENT, IFCLIGHTSOURCESPOT, IFCLIGHTSOURCEPOSITIONAL, IFCLIGHTSOURCEGONIOMETRIC, IFCLIGHTSOURCEDIRECTIONAL, IFCLIGHTSOURCEAMBIENT, IFCLIGHTSOURCE, IFCBOXEDHALFSPACE, IFCPOLYGONALBOUNDEDHALFSPACE, IFCHALFSPACESOLID, IFCGEOMETRICCURVESET, IFCGEOMETRICSET],
    3590301190: [IFCGEOMETRICCURVESET],
    812098782: [IFCBOXEDHALFSPACE, IFCPOLYGONALBOUNDEDHALFSPACE],
    1437953363: [IFCINDEXEDPOLYGONALTEXTUREMAP, IFCINDEXEDTRIANGLETEXTUREMAP],
    1402838566: [IFCLIGHTSOURCESPOT, IFCLIGHTSOURCEPOSITIONAL, IFCLIGHTSOURCEGONIOMETRIC, IFCLIGHTSOURCEDIRECTIONAL, IFCLIGHTSOURCEAMBIENT],
    1520743889: [IFCLIGHTSOURCESPOT],
    1008929658: [IFCEDGELOOP, IFCVERTEXLOOP, IFCPOLYLOOP],
    3079605661: [IFCMATERIALPROFILESETUSAGETAPERING],
    219451334: [IFCASSET, IFCSTRUCTURALANALYSISMODEL, IFCDISTRIBUTIONCIRCUIT, IFCDISTRIBUTIONSYSTEM, IFCBUILTSYSTEM, IFCBUILDINGSYSTEM, IFCZONE, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADCASE, IFCSTRUCTURALLOADGROUP, IFCINVENTORY, IFCGROUP, IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCWORKCALENDAR, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCCOSTSCHEDULE, IFCCOSTITEM, IFCCONTROL, IFCOCCUPANT, IFCACTOR, IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE, IFCRESOURCE, IFCALIGNMENT, IFCLINEARPOSITIONINGELEMENT, IFCGRID, IFCREFERENT, IFCPOSITIONINGELEMENT, IFCDISTRIBUTIONPORT, IFCPORT, IFCALIGNMENTVERTICAL, IFCALIGNMENTSEGMENT, IFCALIGNMENTHORIZONTAL, IFCALIGNMENTCANT, IFCLINEARELEMENT, IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCELECTRICFLOWTREATMENTDEVICE, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSIGNAL, IFCSANITARYTERMINAL, IFCOUTLET, IFCMOBILETELECOMMUNICATIONSAPPLIANCE, IFCMEDICALDEVICE, IFCLIQUIDTERMINAL, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCONVEYORSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCCIVILELEMENT, IFCBUILDINGELEMENTPROXY, IFCBEARING, IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCTRACKELEMENT, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCRAIL, IFCPLATE, IFCPAVEMENT, IFCNAVIGATIONELEMENT, IFCMOORINGDEVICE, IFCMEMBER, IFCKERB, IFCFOOTING, IFCREINFORCEDSOIL, IFCEARTHWORKSFILL, IFCEARTHWORKSELEMENT, IFCDOOR, IFCCAISSONFOUNDATION, IFCPILE, IFCDEEPFOUNDATION, IFCCURTAINWALL, IFCCOVERING, IFCCOURSE, IFCCOLUMN, IFCCHIMNEY, IFCBUILTELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCVEHICLE, IFCTRANSPORTATIONDEVICE, IFCGEOSLICE, IFCGEOMODEL, IFCBOREHOLE, IFCGEOTECHNICALASSEMBLY, IFCGEOTECHNICALSTRATUM, IFCGEOTECHNICALELEMENT, IFCGEOGRAPHICELEMENT, IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE, IFCFURNISHINGELEMENT, IFCSURFACEFEATURE, IFCEARTHWORKSCUT, IFCVOIDINGFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCVIBRATIONDAMPER, IFCSIGN, IFCREINFORCINGBAR, IFCTENDONCONDUIT, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCIMPACTPROTECTIONDEVICE, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCEXTERNALSPATIALELEMENT, IFCEXTERNALSPATIALSTRUCTUREELEMENT, IFCSPATIALZONE, IFCSPACE, IFCSITE, IFCBRIDGEPART, IFCROADPART, IFCRAILWAYPART, IFCMARINEPART, IFCFACILITYPARTCOMMON, IFCFACILITYPART, IFCBUILDING, IFCBRIDGE, IFCROAD, IFCRAILWAY, IFCMARINEFACILITY, IFCFACILITY, IFCBUILDINGSTOREY, IFCSPATIALSTRUCTUREELEMENT, IFCSPATIALELEMENT, IFCPRODUCT, IFCPROCEDURE, IFCEVENT, IFCTASK, IFCPROCESS, IFCOBJECT, IFCPROJECTLIBRARY, IFCPROJECT, IFCCONTEXT, IFCCONSTRUCTIONPRODUCTRESOURCETYPE, IFCCONSTRUCTIONMATERIALRESOURCETYPE, IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE, IFCSUBCONTRACTRESOURCETYPE, IFCLABORRESOURCETYPE, IFCCREWRESOURCETYPE, IFCCONSTRUCTIONRESOURCETYPE, IFCTYPERESOURCE, IFCSPATIALZONETYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSPATIALELEMENTTYPE, IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCVIBRATIONDAMPERTYPE, IFCSIGNTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONCONDUITTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCIMPACTPROTECTIONDEVICETYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCELEMENTASSEMBLYTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCELECTRICFLOWTREATMENTDEVICETYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSIGNALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE, IFCMEDICALDEVICETYPE, IFCLIQUIDTERMINALTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCONVEYORSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCCIVILELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEARINGTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCTRACKELEMENTTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCRAILTYPE, IFCPLATETYPE, IFCPAVEMENTTYPE, IFCNAVIGATIONELEMENTTYPE, IFCMOORINGDEVICETYPE, IFCMEMBERTYPE, IFCKERBTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCAISSONFOUNDATIONTYPE, IFCPILETYPE, IFCDEEPFOUNDATIONTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOURSETYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE, IFCBUILTELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCVEHICLETYPE, IFCTRANSPORTATIONDEVICETYPE, IFCGEOGRAPHICELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE, IFCTYPEPRODUCT, IFCTASKTYPE, IFCPROCEDURETYPE, IFCEVENTTYPE, IFCTYPEPROCESS, IFCTYPEOBJECT],
    2529465313: [IFCLSHAPEPROFILEDEF, IFCISHAPEPROFILEDEF, IFCELLIPSEPROFILEDEF, IFCCIRCLEHOLLOWPROFILEDEF, IFCCIRCLEPROFILEDEF, IFCCSHAPEPROFILEDEF, IFCASYMMETRICISHAPEPROFILEDEF, IFCZSHAPEPROFILEDEF, IFCUSHAPEPROFILEDEF, IFCTRAPEZIUMPROFILEDEF, IFCTSHAPEPROFILEDEF, IFCRECTANGLEHOLLOWPROFILEDEF, IFCROUNDEDRECTANGLEPROFILEDEF, IFCRECTANGLEPROFILEDEF],
    2004835150: [IFCAXIS2PLACEMENTLINEAR, IFCAXIS2PLACEMENT3D, IFCAXIS2PLACEMENT2D, IFCAXIS1PLACEMENT],
    1663979128: [IFCPLANARBOX],
    2067069095: [IFCCARTESIANPOINT, IFCPOINTONSURFACE, IFCPOINTONCURVE, IFCPOINTBYDISTANCEEXPRESSION],
    3727388367: [IFCDRAUGHTINGPREDEFINEDCURVEFONT, IFCPREDEFINEDCURVEFONT, IFCDRAUGHTINGPREDEFINEDCOLOUR, IFCPREDEFINEDCOLOUR, IFCTEXTSTYLEFONTMODEL, IFCPREDEFINEDTEXTFONT],
    3778827333: [IFCSECTIONREINFORCEMENTPROPERTIES, IFCSECTIONPROPERTIES, IFCREINFORCEMENTBARPROPERTIES],
    1775413392: [IFCTEXTSTYLEFONTMODEL],
    2598011224: [IFCCOMPLEXPROPERTY, IFCPROPERTYTABLEVALUE, IFCPROPERTYSINGLEVALUE, IFCPROPERTYREFERENCEVALUE, IFCPROPERTYLISTVALUE, IFCPROPERTYENUMERATEDVALUE, IFCPROPERTYBOUNDEDVALUE, IFCSIMPLEPROPERTY],
    1680319473: [IFCCOMPLEXPROPERTYTEMPLATE, IFCSIMPLEPROPERTYTEMPLATE, IFCPROPERTYTEMPLATE, IFCPROPERTYSETTEMPLATE, IFCPROPERTYTEMPLATEDEFINITION, IFCPROPERTYSET, IFCPERMEABLECOVERINGPROPERTIES, IFCDOORPANELPROPERTIES, IFCDOORLININGPROPERTIES, IFCWINDOWPANELPROPERTIES, IFCWINDOWLININGPROPERTIES, IFCREINFORCEMENTDEFINITIONPROPERTIES, IFCPREDEFINEDPROPERTYSET, IFCELEMENTQUANTITY, IFCQUANTITYSET, IFCPROPERTYSETDEFINITION],
    3357820518: [IFCPROPERTYSET, IFCPERMEABLECOVERINGPROPERTIES, IFCDOORPANELPROPERTIES, IFCDOORLININGPROPERTIES, IFCWINDOWPANELPROPERTIES, IFCWINDOWLININGPROPERTIES, IFCREINFORCEMENTDEFINITIONPROPERTIES, IFCPREDEFINEDPROPERTYSET, IFCELEMENTQUANTITY, IFCQUANTITYSET],
    1482703590: [IFCCOMPLEXPROPERTYTEMPLATE, IFCSIMPLEPROPERTYTEMPLATE, IFCPROPERTYTEMPLATE, IFCPROPERTYSETTEMPLATE],
    2090586900: [IFCELEMENTQUANTITY],
    3615266464: [IFCRECTANGLEHOLLOWPROFILEDEF, IFCROUNDEDRECTANGLEPROFILEDEF],
    478536968: [IFCRELDEFINESBYTYPE, IFCRELDEFINESBYTEMPLATE, IFCRELDEFINESBYPROPERTIES, IFCRELDEFINESBYOBJECT, IFCRELDEFINES, IFCRELAGGREGATES, IFCRELADHERESTOELEMENT, IFCRELVOIDSELEMENT, IFCRELPROJECTSELEMENT, IFCRELNESTS, IFCRELDECOMPOSES, IFCRELDECLARES, IFCRELSPACEBOUNDARY2NDLEVEL, IFCRELSPACEBOUNDARY1STLEVEL, IFCRELSPACEBOUNDARY, IFCRELSERVICESBUILDINGS, IFCRELSEQUENCE, IFCRELREFERENCEDINSPATIALSTRUCTURE, IFCRELPOSITIONS, IFCRELINTERFERESELEMENTS, IFCRELFLOWCONTROLELEMENTS, IFCRELFILLSELEMENT, IFCRELCOVERSSPACES, IFCRELCOVERSBLDGELEMENTS, IFCRELCONTAINEDINSPATIALSTRUCTURE, IFCRELCONNECTSWITHECCENTRICITY, IFCRELCONNECTSSTRUCTURALMEMBER, IFCRELCONNECTSSTRUCTURALACTIVITY, IFCRELCONNECTSPORTS, IFCRELCONNECTSPORTTOELEMENT, IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS, IFCRELCONNECTSELEMENTS, IFCRELCONNECTS, IFCRELASSOCIATESPROFILEDEF, IFCRELASSOCIATESMATERIAL, IFCRELASSOCIATESLIBRARY, IFCRELASSOCIATESDOCUMENT, IFCRELASSOCIATESCONSTRAINT, IFCRELASSOCIATESCLASSIFICATION, IFCRELASSOCIATESAPPROVAL, IFCRELASSOCIATES, IFCRELASSIGNSTORESOURCE, IFCRELASSIGNSTOPRODUCT, IFCRELASSIGNSTOPROCESS, IFCRELASSIGNSTOGROUPBYFACTOR, IFCRELASSIGNSTOGROUP, IFCRELASSIGNSTOCONTROL, IFCRELASSIGNSTOACTOR, IFCRELASSIGNS],
    823603102: [IFCCURVESEGMENT, IFCREPARAMETRISEDCOMPOSITECURVESEGMENT, IFCCOMPOSITECURVESEGMENT],
    3692461612: [IFCPROPERTYTABLEVALUE, IFCPROPERTYSINGLEVALUE, IFCPROPERTYREFERENCEVALUE, IFCPROPERTYLISTVALUE, IFCPROPERTYENUMERATEDVALUE, IFCPROPERTYBOUNDEDVALUE],
    723233188: [IFCSECTIONEDSOLIDHORIZONTAL, IFCSECTIONEDSOLID, IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP, IFCADVANCEDBREPWITHVOIDS, IFCADVANCEDBREP, IFCMANIFOLDSOLIDBREP, IFCCSGSOLID, IFCSWEPTDISKSOLIDPOLYGONAL, IFCSWEPTDISKSOLID, IFCREVOLVEDAREASOLIDTAPERED, IFCREVOLVEDAREASOLID, IFCEXTRUDEDAREASOLIDTAPERED, IFCEXTRUDEDAREASOLID, IFCSURFACECURVESWEPTAREASOLID, IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID, IFCFIXEDREFERENCESWEPTAREASOLID, IFCDIRECTRIXCURVESWEPTAREASOLID, IFCSWEPTAREASOLID],
    2473145415: [IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION],
    1597423693: [IFCSTRUCTURALLOADSINGLEFORCEWARPING],
    2513912981: [IFCSECTIONEDSURFACE, IFCCYLINDRICALSURFACE, IFCTOROIDALSURFACE, IFCSPHERICALSURFACE, IFCPLANE, IFCELEMENTARYSURFACE, IFCRATIONALBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACE, IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDSURFACE, IFCCURVEBOUNDEDPLANE, IFCBOUNDEDSURFACE, IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION, IFCSWEPTSURFACE],
    2247615214: [IFCREVOLVEDAREASOLIDTAPERED, IFCREVOLVEDAREASOLID, IFCEXTRUDEDAREASOLIDTAPERED, IFCEXTRUDEDAREASOLID, IFCSURFACECURVESWEPTAREASOLID, IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID, IFCFIXEDREFERENCESWEPTAREASOLID, IFCDIRECTRIXCURVESWEPTAREASOLID],
    1260650574: [IFCSWEPTDISKSOLIDPOLYGONAL],
    230924584: [IFCSURFACEOFREVOLUTION, IFCSURFACEOFLINEAREXTRUSION],
    901063453: [IFCPOLYGONALFACESET, IFCTRIANGULATEDIRREGULARNETWORK, IFCTRIANGULATEDFACESET, IFCTESSELLATEDFACESET, IFCINDEXEDPOLYGONALFACEWITHVOIDS, IFCINDEXEDPOLYGONALFACE],
    4282788508: [IFCTEXTLITERALWITHEXTENT],
    1628702193: [IFCCONSTRUCTIONPRODUCTRESOURCETYPE, IFCCONSTRUCTIONMATERIALRESOURCETYPE, IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE, IFCSUBCONTRACTRESOURCETYPE, IFCLABORRESOURCETYPE, IFCCREWRESOURCETYPE, IFCCONSTRUCTIONRESOURCETYPE, IFCTYPERESOURCE, IFCSPATIALZONETYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSPATIALELEMENTTYPE, IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCVIBRATIONDAMPERTYPE, IFCSIGNTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONCONDUITTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCIMPACTPROTECTIONDEVICETYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCELEMENTASSEMBLYTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCELECTRICFLOWTREATMENTDEVICETYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSIGNALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE, IFCMEDICALDEVICETYPE, IFCLIQUIDTERMINALTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCONVEYORSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCCIVILELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEARINGTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCTRACKELEMENTTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCRAILTYPE, IFCPLATETYPE, IFCPAVEMENTTYPE, IFCNAVIGATIONELEMENTTYPE, IFCMOORINGDEVICETYPE, IFCMEMBERTYPE, IFCKERBTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCAISSONFOUNDATIONTYPE, IFCPILETYPE, IFCDEEPFOUNDATIONTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOURSETYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE, IFCBUILTELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCVEHICLETYPE, IFCTRANSPORTATIONDEVICETYPE, IFCGEOGRAPHICELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE, IFCTYPEPRODUCT, IFCTASKTYPE, IFCPROCEDURETYPE, IFCEVENTTYPE, IFCTYPEPROCESS],
    3736923433: [IFCTASKTYPE, IFCPROCEDURETYPE, IFCEVENTTYPE],
    2347495698: [IFCSPATIALZONETYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE, IFCSPATIALELEMENTTYPE, IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCVIBRATIONDAMPERTYPE, IFCSIGNTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONCONDUITTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCIMPACTPROTECTIONDEVICETYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCELEMENTASSEMBLYTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCELECTRICFLOWTREATMENTDEVICETYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSIGNALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE, IFCMEDICALDEVICETYPE, IFCLIQUIDTERMINALTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCONVEYORSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCCIVILELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEARINGTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCTRACKELEMENTTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCRAILTYPE, IFCPLATETYPE, IFCPAVEMENTTYPE, IFCNAVIGATIONELEMENTTYPE, IFCMOORINGDEVICETYPE, IFCMEMBERTYPE, IFCKERBTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCAISSONFOUNDATIONTYPE, IFCPILETYPE, IFCDEEPFOUNDATIONTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOURSETYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE, IFCBUILTELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCVEHICLETYPE, IFCTRANSPORTATIONDEVICETYPE, IFCGEOGRAPHICELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE, IFCELEMENTTYPE],
    3698973494: [IFCCONSTRUCTIONPRODUCTRESOURCETYPE, IFCCONSTRUCTIONMATERIALRESOURCETYPE, IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE, IFCSUBCONTRACTRESOURCETYPE, IFCLABORRESOURCETYPE, IFCCREWRESOURCETYPE, IFCCONSTRUCTIONRESOURCETYPE],
    2736907675: [IFCBOOLEANCLIPPINGRESULT],
    4182860854: [IFCRATIONALBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACE, IFCRECTANGULARTRIMMEDSURFACE, IFCCURVEBOUNDEDSURFACE, IFCCURVEBOUNDEDPLANE],
    574549367: [IFCCARTESIANPOINTLIST3D, IFCCARTESIANPOINTLIST2D],
    59481748: [IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR3D, IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM, IFCCARTESIANTRANSFORMATIONOPERATOR2D],
    3749851601: [IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM],
    3331915920: [IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM],
    1383045692: [IFCCIRCLEHOLLOWPROFILEDEF],
    2485617015: [IFCREPARAMETRISEDCOMPOSITECURVESEGMENT],
    2574617495: [IFCCONSTRUCTIONPRODUCTRESOURCETYPE, IFCCONSTRUCTIONMATERIALRESOURCETYPE, IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE, IFCSUBCONTRACTRESOURCETYPE, IFCLABORRESOURCETYPE, IFCCREWRESOURCETYPE],
    3419103109: [IFCPROJECTLIBRARY, IFCPROJECT],
    2506170314: [IFCBLOCK, IFCSPHERE, IFCRIGHTCIRCULARCYLINDER, IFCRIGHTCIRCULARCONE, IFCRECTANGULARPYRAMID],
    2601014836: [IFCCIRCLE, IFCELLIPSE, IFCCONIC, IFCRATIONALBSPLINECURVEWITHKNOTS, IFCBSPLINECURVEWITHKNOTS, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFCINDEXEDPOLYCURVE, IFCSEGMENTEDREFERENCECURVE, IFCGRADIENTCURVE, IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE, IFCCOMPOSITECURVEONSURFACE, IFCCOMPOSITECURVE, IFCBOUNDEDCURVE, IFCSEAMCURVE, IFCINTERSECTIONCURVE, IFCSURFACECURVE, IFCSINESPIRAL, IFCSEVENTHORDERPOLYNOMIALSPIRAL, IFCSECONDORDERPOLYNOMIALSPIRAL, IFCCOSINESPIRAL, IFCCLOTHOID, IFCTHIRDORDERPOLYNOMIALSPIRAL, IFCSPIRAL, IFCPOLYNOMIALCURVE, IFCPCURVE, IFCOFFSETCURVEBYDISTANCES, IFCOFFSETCURVE3D, IFCOFFSETCURVE2D, IFCOFFSETCURVE, IFCLINE],
    593015953: [IFCSURFACECURVESWEPTAREASOLID, IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID, IFCFIXEDREFERENCESWEPTAREASOLID],
    339256511: [IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCVIBRATIONDAMPERTYPE, IFCSIGNTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONCONDUITTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCIMPACTPROTECTIONDEVICETYPE, IFCFASTENERTYPE, IFCELEMENTCOMPONENTTYPE, IFCELEMENTASSEMBLYTYPE, IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCELECTRICFLOWTREATMENTDEVICETYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSIGNALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE, IFCMEDICALDEVICETYPE, IFCLIQUIDTERMINALTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCONVEYORSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE, IFCDISTRIBUTIONELEMENTTYPE, IFCCIVILELEMENTTYPE, IFCBUILDINGELEMENTPROXYTYPE, IFCBEARINGTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCTRACKELEMENTTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCRAILTYPE, IFCPLATETYPE, IFCPAVEMENTTYPE, IFCNAVIGATIONELEMENTTYPE, IFCMOORINGDEVICETYPE, IFCMEMBERTYPE, IFCKERBTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCAISSONFOUNDATIONTYPE, IFCPILETYPE, IFCDEEPFOUNDATIONTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOURSETYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE, IFCBUILTELEMENTTYPE, IFCTRANSPORTELEMENTTYPE, IFCVEHICLETYPE, IFCTRANSPORTATIONDEVICETYPE, IFCGEOGRAPHICELEMENTTYPE, IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE, IFCFURNISHINGELEMENTTYPE],
    2777663545: [IFCCYLINDRICALSURFACE, IFCTOROIDALSURFACE, IFCSPHERICALSURFACE, IFCPLANE],
    477187591: [IFCEXTRUDEDAREASOLIDTAPERED],
    2652556860: [IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID],
    4238390223: [IFCSYSTEMFURNITUREELEMENTTYPE, IFCFURNITURETYPE],
    178912537: [IFCINDEXEDPOLYGONALFACEWITHVOIDS],
    1425443689: [IFCFACETEDBREPWITHVOIDS, IFCFACETEDBREP, IFCADVANCEDBREPWITHVOIDS, IFCADVANCEDBREP],
    3888040117: [IFCASSET, IFCSTRUCTURALANALYSISMODEL, IFCDISTRIBUTIONCIRCUIT, IFCDISTRIBUTIONSYSTEM, IFCBUILTSYSTEM, IFCBUILDINGSYSTEM, IFCZONE, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADCASE, IFCSTRUCTURALLOADGROUP, IFCINVENTORY, IFCGROUP, IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCWORKCALENDAR, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCCOSTSCHEDULE, IFCCOSTITEM, IFCCONTROL, IFCOCCUPANT, IFCACTOR, IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE, IFCRESOURCE, IFCALIGNMENT, IFCLINEARPOSITIONINGELEMENT, IFCGRID, IFCREFERENT, IFCPOSITIONINGELEMENT, IFCDISTRIBUTIONPORT, IFCPORT, IFCALIGNMENTVERTICAL, IFCALIGNMENTSEGMENT, IFCALIGNMENTHORIZONTAL, IFCALIGNMENTCANT, IFCLINEARELEMENT, IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCELECTRICFLOWTREATMENTDEVICE, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSIGNAL, IFCSANITARYTERMINAL, IFCOUTLET, IFCMOBILETELECOMMUNICATIONSAPPLIANCE, IFCMEDICALDEVICE, IFCLIQUIDTERMINAL, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCONVEYORSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCCIVILELEMENT, IFCBUILDINGELEMENTPROXY, IFCBEARING, IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCTRACKELEMENT, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCRAIL, IFCPLATE, IFCPAVEMENT, IFCNAVIGATIONELEMENT, IFCMOORINGDEVICE, IFCMEMBER, IFCKERB, IFCFOOTING, IFCREINFORCEDSOIL, IFCEARTHWORKSFILL, IFCEARTHWORKSELEMENT, IFCDOOR, IFCCAISSONFOUNDATION, IFCPILE, IFCDEEPFOUNDATION, IFCCURTAINWALL, IFCCOVERING, IFCCOURSE, IFCCOLUMN, IFCCHIMNEY, IFCBUILTELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCVEHICLE, IFCTRANSPORTATIONDEVICE, IFCGEOSLICE, IFCGEOMODEL, IFCBOREHOLE, IFCGEOTECHNICALASSEMBLY, IFCGEOTECHNICALSTRATUM, IFCGEOTECHNICALELEMENT, IFCGEOGRAPHICELEMENT, IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE, IFCFURNISHINGELEMENT, IFCSURFACEFEATURE, IFCEARTHWORKSCUT, IFCVOIDINGFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCVIBRATIONDAMPER, IFCSIGN, IFCREINFORCINGBAR, IFCTENDONCONDUIT, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCIMPACTPROTECTIONDEVICE, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCEXTERNALSPATIALELEMENT, IFCEXTERNALSPATIALSTRUCTUREELEMENT, IFCSPATIALZONE, IFCSPACE, IFCSITE, IFCBRIDGEPART, IFCROADPART, IFCRAILWAYPART, IFCMARINEPART, IFCFACILITYPARTCOMMON, IFCFACILITYPART, IFCBUILDING, IFCBRIDGE, IFCROAD, IFCRAILWAY, IFCMARINEFACILITY, IFCFACILITY, IFCBUILDINGSTOREY, IFCSPATIALSTRUCTUREELEMENT, IFCSPATIALELEMENT, IFCPRODUCT, IFCPROCEDURE, IFCEVENT, IFCTASK, IFCPROCESS],
    590820931: [IFCOFFSETCURVEBYDISTANCES, IFCOFFSETCURVE3D, IFCOFFSETCURVE2D],
    759155922: [IFCDRAUGHTINGPREDEFINEDCOLOUR],
    2559016684: [IFCDRAUGHTINGPREDEFINEDCURVEFONT],
    3967405729: [IFCPERMEABLECOVERINGPROPERTIES, IFCDOORPANELPROPERTIES, IFCDOORLININGPROPERTIES, IFCWINDOWPANELPROPERTIES, IFCWINDOWLININGPROPERTIES, IFCREINFORCEMENTDEFINITIONPROPERTIES],
    2945172077: [IFCPROCEDURE, IFCEVENT, IFCTASK],
    4208778838: [IFCALIGNMENT, IFCLINEARPOSITIONINGELEMENT, IFCGRID, IFCREFERENT, IFCPOSITIONINGELEMENT, IFCDISTRIBUTIONPORT, IFCPORT, IFCALIGNMENTVERTICAL, IFCALIGNMENTSEGMENT, IFCALIGNMENTHORIZONTAL, IFCALIGNMENTCANT, IFCLINEARELEMENT, IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCELECTRICFLOWTREATMENTDEVICE, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSIGNAL, IFCSANITARYTERMINAL, IFCOUTLET, IFCMOBILETELECOMMUNICATIONSAPPLIANCE, IFCMEDICALDEVICE, IFCLIQUIDTERMINAL, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCONVEYORSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCCIVILELEMENT, IFCBUILDINGELEMENTPROXY, IFCBEARING, IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCTRACKELEMENT, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCRAIL, IFCPLATE, IFCPAVEMENT, IFCNAVIGATIONELEMENT, IFCMOORINGDEVICE, IFCMEMBER, IFCKERB, IFCFOOTING, IFCREINFORCEDSOIL, IFCEARTHWORKSFILL, IFCEARTHWORKSELEMENT, IFCDOOR, IFCCAISSONFOUNDATION, IFCPILE, IFCDEEPFOUNDATION, IFCCURTAINWALL, IFCCOVERING, IFCCOURSE, IFCCOLUMN, IFCCHIMNEY, IFCBUILTELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCVEHICLE, IFCTRANSPORTATIONDEVICE, IFCGEOSLICE, IFCGEOMODEL, IFCBOREHOLE, IFCGEOTECHNICALASSEMBLY, IFCGEOTECHNICALSTRATUM, IFCGEOTECHNICALELEMENT, IFCGEOGRAPHICELEMENT, IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE, IFCFURNISHINGELEMENT, IFCSURFACEFEATURE, IFCEARTHWORKSCUT, IFCVOIDINGFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCVIBRATIONDAMPER, IFCSIGN, IFCREINFORCINGBAR, IFCTENDONCONDUIT, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCIMPACTPROTECTIONDEVICE, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY, IFCELEMENT, IFCANNOTATION, IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER, IFCSTRUCTURALITEM, IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION, IFCSTRUCTURALREACTION, IFCSTRUCTURALACTIVITY, IFCEXTERNALSPATIALELEMENT, IFCEXTERNALSPATIALSTRUCTUREELEMENT, IFCSPATIALZONE, IFCSPACE, IFCSITE, IFCBRIDGEPART, IFCROADPART, IFCRAILWAYPART, IFCMARINEPART, IFCFACILITYPARTCOMMON, IFCFACILITYPART, IFCBUILDING, IFCBRIDGE, IFCROAD, IFCRAILWAY, IFCMARINEFACILITY, IFCFACILITY, IFCBUILDINGSTOREY, IFCSPATIALSTRUCTUREELEMENT, IFCSPATIALELEMENT],
    3521284610: [IFCCOMPLEXPROPERTYTEMPLATE, IFCSIMPLEPROPERTYTEMPLATE],
    3939117080: [IFCRELASSIGNSTORESOURCE, IFCRELASSIGNSTOPRODUCT, IFCRELASSIGNSTOPROCESS, IFCRELASSIGNSTOGROUPBYFACTOR, IFCRELASSIGNSTOGROUP, IFCRELASSIGNSTOCONTROL, IFCRELASSIGNSTOACTOR],
    1307041759: [IFCRELASSIGNSTOGROUPBYFACTOR],
    1865459582: [IFCRELASSOCIATESPROFILEDEF, IFCRELASSOCIATESMATERIAL, IFCRELASSOCIATESLIBRARY, IFCRELASSOCIATESDOCUMENT, IFCRELASSOCIATESCONSTRAINT, IFCRELASSOCIATESCLASSIFICATION, IFCRELASSOCIATESAPPROVAL],
    826625072: [IFCRELSPACEBOUNDARY2NDLEVEL, IFCRELSPACEBOUNDARY1STLEVEL, IFCRELSPACEBOUNDARY, IFCRELSERVICESBUILDINGS, IFCRELSEQUENCE, IFCRELREFERENCEDINSPATIALSTRUCTURE, IFCRELPOSITIONS, IFCRELINTERFERESELEMENTS, IFCRELFLOWCONTROLELEMENTS, IFCRELFILLSELEMENT, IFCRELCOVERSSPACES, IFCRELCOVERSBLDGELEMENTS, IFCRELCONTAINEDINSPATIALSTRUCTURE, IFCRELCONNECTSWITHECCENTRICITY, IFCRELCONNECTSSTRUCTURALMEMBER, IFCRELCONNECTSSTRUCTURALACTIVITY, IFCRELCONNECTSPORTS, IFCRELCONNECTSPORTTOELEMENT, IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS, IFCRELCONNECTSELEMENTS],
    1204542856: [IFCRELCONNECTSWITHREALIZINGELEMENTS, IFCRELCONNECTSPATHELEMENTS],
    1638771189: [IFCRELCONNECTSWITHECCENTRICITY],
    2551354335: [IFCRELAGGREGATES, IFCRELADHERESTOELEMENT, IFCRELVOIDSELEMENT, IFCRELPROJECTSELEMENT, IFCRELNESTS],
    693640335: [IFCRELDEFINESBYTYPE, IFCRELDEFINESBYTEMPLATE, IFCRELDEFINESBYPROPERTIES, IFCRELDEFINESBYOBJECT],
    3451746338: [IFCRELSPACEBOUNDARY2NDLEVEL, IFCRELSPACEBOUNDARY1STLEVEL],
    3523091289: [IFCRELSPACEBOUNDARY2NDLEVEL],
    2914609552: [IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE, IFCCONSTRUCTIONRESOURCE],
    1856042241: [IFCREVOLVEDAREASOLIDTAPERED],
    1862484736: [IFCSECTIONEDSOLIDHORIZONTAL],
    1412071761: [IFCEXTERNALSPATIALELEMENT, IFCEXTERNALSPATIALSTRUCTUREELEMENT, IFCSPATIALZONE, IFCSPACE, IFCSITE, IFCBRIDGEPART, IFCROADPART, IFCRAILWAYPART, IFCMARINEPART, IFCFACILITYPARTCOMMON, IFCFACILITYPART, IFCBUILDING, IFCBRIDGE, IFCROAD, IFCRAILWAY, IFCMARINEFACILITY, IFCFACILITY, IFCBUILDINGSTOREY, IFCSPATIALSTRUCTUREELEMENT],
    710998568: [IFCSPATIALZONETYPE, IFCSPACETYPE, IFCSPATIALSTRUCTUREELEMENTTYPE],
    2706606064: [IFCSPACE, IFCSITE, IFCBRIDGEPART, IFCROADPART, IFCRAILWAYPART, IFCMARINEPART, IFCFACILITYPARTCOMMON, IFCFACILITYPART, IFCBUILDING, IFCBRIDGE, IFCROAD, IFCRAILWAY, IFCMARINEFACILITY, IFCFACILITY, IFCBUILDINGSTOREY],
    3893378262: [IFCSPACETYPE],
    2735484536: [IFCSINESPIRAL, IFCSEVENTHORDERPOLYNOMIALSPIRAL, IFCSECONDORDERPOLYNOMIALSPIRAL, IFCCOSINESPIRAL, IFCCLOTHOID, IFCTHIRDORDERPOLYNOMIALSPIRAL],
    3544373492: [IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION, IFCSTRUCTURALACTION, IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION, IFCSTRUCTURALREACTION],
    3136571912: [IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION, IFCSTRUCTURALCONNECTION, IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER, IFCSTRUCTURALMEMBER],
    530289379: [IFCSTRUCTURALCURVEMEMBERVARYING, IFCSTRUCTURALCURVEMEMBER, IFCSTRUCTURALSURFACEMEMBERVARYING, IFCSTRUCTURALSURFACEMEMBER],
    3689010777: [IFCSTRUCTURALPOINTREACTION, IFCSTRUCTURALCURVEREACTION, IFCSTRUCTURALSURFACEREACTION],
    3979015343: [IFCSTRUCTURALSURFACEMEMBERVARYING],
    699246055: [IFCSEAMCURVE, IFCINTERSECTIONCURVE],
    2387106220: [IFCPOLYGONALFACESET, IFCTRIANGULATEDIRREGULARNETWORK, IFCTRIANGULATEDFACESET],
    3665877780: [IFCTRANSPORTELEMENTTYPE, IFCVEHICLETYPE],
    2916149573: [IFCTRIANGULATEDIRREGULARNETWORK],
    2296667514: [IFCOCCUPANT],
    1635779807: [IFCADVANCEDBREPWITHVOIDS],
    2887950389: [IFCRATIONALBSPLINESURFACEWITHKNOTS, IFCBSPLINESURFACEWITHKNOTS],
    167062518: [IFCRATIONALBSPLINESURFACEWITHKNOTS],
    1260505505: [IFCRATIONALBSPLINECURVEWITHKNOTS, IFCBSPLINECURVEWITHKNOTS, IFCBSPLINECURVE, IFCTRIMMEDCURVE, IFCPOLYLINE, IFCINDEXEDPOLYCURVE, IFCSEGMENTEDREFERENCECURVE, IFCGRADIENTCURVE, IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE, IFCCOMPOSITECURVEONSURFACE, IFCCOMPOSITECURVE],
    1626504194: [IFCBUILDINGELEMENTPROXYTYPE, IFCBEARINGTYPE, IFCBEAMTYPE, IFCWINDOWTYPE, IFCWALLTYPE, IFCTRACKELEMENTTYPE, IFCSTAIRTYPE, IFCSTAIRFLIGHTTYPE, IFCSLABTYPE, IFCSHADINGDEVICETYPE, IFCROOFTYPE, IFCRAMPTYPE, IFCRAMPFLIGHTTYPE, IFCRAILINGTYPE, IFCRAILTYPE, IFCPLATETYPE, IFCPAVEMENTTYPE, IFCNAVIGATIONELEMENTTYPE, IFCMOORINGDEVICETYPE, IFCMEMBERTYPE, IFCKERBTYPE, IFCFOOTINGTYPE, IFCDOORTYPE, IFCCAISSONFOUNDATIONTYPE, IFCPILETYPE, IFCDEEPFOUNDATIONTYPE, IFCCURTAINWALLTYPE, IFCCOVERINGTYPE, IFCCOURSETYPE, IFCCOLUMNTYPE, IFCCHIMNEYTYPE],
    3732776249: [IFCSEGMENTEDREFERENCECURVE, IFCGRADIENTCURVE, IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE, IFCCOMPOSITECURVEONSURFACE],
    15328376: [IFCOUTERBOUNDARYCURVE, IFCBOUNDARYCURVE],
    2510884976: [IFCCIRCLE, IFCELLIPSE],
    2559216714: [IFCCONSTRUCTIONPRODUCTRESOURCE, IFCCONSTRUCTIONMATERIALRESOURCE, IFCCONSTRUCTIONEQUIPMENTRESOURCE, IFCSUBCONTRACTRESOURCE, IFCLABORRESOURCE, IFCCREWRESOURCE],
    3293443760: [IFCACTIONREQUEST, IFCWORKSCHEDULE, IFCWORKPLAN, IFCWORKCONTROL, IFCWORKCALENDAR, IFCPROJECTORDER, IFCPERMIT, IFCPERFORMANCEHISTORY, IFCCOSTSCHEDULE, IFCCOSTITEM],
    1306400036: [IFCCAISSONFOUNDATIONTYPE, IFCPILETYPE],
    3256556792: [IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE, IFCDISTRIBUTIONCONTROLELEMENTTYPE, IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCELECTRICFLOWTREATMENTDEVICETYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSIGNALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE, IFCMEDICALDEVICETYPE, IFCLIQUIDTERMINALTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCONVEYORSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE, IFCDISTRIBUTIONFLOWELEMENTTYPE],
    3849074793: [IFCDISTRIBUTIONCHAMBERELEMENTTYPE, IFCFILTERTYPE, IFCELECTRICFLOWTREATMENTDEVICETYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE, IFCFLOWTREATMENTDEVICETYPE, IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSIGNALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE, IFCMEDICALDEVICETYPE, IFCLIQUIDTERMINALTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE, IFCFLOWTERMINALTYPE, IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE, IFCFLOWSTORAGEDEVICETYPE, IFCDUCTSEGMENTTYPE, IFCCONVEYORSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE, IFCFLOWSEGMENTTYPE, IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE, IFCFLOWMOVINGDEVICETYPE, IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE, IFCFLOWFITTINGTYPE, IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE, IFCFLOWCONTROLLERTYPE, IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE, IFCENERGYCONVERSIONDEVICETYPE],
    1758889154: [IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCELECTRICFLOWTREATMENTDEVICE, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSIGNAL, IFCSANITARYTERMINAL, IFCOUTLET, IFCMOBILETELECOMMUNICATIONSAPPLIANCE, IFCMEDICALDEVICE, IFCLIQUIDTERMINAL, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCONVEYORSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT, IFCDISTRIBUTIONELEMENT, IFCCIVILELEMENT, IFCBUILDINGELEMENTPROXY, IFCBEARING, IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCTRACKELEMENT, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCRAIL, IFCPLATE, IFCPAVEMENT, IFCNAVIGATIONELEMENT, IFCMOORINGDEVICE, IFCMEMBER, IFCKERB, IFCFOOTING, IFCREINFORCEDSOIL, IFCEARTHWORKSFILL, IFCEARTHWORKSELEMENT, IFCDOOR, IFCCAISSONFOUNDATION, IFCPILE, IFCDEEPFOUNDATION, IFCCURTAINWALL, IFCCOVERING, IFCCOURSE, IFCCOLUMN, IFCCHIMNEY, IFCBUILTELEMENT, IFCVIRTUALELEMENT, IFCTRANSPORTELEMENT, IFCVEHICLE, IFCTRANSPORTATIONDEVICE, IFCGEOSLICE, IFCGEOMODEL, IFCBOREHOLE, IFCGEOTECHNICALASSEMBLY, IFCGEOTECHNICALSTRATUM, IFCGEOTECHNICALELEMENT, IFCGEOGRAPHICELEMENT, IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE, IFCFURNISHINGELEMENT, IFCSURFACEFEATURE, IFCEARTHWORKSCUT, IFCVOIDINGFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION, IFCFEATUREELEMENT, IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCVIBRATIONDAMPER, IFCSIGN, IFCREINFORCINGBAR, IFCTENDONCONDUIT, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCIMPACTPROTECTIONDEVICE, IFCFASTENER, IFCELEMENTCOMPONENT, IFCELEMENTASSEMBLY],
    1623761950: [IFCDISCRETEACCESSORY, IFCBUILDINGELEMENTPART, IFCVIBRATIONISOLATOR, IFCVIBRATIONDAMPER, IFCSIGN, IFCREINFORCINGBAR, IFCTENDONCONDUIT, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH, IFCREINFORCINGELEMENT, IFCMECHANICALFASTENER, IFCIMPACTPROTECTIONDEVICE, IFCFASTENER],
    2590856083: [IFCDISCRETEACCESSORYTYPE, IFCBUILDINGELEMENTPARTTYPE, IFCVIBRATIONISOLATORTYPE, IFCVIBRATIONDAMPERTYPE, IFCSIGNTYPE, IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONCONDUITTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE, IFCREINFORCINGELEMENTTYPE, IFCMECHANICALFASTENERTYPE, IFCIMPACTPROTECTIONDEVICETYPE, IFCFASTENERTYPE],
    2107101300: [IFCELECTRICMOTORTYPE, IFCELECTRICGENERATORTYPE, IFCCOOLINGTOWERTYPE, IFCCOOLEDBEAMTYPE, IFCCONDENSERTYPE, IFCCOILTYPE, IFCCHILLERTYPE, IFCBURNERTYPE, IFCBOILERTYPE, IFCAIRTOAIRHEATRECOVERYTYPE, IFCUNITARYEQUIPMENTTYPE, IFCTUBEBUNDLETYPE, IFCTRANSFORMERTYPE, IFCSOLARDEVICETYPE, IFCMOTORCONNECTIONTYPE, IFCHUMIDIFIERTYPE, IFCHEATEXCHANGERTYPE, IFCEVAPORATORTYPE, IFCEVAPORATIVECOOLERTYPE, IFCENGINETYPE],
    2853485674: [IFCEXTERNALSPATIALELEMENT],
    807026263: [IFCFACETEDBREPWITHVOIDS],
    24185140: [IFCBUILDING, IFCBRIDGE, IFCROAD, IFCRAILWAY, IFCMARINEFACILITY],
    1310830890: [IFCBRIDGEPART, IFCROADPART, IFCRAILWAYPART, IFCMARINEPART, IFCFACILITYPARTCOMMON],
    2827207264: [IFCSURFACEFEATURE, IFCEARTHWORKSCUT, IFCVOIDINGFEATURE, IFCOPENINGELEMENT, IFCFEATUREELEMENTSUBTRACTION, IFCPROJECTIONELEMENT, IFCFEATUREELEMENTADDITION],
    2143335405: [IFCPROJECTIONELEMENT],
    1287392070: [IFCEARTHWORKSCUT, IFCVOIDINGFEATURE, IFCOPENINGELEMENT],
    3907093117: [IFCELECTRICTIMECONTROLTYPE, IFCELECTRICDISTRIBUTIONBOARDTYPE, IFCDISTRIBUTIONBOARDTYPE, IFCDAMPERTYPE, IFCAIRTERMINALBOXTYPE, IFCVALVETYPE, IFCSWITCHINGDEVICETYPE, IFCPROTECTIVEDEVICETYPE, IFCFLOWMETERTYPE],
    3198132628: [IFCDUCTFITTINGTYPE, IFCCABLEFITTINGTYPE, IFCCABLECARRIERFITTINGTYPE, IFCPIPEFITTINGTYPE, IFCJUNCTIONBOXTYPE],
    1482959167: [IFCFANTYPE, IFCCOMPRESSORTYPE, IFCPUMPTYPE],
    1834744321: [IFCDUCTSEGMENTTYPE, IFCCONVEYORSEGMENTTYPE, IFCCABLESEGMENTTYPE, IFCCABLECARRIERSEGMENTTYPE, IFCPIPESEGMENTTYPE],
    1339347760: [IFCELECTRICFLOWSTORAGEDEVICETYPE, IFCTANKTYPE],
    2297155007: [IFCFIRESUPPRESSIONTERMINALTYPE, IFCELECTRICAPPLIANCETYPE, IFCCOMMUNICATIONSAPPLIANCETYPE, IFCAUDIOVISUALAPPLIANCETYPE, IFCAIRTERMINALTYPE, IFCWASTETERMINALTYPE, IFCSTACKTERMINALTYPE, IFCSPACEHEATERTYPE, IFCSIGNALTYPE, IFCSANITARYTERMINALTYPE, IFCOUTLETTYPE, IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE, IFCMEDICALDEVICETYPE, IFCLIQUIDTERMINALTYPE, IFCLIGHTFIXTURETYPE, IFCLAMPTYPE],
    3009222698: [IFCFILTERTYPE, IFCELECTRICFLOWTREATMENTDEVICETYPE, IFCDUCTSILENCERTYPE, IFCINTERCEPTORTYPE],
    263784265: [IFCSYSTEMFURNITUREELEMENT, IFCFURNITURE],
    4230923436: [IFCGEOSLICE, IFCGEOMODEL, IFCBOREHOLE, IFCGEOTECHNICALASSEMBLY, IFCGEOTECHNICALSTRATUM],
    2706460486: [IFCASSET, IFCSTRUCTURALANALYSISMODEL, IFCDISTRIBUTIONCIRCUIT, IFCDISTRIBUTIONSYSTEM, IFCBUILTSYSTEM, IFCBUILDINGSYSTEM, IFCZONE, IFCSYSTEM, IFCSTRUCTURALRESULTGROUP, IFCSTRUCTURALLOADCASE, IFCSTRUCTURALLOADGROUP, IFCINVENTORY],
    2176059722: [IFCALIGNMENTVERTICAL, IFCALIGNMENTSEGMENT, IFCALIGNMENTHORIZONTAL, IFCALIGNMENTCANT],
    3740093272: [IFCDISTRIBUTIONPORT],
    1946335990: [IFCALIGNMENT, IFCLINEARPOSITIONINGELEMENT, IFCGRID, IFCREFERENT],
    3027567501: [IFCREINFORCINGBAR, IFCTENDONCONDUIT, IFCTENDONANCHOR, IFCTENDON, IFCREINFORCINGMESH],
    964333572: [IFCREINFORCINGBARTYPE, IFCTENDONTYPE, IFCTENDONCONDUITTYPE, IFCTENDONANCHORTYPE, IFCREINFORCINGMESHTYPE],
    682877961: [IFCSTRUCTURALPLANARACTION, IFCSTRUCTURALSURFACEACTION, IFCSTRUCTURALPOINTACTION, IFCSTRUCTURALLINEARACTION, IFCSTRUCTURALCURVEACTION],
    1179482911: [IFCSTRUCTURALSURFACECONNECTION, IFCSTRUCTURALPOINTCONNECTION, IFCSTRUCTURALCURVECONNECTION],
    1004757350: [IFCSTRUCTURALLINEARACTION],
    214636428: [IFCSTRUCTURALCURVEMEMBERVARYING],
    1252848954: [IFCSTRUCTURALLOADCASE],
    3657597509: [IFCSTRUCTURALPLANARACTION],
    2254336722: [IFCSTRUCTURALANALYSISMODEL, IFCDISTRIBUTIONCIRCUIT, IFCDISTRIBUTIONSYSTEM, IFCBUILTSYSTEM, IFCBUILDINGSYSTEM, IFCZONE],
    1953115116: [IFCTRANSPORTELEMENT, IFCVEHICLE],
    1028945134: [IFCWORKSCHEDULE, IFCWORKPLAN],
    1967976161: [IFCRATIONALBSPLINECURVEWITHKNOTS, IFCBSPLINECURVEWITHKNOTS],
    2461110595: [IFCRATIONALBSPLINECURVEWITHKNOTS],
    1136057603: [IFCOUTERBOUNDARYCURVE],
    1876633798: [IFCBUILDINGELEMENTPROXY, IFCBEARING, IFCBEAM, IFCWINDOW, IFCWALLSTANDARDCASE, IFCWALL, IFCTRACKELEMENT, IFCSTAIRFLIGHT, IFCSTAIR, IFCSLAB, IFCSHADINGDEVICE, IFCROOF, IFCRAMPFLIGHT, IFCRAMP, IFCRAILING, IFCRAIL, IFCPLATE, IFCPAVEMENT, IFCNAVIGATIONELEMENT, IFCMOORINGDEVICE, IFCMEMBER, IFCKERB, IFCFOOTING, IFCREINFORCEDSOIL, IFCEARTHWORKSFILL, IFCEARTHWORKSELEMENT, IFCDOOR, IFCCAISSONFOUNDATION, IFCPILE, IFCDEEPFOUNDATION, IFCCURTAINWALL, IFCCOVERING, IFCCOURSE, IFCCOLUMN, IFCCHIMNEY],
    3426335179: [IFCCAISSONFOUNDATION, IFCPILE],
    2063403501: [IFCCONTROLLERTYPE, IFCALARMTYPE, IFCACTUATORTYPE, IFCUNITARYCONTROLELEMENTTYPE, IFCSENSORTYPE, IFCPROTECTIVEDEVICETRIPPINGUNITTYPE, IFCFLOWINSTRUMENTTYPE],
    1945004755: [IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT, IFCDISTRIBUTIONCONTROLELEMENT, IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCELECTRICFLOWTREATMENTDEVICE, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSIGNAL, IFCSANITARYTERMINAL, IFCOUTLET, IFCMOBILETELECOMMUNICATIONSAPPLIANCE, IFCMEDICALDEVICE, IFCLIQUIDTERMINAL, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCONVEYORSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE, IFCDISTRIBUTIONFLOWELEMENT],
    3040386961: [IFCDISTRIBUTIONCHAMBERELEMENT, IFCFILTER, IFCELECTRICFLOWTREATMENTDEVICE, IFCDUCTSILENCER, IFCINTERCEPTOR, IFCFLOWTREATMENTDEVICE, IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSIGNAL, IFCSANITARYTERMINAL, IFCOUTLET, IFCMOBILETELECOMMUNICATIONSAPPLIANCE, IFCMEDICALDEVICE, IFCLIQUIDTERMINAL, IFCLIGHTFIXTURE, IFCLAMP, IFCFLOWTERMINAL, IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK, IFCFLOWSTORAGEDEVICE, IFCDUCTSEGMENT, IFCCONVEYORSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT, IFCFLOWSEGMENT, IFCFAN, IFCCOMPRESSOR, IFCPUMP, IFCFLOWMOVINGDEVICE, IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX, IFCFLOWFITTING, IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER, IFCFLOWCONTROLLER, IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE, IFCENERGYCONVERSIONDEVICE],
    3205830791: [IFCDISTRIBUTIONCIRCUIT],
    1077100507: [IFCREINFORCEDSOIL, IFCEARTHWORKSFILL],
    1658829314: [IFCELECTRICMOTOR, IFCELECTRICGENERATOR, IFCCOOLINGTOWER, IFCCOOLEDBEAM, IFCCONDENSER, IFCCOIL, IFCCHILLER, IFCBURNER, IFCBOILER, IFCAIRTOAIRHEATRECOVERY, IFCUNITARYEQUIPMENT, IFCTUBEBUNDLE, IFCTRANSFORMER, IFCSOLARDEVICE, IFCMOTORCONNECTION, IFCHUMIDIFIER, IFCHEATEXCHANGER, IFCEVAPORATOR, IFCEVAPORATIVECOOLER, IFCENGINE],
    2058353004: [IFCELECTRICTIMECONTROL, IFCELECTRICDISTRIBUTIONBOARD, IFCDISTRIBUTIONBOARD, IFCDAMPER, IFCAIRTERMINALBOX, IFCVALVE, IFCSWITCHINGDEVICE, IFCPROTECTIVEDEVICE, IFCFLOWMETER],
    4278956645: [IFCDUCTFITTING, IFCCABLEFITTING, IFCCABLECARRIERFITTING, IFCPIPEFITTING, IFCJUNCTIONBOX],
    3132237377: [IFCFAN, IFCCOMPRESSOR, IFCPUMP],
    987401354: [IFCDUCTSEGMENT, IFCCONVEYORSEGMENT, IFCCABLESEGMENT, IFCCABLECARRIERSEGMENT, IFCPIPESEGMENT],
    707683696: [IFCELECTRICFLOWSTORAGEDEVICE, IFCTANK],
    2223149337: [IFCFIRESUPPRESSIONTERMINAL, IFCELECTRICAPPLIANCE, IFCCOMMUNICATIONSAPPLIANCE, IFCAUDIOVISUALAPPLIANCE, IFCAIRTERMINAL, IFCWASTETERMINAL, IFCSTACKTERMINAL, IFCSPACEHEATER, IFCSIGNAL, IFCSANITARYTERMINAL, IFCOUTLET, IFCMOBILETELECOMMUNICATIONSAPPLIANCE, IFCMEDICALDEVICE, IFCLIQUIDTERMINAL, IFCLIGHTFIXTURE, IFCLAMP],
    3508470533: [IFCFILTER, IFCELECTRICFLOWTREATMENTDEVICE, IFCDUCTSILENCER, IFCINTERCEPTOR],
    2713699986: [IFCGEOSLICE, IFCGEOMODEL, IFCBOREHOLE],
    1154579445: [IFCALIGNMENT],
    2391406946: [IFCWALLSTANDARDCASE],
    1062813311: [IFCCONTROLLER, IFCALARM, IFCACTUATOR, IFCUNITARYCONTROLELEMENT, IFCSENSOR, IFCPROTECTIVEDEVICETRIPPINGUNIT, IFCFLOWINSTRUMENT]
  };
  InversePropertyDef[3] = {
    3630933823: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    618182010: [["OfPerson", IFCPERSON, 7, true], ["OfOrganization", IFCORGANIZATION, 4, true]],
    411424972: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    130549933: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["ApprovedObjects", IFCRELASSOCIATESAPPROVAL, 5, true], ["ApprovedResources", IFCRESOURCEAPPROVALRELATIONSHIP, 3, true], ["IsRelatedWith", IFCAPPROVALRELATIONSHIP, 3, true], ["Relates", IFCAPPROVALRELATIONSHIP, 2, true]],
    1959218052: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PropertiesForConstraint", IFCRESOURCECONSTRAINTRELATIONSHIP, 2, true]],
    1466758467: [["HasCoordinateOperation", IFCCOORDINATEOPERATION, 0, true], ["WellKnownText", IFCWELLKNOWNTEXT, 1, true]],
    602808272: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    3200245327: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true]],
    2242383968: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true]],
    1040185647: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true]],
    3548104201: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true]],
    917726184: [["HasCoordinateOperation", IFCCOORDINATEOPERATION, 0, true], ["WellKnownText", IFCWELLKNOWNTEXT, 1, true]],
    852622518: [["PartOfW", IFCGRID, 9, true], ["PartOfV", IFCGRID, 8, true], ["PartOfU", IFCGRID, 7, true], ["HasIntersections", IFCVIRTUALGRIDINTERSECTION, 0, true]],
    2655187982: [["LibraryInfoForObjects", IFCRELASSOCIATESLIBRARY, 5, true], ["HasLibraryReferences", IFCLIBRARYREFERENCE, 5, true]],
    3452421091: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true], ["LibraryRefForObjects", IFCRELASSOCIATESLIBRARY, 5, true]],
    760658860: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true]],
    248100487: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["ToMaterialLayerSet", IFCMATERIALLAYERSET, 0, false]],
    3303938423: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true]],
    1847252529: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["ToMaterialLayerSet", IFCMATERIALLAYERSET, 0, false]],
    2235152071: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["ToMaterialProfileSet", IFCMATERIALPROFILESET, 2, false]],
    164193824: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true]],
    552965576: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["ToMaterialProfileSet", IFCMATERIALPROFILESET, 2, false]],
    1507914824: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true]],
    3368373690: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PropertiesForConstraint", IFCRESOURCECONSTRAINTRELATIONSHIP, 2, true]],
    3701648758: [["PlacesObject", IFCPRODUCT, 5, true], ["ReferencedByPlacements", IFCOBJECTPLACEMENT, 0, true]],
    2251480897: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PropertiesForConstraint", IFCRESOURCECONSTRAINTRELATIONSHIP, 2, true]],
    4251960020: [["IsRelatedBy", IFCORGANIZATIONRELATIONSHIP, 3, true], ["Relates", IFCORGANIZATIONRELATIONSHIP, 2, true], ["Engages", IFCPERSONANDORGANIZATION, 1, true]],
    2077209135: [["EngagedIn", IFCPERSONANDORGANIZATION, 0, true]],
    2483315170: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    2226359599: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    3355820592: [["OfPerson", IFCPERSON, 7, true], ["OfOrganization", IFCORGANIZATION, 4, true]],
    3958567839: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    3843373140: [["HasCoordinateOperation", IFCCOORDINATEOPERATION, 0, true], ["WellKnownText", IFCWELLKNOWNTEXT, 1, true]],
    986844984: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    3710013099: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    2044713172: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    2093928680: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    931644368: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    2691318326: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    3252649465: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    2405470396: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    825690147: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    1076942058: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true]],
    3377609919: [["RepresentationsInContext", IFCREPRESENTATION, 0, true]],
    3008791417: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1660063152: [["HasShapeAspects", IFCSHAPEASPECT, 4, true], ["MapUsage", IFCMAPPEDITEM, 0, true]],
    867548509: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    3982875396: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true], ["OfShapeAspect", IFCSHAPEASPECT, 0, true]],
    4240577450: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true], ["OfShapeAspect", IFCSHAPEASPECT, 0, true]],
    2830218821: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true]],
    3958052878: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3049322572: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true]],
    626085974: [["IsMappedBy", IFCTEXTURECOORDINATE, 0, true], ["UsedInStyles", IFCSURFACESTYLEWITHTEXTURES, 0, true]],
    912023232: [["OfPerson", IFCPERSON, 7, true], ["OfOrganization", IFCORGANIZATION, 4, true]],
    222769930: [["ToTexMap", IFCINDEXEDPOLYGONALTEXTUREMAP, 3, false]],
    1010789467: [["ToTexMap", IFCINDEXEDPOLYGONALTEXTUREMAP, 3, false]],
    3101149627: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    1377556343: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1735638870: [["RepresentationMap", IFCREPRESENTATIONMAP, 1, true], ["LayerAssignments", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["OfProductRepresentation", IFCPRODUCTREPRESENTATION, 2, true], ["OfShapeAspect", IFCSHAPEASPECT, 0, true]],
    2799835756: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1907098498: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3798115385: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    1310608509: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    2705031697: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    616511568: [["IsMappedBy", IFCTEXTURECOORDINATE, 0, true], ["UsedInStyles", IFCSURFACESTYLEWITHTEXTURES, 0, true]],
    3150382593: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    747523909: [["ClassificationForObjects", IFCRELASSOCIATESCLASSIFICATION, 5, true], ["HasReferences", IFCCLASSIFICATIONREFERENCE, 3, true]],
    647927063: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true], ["ClassificationRefForObjects", IFCRELASSOCIATESCLASSIFICATION, 5, true], ["HasReferences", IFCCLASSIFICATIONREFERENCE, 3, true]],
    1485152156: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    370225590: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3050246964: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    2889183280: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    2713554722: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    3632507154: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    1154170062: [["DocumentInfoForObjects", IFCRELASSOCIATESDOCUMENT, 5, true], ["HasDocumentReferences", IFCDOCUMENTREFERENCE, 4, true], ["IsPointedTo", IFCDOCUMENTINFORMATIONRELATIONSHIP, 3, true], ["IsPointer", IFCDOCUMENTINFORMATIONRELATIONSHIP, 2, true]],
    3732053477: [["ExternalReferenceForResources", IFCEXTERNALREFERENCERELATIONSHIP, 2, true], ["DocumentRefForObjects", IFCRELASSOCIATESDOCUMENT, 5, true]],
    3900360178: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    476780140: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    297599258: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    2556980723: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasTextureMaps", IFCTEXTUREMAP, 2, true]],
    1809719519: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    803316827: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3008276851: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasTextureMaps", IFCTEXTUREMAP, 2, true]],
    3448662350: [["RepresentationsInContext", IFCREPRESENTATION, 0, true], ["HasSubContexts", IFCGEOMETRICREPRESENTATIONSUBCONTEXT, 6, true], ["HasCoordinateOperation", IFCCOORDINATEOPERATION, 0, true]],
    2453401579: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4142052618: [["RepresentationsInContext", IFCREPRESENTATION, 0, true], ["HasSubContexts", IFCGEOMETRICREPRESENTATIONSUBCONTEXT, 6, true], ["HasCoordinateOperation", IFCCOORDINATEOPERATION, 0, true]],
    3590301190: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    178086475: [["PlacesObject", IFCPRODUCT, 5, true], ["ReferencedByPlacements", IFCOBJECTPLACEMENT, 0, true]],
    812098782: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3905492369: [["IsMappedBy", IFCTEXTURECOORDINATE, 0, true], ["UsedInStyles", IFCSURFACESTYLEWITHTEXTURES, 0, true]],
    3741457305: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    1402838566: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    125510826: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2604431987: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4266656042: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1520743889: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3422422726: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    388784114: [["PlacesObject", IFCPRODUCT, 5, true], ["ReferencedByPlacements", IFCOBJECTPLACEMENT, 0, true]],
    2624227202: [["PlacesObject", IFCPRODUCT, 5, true], ["ReferencedByPlacements", IFCOBJECTPLACEMENT, 0, true]],
    1008929658: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2347385850: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1838606355: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["HasRepresentation", IFCMATERIALDEFINITIONREPRESENTATION, 3, true], ["IsRelatedWith", IFCMATERIALRELATIONSHIP, 3, true], ["RelatesTo", IFCMATERIALRELATIONSHIP, 2, true]],
    3708119e3: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true], ["ToMaterialConstituentSet", IFCMATERIALCONSTITUENTSET, 2, false]],
    2852063980: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true], ["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCMATERIALPROPERTIES, 3, true]],
    1303795690: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true]],
    3079605661: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true]],
    3404854881: [["AssociatedTo", IFCRELASSOCIATESMATERIAL, 5, true]],
    3265635763: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    2998442950: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    219451334: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true]],
    182550632: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    2665983363: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1029017970: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2529465313: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    2519244187: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3021840470: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfComplex", IFCPHYSICALCOMPLEXQUANTITY, 2, true]],
    597895409: [["IsMappedBy", IFCTEXTURECOORDINATE, 0, true], ["UsedInStyles", IFCSURFACESTYLEWITHTEXTURES, 0, true]],
    2004835150: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1663979128: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2067069095: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2165702409: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4022376103: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1423911732: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2924175390: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2775532180: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3778827333: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    673634403: [["ShapeOfProduct", IFCPRODUCT, 6, true], ["HasShapeAspects", IFCSHAPEASPECT, 4, true]],
    2802850158: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    2598011224: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]],
    1680319473: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true]],
    3357820518: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]],
    1482703590: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true]],
    2090586900: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]],
    3615266464: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    3413951693: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    1580146022: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    2778083089: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    2042790032: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    4165799628: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true]],
    1509187699: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    823603102: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["UsingCurves", IFCCOMPOSITECURVE, 0, true]],
    4124623270: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3692461612: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]],
    723233188: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2233826070: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2513912981: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2247615214: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1260650574: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1096409881: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    230924584: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3071757647: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    901063453: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4282788508: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3124975700: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2715220739: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    1628702193: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true]],
    3736923433: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]],
    2347495698: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3698973494: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    427810014: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    1417489154: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2759199220: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2543172580: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    3406155212: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasTextureMaps", IFCTEXTUREMAP, 2, true]],
    669184980: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3207858831: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    4261334040: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3125803723: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2740243338: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3425423356: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2736907675: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4182860854: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2581212453: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2713105998: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2898889636: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    1123145078: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    574549367: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1675464909: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2059837836: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    59481748: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3749851601: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3486308946: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3331915920: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1416205885: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1383045692: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    2205249479: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2542286263: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]],
    2485617015: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["UsingCurves", IFCCOMPOSITECURVE, 0, true]],
    2574617495: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    3419103109: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Declares", IFCRELDECLARES, 4, true]],
    1815067380: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    2506170314: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2147822146: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2601014836: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2827736869: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2629017746: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4212018352: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["UsingCurves", IFCCOMPOSITECURVE, 0, true]],
    32440307: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    593015953: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1472233963: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1883228015: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]],
    339256511: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2777663545: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2835456948: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    4024345920: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]],
    477187591: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2804161546: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2047409740: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    374418227: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    315944413: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2652556860: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4238390223: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1268542332: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    4095422895: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    987898635: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1484403080: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    178912537: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["ToFaceSet", IFCPOLYGONALFACESET, 2, true], ["HasTexCoords", IFCTEXTURECOORDINATEINDICES, 1, true]],
    2294589976: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["ToFaceSet", IFCPOLYGONALFACESET, 2, true], ["HasTexCoords", IFCTEXTURECOORDINATEINDICES, 1, true]],
    572779678: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    428585644: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    1281925730: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1425443689: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3888040117: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true]],
    590820931: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3388369263: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3505215534: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2485787929: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1682466193: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    603570806: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    220341763: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3381221214: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3967405729: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]],
    569719735: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]],
    2945172077: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]],
    4208778838: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]],
    103090709: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Declares", IFCRELDECLARES, 4, true]],
    653396225: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Declares", IFCRELDECLARES, 4, true]],
    871118103: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]],
    4166981789: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]],
    2752243245: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]],
    941946838: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]],
    1451395588: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]],
    492091185: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Defines", IFCRELDEFINESBYTEMPLATE, 5, true]],
    3650150729: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]],
    110355661: [["HasExternalReferences", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["PartOfPset", IFCPROPERTYSET, 4, true], ["PropertyForDependance", IFCPROPERTYDEPENDENCYRELATIONSHIP, 2, true], ["PropertyDependsOn", IFCPROPERTYDEPENDENCYRELATIONSHIP, 3, true], ["PartOfComplex", IFCCOMPLEXPROPERTY, 3, true], ["HasConstraints", IFCRESOURCECONSTRAINTRELATIONSHIP, 3, true], ["HasApprovals", IFCRESOURCEAPPROVALRELATIONSHIP, 2, true]],
    3521284610: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["PartOfComplexTemplate", IFCCOMPLEXPROPERTYTEMPLATE, 6, true], ["PartOfPsetTemplate", IFCPROPERTYSETTEMPLATE, 6, true]],
    2770003689: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    2798486643: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3454111270: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3765753017: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]],
    3523091289: [["InnerBoundaries", IFCRELSPACEBOUNDARY1STLEVEL, 9, true]],
    1521410863: [["InnerBoundaries", IFCRELSPACEBOUNDARY1STLEVEL, 9, true], ["Corresponds", IFCRELSPACEBOUNDARY2NDLEVEL, 10, true]],
    816062949: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["UsingCurves", IFCCOMPOSITECURVE, 0, true]],
    2914609552: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    1856042241: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3243963512: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4158566097: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3626867408: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1862484736: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1290935644: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1356537516: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3663146110: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["PartOfComplexTemplate", IFCCOMPLEXPROPERTYTEMPLATE, 6, true], ["PartOfPsetTemplate", IFCPROPERTYSETTEMPLATE, 6, true]],
    1412071761: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]],
    710998568: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2706606064: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]],
    3893378262: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    463610769: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]],
    2481509218: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    451544542: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4015995234: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2735484536: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3544373492: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]],
    3136571912: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true]],
    530289379: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]],
    3689010777: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]],
    3979015343: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]],
    2218152070: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]],
    603775116: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]],
    4095615324: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    699246055: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2028607225: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2809605785: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4124788165: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1580310250: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3473067441: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]],
    3206491090: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]],
    2387106220: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasColours", IFCINDEXEDCOLOURMAP, 0, true], ["HasTextures", IFCINDEXEDTEXTUREMAP, 1, true]],
    782932809: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1935646853: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3665877780: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2916149573: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasColours", IFCINDEXEDCOLOURMAP, 0, true], ["HasTextures", IFCINDEXEDTEXTUREMAP, 1, true]],
    1229763772: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasColours", IFCINDEXEDCOLOURMAP, 0, true], ["HasTextures", IFCINDEXEDTEXTUREMAP, 1, true]],
    3651464721: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    336235671: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]],
    512836454: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]],
    2296667514: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsActingUpon", IFCRELASSIGNSTOACTOR, 6, true]],
    1635779807: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2603310189: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1674181508: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true]],
    2887950389: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    167062518: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1334484129: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3649129432: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1260505505: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3124254112: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]],
    1626504194: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2197970202: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2937912522: [["HasExternalReference", IFCEXTERNALREFERENCERELATIONSHIP, 3, true], ["HasProperties", IFCPROFILEPROPERTIES, 3, true]],
    3893394355: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3497074424: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    300633059: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3875453745: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["PartOfComplexTemplate", IFCCOMPLEXPROPERTYTEMPLATE, 6, true], ["PartOfPsetTemplate", IFCPROPERTYSETTEMPLATE, 6, true]],
    3732776249: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    15328376: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2510884976: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2185764099: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    4105962743: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    1525564444: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    2559216714: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    3293443760: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    2000195564: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3895139033: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    1419761937: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    4189326743: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1916426348: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3295246426: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    1457835157: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1213902940: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1306400036: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    4234616927: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3256556792: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3849074793: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2963535650: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]],
    1714330368: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]],
    2323601079: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1758889154: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    4123344466: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    2397081782: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1623761950: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    2590856083: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1704287377: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2107101300: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    132023988: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3174744832: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3390157468: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    4148101412: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]],
    2853485674: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]],
    807026263: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3737207727: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    24185140: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]],
    1310830890: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]],
    4228831410: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]],
    647756555: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    2489546625: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2827207264: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    2143335405: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["ProjectsElements", IFCRELPROJECTSELEMENT, 5, false]],
    1287392070: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false]],
    3907093117: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3198132628: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3815607619: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1482959167: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1834744321: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1339347760: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2297155007: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3009222698: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1893162501: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    263784265: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    1509553395: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    3493046030: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    4230923436: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    1594536857: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    2898700619: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2706460486: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]],
    1251058090: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1806887404: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2568555532: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    3948183225: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2571569899: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3946677679: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3113134337: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2391368822: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]],
    4288270099: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    679976338: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3827777499: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    1051575348: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1161773419: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2176059722: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]],
    1770583370: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    525669439: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]],
    976884017: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]],
    377706215: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    2108223431: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1114901282: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3181161470: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1950438474: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    710110818: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    977012517: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    506776471: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    4143007308: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsActingUpon", IFCRELASSIGNSTOACTOR, 6, true]],
    3588315303: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false], ["HasFillings", IFCRELFILLSELEMENT, 4, true]],
    2837617999: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    514975943: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2382730787: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    3566463478: [["HasContext", IFCRELDECLARES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["DefinesType", IFCTYPEOBJECT, 5, true], ["IsDefinedBy", IFCRELDEFINESBYTEMPLATE, 4, true], ["DefinesOccurrence", IFCRELDEFINESBYPROPERTIES, 5, true]],
    3327091369: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    1158309216: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    804291784: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    4231323485: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    4017108033: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2839578677: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true], ["HasColours", IFCINDEXEDCOLOURMAP, 0, true], ["HasTextures", IFCINDEXEDTEXTUREMAP, 1, true]],
    3724593414: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3740093272: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainedIn", IFCRELCONNECTSPORTTOELEMENT, 4, true], ["ConnectedFrom", IFCRELCONNECTSPORTS, 5, true], ["ConnectedTo", IFCRELCONNECTSPORTS, 4, true]],
    1946335990: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["Positions", IFCRELPOSITIONS, 4, true]],
    2744685151: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsPredecessorTo", IFCRELSEQUENCE, 4, true], ["IsSuccessorFrom", IFCRELSEQUENCE, 5, true], ["OperatesOn", IFCRELASSIGNSTOPROCESS, 6, true]],
    2904328755: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    3651124850: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["ProjectsElements", IFCRELPROJECTSELEMENT, 5, false]],
    1842657554: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2250791053: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1763565496: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2893384427: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3992365140: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]],
    1891881377: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]],
    2324767716: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1469900589: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    683857671: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4021432810: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["Positions", IFCRELPOSITIONS, 4, true]],
    3027567501: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    964333572: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2320036040: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    2310774935: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    146592293: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]],
    550521510: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]],
    2781568857: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1768891740: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2157484638: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3649235739: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    544395925: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1027922057: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4074543187: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    33720170: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    3599934289: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1894708472: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    42703149: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    4097777520: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]],
    2533589738: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1072016465: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3856911033: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasCoverings", IFCRELCOVERSSPACES, 4, true], ["BoundedBy", IFCRELSPACEBOUNDARY, 4, true]],
    1305183839: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3812236995: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3112655638: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1039846685: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    338393293: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    682877961: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]],
    1179482911: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]],
    1004757350: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]],
    4243806635: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]],
    214636428: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]],
    2445595289: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectedBy", IFCRELCONNECTSSTRUCTURALMEMBER, 4, true]],
    2757150158: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]],
    1807405624: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]],
    1252848954: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["SourceOfResultGroup", IFCSTRUCTURALRESULTGROUP, 6, true], ["LoadGroupFor", IFCSTRUCTURALANALYSISMODEL, 7, true]],
    2082059205: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]],
    734778138: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]],
    1235345126: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]],
    2986769608: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ResultGroupFor", IFCSTRUCTURALANALYSISMODEL, 8, true]],
    3657597509: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]],
    1975003073: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedStructuralActivity", IFCRELCONNECTSSTRUCTURALACTIVITY, 4, true], ["ConnectsStructuralMembers", IFCRELCONNECTSSTRUCTURALMEMBER, 5, true]],
    148013059: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    3101698114: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["AdheresToElement", IFCRELADHERESTOELEMENT, 5, false]],
    2315554128: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2254336722: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true], ["ServicesFacilities", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]],
    413509423: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    5716631: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3824725483: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    2347447852: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    3081323446: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3663046924: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    2281632017: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2415094496: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    618700268: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1692211062: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2097647324: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1953115116: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    3593883385: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1600972822: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1911125066: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    728799441: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    840318589: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    1530820697: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    3956297820: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2391383451: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    3313531582: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2769231204: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    926996030: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false]],
    1898987631: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1133259667: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    4009809668: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    4088093105: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    1028945134: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    4218914973: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    3342526732: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    1033361043: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true], ["ServicesFacilities", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]],
    3821786052: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["Controls", IFCRELASSIGNSTOCONTROL, 6, true]],
    1411407467: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3352864051: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1871374353: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    4266260250: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]],
    1545765605: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]],
    317615605: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]],
    1662888072: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]],
    3460190687: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]],
    1532957894: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1967976161: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    2461110595: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    819618141: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3649138523: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    231477066: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1136057603: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    644574406: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]],
    963979645: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]],
    4031249490: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true]],
    2979338954: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    39481116: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1909888760: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1177604601: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true], ["ServicesFacilities", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]],
    1876633798: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    3862327254: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true], ["ServicesFacilities", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]],
    2188180465: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    395041908: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3293546465: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2674252688: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1285652485: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3203706013: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2951183804: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3296154744: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    2611217952: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    1677625105: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    2301859152: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    843113511: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    400855858: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3850581409: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2816379211: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3898045240: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    1060000209: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    488727124: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ResourceOf", IFCRELASSIGNSTORESOURCE, 6, true]],
    2940368186: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    335055490: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2954562838: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1502416096: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    1973544240: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["CoversSpaces", IFCRELCOVERSSPACES, 5, true], ["CoversElements", IFCRELCOVERSBLDGELEMENTS, 5, true]],
    3495092785: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    3961806047: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3426335179: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    1335981549: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    2635815018: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    479945903: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1599208980: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2063403501: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1945004755: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true]],
    3040386961: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3041715199: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainedIn", IFCRELCONNECTSPORTTOELEMENT, 4, true], ["ConnectedFrom", IFCRELCONNECTSPORTS, 5, true], ["ConnectedTo", IFCRELCONNECTSPORTS, 4, true]],
    3205830791: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true], ["ServicesFacilities", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]],
    395920057: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    869906466: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3760055223: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2030761528: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3071239417: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["VoidsElements", IFCRELVOIDSELEMENT, 5, false]],
    1077100507: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    3376911765: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    663422040: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2417008758: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3277789161: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2142170206: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1534661035: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1217240411: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    712377611: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1658829314: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    2814081492: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3747195512: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    484807127: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1209101575: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainsElements", IFCRELCONTAINEDINSPATIALSTRUCTURE, 5, true], ["ServicedBySystems", IFCRELSERVICESBUILDINGS, 5, true], ["ReferencesElements", IFCRELREFERENCEDINSPATIALSTRUCTURE, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["BoundedBy", IFCRELSPACEBOUNDARY, 4, true]],
    346874300: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1810631287: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    4222183408: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2058353004: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    4278956645: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    4037862832: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2188021234: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3132237377: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    987401354: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    707683696: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    2223149337: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3508470533: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    900683007: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    2713699986: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    3009204131: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["Positions", IFCRELPOSITIONS, 4, true]],
    3319311131: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    2068733104: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    4175244083: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    2176052936: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    2696325953: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    76236018: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    629592764: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1154579445: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["Positions", IFCRELPOSITIONS, 4, true]],
    1638804497: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1437502449: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1073191201: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    2078563270: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    234836483: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    2474470126: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    2182337498: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    144952367: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3694346114: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1383356374: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    1687234759: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    310824031: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3612865200: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3171933400: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    738039164: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    655969474: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    90941305: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3290496277: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    2262370178: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    3024970846: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    3283111854: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    1232101972: [["LayerAssignment", IFCPRESENTATIONLAYERASSIGNMENT, 2, true], ["StyledByItem", IFCSTYLEDITEM, 0, true]],
    3798194928: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    979691226: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    2572171363: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    2016517767: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    3053780830: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1783015770: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1329646415: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    991950508: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1529196076: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    3420628829: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1999602285: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1404847402: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    331165859: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    4252922144: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    2515109513: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true], ["ServicesFacilities", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]],
    385403989: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["SourceOfResultGroup", IFCSTRUCTURALRESULTGROUP, 6, true], ["LoadGroupFor", IFCSTRUCTURALANALYSISMODEL, 7, true]],
    1621171031: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["AssignedToStructuralItem", IFCRELCONNECTSSTRUCTURALACTIVITY, 5, true]],
    1162798199: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    812556717: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3425753595: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    3825984169: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1620046519: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    3026737570: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3179687236: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    4292641817: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    4207607924: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    2391406946: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    3512223829: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    4237592921: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3304561284: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    2874132201: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    1634111441: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    177149247: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    2056796094: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3001207471: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    325726236: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["Positions", IFCRELPOSITIONS, 4, true]],
    277319702: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    753842376: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    4196446775: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    32344328: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3314249567: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    1095909175: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    2938176219: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    635142910: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3758799889: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1051757585: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    4217484030: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3999819293: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    3902619387: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    639361253: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3221913625: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3571504051: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    2272882330: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    578613899: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["Types", IFCRELDEFINESBYTYPE, 5, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true]],
    3460952963: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    4136498852: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3640358203: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    4074379575: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3693000487: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1052013943: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    562808652: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["IsGroupedBy", IFCRELASSIGNSTOGROUP, 6, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["ServicesBuildings", IFCRELSERVICESBUILDINGS, 4, true], ["ServicesFacilities", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true]],
    1062813311: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]],
    342316401: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3518393246: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1360408905: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1904799276: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    862014818: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3310460725: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    24726584: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    264262732: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    402227799: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1003880860: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    3415622556: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    819412036: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    1426591983: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["HasControlElements", IFCRELFLOWCONTROLELEMENTS, 5, true]],
    182646315: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]],
    2680139844: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    1971632696: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true]],
    2295281155: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]],
    4086658281: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]],
    630975310: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]],
    4288193352: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]],
    3087945054: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]],
    25142252: [["HasAssignments", IFCRELASSIGNS, 4, true], ["Nests", IFCRELNESTS, 5, true], ["IsNestedBy", IFCRELNESTS, 4, true], ["HasContext", IFCRELDECLARES, 5, true], ["IsDecomposedBy", IFCRELAGGREGATES, 4, true], ["Decomposes", IFCRELAGGREGATES, 5, true], ["HasAssociations", IFCRELASSOCIATES, 4, true], ["IsDeclaredBy", IFCRELDEFINESBYOBJECT, 4, true], ["Declares", IFCRELDEFINESBYOBJECT, 5, true], ["IsTypedBy", IFCRELDEFINESBYTYPE, 4, true], ["IsDefinedBy", IFCRELDEFINESBYPROPERTIES, 4, true], ["ReferencedBy", IFCRELASSIGNSTOPRODUCT, 6, true], ["PositionedRelativeTo", IFCRELPOSITIONS, 5, true], ["ReferencedInStructures", IFCRELREFERENCEDINSPATIALSTRUCTURE, 4, true], ["FillsVoids", IFCRELFILLSELEMENT, 5, true], ["ConnectedTo", IFCRELCONNECTSELEMENTS, 5, true], ["IsInterferedByElements", IFCRELINTERFERESELEMENTS, 5, true], ["InterferesElements", IFCRELINTERFERESELEMENTS, 4, true], ["HasProjections", IFCRELPROJECTSELEMENT, 4, true], ["HasOpenings", IFCRELVOIDSELEMENT, 4, true], ["IsConnectionRealization", IFCRELCONNECTSWITHREALIZINGELEMENTS, 7, true], ["ProvidesBoundaries", IFCRELSPACEBOUNDARY, 5, true], ["ConnectedFrom", IFCRELCONNECTSELEMENTS, 6, true], ["ContainedInStructure", IFCRELCONTAINEDINSPATIALSTRUCTURE, 4, true], ["HasCoverings", IFCRELCOVERSBLDGELEMENTS, 4, true], ["HasSurfaceFeatures", IFCRELADHERESTOELEMENT, 4, true], ["HasPorts", IFCRELCONNECTSPORTTOELEMENT, 5, true], ["AssignedToFlowElement", IFCRELFLOWCONTROLELEMENTS, 4, true]]
  };
  Constructors[3] = {
    3630933823: (a) => new IFC4X3.IfcActorRole(a[0], a[1], a[2]),
    618182010: (a) => new IFC4X3.IfcAddress(a[0], a[1], a[2]),
    2879124712: (a) => new IFC4X3.IfcAlignmentParameterSegment(a[0], a[1]),
    3633395639: (a) => new IFC4X3.IfcAlignmentVerticalSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    639542469: (a) => new IFC4X3.IfcApplication(a[0], a[1], a[2], a[3]),
    411424972: (a) => new IFC4X3.IfcAppliedValue(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    130549933: (a) => new IFC4X3.IfcApproval(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4037036970: (a) => new IFC4X3.IfcBoundaryCondition(a[0]),
    1560379544: (a) => new IFC4X3.IfcBoundaryEdgeCondition(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3367102660: (a) => new IFC4X3.IfcBoundaryFaceCondition(a[0], a[1], a[2], a[3]),
    1387855156: (a) => new IFC4X3.IfcBoundaryNodeCondition(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    2069777674: (a) => new IFC4X3.IfcBoundaryNodeConditionWarping(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2859738748: (_) => new IFC4X3.IfcConnectionGeometry(),
    2614616156: (a) => new IFC4X3.IfcConnectionPointGeometry(a[0], a[1]),
    2732653382: (a) => new IFC4X3.IfcConnectionSurfaceGeometry(a[0], a[1]),
    775493141: (a) => new IFC4X3.IfcConnectionVolumeGeometry(a[0], a[1]),
    1959218052: (a) => new IFC4X3.IfcConstraint(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1785450214: (a) => new IFC4X3.IfcCoordinateOperation(a[0], a[1]),
    1466758467: (a) => new IFC4X3.IfcCoordinateReferenceSystem(a[0], a[1], a[2]),
    602808272: (a) => new IFC4X3.IfcCostValue(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1765591967: (a) => new IFC4X3.IfcDerivedUnit(a[0], a[1], a[2], a[3]),
    1045800335: (a) => new IFC4X3.IfcDerivedUnitElement(a[0], a[1]),
    2949456006: (a) => new IFC4X3.IfcDimensionalExponents(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    4294318154: (_) => new IFC4X3.IfcExternalInformation(),
    3200245327: (a) => new IFC4X3.IfcExternalReference(a[0], a[1], a[2]),
    2242383968: (a) => new IFC4X3.IfcExternallyDefinedHatchStyle(a[0], a[1], a[2]),
    1040185647: (a) => new IFC4X3.IfcExternallyDefinedSurfaceStyle(a[0], a[1], a[2]),
    3548104201: (a) => new IFC4X3.IfcExternallyDefinedTextFont(a[0], a[1], a[2]),
    917726184: (a) => new IFC4X3.IfcGeographicCRS(a[0], a[1], a[2], a[3], a[4], a[5]),
    852622518: (a) => new IFC4X3.IfcGridAxis(a[0], a[1], a[2]),
    3020489413: (a) => new IFC4X3.IfcIrregularTimeSeriesValue(a[0], a[1]),
    2655187982: (a) => new IFC4X3.IfcLibraryInformation(a[0], a[1], a[2], a[3], a[4], a[5]),
    3452421091: (a) => new IFC4X3.IfcLibraryReference(a[0], a[1], a[2], a[3], a[4], a[5]),
    4162380809: (a) => new IFC4X3.IfcLightDistributionData(a[0], a[1], a[2]),
    1566485204: (a) => new IFC4X3.IfcLightIntensityDistribution(a[0], a[1]),
    3057273783: (a) => new IFC4X3.IfcMapConversion(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    4105526436: (a) => new IFC4X3.IfcMapConversionScaled(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    1847130766: (a) => new IFC4X3.IfcMaterialClassificationRelationship(a[0], a[1]),
    760658860: (_) => new IFC4X3.IfcMaterialDefinition(),
    248100487: (a) => new IFC4X3.IfcMaterialLayer(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3303938423: (a) => new IFC4X3.IfcMaterialLayerSet(a[0], a[1], a[2]),
    1847252529: (a) => new IFC4X3.IfcMaterialLayerWithOffsets(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2199411900: (a) => new IFC4X3.IfcMaterialList(a[0]),
    2235152071: (a) => new IFC4X3.IfcMaterialProfile(a[0], a[1], a[2], a[3], a[4], a[5]),
    164193824: (a) => new IFC4X3.IfcMaterialProfileSet(a[0], a[1], a[2], a[3]),
    552965576: (a) => new IFC4X3.IfcMaterialProfileWithOffsets(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1507914824: (_) => new IFC4X3.IfcMaterialUsageDefinition(),
    2597039031: (a) => new IFC4X3.IfcMeasureWithUnit(a[0], a[1]),
    3368373690: (a) => new IFC4X3.IfcMetric(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    2706619895: (a) => new IFC4X3.IfcMonetaryUnit(a[0]),
    1918398963: (a) => new IFC4X3.IfcNamedUnit(a[0], a[1]),
    3701648758: (a) => new IFC4X3.IfcObjectPlacement(a[0]),
    2251480897: (a) => new IFC4X3.IfcObjective(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    4251960020: (a) => new IFC4X3.IfcOrganization(a[0], a[1], a[2], a[3], a[4]),
    1207048766: (a) => new IFC4X3.IfcOwnerHistory(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2077209135: (a) => new IFC4X3.IfcPerson(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    101040310: (a) => new IFC4X3.IfcPersonAndOrganization(a[0], a[1], a[2]),
    2483315170: (a) => new IFC4X3.IfcPhysicalQuantity(a[0], a[1]),
    2226359599: (a) => new IFC4X3.IfcPhysicalSimpleQuantity(a[0], a[1], a[2]),
    3355820592: (a) => new IFC4X3.IfcPostalAddress(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    677532197: (_) => new IFC4X3.IfcPresentationItem(),
    2022622350: (a) => new IFC4X3.IfcPresentationLayerAssignment(a[0], a[1], a[2], a[3]),
    1304840413: (a) => new IFC4X3.IfcPresentationLayerWithStyle(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3119450353: (a) => new IFC4X3.IfcPresentationStyle(a[0]),
    2095639259: (a) => new IFC4X3.IfcProductRepresentation(a[0], a[1], a[2]),
    3958567839: (a) => new IFC4X3.IfcProfileDef(a[0], a[1]),
    3843373140: (a) => new IFC4X3.IfcProjectedCRS(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    986844984: (_) => new IFC4X3.IfcPropertyAbstraction(),
    3710013099: (a) => new IFC4X3.IfcPropertyEnumeration(a[0], a[1], a[2]),
    2044713172: (a) => new IFC4X3.IfcQuantityArea(a[0], a[1], a[2], a[3], a[4]),
    2093928680: (a) => new IFC4X3.IfcQuantityCount(a[0], a[1], a[2], a[3], a[4]),
    931644368: (a) => new IFC4X3.IfcQuantityLength(a[0], a[1], a[2], a[3], a[4]),
    2691318326: (a) => new IFC4X3.IfcQuantityNumber(a[0], a[1], a[2], a[3], a[4]),
    3252649465: (a) => new IFC4X3.IfcQuantityTime(a[0], a[1], a[2], a[3], a[4]),
    2405470396: (a) => new IFC4X3.IfcQuantityVolume(a[0], a[1], a[2], a[3], a[4]),
    825690147: (a) => new IFC4X3.IfcQuantityWeight(a[0], a[1], a[2], a[3], a[4]),
    3915482550: (a) => new IFC4X3.IfcRecurrencePattern(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2433181523: (a) => new IFC4X3.IfcReference(a[0], a[1], a[2], a[3], a[4]),
    1076942058: (a) => new IFC4X3.IfcRepresentation(a[0], a[1], a[2], a[3]),
    3377609919: (a) => new IFC4X3.IfcRepresentationContext(a[0], a[1]),
    3008791417: (_) => new IFC4X3.IfcRepresentationItem(),
    1660063152: (a) => new IFC4X3.IfcRepresentationMap(a[0], a[1]),
    2439245199: (a) => new IFC4X3.IfcResourceLevelRelationship(a[0], a[1]),
    1794013214: (a) => new IFC4X3.IfcRigidOperation(a[0], a[1], a[2], a[3], a[4]),
    2341007311: (a) => new IFC4X3.IfcRoot(a[0], a[1], a[2], a[3]),
    448429030: (a) => new IFC4X3.IfcSIUnit(a[0], a[1], a[2]),
    1054537805: (a) => new IFC4X3.IfcSchedulingTime(a[0], a[1], a[2]),
    867548509: (a) => new IFC4X3.IfcShapeAspect(a[0], a[1], a[2], a[3], a[4]),
    3982875396: (a) => new IFC4X3.IfcShapeModel(a[0], a[1], a[2], a[3]),
    4240577450: (a) => new IFC4X3.IfcShapeRepresentation(a[0], a[1], a[2], a[3]),
    2273995522: (a) => new IFC4X3.IfcStructuralConnectionCondition(a[0]),
    2162789131: (a) => new IFC4X3.IfcStructuralLoad(a[0]),
    3478079324: (a) => new IFC4X3.IfcStructuralLoadConfiguration(a[0], a[1], a[2]),
    609421318: (a) => new IFC4X3.IfcStructuralLoadOrResult(a[0]),
    2525727697: (a) => new IFC4X3.IfcStructuralLoadStatic(a[0]),
    3408363356: (a) => new IFC4X3.IfcStructuralLoadTemperature(a[0], a[1], a[2], a[3]),
    2830218821: (a) => new IFC4X3.IfcStyleModel(a[0], a[1], a[2], a[3]),
    3958052878: (a) => new IFC4X3.IfcStyledItem(a[0], a[1], a[2]),
    3049322572: (a) => new IFC4X3.IfcStyledRepresentation(a[0], a[1], a[2], a[3]),
    2934153892: (a) => new IFC4X3.IfcSurfaceReinforcementArea(a[0], a[1], a[2], a[3]),
    1300840506: (a) => new IFC4X3.IfcSurfaceStyle(a[0], a[1], a[2]),
    3303107099: (a) => new IFC4X3.IfcSurfaceStyleLighting(a[0], a[1], a[2], a[3]),
    1607154358: (a) => new IFC4X3.IfcSurfaceStyleRefraction(a[0], a[1]),
    846575682: (a) => new IFC4X3.IfcSurfaceStyleShading(a[0], a[1]),
    1351298697: (a) => new IFC4X3.IfcSurfaceStyleWithTextures(a[0]),
    626085974: (a) => new IFC4X3.IfcSurfaceTexture(a[0], a[1], a[2], a[3], a[4]),
    985171141: (a) => new IFC4X3.IfcTable(a[0], a[1], a[2]),
    2043862942: (a) => new IFC4X3.IfcTableColumn(a[0], a[1], a[2], a[3], a[4]),
    531007025: (a) => new IFC4X3.IfcTableRow(a[0], a[1]),
    1549132990: (a) => new IFC4X3.IfcTaskTime(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17], a[18], a[19]),
    2771591690: (a) => new IFC4X3.IfcTaskTimeRecurring(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17], a[18], a[19], a[20]),
    912023232: (a) => new IFC4X3.IfcTelecomAddress(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1447204868: (a) => new IFC4X3.IfcTextStyle(a[0], a[1], a[2], a[3], a[4]),
    2636378356: (a) => new IFC4X3.IfcTextStyleForDefinedFont(a[0], a[1]),
    1640371178: (a) => new IFC4X3.IfcTextStyleTextModel(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    280115917: (a) => new IFC4X3.IfcTextureCoordinate(a[0]),
    1742049831: (a) => new IFC4X3.IfcTextureCoordinateGenerator(a[0], a[1], a[2]),
    222769930: (a) => new IFC4X3.IfcTextureCoordinateIndices(a[0], a[1]),
    1010789467: (a) => new IFC4X3.IfcTextureCoordinateIndicesWithVoids(a[0], a[1], a[2]),
    2552916305: (a) => new IFC4X3.IfcTextureMap(a[0], a[1], a[2]),
    1210645708: (a) => new IFC4X3.IfcTextureVertex(a[0]),
    3611470254: (a) => new IFC4X3.IfcTextureVertexList(a[0]),
    1199560280: (a) => new IFC4X3.IfcTimePeriod(a[0], a[1]),
    3101149627: (a) => new IFC4X3.IfcTimeSeries(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    581633288: (a) => new IFC4X3.IfcTimeSeriesValue(a[0]),
    1377556343: (_) => new IFC4X3.IfcTopologicalRepresentationItem(),
    1735638870: (a) => new IFC4X3.IfcTopologyRepresentation(a[0], a[1], a[2], a[3]),
    180925521: (a) => new IFC4X3.IfcUnitAssignment(a[0]),
    2799835756: (_) => new IFC4X3.IfcVertex(),
    1907098498: (a) => new IFC4X3.IfcVertexPoint(a[0]),
    891718957: (a) => new IFC4X3.IfcVirtualGridIntersection(a[0], a[1]),
    1175146630: (a) => new IFC4X3.IfcWellKnownText(a[0], a[1]),
    1236880293: (a) => new IFC4X3.IfcWorkTime(a[0], a[1], a[2], a[3], a[4], a[5]),
    3752311538: (a) => new IFC4X3.IfcAlignmentCantSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    536804194: (a) => new IFC4X3.IfcAlignmentHorizontalSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3869604511: (a) => new IFC4X3.IfcApprovalRelationship(a[0], a[1], a[2], a[3]),
    3798115385: (a) => new IFC4X3.IfcArbitraryClosedProfileDef(a[0], a[1], a[2]),
    1310608509: (a) => new IFC4X3.IfcArbitraryOpenProfileDef(a[0], a[1], a[2]),
    2705031697: (a) => new IFC4X3.IfcArbitraryProfileDefWithVoids(a[0], a[1], a[2], a[3]),
    616511568: (a) => new IFC4X3.IfcBlobTexture(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3150382593: (a) => new IFC4X3.IfcCenterLineProfileDef(a[0], a[1], a[2], a[3]),
    747523909: (a) => new IFC4X3.IfcClassification(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    647927063: (a) => new IFC4X3.IfcClassificationReference(a[0], a[1], a[2], a[3], a[4], a[5]),
    3285139300: (a) => new IFC4X3.IfcColourRgbList(a[0]),
    3264961684: (a) => new IFC4X3.IfcColourSpecification(a[0]),
    1485152156: (a) => new IFC4X3.IfcCompositeProfileDef(a[0], a[1], a[2], a[3]),
    370225590: (a) => new IFC4X3.IfcConnectedFaceSet(a[0]),
    1981873012: (a) => new IFC4X3.IfcConnectionCurveGeometry(a[0], a[1]),
    45288368: (a) => new IFC4X3.IfcConnectionPointEccentricity(a[0], a[1], a[2], a[3], a[4]),
    3050246964: (a) => new IFC4X3.IfcContextDependentUnit(a[0], a[1], a[2]),
    2889183280: (a) => new IFC4X3.IfcConversionBasedUnit(a[0], a[1], a[2], a[3]),
    2713554722: (a) => new IFC4X3.IfcConversionBasedUnitWithOffset(a[0], a[1], a[2], a[3], a[4]),
    539742890: (a) => new IFC4X3.IfcCurrencyRelationship(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3800577675: (a) => new IFC4X3.IfcCurveStyle(a[0], a[1], a[2], a[3], a[4]),
    1105321065: (a) => new IFC4X3.IfcCurveStyleFont(a[0], a[1]),
    2367409068: (a) => new IFC4X3.IfcCurveStyleFontAndScaling(a[0], a[1], a[2]),
    3510044353: (a) => new IFC4X3.IfcCurveStyleFontPattern(a[0], a[1]),
    3632507154: (a) => new IFC4X3.IfcDerivedProfileDef(a[0], a[1], a[2], a[3], a[4]),
    1154170062: (a) => new IFC4X3.IfcDocumentInformation(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16]),
    770865208: (a) => new IFC4X3.IfcDocumentInformationRelationship(a[0], a[1], a[2], a[3], a[4]),
    3732053477: (a) => new IFC4X3.IfcDocumentReference(a[0], a[1], a[2], a[3], a[4]),
    3900360178: (a) => new IFC4X3.IfcEdge(a[0], a[1]),
    476780140: (a) => new IFC4X3.IfcEdgeCurve(a[0], a[1], a[2], a[3]),
    211053100: (a) => new IFC4X3.IfcEventTime(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    297599258: (a) => new IFC4X3.IfcExtendedProperties(a[0], a[1], a[2]),
    1437805879: (a) => new IFC4X3.IfcExternalReferenceRelationship(a[0], a[1], a[2], a[3]),
    2556980723: (a) => new IFC4X3.IfcFace(a[0]),
    1809719519: (a) => new IFC4X3.IfcFaceBound(a[0], a[1]),
    803316827: (a) => new IFC4X3.IfcFaceOuterBound(a[0], a[1]),
    3008276851: (a) => new IFC4X3.IfcFaceSurface(a[0], a[1], a[2]),
    4219587988: (a) => new IFC4X3.IfcFailureConnectionCondition(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    738692330: (a) => new IFC4X3.IfcFillAreaStyle(a[0], a[1], a[2]),
    3448662350: (a) => new IFC4X3.IfcGeometricRepresentationContext(a[0], a[1], a[2], a[3], a[4], a[5]),
    2453401579: (_) => new IFC4X3.IfcGeometricRepresentationItem(),
    4142052618: (a) => new IFC4X3.IfcGeometricRepresentationSubContext(a[0], a[1], a[2], a[3], a[4], a[5]),
    3590301190: (a) => new IFC4X3.IfcGeometricSet(a[0]),
    178086475: (a) => new IFC4X3.IfcGridPlacement(a[0], a[1], a[2]),
    812098782: (a) => new IFC4X3.IfcHalfSpaceSolid(a[0], a[1]),
    3905492369: (a) => new IFC4X3.IfcImageTexture(a[0], a[1], a[2], a[3], a[4], a[5]),
    3570813810: (a) => new IFC4X3.IfcIndexedColourMap(a[0], a[1], a[2], a[3]),
    1437953363: (a) => new IFC4X3.IfcIndexedTextureMap(a[0], a[1], a[2]),
    2133299955: (a) => new IFC4X3.IfcIndexedTriangleTextureMap(a[0], a[1], a[2], a[3]),
    3741457305: (a) => new IFC4X3.IfcIrregularTimeSeries(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1585845231: (a) => new IFC4X3.IfcLagTime(a[0], a[1], a[2], a[3], a[4]),
    1402838566: (a) => new IFC4X3.IfcLightSource(a[0], a[1], a[2], a[3]),
    125510826: (a) => new IFC4X3.IfcLightSourceAmbient(a[0], a[1], a[2], a[3]),
    2604431987: (a) => new IFC4X3.IfcLightSourceDirectional(a[0], a[1], a[2], a[3], a[4]),
    4266656042: (a) => new IFC4X3.IfcLightSourceGoniometric(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1520743889: (a) => new IFC4X3.IfcLightSourcePositional(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3422422726: (a) => new IFC4X3.IfcLightSourceSpot(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    388784114: (a) => new IFC4X3.IfcLinearPlacement(a[0], a[1], a[2]),
    2624227202: (a) => new IFC4X3.IfcLocalPlacement(a[0], a[1]),
    1008929658: (_) => new IFC4X3.IfcLoop(),
    2347385850: (a) => new IFC4X3.IfcMappedItem(a[0], a[1]),
    1838606355: (a) => new IFC4X3.IfcMaterial(a[0], a[1], a[2]),
    3708119e3: (a) => new IFC4X3.IfcMaterialConstituent(a[0], a[1], a[2], a[3], a[4]),
    2852063980: (a) => new IFC4X3.IfcMaterialConstituentSet(a[0], a[1], a[2]),
    2022407955: (a) => new IFC4X3.IfcMaterialDefinitionRepresentation(a[0], a[1], a[2], a[3]),
    1303795690: (a) => new IFC4X3.IfcMaterialLayerSetUsage(a[0], a[1], a[2], a[3], a[4]),
    3079605661: (a) => new IFC4X3.IfcMaterialProfileSetUsage(a[0], a[1], a[2]),
    3404854881: (a) => new IFC4X3.IfcMaterialProfileSetUsageTapering(a[0], a[1], a[2], a[3], a[4]),
    3265635763: (a) => new IFC4X3.IfcMaterialProperties(a[0], a[1], a[2], a[3]),
    853536259: (a) => new IFC4X3.IfcMaterialRelationship(a[0], a[1], a[2], a[3], a[4]),
    2998442950: (a) => new IFC4X3.IfcMirroredProfileDef(a[0], a[1], a[2], a[3]),
    219451334: (a) => new IFC4X3.IfcObjectDefinition(a[0], a[1], a[2], a[3]),
    182550632: (a) => new IFC4X3.IfcOpenCrossProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    2665983363: (a) => new IFC4X3.IfcOpenShell(a[0]),
    1411181986: (a) => new IFC4X3.IfcOrganizationRelationship(a[0], a[1], a[2], a[3]),
    1029017970: (a) => new IFC4X3.IfcOrientedEdge(a[0], a[1]),
    2529465313: (a) => new IFC4X3.IfcParameterizedProfileDef(a[0], a[1], a[2]),
    2519244187: (a) => new IFC4X3.IfcPath(a[0]),
    3021840470: (a) => new IFC4X3.IfcPhysicalComplexQuantity(a[0], a[1], a[2], a[3], a[4], a[5]),
    597895409: (a) => new IFC4X3.IfcPixelTexture(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2004835150: (a) => new IFC4X3.IfcPlacement(a[0]),
    1663979128: (a) => new IFC4X3.IfcPlanarExtent(a[0], a[1]),
    2067069095: (_) => new IFC4X3.IfcPoint(),
    2165702409: (a) => new IFC4X3.IfcPointByDistanceExpression(a[0], a[1], a[2], a[3], a[4]),
    4022376103: (a) => new IFC4X3.IfcPointOnCurve(a[0], a[1]),
    1423911732: (a) => new IFC4X3.IfcPointOnSurface(a[0], a[1], a[2]),
    2924175390: (a) => new IFC4X3.IfcPolyLoop(a[0]),
    2775532180: (a) => new IFC4X3.IfcPolygonalBoundedHalfSpace(a[0], a[1], a[2], a[3]),
    3727388367: (a) => new IFC4X3.IfcPreDefinedItem(a[0]),
    3778827333: (_) => new IFC4X3.IfcPreDefinedProperties(),
    1775413392: (a) => new IFC4X3.IfcPreDefinedTextFont(a[0]),
    673634403: (a) => new IFC4X3.IfcProductDefinitionShape(a[0], a[1], a[2]),
    2802850158: (a) => new IFC4X3.IfcProfileProperties(a[0], a[1], a[2], a[3]),
    2598011224: (a) => new IFC4X3.IfcProperty(a[0], a[1]),
    1680319473: (a) => new IFC4X3.IfcPropertyDefinition(a[0], a[1], a[2], a[3]),
    148025276: (a) => new IFC4X3.IfcPropertyDependencyRelationship(a[0], a[1], a[2], a[3], a[4]),
    3357820518: (a) => new IFC4X3.IfcPropertySetDefinition(a[0], a[1], a[2], a[3]),
    1482703590: (a) => new IFC4X3.IfcPropertyTemplateDefinition(a[0], a[1], a[2], a[3]),
    2090586900: (a) => new IFC4X3.IfcQuantitySet(a[0], a[1], a[2], a[3]),
    3615266464: (a) => new IFC4X3.IfcRectangleProfileDef(a[0], a[1], a[2], a[3], a[4]),
    3413951693: (a) => new IFC4X3.IfcRegularTimeSeries(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1580146022: (a) => new IFC4X3.IfcReinforcementBarProperties(a[0], a[1], a[2], a[3], a[4], a[5]),
    478536968: (a) => new IFC4X3.IfcRelationship(a[0], a[1], a[2], a[3]),
    2943643501: (a) => new IFC4X3.IfcResourceApprovalRelationship(a[0], a[1], a[2], a[3]),
    1608871552: (a) => new IFC4X3.IfcResourceConstraintRelationship(a[0], a[1], a[2], a[3]),
    1042787934: (a) => new IFC4X3.IfcResourceTime(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17]),
    2778083089: (a) => new IFC4X3.IfcRoundedRectangleProfileDef(a[0], a[1], a[2], a[3], a[4], a[5]),
    2042790032: (a) => new IFC4X3.IfcSectionProperties(a[0], a[1], a[2]),
    4165799628: (a) => new IFC4X3.IfcSectionReinforcementProperties(a[0], a[1], a[2], a[3], a[4], a[5]),
    1509187699: (a) => new IFC4X3.IfcSectionedSpine(a[0], a[1], a[2]),
    823603102: (a) => new IFC4X3.IfcSegment(a[0]),
    4124623270: (a) => new IFC4X3.IfcShellBasedSurfaceModel(a[0]),
    3692461612: (a) => new IFC4X3.IfcSimpleProperty(a[0], a[1]),
    2609359061: (a) => new IFC4X3.IfcSlippageConnectionCondition(a[0], a[1], a[2], a[3]),
    723233188: (_) => new IFC4X3.IfcSolidModel(),
    1595516126: (a) => new IFC4X3.IfcStructuralLoadLinearForce(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    2668620305: (a) => new IFC4X3.IfcStructuralLoadPlanarForce(a[0], a[1], a[2], a[3]),
    2473145415: (a) => new IFC4X3.IfcStructuralLoadSingleDisplacement(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1973038258: (a) => new IFC4X3.IfcStructuralLoadSingleDisplacementDistortion(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1597423693: (a) => new IFC4X3.IfcStructuralLoadSingleForce(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1190533807: (a) => new IFC4X3.IfcStructuralLoadSingleForceWarping(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2233826070: (a) => new IFC4X3.IfcSubedge(a[0], a[1], a[2]),
    2513912981: (_) => new IFC4X3.IfcSurface(),
    1878645084: (a) => new IFC4X3.IfcSurfaceStyleRendering(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2247615214: (a) => new IFC4X3.IfcSweptAreaSolid(a[0], a[1]),
    1260650574: (a) => new IFC4X3.IfcSweptDiskSolid(a[0], a[1], a[2], a[3], a[4]),
    1096409881: (a) => new IFC4X3.IfcSweptDiskSolidPolygonal(a[0], a[1], a[2], a[3], a[4], a[5]),
    230924584: (a) => new IFC4X3.IfcSweptSurface(a[0], a[1]),
    3071757647: (a) => new IFC4X3.IfcTShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    901063453: (_) => new IFC4X3.IfcTessellatedItem(),
    4282788508: (a) => new IFC4X3.IfcTextLiteral(a[0], a[1], a[2]),
    3124975700: (a) => new IFC4X3.IfcTextLiteralWithExtent(a[0], a[1], a[2], a[3], a[4]),
    1983826977: (a) => new IFC4X3.IfcTextStyleFontModel(a[0], a[1], a[2], a[3], a[4], a[5]),
    2715220739: (a) => new IFC4X3.IfcTrapeziumProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1628702193: (a) => new IFC4X3.IfcTypeObject(a[0], a[1], a[2], a[3], a[4], a[5]),
    3736923433: (a) => new IFC4X3.IfcTypeProcess(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2347495698: (a) => new IFC4X3.IfcTypeProduct(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3698973494: (a) => new IFC4X3.IfcTypeResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    427810014: (a) => new IFC4X3.IfcUShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1417489154: (a) => new IFC4X3.IfcVector(a[0], a[1]),
    2759199220: (a) => new IFC4X3.IfcVertexLoop(a[0]),
    2543172580: (a) => new IFC4X3.IfcZShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3406155212: (a) => new IFC4X3.IfcAdvancedFace(a[0], a[1], a[2]),
    669184980: (a) => new IFC4X3.IfcAnnotationFillArea(a[0], a[1]),
    3207858831: (a) => new IFC4X3.IfcAsymmetricIShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14]),
    4261334040: (a) => new IFC4X3.IfcAxis1Placement(a[0], a[1]),
    3125803723: (a) => new IFC4X3.IfcAxis2Placement2D(a[0], a[1]),
    2740243338: (a) => new IFC4X3.IfcAxis2Placement3D(a[0], a[1], a[2]),
    3425423356: (a) => new IFC4X3.IfcAxis2PlacementLinear(a[0], a[1], a[2]),
    2736907675: (a) => new IFC4X3.IfcBooleanResult(a[0], a[1], a[2]),
    4182860854: (_) => new IFC4X3.IfcBoundedSurface(),
    2581212453: (a) => new IFC4X3.IfcBoundingBox(a[0], a[1], a[2], a[3]),
    2713105998: (a) => new IFC4X3.IfcBoxedHalfSpace(a[0], a[1], a[2]),
    2898889636: (a) => new IFC4X3.IfcCShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1123145078: (a) => new IFC4X3.IfcCartesianPoint(a[0]),
    574549367: (_) => new IFC4X3.IfcCartesianPointList(),
    1675464909: (a) => new IFC4X3.IfcCartesianPointList2D(a[0], a[1]),
    2059837836: (a) => new IFC4X3.IfcCartesianPointList3D(a[0], a[1]),
    59481748: (a) => new IFC4X3.IfcCartesianTransformationOperator(a[0], a[1], a[2], a[3]),
    3749851601: (a) => new IFC4X3.IfcCartesianTransformationOperator2D(a[0], a[1], a[2], a[3]),
    3486308946: (a) => new IFC4X3.IfcCartesianTransformationOperator2DnonUniform(a[0], a[1], a[2], a[3], a[4]),
    3331915920: (a) => new IFC4X3.IfcCartesianTransformationOperator3D(a[0], a[1], a[2], a[3], a[4]),
    1416205885: (a) => new IFC4X3.IfcCartesianTransformationOperator3DnonUniform(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1383045692: (a) => new IFC4X3.IfcCircleProfileDef(a[0], a[1], a[2], a[3]),
    2205249479: (a) => new IFC4X3.IfcClosedShell(a[0]),
    776857604: (a) => new IFC4X3.IfcColourRgb(a[0], a[1], a[2], a[3]),
    2542286263: (a) => new IFC4X3.IfcComplexProperty(a[0], a[1], a[2], a[3]),
    2485617015: (a) => new IFC4X3.IfcCompositeCurveSegment(a[0], a[1], a[2]),
    2574617495: (a) => new IFC4X3.IfcConstructionResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    3419103109: (a) => new IFC4X3.IfcContext(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1815067380: (a) => new IFC4X3.IfcCrewResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    2506170314: (a) => new IFC4X3.IfcCsgPrimitive3D(a[0]),
    2147822146: (a) => new IFC4X3.IfcCsgSolid(a[0]),
    2601014836: (_) => new IFC4X3.IfcCurve(),
    2827736869: (a) => new IFC4X3.IfcCurveBoundedPlane(a[0], a[1], a[2]),
    2629017746: (a) => new IFC4X3.IfcCurveBoundedSurface(a[0], a[1], a[2]),
    4212018352: (a) => new IFC4X3.IfcCurveSegment(a[0], a[1], a[2], a[3], a[4]),
    32440307: (a) => new IFC4X3.IfcDirection(a[0]),
    593015953: (a) => new IFC4X3.IfcDirectrixCurveSweptAreaSolid(a[0], a[1], a[2], a[3], a[4]),
    1472233963: (a) => new IFC4X3.IfcEdgeLoop(a[0]),
    1883228015: (a) => new IFC4X3.IfcElementQuantity(a[0], a[1], a[2], a[3], a[4], a[5]),
    339256511: (a) => new IFC4X3.IfcElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2777663545: (a) => new IFC4X3.IfcElementarySurface(a[0]),
    2835456948: (a) => new IFC4X3.IfcEllipseProfileDef(a[0], a[1], a[2], a[3], a[4]),
    4024345920: (a) => new IFC4X3.IfcEventType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    477187591: (a) => new IFC4X3.IfcExtrudedAreaSolid(a[0], a[1], a[2], a[3]),
    2804161546: (a) => new IFC4X3.IfcExtrudedAreaSolidTapered(a[0], a[1], a[2], a[3], a[4]),
    2047409740: (a) => new IFC4X3.IfcFaceBasedSurfaceModel(a[0]),
    374418227: (a) => new IFC4X3.IfcFillAreaStyleHatching(a[0], a[1], a[2], a[3], a[4]),
    315944413: (a) => new IFC4X3.IfcFillAreaStyleTiles(a[0], a[1], a[2]),
    2652556860: (a) => new IFC4X3.IfcFixedReferenceSweptAreaSolid(a[0], a[1], a[2], a[3], a[4], a[5]),
    4238390223: (a) => new IFC4X3.IfcFurnishingElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1268542332: (a) => new IFC4X3.IfcFurnitureType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    4095422895: (a) => new IFC4X3.IfcGeographicElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    987898635: (a) => new IFC4X3.IfcGeometricCurveSet(a[0]),
    1484403080: (a) => new IFC4X3.IfcIShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    178912537: (a) => new IFC4X3.IfcIndexedPolygonalFace(a[0]),
    2294589976: (a) => new IFC4X3.IfcIndexedPolygonalFaceWithVoids(a[0], a[1]),
    3465909080: (a) => new IFC4X3.IfcIndexedPolygonalTextureMap(a[0], a[1], a[2], a[3]),
    572779678: (a) => new IFC4X3.IfcLShapeProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    428585644: (a) => new IFC4X3.IfcLaborResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    1281925730: (a) => new IFC4X3.IfcLine(a[0], a[1]),
    1425443689: (a) => new IFC4X3.IfcManifoldSolidBrep(a[0]),
    3888040117: (a) => new IFC4X3.IfcObject(a[0], a[1], a[2], a[3], a[4]),
    590820931: (a) => new IFC4X3.IfcOffsetCurve(a[0]),
    3388369263: (a) => new IFC4X3.IfcOffsetCurve2D(a[0], a[1], a[2]),
    3505215534: (a) => new IFC4X3.IfcOffsetCurve3D(a[0], a[1], a[2], a[3]),
    2485787929: (a) => new IFC4X3.IfcOffsetCurveByDistances(a[0], a[1], a[2]),
    1682466193: (a) => new IFC4X3.IfcPcurve(a[0], a[1]),
    603570806: (a) => new IFC4X3.IfcPlanarBox(a[0], a[1], a[2]),
    220341763: (a) => new IFC4X3.IfcPlane(a[0]),
    3381221214: (a) => new IFC4X3.IfcPolynomialCurve(a[0], a[1], a[2], a[3]),
    759155922: (a) => new IFC4X3.IfcPreDefinedColour(a[0]),
    2559016684: (a) => new IFC4X3.IfcPreDefinedCurveFont(a[0]),
    3967405729: (a) => new IFC4X3.IfcPreDefinedPropertySet(a[0], a[1], a[2], a[3]),
    569719735: (a) => new IFC4X3.IfcProcedureType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2945172077: (a) => new IFC4X3.IfcProcess(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    4208778838: (a) => new IFC4X3.IfcProduct(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    103090709: (a) => new IFC4X3.IfcProject(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    653396225: (a) => new IFC4X3.IfcProjectLibrary(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    871118103: (a) => new IFC4X3.IfcPropertyBoundedValue(a[0], a[1], a[2], a[3], a[4], a[5]),
    4166981789: (a) => new IFC4X3.IfcPropertyEnumeratedValue(a[0], a[1], a[2], a[3]),
    2752243245: (a) => new IFC4X3.IfcPropertyListValue(a[0], a[1], a[2], a[3]),
    941946838: (a) => new IFC4X3.IfcPropertyReferenceValue(a[0], a[1], a[2], a[3]),
    1451395588: (a) => new IFC4X3.IfcPropertySet(a[0], a[1], a[2], a[3], a[4]),
    492091185: (a) => new IFC4X3.IfcPropertySetTemplate(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3650150729: (a) => new IFC4X3.IfcPropertySingleValue(a[0], a[1], a[2], a[3]),
    110355661: (a) => new IFC4X3.IfcPropertyTableValue(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3521284610: (a) => new IFC4X3.IfcPropertyTemplate(a[0], a[1], a[2], a[3]),
    2770003689: (a) => new IFC4X3.IfcRectangleHollowProfileDef(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2798486643: (a) => new IFC4X3.IfcRectangularPyramid(a[0], a[1], a[2], a[3]),
    3454111270: (a) => new IFC4X3.IfcRectangularTrimmedSurface(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3765753017: (a) => new IFC4X3.IfcReinforcementDefinitionProperties(a[0], a[1], a[2], a[3], a[4], a[5]),
    3939117080: (a) => new IFC4X3.IfcRelAssigns(a[0], a[1], a[2], a[3], a[4], a[5]),
    1683148259: (a) => new IFC4X3.IfcRelAssignsToActor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2495723537: (a) => new IFC4X3.IfcRelAssignsToControl(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1307041759: (a) => new IFC4X3.IfcRelAssignsToGroup(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1027710054: (a) => new IFC4X3.IfcRelAssignsToGroupByFactor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    4278684876: (a) => new IFC4X3.IfcRelAssignsToProcess(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2857406711: (a) => new IFC4X3.IfcRelAssignsToProduct(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    205026976: (a) => new IFC4X3.IfcRelAssignsToResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1865459582: (a) => new IFC4X3.IfcRelAssociates(a[0], a[1], a[2], a[3], a[4]),
    4095574036: (a) => new IFC4X3.IfcRelAssociatesApproval(a[0], a[1], a[2], a[3], a[4], a[5]),
    919958153: (a) => new IFC4X3.IfcRelAssociatesClassification(a[0], a[1], a[2], a[3], a[4], a[5]),
    2728634034: (a) => new IFC4X3.IfcRelAssociatesConstraint(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    982818633: (a) => new IFC4X3.IfcRelAssociatesDocument(a[0], a[1], a[2], a[3], a[4], a[5]),
    3840914261: (a) => new IFC4X3.IfcRelAssociatesLibrary(a[0], a[1], a[2], a[3], a[4], a[5]),
    2655215786: (a) => new IFC4X3.IfcRelAssociatesMaterial(a[0], a[1], a[2], a[3], a[4], a[5]),
    1033248425: (a) => new IFC4X3.IfcRelAssociatesProfileDef(a[0], a[1], a[2], a[3], a[4], a[5]),
    826625072: (a) => new IFC4X3.IfcRelConnects(a[0], a[1], a[2], a[3]),
    1204542856: (a) => new IFC4X3.IfcRelConnectsElements(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3945020480: (a) => new IFC4X3.IfcRelConnectsPathElements(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    4201705270: (a) => new IFC4X3.IfcRelConnectsPortToElement(a[0], a[1], a[2], a[3], a[4], a[5]),
    3190031847: (a) => new IFC4X3.IfcRelConnectsPorts(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    2127690289: (a) => new IFC4X3.IfcRelConnectsStructuralActivity(a[0], a[1], a[2], a[3], a[4], a[5]),
    1638771189: (a) => new IFC4X3.IfcRelConnectsStructuralMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    504942748: (a) => new IFC4X3.IfcRelConnectsWithEccentricity(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    3678494232: (a) => new IFC4X3.IfcRelConnectsWithRealizingElements(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3242617779: (a) => new IFC4X3.IfcRelContainedInSpatialStructure(a[0], a[1], a[2], a[3], a[4], a[5]),
    886880790: (a) => new IFC4X3.IfcRelCoversBldgElements(a[0], a[1], a[2], a[3], a[4], a[5]),
    2802773753: (a) => new IFC4X3.IfcRelCoversSpaces(a[0], a[1], a[2], a[3], a[4], a[5]),
    2565941209: (a) => new IFC4X3.IfcRelDeclares(a[0], a[1], a[2], a[3], a[4], a[5]),
    2551354335: (a) => new IFC4X3.IfcRelDecomposes(a[0], a[1], a[2], a[3]),
    693640335: (a) => new IFC4X3.IfcRelDefines(a[0], a[1], a[2], a[3]),
    1462361463: (a) => new IFC4X3.IfcRelDefinesByObject(a[0], a[1], a[2], a[3], a[4], a[5]),
    4186316022: (a) => new IFC4X3.IfcRelDefinesByProperties(a[0], a[1], a[2], a[3], a[4], a[5]),
    307848117: (a) => new IFC4X3.IfcRelDefinesByTemplate(a[0], a[1], a[2], a[3], a[4], a[5]),
    781010003: (a) => new IFC4X3.IfcRelDefinesByType(a[0], a[1], a[2], a[3], a[4], a[5]),
    3940055652: (a) => new IFC4X3.IfcRelFillsElement(a[0], a[1], a[2], a[3], a[4], a[5]),
    279856033: (a) => new IFC4X3.IfcRelFlowControlElements(a[0], a[1], a[2], a[3], a[4], a[5]),
    427948657: (a) => new IFC4X3.IfcRelInterferesElements(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3268803585: (a) => new IFC4X3.IfcRelNests(a[0], a[1], a[2], a[3], a[4], a[5]),
    1441486842: (a) => new IFC4X3.IfcRelPositions(a[0], a[1], a[2], a[3], a[4], a[5]),
    750771296: (a) => new IFC4X3.IfcRelProjectsElement(a[0], a[1], a[2], a[3], a[4], a[5]),
    1245217292: (a) => new IFC4X3.IfcRelReferencedInSpatialStructure(a[0], a[1], a[2], a[3], a[4], a[5]),
    4122056220: (a) => new IFC4X3.IfcRelSequence(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    366585022: (a) => new IFC4X3.IfcRelServicesBuildings(a[0], a[1], a[2], a[3], a[4], a[5]),
    3451746338: (a) => new IFC4X3.IfcRelSpaceBoundary(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3523091289: (a) => new IFC4X3.IfcRelSpaceBoundary1stLevel(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1521410863: (a) => new IFC4X3.IfcRelSpaceBoundary2ndLevel(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    1401173127: (a) => new IFC4X3.IfcRelVoidsElement(a[0], a[1], a[2], a[3], a[4], a[5]),
    816062949: (a) => new IFC4X3.IfcReparametrisedCompositeCurveSegment(a[0], a[1], a[2], a[3]),
    2914609552: (a) => new IFC4X3.IfcResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1856042241: (a) => new IFC4X3.IfcRevolvedAreaSolid(a[0], a[1], a[2], a[3]),
    3243963512: (a) => new IFC4X3.IfcRevolvedAreaSolidTapered(a[0], a[1], a[2], a[3], a[4]),
    4158566097: (a) => new IFC4X3.IfcRightCircularCone(a[0], a[1], a[2]),
    3626867408: (a) => new IFC4X3.IfcRightCircularCylinder(a[0], a[1], a[2]),
    1862484736: (a) => new IFC4X3.IfcSectionedSolid(a[0], a[1]),
    1290935644: (a) => new IFC4X3.IfcSectionedSolidHorizontal(a[0], a[1], a[2]),
    1356537516: (a) => new IFC4X3.IfcSectionedSurface(a[0], a[1], a[2]),
    3663146110: (a) => new IFC4X3.IfcSimplePropertyTemplate(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    1412071761: (a) => new IFC4X3.IfcSpatialElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    710998568: (a) => new IFC4X3.IfcSpatialElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2706606064: (a) => new IFC4X3.IfcSpatialStructureElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3893378262: (a) => new IFC4X3.IfcSpatialStructureElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    463610769: (a) => new IFC4X3.IfcSpatialZone(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2481509218: (a) => new IFC4X3.IfcSpatialZoneType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    451544542: (a) => new IFC4X3.IfcSphere(a[0], a[1]),
    4015995234: (a) => new IFC4X3.IfcSphericalSurface(a[0], a[1]),
    2735484536: (a) => new IFC4X3.IfcSpiral(a[0]),
    3544373492: (a) => new IFC4X3.IfcStructuralActivity(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3136571912: (a) => new IFC4X3.IfcStructuralItem(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    530289379: (a) => new IFC4X3.IfcStructuralMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3689010777: (a) => new IFC4X3.IfcStructuralReaction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3979015343: (a) => new IFC4X3.IfcStructuralSurfaceMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2218152070: (a) => new IFC4X3.IfcStructuralSurfaceMemberVarying(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    603775116: (a) => new IFC4X3.IfcStructuralSurfaceReaction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4095615324: (a) => new IFC4X3.IfcSubContractResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    699246055: (a) => new IFC4X3.IfcSurfaceCurve(a[0], a[1], a[2]),
    2028607225: (a) => new IFC4X3.IfcSurfaceCurveSweptAreaSolid(a[0], a[1], a[2], a[3], a[4], a[5]),
    2809605785: (a) => new IFC4X3.IfcSurfaceOfLinearExtrusion(a[0], a[1], a[2], a[3]),
    4124788165: (a) => new IFC4X3.IfcSurfaceOfRevolution(a[0], a[1], a[2]),
    1580310250: (a) => new IFC4X3.IfcSystemFurnitureElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3473067441: (a) => new IFC4X3.IfcTask(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    3206491090: (a) => new IFC4X3.IfcTaskType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    2387106220: (a) => new IFC4X3.IfcTessellatedFaceSet(a[0]),
    782932809: (a) => new IFC4X3.IfcThirdOrderPolynomialSpiral(a[0], a[1], a[2], a[3], a[4]),
    1935646853: (a) => new IFC4X3.IfcToroidalSurface(a[0], a[1], a[2]),
    3665877780: (a) => new IFC4X3.IfcTransportationDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2916149573: (a) => new IFC4X3.IfcTriangulatedFaceSet(a[0], a[1], a[2], a[3], a[4]),
    1229763772: (a) => new IFC4X3.IfcTriangulatedIrregularNetwork(a[0], a[1], a[2], a[3], a[4], a[5]),
    3651464721: (a) => new IFC4X3.IfcVehicleType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    336235671: (a) => new IFC4X3.IfcWindowLiningProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15]),
    512836454: (a) => new IFC4X3.IfcWindowPanelProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2296667514: (a) => new IFC4X3.IfcActor(a[0], a[1], a[2], a[3], a[4], a[5]),
    1635779807: (a) => new IFC4X3.IfcAdvancedBrep(a[0]),
    2603310189: (a) => new IFC4X3.IfcAdvancedBrepWithVoids(a[0], a[1]),
    1674181508: (a) => new IFC4X3.IfcAnnotation(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2887950389: (a) => new IFC4X3.IfcBSplineSurface(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    167062518: (a) => new IFC4X3.IfcBSplineSurfaceWithKnots(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    1334484129: (a) => new IFC4X3.IfcBlock(a[0], a[1], a[2], a[3]),
    3649129432: (a) => new IFC4X3.IfcBooleanClippingResult(a[0], a[1], a[2]),
    1260505505: (_) => new IFC4X3.IfcBoundedCurve(),
    3124254112: (a) => new IFC4X3.IfcBuildingStorey(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1626504194: (a) => new IFC4X3.IfcBuiltElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2197970202: (a) => new IFC4X3.IfcChimneyType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2937912522: (a) => new IFC4X3.IfcCircleHollowProfileDef(a[0], a[1], a[2], a[3], a[4]),
    3893394355: (a) => new IFC4X3.IfcCivilElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3497074424: (a) => new IFC4X3.IfcClothoid(a[0], a[1]),
    300633059: (a) => new IFC4X3.IfcColumnType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3875453745: (a) => new IFC4X3.IfcComplexPropertyTemplate(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3732776249: (a) => new IFC4X3.IfcCompositeCurve(a[0], a[1]),
    15328376: (a) => new IFC4X3.IfcCompositeCurveOnSurface(a[0], a[1]),
    2510884976: (a) => new IFC4X3.IfcConic(a[0]),
    2185764099: (a) => new IFC4X3.IfcConstructionEquipmentResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    4105962743: (a) => new IFC4X3.IfcConstructionMaterialResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    1525564444: (a) => new IFC4X3.IfcConstructionProductResourceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    2559216714: (a) => new IFC4X3.IfcConstructionResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3293443760: (a) => new IFC4X3.IfcControl(a[0], a[1], a[2], a[3], a[4], a[5]),
    2000195564: (a) => new IFC4X3.IfcCosineSpiral(a[0], a[1], a[2]),
    3895139033: (a) => new IFC4X3.IfcCostItem(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1419761937: (a) => new IFC4X3.IfcCostSchedule(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4189326743: (a) => new IFC4X3.IfcCourseType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1916426348: (a) => new IFC4X3.IfcCoveringType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3295246426: (a) => new IFC4X3.IfcCrewResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    1457835157: (a) => new IFC4X3.IfcCurtainWallType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1213902940: (a) => new IFC4X3.IfcCylindricalSurface(a[0], a[1]),
    1306400036: (a) => new IFC4X3.IfcDeepFoundationType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4234616927: (a) => new IFC4X3.IfcDirectrixDerivedReferenceSweptAreaSolid(a[0], a[1], a[2], a[3], a[4], a[5]),
    3256556792: (a) => new IFC4X3.IfcDistributionElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3849074793: (a) => new IFC4X3.IfcDistributionFlowElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2963535650: (a) => new IFC4X3.IfcDoorLiningProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16]),
    1714330368: (a) => new IFC4X3.IfcDoorPanelProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2323601079: (a) => new IFC4X3.IfcDoorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    445594917: (a) => new IFC4X3.IfcDraughtingPreDefinedColour(a[0]),
    4006246654: (a) => new IFC4X3.IfcDraughtingPreDefinedCurveFont(a[0]),
    1758889154: (a) => new IFC4X3.IfcElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    4123344466: (a) => new IFC4X3.IfcElementAssembly(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2397081782: (a) => new IFC4X3.IfcElementAssemblyType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1623761950: (a) => new IFC4X3.IfcElementComponent(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2590856083: (a) => new IFC4X3.IfcElementComponentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1704287377: (a) => new IFC4X3.IfcEllipse(a[0], a[1], a[2]),
    2107101300: (a) => new IFC4X3.IfcEnergyConversionDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    132023988: (a) => new IFC4X3.IfcEngineType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3174744832: (a) => new IFC4X3.IfcEvaporativeCoolerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3390157468: (a) => new IFC4X3.IfcEvaporatorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4148101412: (a) => new IFC4X3.IfcEvent(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    2853485674: (a) => new IFC4X3.IfcExternalSpatialStructureElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    807026263: (a) => new IFC4X3.IfcFacetedBrep(a[0]),
    3737207727: (a) => new IFC4X3.IfcFacetedBrepWithVoids(a[0], a[1]),
    24185140: (a) => new IFC4X3.IfcFacility(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1310830890: (a) => new IFC4X3.IfcFacilityPart(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4228831410: (a) => new IFC4X3.IfcFacilityPartCommon(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    647756555: (a) => new IFC4X3.IfcFastener(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2489546625: (a) => new IFC4X3.IfcFastenerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2827207264: (a) => new IFC4X3.IfcFeatureElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2143335405: (a) => new IFC4X3.IfcFeatureElementAddition(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1287392070: (a) => new IFC4X3.IfcFeatureElementSubtraction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3907093117: (a) => new IFC4X3.IfcFlowControllerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3198132628: (a) => new IFC4X3.IfcFlowFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3815607619: (a) => new IFC4X3.IfcFlowMeterType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1482959167: (a) => new IFC4X3.IfcFlowMovingDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1834744321: (a) => new IFC4X3.IfcFlowSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1339347760: (a) => new IFC4X3.IfcFlowStorageDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2297155007: (a) => new IFC4X3.IfcFlowTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3009222698: (a) => new IFC4X3.IfcFlowTreatmentDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1893162501: (a) => new IFC4X3.IfcFootingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    263784265: (a) => new IFC4X3.IfcFurnishingElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1509553395: (a) => new IFC4X3.IfcFurniture(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3493046030: (a) => new IFC4X3.IfcGeographicElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4230923436: (a) => new IFC4X3.IfcGeotechnicalElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1594536857: (a) => new IFC4X3.IfcGeotechnicalStratum(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2898700619: (a) => new IFC4X3.IfcGradientCurve(a[0], a[1], a[2], a[3]),
    2706460486: (a) => new IFC4X3.IfcGroup(a[0], a[1], a[2], a[3], a[4]),
    1251058090: (a) => new IFC4X3.IfcHeatExchangerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1806887404: (a) => new IFC4X3.IfcHumidifierType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2568555532: (a) => new IFC4X3.IfcImpactProtectionDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3948183225: (a) => new IFC4X3.IfcImpactProtectionDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2571569899: (a) => new IFC4X3.IfcIndexedPolyCurve(a[0], a[1], a[2]),
    3946677679: (a) => new IFC4X3.IfcInterceptorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3113134337: (a) => new IFC4X3.IfcIntersectionCurve(a[0], a[1], a[2]),
    2391368822: (a) => new IFC4X3.IfcInventory(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    4288270099: (a) => new IFC4X3.IfcJunctionBoxType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    679976338: (a) => new IFC4X3.IfcKerbType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3827777499: (a) => new IFC4X3.IfcLaborResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    1051575348: (a) => new IFC4X3.IfcLampType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1161773419: (a) => new IFC4X3.IfcLightFixtureType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2176059722: (a) => new IFC4X3.IfcLinearElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1770583370: (a) => new IFC4X3.IfcLiquidTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    525669439: (a) => new IFC4X3.IfcMarineFacility(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    976884017: (a) => new IFC4X3.IfcMarinePart(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    377706215: (a) => new IFC4X3.IfcMechanicalFastener(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    2108223431: (a) => new IFC4X3.IfcMechanicalFastenerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    1114901282: (a) => new IFC4X3.IfcMedicalDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3181161470: (a) => new IFC4X3.IfcMemberType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1950438474: (a) => new IFC4X3.IfcMobileTelecommunicationsApplianceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    710110818: (a) => new IFC4X3.IfcMooringDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    977012517: (a) => new IFC4X3.IfcMotorConnectionType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    506776471: (a) => new IFC4X3.IfcNavigationElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4143007308: (a) => new IFC4X3.IfcOccupant(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3588315303: (a) => new IFC4X3.IfcOpeningElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2837617999: (a) => new IFC4X3.IfcOutletType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    514975943: (a) => new IFC4X3.IfcPavementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2382730787: (a) => new IFC4X3.IfcPerformanceHistory(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3566463478: (a) => new IFC4X3.IfcPermeableCoveringProperties(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3327091369: (a) => new IFC4X3.IfcPermit(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1158309216: (a) => new IFC4X3.IfcPileType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    804291784: (a) => new IFC4X3.IfcPipeFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4231323485: (a) => new IFC4X3.IfcPipeSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4017108033: (a) => new IFC4X3.IfcPlateType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2839578677: (a) => new IFC4X3.IfcPolygonalFaceSet(a[0], a[1], a[2], a[3]),
    3724593414: (a) => new IFC4X3.IfcPolyline(a[0]),
    3740093272: (a) => new IFC4X3.IfcPort(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1946335990: (a) => new IFC4X3.IfcPositioningElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    2744685151: (a) => new IFC4X3.IfcProcedure(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2904328755: (a) => new IFC4X3.IfcProjectOrder(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3651124850: (a) => new IFC4X3.IfcProjectionElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1842657554: (a) => new IFC4X3.IfcProtectiveDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2250791053: (a) => new IFC4X3.IfcPumpType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1763565496: (a) => new IFC4X3.IfcRailType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2893384427: (a) => new IFC4X3.IfcRailingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3992365140: (a) => new IFC4X3.IfcRailway(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1891881377: (a) => new IFC4X3.IfcRailwayPart(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    2324767716: (a) => new IFC4X3.IfcRampFlightType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1469900589: (a) => new IFC4X3.IfcRampType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    683857671: (a) => new IFC4X3.IfcRationalBSplineSurfaceWithKnots(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    4021432810: (a) => new IFC4X3.IfcReferent(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3027567501: (a) => new IFC4X3.IfcReinforcingElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    964333572: (a) => new IFC4X3.IfcReinforcingElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2320036040: (a) => new IFC4X3.IfcReinforcingMesh(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17]),
    2310774935: (a) => new IFC4X3.IfcReinforcingMeshType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16], a[17], a[18], a[19]),
    3818125796: (a) => new IFC4X3.IfcRelAdheresToElement(a[0], a[1], a[2], a[3], a[4], a[5]),
    160246688: (a) => new IFC4X3.IfcRelAggregates(a[0], a[1], a[2], a[3], a[4], a[5]),
    146592293: (a) => new IFC4X3.IfcRoad(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    550521510: (a) => new IFC4X3.IfcRoadPart(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    2781568857: (a) => new IFC4X3.IfcRoofType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1768891740: (a) => new IFC4X3.IfcSanitaryTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2157484638: (a) => new IFC4X3.IfcSeamCurve(a[0], a[1], a[2]),
    3649235739: (a) => new IFC4X3.IfcSecondOrderPolynomialSpiral(a[0], a[1], a[2], a[3]),
    544395925: (a) => new IFC4X3.IfcSegmentedReferenceCurve(a[0], a[1], a[2], a[3]),
    1027922057: (a) => new IFC4X3.IfcSeventhOrderPolynomialSpiral(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4074543187: (a) => new IFC4X3.IfcShadingDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    33720170: (a) => new IFC4X3.IfcSign(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3599934289: (a) => new IFC4X3.IfcSignType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1894708472: (a) => new IFC4X3.IfcSignalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    42703149: (a) => new IFC4X3.IfcSineSpiral(a[0], a[1], a[2], a[3]),
    4097777520: (a) => new IFC4X3.IfcSite(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]),
    2533589738: (a) => new IFC4X3.IfcSlabType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1072016465: (a) => new IFC4X3.IfcSolarDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3856911033: (a) => new IFC4X3.IfcSpace(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    1305183839: (a) => new IFC4X3.IfcSpaceHeaterType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3812236995: (a) => new IFC4X3.IfcSpaceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    3112655638: (a) => new IFC4X3.IfcStackTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1039846685: (a) => new IFC4X3.IfcStairFlightType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    338393293: (a) => new IFC4X3.IfcStairType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    682877961: (a) => new IFC4X3.IfcStructuralAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1179482911: (a) => new IFC4X3.IfcStructuralConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1004757350: (a) => new IFC4X3.IfcStructuralCurveAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    4243806635: (a) => new IFC4X3.IfcStructuralCurveConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    214636428: (a) => new IFC4X3.IfcStructuralCurveMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2445595289: (a) => new IFC4X3.IfcStructuralCurveMemberVarying(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2757150158: (a) => new IFC4X3.IfcStructuralCurveReaction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1807405624: (a) => new IFC4X3.IfcStructuralLinearAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    1252848954: (a) => new IFC4X3.IfcStructuralLoadGroup(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2082059205: (a) => new IFC4X3.IfcStructuralPointAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    734778138: (a) => new IFC4X3.IfcStructuralPointConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1235345126: (a) => new IFC4X3.IfcStructuralPointReaction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2986769608: (a) => new IFC4X3.IfcStructuralResultGroup(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3657597509: (a) => new IFC4X3.IfcStructuralSurfaceAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    1975003073: (a) => new IFC4X3.IfcStructuralSurfaceConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    148013059: (a) => new IFC4X3.IfcSubContractResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    3101698114: (a) => new IFC4X3.IfcSurfaceFeature(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2315554128: (a) => new IFC4X3.IfcSwitchingDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2254336722: (a) => new IFC4X3.IfcSystem(a[0], a[1], a[2], a[3], a[4]),
    413509423: (a) => new IFC4X3.IfcSystemFurnitureElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    5716631: (a) => new IFC4X3.IfcTankType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3824725483: (a) => new IFC4X3.IfcTendon(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15], a[16]),
    2347447852: (a) => new IFC4X3.IfcTendonAnchor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3081323446: (a) => new IFC4X3.IfcTendonAnchorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3663046924: (a) => new IFC4X3.IfcTendonConduit(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2281632017: (a) => new IFC4X3.IfcTendonConduitType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2415094496: (a) => new IFC4X3.IfcTendonType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    618700268: (a) => new IFC4X3.IfcTrackElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1692211062: (a) => new IFC4X3.IfcTransformerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2097647324: (a) => new IFC4X3.IfcTransportElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1953115116: (a) => new IFC4X3.IfcTransportationDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3593883385: (a) => new IFC4X3.IfcTrimmedCurve(a[0], a[1], a[2], a[3], a[4]),
    1600972822: (a) => new IFC4X3.IfcTubeBundleType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1911125066: (a) => new IFC4X3.IfcUnitaryEquipmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    728799441: (a) => new IFC4X3.IfcValveType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    840318589: (a) => new IFC4X3.IfcVehicle(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1530820697: (a) => new IFC4X3.IfcVibrationDamper(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3956297820: (a) => new IFC4X3.IfcVibrationDamperType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2391383451: (a) => new IFC4X3.IfcVibrationIsolator(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3313531582: (a) => new IFC4X3.IfcVibrationIsolatorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2769231204: (a) => new IFC4X3.IfcVirtualElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    926996030: (a) => new IFC4X3.IfcVoidingFeature(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1898987631: (a) => new IFC4X3.IfcWallType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1133259667: (a) => new IFC4X3.IfcWasteTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4009809668: (a) => new IFC4X3.IfcWindowType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    4088093105: (a) => new IFC4X3.IfcWorkCalendar(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1028945134: (a) => new IFC4X3.IfcWorkControl(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    4218914973: (a) => new IFC4X3.IfcWorkPlan(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]),
    3342526732: (a) => new IFC4X3.IfcWorkSchedule(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]),
    1033361043: (a) => new IFC4X3.IfcZone(a[0], a[1], a[2], a[3], a[4], a[5]),
    3821786052: (a) => new IFC4X3.IfcActionRequest(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1411407467: (a) => new IFC4X3.IfcAirTerminalBoxType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3352864051: (a) => new IFC4X3.IfcAirTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1871374353: (a) => new IFC4X3.IfcAirToAirHeatRecoveryType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4266260250: (a) => new IFC4X3.IfcAlignmentCant(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1545765605: (a) => new IFC4X3.IfcAlignmentHorizontal(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    317615605: (a) => new IFC4X3.IfcAlignmentSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1662888072: (a) => new IFC4X3.IfcAlignmentVertical(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    3460190687: (a) => new IFC4X3.IfcAsset(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]),
    1532957894: (a) => new IFC4X3.IfcAudioVisualApplianceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1967976161: (a) => new IFC4X3.IfcBSplineCurve(a[0], a[1], a[2], a[3], a[4]),
    2461110595: (a) => new IFC4X3.IfcBSplineCurveWithKnots(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    819618141: (a) => new IFC4X3.IfcBeamType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3649138523: (a) => new IFC4X3.IfcBearingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    231477066: (a) => new IFC4X3.IfcBoilerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1136057603: (a) => new IFC4X3.IfcBoundaryCurve(a[0], a[1]),
    644574406: (a) => new IFC4X3.IfcBridge(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    963979645: (a) => new IFC4X3.IfcBridgePart(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    4031249490: (a) => new IFC4X3.IfcBuilding(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    2979338954: (a) => new IFC4X3.IfcBuildingElementPart(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    39481116: (a) => new IFC4X3.IfcBuildingElementPartType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1909888760: (a) => new IFC4X3.IfcBuildingElementProxyType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1177604601: (a) => new IFC4X3.IfcBuildingSystem(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1876633798: (a) => new IFC4X3.IfcBuiltElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3862327254: (a) => new IFC4X3.IfcBuiltSystem(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    2188180465: (a) => new IFC4X3.IfcBurnerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    395041908: (a) => new IFC4X3.IfcCableCarrierFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3293546465: (a) => new IFC4X3.IfcCableCarrierSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2674252688: (a) => new IFC4X3.IfcCableFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1285652485: (a) => new IFC4X3.IfcCableSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3203706013: (a) => new IFC4X3.IfcCaissonFoundationType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2951183804: (a) => new IFC4X3.IfcChillerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3296154744: (a) => new IFC4X3.IfcChimney(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2611217952: (a) => new IFC4X3.IfcCircle(a[0], a[1]),
    1677625105: (a) => new IFC4X3.IfcCivilElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2301859152: (a) => new IFC4X3.IfcCoilType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    843113511: (a) => new IFC4X3.IfcColumn(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    400855858: (a) => new IFC4X3.IfcCommunicationsApplianceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3850581409: (a) => new IFC4X3.IfcCompressorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2816379211: (a) => new IFC4X3.IfcCondenserType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3898045240: (a) => new IFC4X3.IfcConstructionEquipmentResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    1060000209: (a) => new IFC4X3.IfcConstructionMaterialResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    488727124: (a) => new IFC4X3.IfcConstructionProductResource(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    2940368186: (a) => new IFC4X3.IfcConveyorSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    335055490: (a) => new IFC4X3.IfcCooledBeamType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2954562838: (a) => new IFC4X3.IfcCoolingTowerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1502416096: (a) => new IFC4X3.IfcCourse(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1973544240: (a) => new IFC4X3.IfcCovering(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3495092785: (a) => new IFC4X3.IfcCurtainWall(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3961806047: (a) => new IFC4X3.IfcDamperType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3426335179: (a) => new IFC4X3.IfcDeepFoundation(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1335981549: (a) => new IFC4X3.IfcDiscreteAccessory(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2635815018: (a) => new IFC4X3.IfcDiscreteAccessoryType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    479945903: (a) => new IFC4X3.IfcDistributionBoardType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1599208980: (a) => new IFC4X3.IfcDistributionChamberElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2063403501: (a) => new IFC4X3.IfcDistributionControlElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1945004755: (a) => new IFC4X3.IfcDistributionElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3040386961: (a) => new IFC4X3.IfcDistributionFlowElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3041715199: (a) => new IFC4X3.IfcDistributionPort(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3205830791: (a) => new IFC4X3.IfcDistributionSystem(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    395920057: (a) => new IFC4X3.IfcDoor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    869906466: (a) => new IFC4X3.IfcDuctFittingType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3760055223: (a) => new IFC4X3.IfcDuctSegmentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2030761528: (a) => new IFC4X3.IfcDuctSilencerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3071239417: (a) => new IFC4X3.IfcEarthworksCut(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1077100507: (a) => new IFC4X3.IfcEarthworksElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3376911765: (a) => new IFC4X3.IfcEarthworksFill(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    663422040: (a) => new IFC4X3.IfcElectricApplianceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2417008758: (a) => new IFC4X3.IfcElectricDistributionBoardType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3277789161: (a) => new IFC4X3.IfcElectricFlowStorageDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2142170206: (a) => new IFC4X3.IfcElectricFlowTreatmentDeviceType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1534661035: (a) => new IFC4X3.IfcElectricGeneratorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1217240411: (a) => new IFC4X3.IfcElectricMotorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    712377611: (a) => new IFC4X3.IfcElectricTimeControlType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1658829314: (a) => new IFC4X3.IfcEnergyConversionDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2814081492: (a) => new IFC4X3.IfcEngine(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3747195512: (a) => new IFC4X3.IfcEvaporativeCooler(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    484807127: (a) => new IFC4X3.IfcEvaporator(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1209101575: (a) => new IFC4X3.IfcExternalSpatialElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    346874300: (a) => new IFC4X3.IfcFanType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1810631287: (a) => new IFC4X3.IfcFilterType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4222183408: (a) => new IFC4X3.IfcFireSuppressionTerminalType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2058353004: (a) => new IFC4X3.IfcFlowController(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    4278956645: (a) => new IFC4X3.IfcFlowFitting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    4037862832: (a) => new IFC4X3.IfcFlowInstrumentType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    2188021234: (a) => new IFC4X3.IfcFlowMeter(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3132237377: (a) => new IFC4X3.IfcFlowMovingDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    987401354: (a) => new IFC4X3.IfcFlowSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    707683696: (a) => new IFC4X3.IfcFlowStorageDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2223149337: (a) => new IFC4X3.IfcFlowTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3508470533: (a) => new IFC4X3.IfcFlowTreatmentDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    900683007: (a) => new IFC4X3.IfcFooting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2713699986: (a) => new IFC4X3.IfcGeotechnicalAssembly(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    3009204131: (a) => new IFC4X3.IfcGrid(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    3319311131: (a) => new IFC4X3.IfcHeatExchanger(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2068733104: (a) => new IFC4X3.IfcHumidifier(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4175244083: (a) => new IFC4X3.IfcInterceptor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2176052936: (a) => new IFC4X3.IfcJunctionBox(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2696325953: (a) => new IFC4X3.IfcKerb(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    76236018: (a) => new IFC4X3.IfcLamp(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    629592764: (a) => new IFC4X3.IfcLightFixture(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1154579445: (a) => new IFC4X3.IfcLinearPositioningElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1638804497: (a) => new IFC4X3.IfcLiquidTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1437502449: (a) => new IFC4X3.IfcMedicalDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1073191201: (a) => new IFC4X3.IfcMember(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2078563270: (a) => new IFC4X3.IfcMobileTelecommunicationsAppliance(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    234836483: (a) => new IFC4X3.IfcMooringDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2474470126: (a) => new IFC4X3.IfcMotorConnection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2182337498: (a) => new IFC4X3.IfcNavigationElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    144952367: (a) => new IFC4X3.IfcOuterBoundaryCurve(a[0], a[1]),
    3694346114: (a) => new IFC4X3.IfcOutlet(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1383356374: (a) => new IFC4X3.IfcPavement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1687234759: (a) => new IFC4X3.IfcPile(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    310824031: (a) => new IFC4X3.IfcPipeFitting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3612865200: (a) => new IFC4X3.IfcPipeSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3171933400: (a) => new IFC4X3.IfcPlate(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    738039164: (a) => new IFC4X3.IfcProtectiveDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    655969474: (a) => new IFC4X3.IfcProtectiveDeviceTrippingUnitType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    90941305: (a) => new IFC4X3.IfcPump(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3290496277: (a) => new IFC4X3.IfcRail(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2262370178: (a) => new IFC4X3.IfcRailing(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3024970846: (a) => new IFC4X3.IfcRamp(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3283111854: (a) => new IFC4X3.IfcRampFlight(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1232101972: (a) => new IFC4X3.IfcRationalBSplineCurveWithKnots(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3798194928: (a) => new IFC4X3.IfcReinforcedSoil(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    979691226: (a) => new IFC4X3.IfcReinforcingBar(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13]),
    2572171363: (a) => new IFC4X3.IfcReinforcingBarType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15]),
    2016517767: (a) => new IFC4X3.IfcRoof(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3053780830: (a) => new IFC4X3.IfcSanitaryTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1783015770: (a) => new IFC4X3.IfcSensorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1329646415: (a) => new IFC4X3.IfcShadingDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    991950508: (a) => new IFC4X3.IfcSignal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1529196076: (a) => new IFC4X3.IfcSlab(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3420628829: (a) => new IFC4X3.IfcSolarDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1999602285: (a) => new IFC4X3.IfcSpaceHeater(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1404847402: (a) => new IFC4X3.IfcStackTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    331165859: (a) => new IFC4X3.IfcStair(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4252922144: (a) => new IFC4X3.IfcStairFlight(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    2515109513: (a) => new IFC4X3.IfcStructuralAnalysisModel(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    385403989: (a) => new IFC4X3.IfcStructuralLoadCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]),
    1621171031: (a) => new IFC4X3.IfcStructuralPlanarAction(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]),
    1162798199: (a) => new IFC4X3.IfcSwitchingDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    812556717: (a) => new IFC4X3.IfcTank(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3425753595: (a) => new IFC4X3.IfcTrackElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3825984169: (a) => new IFC4X3.IfcTransformer(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1620046519: (a) => new IFC4X3.IfcTransportElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3026737570: (a) => new IFC4X3.IfcTubeBundle(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3179687236: (a) => new IFC4X3.IfcUnitaryControlElementType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    4292641817: (a) => new IFC4X3.IfcUnitaryEquipment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4207607924: (a) => new IFC4X3.IfcValve(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2391406946: (a) => new IFC4X3.IfcWall(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3512223829: (a) => new IFC4X3.IfcWallStandardCase(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4237592921: (a) => new IFC4X3.IfcWasteTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3304561284: (a) => new IFC4X3.IfcWindow(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12]),
    2874132201: (a) => new IFC4X3.IfcActuatorType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    1634111441: (a) => new IFC4X3.IfcAirTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    177149247: (a) => new IFC4X3.IfcAirTerminalBox(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2056796094: (a) => new IFC4X3.IfcAirToAirHeatRecovery(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3001207471: (a) => new IFC4X3.IfcAlarmType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    325726236: (a) => new IFC4X3.IfcAlignment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    277319702: (a) => new IFC4X3.IfcAudioVisualAppliance(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    753842376: (a) => new IFC4X3.IfcBeam(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4196446775: (a) => new IFC4X3.IfcBearing(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    32344328: (a) => new IFC4X3.IfcBoiler(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3314249567: (a) => new IFC4X3.IfcBorehole(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1095909175: (a) => new IFC4X3.IfcBuildingElementProxy(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2938176219: (a) => new IFC4X3.IfcBurner(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    635142910: (a) => new IFC4X3.IfcCableCarrierFitting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3758799889: (a) => new IFC4X3.IfcCableCarrierSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1051757585: (a) => new IFC4X3.IfcCableFitting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4217484030: (a) => new IFC4X3.IfcCableSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3999819293: (a) => new IFC4X3.IfcCaissonFoundation(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3902619387: (a) => new IFC4X3.IfcChiller(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    639361253: (a) => new IFC4X3.IfcCoil(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3221913625: (a) => new IFC4X3.IfcCommunicationsAppliance(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3571504051: (a) => new IFC4X3.IfcCompressor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2272882330: (a) => new IFC4X3.IfcCondenser(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    578613899: (a) => new IFC4X3.IfcControllerType(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]),
    3460952963: (a) => new IFC4X3.IfcConveyorSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4136498852: (a) => new IFC4X3.IfcCooledBeam(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3640358203: (a) => new IFC4X3.IfcCoolingTower(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4074379575: (a) => new IFC4X3.IfcDamper(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3693000487: (a) => new IFC4X3.IfcDistributionBoard(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1052013943: (a) => new IFC4X3.IfcDistributionChamberElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    562808652: (a) => new IFC4X3.IfcDistributionCircuit(a[0], a[1], a[2], a[3], a[4], a[5], a[6]),
    1062813311: (a) => new IFC4X3.IfcDistributionControlElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    342316401: (a) => new IFC4X3.IfcDuctFitting(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3518393246: (a) => new IFC4X3.IfcDuctSegment(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1360408905: (a) => new IFC4X3.IfcDuctSilencer(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1904799276: (a) => new IFC4X3.IfcElectricAppliance(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    862014818: (a) => new IFC4X3.IfcElectricDistributionBoard(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3310460725: (a) => new IFC4X3.IfcElectricFlowStorageDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    24726584: (a) => new IFC4X3.IfcElectricFlowTreatmentDevice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    264262732: (a) => new IFC4X3.IfcElectricGenerator(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    402227799: (a) => new IFC4X3.IfcElectricMotor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1003880860: (a) => new IFC4X3.IfcElectricTimeControl(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3415622556: (a) => new IFC4X3.IfcFan(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    819412036: (a) => new IFC4X3.IfcFilter(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    1426591983: (a) => new IFC4X3.IfcFireSuppressionTerminal(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    182646315: (a) => new IFC4X3.IfcFlowInstrument(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    2680139844: (a) => new IFC4X3.IfcGeomodel(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    1971632696: (a) => new IFC4X3.IfcGeoslice(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]),
    2295281155: (a) => new IFC4X3.IfcProtectiveDeviceTrippingUnit(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4086658281: (a) => new IFC4X3.IfcSensor(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    630975310: (a) => new IFC4X3.IfcUnitaryControlElement(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    4288193352: (a) => new IFC4X3.IfcActuator(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    3087945054: (a) => new IFC4X3.IfcAlarm(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]),
    25142252: (a) => new IFC4X3.IfcController(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8])
  };
  ToRawLineData[3] = {
    3630933823: (i) => [i.Role, i.UserDefinedRole, i.Description],
    618182010: (i) => [i.Purpose, i.Description, i.UserDefinedPurpose],
    2879124712: (i) => [i.StartTag, i.EndTag],
    3633395639: (i) => [i.StartTag, i.EndTag, i.StartDistAlong, i.HorizontalLength, i.StartHeight, i.StartGradient, i.EndGradient, i.RadiusOfCurvature, i.PredefinedType],
    639542469: (i) => [i.ApplicationDeveloper, i.Version, i.ApplicationFullName, i.ApplicationIdentifier],
    411424972: (i) => [i.Name, i.Description, Labelise(i.AppliedValue), i.UnitBasis, i.ApplicableDate, i.FixedUntilDate, i.Category, i.Condition, i.ArithmeticOperator, i.Components],
    130549933: (i) => [i.Identifier, i.Name, i.Description, i.TimeOfApproval, i.Status, i.Level, i.Qualifier, Labelise(i.RequestingApproval), Labelise(i.GivingApproval)],
    4037036970: (i) => [i.Name],
    1560379544: (i) => [i.Name, (i.TranslationalStiffnessByLengthX ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessByLengthX), (i.TranslationalStiffnessByLengthY ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessByLengthY), (i.TranslationalStiffnessByLengthZ ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessByLengthZ), (i.RotationalStiffnessByLengthX ?? void 0) === void 0 ? null : Labelise(i.RotationalStiffnessByLengthX), (i.RotationalStiffnessByLengthY ?? void 0) === void 0 ? null : Labelise(i.RotationalStiffnessByLengthY), (i.RotationalStiffnessByLengthZ ?? void 0) === void 0 ? null : Labelise(i.RotationalStiffnessByLengthZ)],
    3367102660: (i) => [i.Name, (i.TranslationalStiffnessByAreaX ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessByAreaX), (i.TranslationalStiffnessByAreaY ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessByAreaY), (i.TranslationalStiffnessByAreaZ ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessByAreaZ)],
    1387855156: (i) => [i.Name, (i.TranslationalStiffnessX ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessX), (i.TranslationalStiffnessY ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessY), (i.TranslationalStiffnessZ ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessZ), (i.RotationalStiffnessX ?? void 0) === void 0 ? null : Labelise(i.RotationalStiffnessX), (i.RotationalStiffnessY ?? void 0) === void 0 ? null : Labelise(i.RotationalStiffnessY), (i.RotationalStiffnessZ ?? void 0) === void 0 ? null : Labelise(i.RotationalStiffnessZ)],
    2069777674: (i) => [i.Name, (i.TranslationalStiffnessX ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessX), (i.TranslationalStiffnessY ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessY), (i.TranslationalStiffnessZ ?? void 0) === void 0 ? null : Labelise(i.TranslationalStiffnessZ), (i.RotationalStiffnessX ?? void 0) === void 0 ? null : Labelise(i.RotationalStiffnessX), (i.RotationalStiffnessY ?? void 0) === void 0 ? null : Labelise(i.RotationalStiffnessY), (i.RotationalStiffnessZ ?? void 0) === void 0 ? null : Labelise(i.RotationalStiffnessZ), (i.WarpingStiffness ?? void 0) === void 0 ? null : Labelise(i.WarpingStiffness)],
    2859738748: (_) => [],
    2614616156: (i) => [Labelise(i.PointOnRelatingElement), Labelise(i.PointOnRelatedElement)],
    2732653382: (i) => [Labelise(i.SurfaceOnRelatingElement), Labelise(i.SurfaceOnRelatedElement)],
    775493141: (i) => [Labelise(i.VolumeOnRelatingElement), Labelise(i.VolumeOnRelatedElement)],
    1959218052: (i) => [i.Name, i.Description, i.ConstraintGrade, i.ConstraintSource, Labelise(i.CreatingActor), i.CreationTime, i.UserDefinedGrade],
    1785450214: (i) => [Labelise(i.SourceCRS), i.TargetCRS],
    1466758467: (i) => [i.Name, i.Description, i.GeodeticDatum],
    602808272: (i) => [i.Name, i.Description, Labelise(i.AppliedValue), i.UnitBasis, i.ApplicableDate, i.FixedUntilDate, i.Category, i.Condition, i.ArithmeticOperator, i.Components],
    1765591967: (i) => [i.Elements, i.UnitType, i.UserDefinedType, i.Name],
    1045800335: (i) => [i.Unit, i.Exponent],
    2949456006: (i) => [i.LengthExponent, i.MassExponent, i.TimeExponent, i.ElectricCurrentExponent, i.ThermodynamicTemperatureExponent, i.AmountOfSubstanceExponent, i.LuminousIntensityExponent],
    4294318154: (_) => [],
    3200245327: (i) => [i.Location, i.Identification, i.Name],
    2242383968: (i) => [i.Location, i.Identification, i.Name],
    1040185647: (i) => [i.Location, i.Identification, i.Name],
    3548104201: (i) => [i.Location, i.Identification, i.Name],
    917726184: (i) => [i.Name, i.Description, i.GeodeticDatum, i.PrimeMeridian, i.AngleUnit, i.HeightUnit],
    852622518: (i) => [i.AxisTag, i.AxisCurve, { type: 3, value: i.SameSense.value }],
    3020489413: (i) => [i.TimeStamp, i.ListValues.map((p) => Labelise(p))],
    2655187982: (i) => [i.Name, i.Version, Labelise(i.Publisher), i.VersionDate, i.Location, i.Description],
    3452421091: (i) => [i.Location, i.Identification, i.Name, i.Description, i.Language, i.ReferencedLibrary],
    4162380809: (i) => [i.MainPlaneAngle, i.SecondaryPlaneAngle, i.LuminousIntensity],
    1566485204: (i) => [i.LightDistributionCurve, i.DistributionData],
    3057273783: (i) => [Labelise(i.SourceCRS), i.TargetCRS, i.Eastings, i.Northings, i.OrthogonalHeight, i.XAxisAbscissa, i.XAxisOrdinate, i.Scale],
    4105526436: (i) => [Labelise(i.SourceCRS), i.TargetCRS, i.Eastings, i.Northings, i.OrthogonalHeight, i.XAxisAbscissa, i.XAxisOrdinate, i.Scale, i.FactorX, i.FactorY, i.FactorZ],
    1847130766: (i) => [Labelise(i.MaterialClassifications), i.ClassifiedMaterial],
    760658860: (_) => [],
    248100487: (i) => [i.Material, i.LayerThickness, i.IsVentilated == null ? null : { type: 3, value: i.IsVentilated.value }, i.Name, i.Description, i.Category, i.Priority],
    3303938423: (i) => [i.MaterialLayers, i.LayerSetName, i.Description],
    1847252529: (i) => [i.Material, i.LayerThickness, i.IsVentilated == null ? null : { type: 3, value: i.IsVentilated.value }, i.Name, i.Description, i.Category, i.Priority, i.OffsetDirection, i.OffsetValues],
    2199411900: (i) => [i.Materials],
    2235152071: (i) => [i.Name, i.Description, i.Material, i.Profile, i.Priority, i.Category],
    164193824: (i) => [i.Name, i.Description, i.MaterialProfiles, i.CompositeProfile],
    552965576: (i) => [i.Name, i.Description, i.Material, i.Profile, i.Priority, i.Category, i.OffsetValues],
    1507914824: (_) => [],
    2597039031: (i) => [Labelise(i.ValueComponent), Labelise(i.UnitComponent)],
    3368373690: (i) => [i.Name, i.Description, i.ConstraintGrade, i.ConstraintSource, Labelise(i.CreatingActor), i.CreationTime, i.UserDefinedGrade, i.Benchmark, i.ValueSource, Labelise(i.DataValue), i.ReferencePath],
    2706619895: (i) => [i.Currency],
    1918398963: (i) => [i.Dimensions, i.UnitType],
    3701648758: (i) => [i.PlacementRelTo],
    2251480897: (i) => [i.Name, i.Description, i.ConstraintGrade, i.ConstraintSource, Labelise(i.CreatingActor), i.CreationTime, i.UserDefinedGrade, i.BenchmarkValues, i.LogicalAggregator, i.ObjectiveQualifier, i.UserDefinedQualifier],
    4251960020: (i) => [i.Identification, i.Name, i.Description, i.Roles, i.Addresses],
    1207048766: (i) => [i.OwningUser, i.OwningApplication, i.State, i.ChangeAction, i.LastModifiedDate, i.LastModifyingUser, i.LastModifyingApplication, i.CreationDate],
    2077209135: (i) => [i.Identification, i.FamilyName, i.GivenName, i.MiddleNames, i.PrefixTitles, i.SuffixTitles, i.Roles, i.Addresses],
    101040310: (i) => [i.ThePerson, i.TheOrganization, i.Roles],
    2483315170: (i) => [i.Name, i.Description],
    2226359599: (i) => [i.Name, i.Description, i.Unit],
    3355820592: (i) => [i.Purpose, i.Description, i.UserDefinedPurpose, i.InternalLocation, i.AddressLines, i.PostalBox, i.Town, i.Region, i.PostalCode, i.Country],
    677532197: (_) => [],
    2022622350: (i) => [i.Name, i.Description, Labelise(i.AssignedItems), i.Identifier],
    1304840413: (i) => [i.Name, i.Description, Labelise(i.AssignedItems), i.Identifier, { type: 3, value: i.LayerOn.value }, { type: 3, value: i.LayerFrozen.value }, { type: 3, value: i.LayerBlocked.value }, i.LayerStyles],
    3119450353: (i) => [i.Name],
    2095639259: (i) => [i.Name, i.Description, i.Representations],
    3958567839: (i) => [i.ProfileType, i.ProfileName],
    3843373140: (i) => [i.Name, i.Description, i.GeodeticDatum, i.VerticalDatum, i.MapProjection, i.MapZone, i.MapUnit],
    986844984: (_) => [],
    3710013099: (i) => [i.Name, i.EnumerationValues.map((p) => Labelise(p)), Labelise(i.Unit)],
    2044713172: (i) => [i.Name, i.Description, i.Unit, i.AreaValue, i.Formula],
    2093928680: (i) => [i.Name, i.Description, i.Unit, i.CountValue, i.Formula],
    931644368: (i) => [i.Name, i.Description, i.Unit, i.LengthValue, i.Formula],
    2691318326: (i) => [i.Name, i.Description, i.Unit, i.NumberValue, i.Formula],
    3252649465: (i) => [i.Name, i.Description, i.Unit, i.TimeValue, i.Formula],
    2405470396: (i) => [i.Name, i.Description, i.Unit, i.VolumeValue, i.Formula],
    825690147: (i) => [i.Name, i.Description, i.Unit, i.WeightValue, i.Formula],
    3915482550: (i) => [i.RecurrenceType, i.DayComponent, i.WeekdayComponent, i.MonthComponent, i.Position, i.Interval, i.Occurrences, i.TimePeriods],
    2433181523: (i) => [i.TypeIdentifier, i.AttributeIdentifier, i.InstanceName, i.ListPositions, i.InnerReference],
    1076942058: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items],
    3377609919: (i) => [i.ContextIdentifier, i.ContextType],
    3008791417: (_) => [],
    1660063152: (i) => [Labelise(i.MappingOrigin), i.MappedRepresentation],
    2439245199: (i) => [i.Name, i.Description],
    1794013214: (i) => [Labelise(i.SourceCRS), i.TargetCRS, Labelise(i.FirstCoordinate), Labelise(i.SecondCoordinate), i.Height],
    2341007311: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    448429030: (i) => [void 0, i.UnitType, i.Prefix, i.Name],
    1054537805: (i) => [i.Name, i.DataOrigin, i.UserDefinedDataOrigin],
    867548509: (i) => [i.ShapeRepresentations, i.Name, i.Description, { type: 3, value: i.ProductDefinitional.value }, Labelise(i.PartOfProductDefinitionShape)],
    3982875396: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items],
    4240577450: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items],
    2273995522: (i) => [i.Name],
    2162789131: (i) => [i.Name],
    3478079324: (i) => [i.Name, i.Values, i.Locations],
    609421318: (i) => [i.Name],
    2525727697: (i) => [i.Name],
    3408363356: (i) => [i.Name, i.DeltaTConstant, i.DeltaTY, i.DeltaTZ],
    2830218821: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items],
    3958052878: (i) => [i.Item, i.Styles, i.Name],
    3049322572: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items],
    2934153892: (i) => [i.Name, i.SurfaceReinforcement1, i.SurfaceReinforcement2, i.ShearReinforcement],
    1300840506: (i) => [i.Name, i.Side, Labelise(i.Styles)],
    3303107099: (i) => [i.DiffuseTransmissionColour, i.DiffuseReflectionColour, i.TransmissionColour, i.ReflectanceColour],
    1607154358: (i) => [i.RefractionIndex, i.DispersionFactor],
    846575682: (i) => [i.SurfaceColour, i.Transparency],
    1351298697: (i) => [i.Textures],
    626085974: (i) => [{ type: 3, value: i.RepeatS.value }, { type: 3, value: i.RepeatT.value }, i.Mode, i.TextureTransform, i.Parameter],
    985171141: (i) => [i.Name, i.Rows, i.Columns],
    2043862942: (i) => [i.Identifier, i.Name, i.Description, Labelise(i.Unit), i.ReferencePath],
    531007025: (i) => [(i.RowCells ?? void 0) === void 0 ? null : i.RowCells.map((p) => Labelise(p)), i.IsHeading == null ? null : { type: 3, value: i.IsHeading.value }],
    1549132990: (i) => [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, i.DurationType, i.ScheduleDuration, i.ScheduleStart, i.ScheduleFinish, i.EarlyStart, i.EarlyFinish, i.LateStart, i.LateFinish, i.FreeFloat, i.TotalFloat, i.IsCritical == null ? null : { type: 3, value: i.IsCritical.value }, i.StatusTime, i.ActualDuration, i.ActualStart, i.ActualFinish, i.RemainingTime, i.Completion],
    2771591690: (i) => [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, i.DurationType, i.ScheduleDuration, i.ScheduleStart, i.ScheduleFinish, i.EarlyStart, i.EarlyFinish, i.LateStart, i.LateFinish, i.FreeFloat, i.TotalFloat, i.IsCritical == null ? null : { type: 3, value: i.IsCritical.value }, i.StatusTime, i.ActualDuration, i.ActualStart, i.ActualFinish, i.RemainingTime, i.Completion, i.Recurrence],
    912023232: (i) => [i.Purpose, i.Description, i.UserDefinedPurpose, i.TelephoneNumbers, i.FacsimileNumbers, i.PagerNumber, i.ElectronicMailAddresses, i.WWWHomePageURL, i.MessagingIDs],
    1447204868: (i) => [i.Name, i.TextCharacterAppearance, i.TextStyle, Labelise(i.TextFontStyle), i.ModelOrDraughting == null ? null : { type: 3, value: i.ModelOrDraughting.value }],
    2636378356: (i) => [Labelise(i.Colour), Labelise(i.BackgroundColour)],
    1640371178: (i) => [(i.TextIndent ?? void 0) === void 0 ? null : Labelise(i.TextIndent), i.TextAlign, i.TextDecoration, (i.LetterSpacing ?? void 0) === void 0 ? null : Labelise(i.LetterSpacing), (i.WordSpacing ?? void 0) === void 0 ? null : Labelise(i.WordSpacing), i.TextTransform, (i.LineHeight ?? void 0) === void 0 ? null : Labelise(i.LineHeight)],
    280115917: (i) => [i.Maps],
    1742049831: (i) => [i.Maps, i.Mode, i.Parameter],
    222769930: (i) => [i.TexCoordIndex, i.TexCoordsOf],
    1010789467: (i) => [i.TexCoordIndex, i.TexCoordsOf, i.InnerTexCoordIndices],
    2552916305: (i) => [i.Maps, i.Vertices, i.MappedTo],
    1210645708: (i) => [i.Coordinates],
    3611470254: (i) => [i.TexCoordsList],
    1199560280: (i) => [i.StartTime, i.EndTime],
    3101149627: (i) => [i.Name, i.Description, i.StartTime, i.EndTime, i.TimeSeriesDataType, i.DataOrigin, i.UserDefinedDataOrigin, Labelise(i.Unit)],
    581633288: (i) => [i.ListValues.map((p) => Labelise(p))],
    1377556343: (_) => [],
    1735638870: (i) => [i.ContextOfItems, i.RepresentationIdentifier, i.RepresentationType, i.Items],
    180925521: (i) => [Labelise(i.Units)],
    2799835756: (_) => [],
    1907098498: (i) => [i.VertexGeometry],
    891718957: (i) => [i.IntersectingAxes, i.OffsetDistances],
    1175146630: (i) => [i.WellKnownText, i.CoordinateReferenceSystem],
    1236880293: (i) => [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, i.RecurrencePattern, i.StartDate, i.FinishDate],
    3752311538: (i) => [i.StartTag, i.EndTag, i.StartDistAlong, i.HorizontalLength, i.StartCantLeft, i.EndCantLeft, i.StartCantRight, i.EndCantRight, i.PredefinedType],
    536804194: (i) => [i.StartTag, i.EndTag, i.StartPoint, i.StartDirection, i.StartRadiusOfCurvature, i.EndRadiusOfCurvature, i.SegmentLength, i.GravityCenterLineHeight, i.PredefinedType],
    3869604511: (i) => [i.Name, i.Description, i.RelatingApproval, i.RelatedApprovals],
    3798115385: (i) => [i.ProfileType, i.ProfileName, i.OuterCurve],
    1310608509: (i) => [i.ProfileType, i.ProfileName, i.Curve],
    2705031697: (i) => [i.ProfileType, i.ProfileName, i.OuterCurve, i.InnerCurves],
    616511568: (i) => [{ type: 3, value: i.RepeatS.value }, { type: 3, value: i.RepeatT.value }, i.Mode, i.TextureTransform, i.Parameter, i.RasterFormat, i.RasterCode],
    3150382593: (i) => [i.ProfileType, i.ProfileName, i.Curve, i.Thickness],
    747523909: (i) => [i.Source, i.Edition, i.EditionDate, i.Name, i.Description, i.Specification, i.ReferenceTokens],
    647927063: (i) => [i.Location, i.Identification, i.Name, Labelise(i.ReferencedSource), i.Description, i.Sort],
    3285139300: (i) => [i.ColourList],
    3264961684: (i) => [i.Name],
    1485152156: (i) => [i.ProfileType, i.ProfileName, i.Profiles, i.Label],
    370225590: (i) => [i.CfsFaces],
    1981873012: (i) => [Labelise(i.CurveOnRelatingElement), Labelise(i.CurveOnRelatedElement)],
    45288368: (i) => [Labelise(i.PointOnRelatingElement), Labelise(i.PointOnRelatedElement), i.EccentricityInX, i.EccentricityInY, i.EccentricityInZ],
    3050246964: (i) => [i.Dimensions, i.UnitType, i.Name],
    2889183280: (i) => [i.Dimensions, i.UnitType, i.Name, i.ConversionFactor],
    2713554722: (i) => [i.Dimensions, i.UnitType, i.Name, i.ConversionFactor, i.ConversionOffset],
    539742890: (i) => [i.Name, i.Description, i.RelatingMonetaryUnit, i.RelatedMonetaryUnit, i.ExchangeRate, i.RateDateTime, i.RateSource],
    3800577675: (i) => [i.Name, Labelise(i.CurveFont), (i.CurveWidth ?? void 0) === void 0 ? null : Labelise(i.CurveWidth), Labelise(i.CurveColour), i.ModelOrDraughting == null ? null : { type: 3, value: i.ModelOrDraughting.value }],
    1105321065: (i) => [i.Name, i.PatternList],
    2367409068: (i) => [i.Name, Labelise(i.CurveStyleFont), i.CurveFontScaling],
    3510044353: (i) => [i.VisibleSegmentLength, i.InvisibleSegmentLength],
    3632507154: (i) => [i.ProfileType, i.ProfileName, i.ParentProfile, i.Operator, i.Label],
    1154170062: (i) => [i.Identification, i.Name, i.Description, i.Location, i.Purpose, i.IntendedUse, i.Scope, i.Revision, Labelise(i.DocumentOwner), Labelise(i.Editors), i.CreationTime, i.LastRevisionTime, i.ElectronicFormat, i.ValidFrom, i.ValidUntil, i.Confidentiality, i.Status],
    770865208: (i) => [i.Name, i.Description, i.RelatingDocument, i.RelatedDocuments, i.RelationshipType],
    3732053477: (i) => [i.Location, i.Identification, i.Name, i.Description, i.ReferencedDocument],
    3900360178: (i) => [i.EdgeStart, i.EdgeEnd],
    476780140: (i) => [i.EdgeStart, i.EdgeEnd, i.EdgeGeometry, { type: 3, value: i.SameSense.value }],
    211053100: (i) => [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, i.ActualDate, i.EarlyDate, i.LateDate, i.ScheduleDate],
    297599258: (i) => [i.Name, i.Description, i.Properties],
    1437805879: (i) => [i.Name, i.Description, i.RelatingReference, Labelise(i.RelatedResourceObjects)],
    2556980723: (i) => [i.Bounds],
    1809719519: (i) => [i.Bound, { type: 3, value: i.Orientation.value }],
    803316827: (i) => [i.Bound, { type: 3, value: i.Orientation.value }],
    3008276851: (i) => [i.Bounds, i.FaceSurface, { type: 3, value: i.SameSense.value }],
    4219587988: (i) => [i.Name, i.TensionFailureX, i.TensionFailureY, i.TensionFailureZ, i.CompressionFailureX, i.CompressionFailureY, i.CompressionFailureZ],
    738692330: (i) => [i.Name, Labelise(i.FillStyles), i.ModelOrDraughting == null ? null : { type: 3, value: i.ModelOrDraughting.value }],
    3448662350: (i) => [i.ContextIdentifier, i.ContextType, i.CoordinateSpaceDimension, i.Precision, Labelise(i.WorldCoordinateSystem), i.TrueNorth],
    2453401579: (_) => [],
    4142052618: (i) => [i.ContextIdentifier, i.ContextType, void 0, void 0, void 0, void 0, i.ParentContext, i.TargetScale, i.TargetView, i.UserDefinedTargetView],
    3590301190: (i) => [Labelise(i.Elements)],
    178086475: (i) => [i.PlacementRelTo, i.PlacementLocation, Labelise(i.PlacementRefDirection)],
    812098782: (i) => [i.BaseSurface, { type: 3, value: i.AgreementFlag.value }],
    3905492369: (i) => [{ type: 3, value: i.RepeatS.value }, { type: 3, value: i.RepeatT.value }, i.Mode, i.TextureTransform, i.Parameter, i.URLReference],
    3570813810: (i) => [i.MappedTo, i.Opacity, i.Colours, i.ColourIndex],
    1437953363: (i) => [i.Maps, i.MappedTo, i.TexCoords],
    2133299955: (i) => [i.Maps, i.MappedTo, i.TexCoords, i.TexCoordIndex],
    3741457305: (i) => [i.Name, i.Description, i.StartTime, i.EndTime, i.TimeSeriesDataType, i.DataOrigin, i.UserDefinedDataOrigin, Labelise(i.Unit), i.Values],
    1585845231: (i) => [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, Labelise(i.LagValue), i.DurationType],
    1402838566: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity],
    125510826: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity],
    2604431987: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Orientation],
    4266656042: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Position, i.ColourAppearance, i.ColourTemperature, i.LuminousFlux, i.LightEmissionSource, Labelise(i.LightDistributionDataSource)],
    1520743889: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Position, i.Radius, i.ConstantAttenuation, i.DistanceAttenuation, i.QuadricAttenuation],
    3422422726: (i) => [i.Name, i.LightColour, i.AmbientIntensity, i.Intensity, i.Position, i.Radius, i.ConstantAttenuation, i.DistanceAttenuation, i.QuadricAttenuation, i.Orientation, i.ConcentrationExponent, i.SpreadAngle, i.BeamWidthAngle],
    388784114: (i) => [i.PlacementRelTo, i.RelativePlacement, i.CartesianPosition],
    2624227202: (i) => [i.PlacementRelTo, Labelise(i.RelativePlacement)],
    1008929658: (_) => [],
    2347385850: (i) => [i.MappingSource, i.MappingTarget],
    1838606355: (i) => [i.Name, i.Description, i.Category],
    3708119e3: (i) => [i.Name, i.Description, i.Material, i.Fraction, i.Category],
    2852063980: (i) => [i.Name, i.Description, i.MaterialConstituents],
    2022407955: (i) => [i.Name, i.Description, i.Representations, i.RepresentedMaterial],
    1303795690: (i) => [i.ForLayerSet, i.LayerSetDirection, i.DirectionSense, i.OffsetFromReferenceLine, i.ReferenceExtent],
    3079605661: (i) => [i.ForProfileSet, i.CardinalPoint, i.ReferenceExtent],
    3404854881: (i) => [i.ForProfileSet, i.CardinalPoint, i.ReferenceExtent, i.ForProfileEndSet, i.CardinalEndPoint],
    3265635763: (i) => [i.Name, i.Description, i.Properties, i.Material],
    853536259: (i) => [i.Name, i.Description, i.RelatingMaterial, i.RelatedMaterials, i.MaterialExpression],
    2998442950: (i) => [i.ProfileType, i.ProfileName, i.ParentProfile, void 0, i.Label],
    219451334: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    182550632: (i) => [i.ProfileType, i.ProfileName, { type: 3, value: i.HorizontalWidths.value }, i.Widths, i.Slopes, i.Tags, i.OffsetPoint],
    2665983363: (i) => [i.CfsFaces],
    1411181986: (i) => [i.Name, i.Description, i.RelatingOrganization, i.RelatedOrganizations],
    1029017970: (i) => [void 0, void 0, i.EdgeElement, { type: 3, value: i.Orientation.value }],
    2529465313: (i) => [i.ProfileType, i.ProfileName, i.Position],
    2519244187: (i) => [i.EdgeList],
    3021840470: (i) => [i.Name, i.Description, i.HasQuantities, i.Discrimination, i.Quality, i.Usage],
    597895409: (i) => [{ type: 3, value: i.RepeatS.value }, { type: 3, value: i.RepeatT.value }, i.Mode, i.TextureTransform, i.Parameter, i.Width, i.Height, i.ColourComponents, i.Pixel],
    2004835150: (i) => [i.Location],
    1663979128: (i) => [i.SizeInX, i.SizeInY],
    2067069095: (_) => [],
    2165702409: (i) => [Labelise(i.DistanceAlong), i.OffsetLateral, i.OffsetVertical, i.OffsetLongitudinal, i.BasisCurve],
    4022376103: (i) => [i.BasisCurve, i.PointParameter],
    1423911732: (i) => [i.BasisSurface, i.PointParameterU, i.PointParameterV],
    2924175390: (i) => [i.Polygon],
    2775532180: (i) => [i.BaseSurface, { type: 3, value: i.AgreementFlag.value }, i.Position, i.PolygonalBoundary],
    3727388367: (i) => [i.Name],
    3778827333: (_) => [],
    1775413392: (i) => [i.Name],
    673634403: (i) => [i.Name, i.Description, i.Representations],
    2802850158: (i) => [i.Name, i.Description, i.Properties, i.ProfileDefinition],
    2598011224: (i) => [i.Name, i.Specification],
    1680319473: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    148025276: (i) => [i.Name, i.Description, i.DependingProperty, i.DependantProperty, i.Expression],
    3357820518: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    1482703590: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    2090586900: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    3615266464: (i) => [i.ProfileType, i.ProfileName, i.Position, i.XDim, i.YDim],
    3413951693: (i) => [i.Name, i.Description, i.StartTime, i.EndTime, i.TimeSeriesDataType, i.DataOrigin, i.UserDefinedDataOrigin, Labelise(i.Unit), i.TimeStep, i.Values],
    1580146022: (i) => [i.TotalCrossSectionArea, i.SteelGrade, i.BarSurface, i.EffectiveDepth, i.NominalBarDiameter, i.BarCount],
    478536968: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    2943643501: (i) => [i.Name, i.Description, Labelise(i.RelatedResourceObjects), i.RelatingApproval],
    1608871552: (i) => [i.Name, i.Description, i.RelatingConstraint, Labelise(i.RelatedResourceObjects)],
    1042787934: (i) => [i.Name, i.DataOrigin, i.UserDefinedDataOrigin, i.ScheduleWork, i.ScheduleUsage, i.ScheduleStart, i.ScheduleFinish, i.ScheduleContour, i.LevelingDelay, i.IsOverAllocated == null ? null : { type: 3, value: i.IsOverAllocated.value }, i.StatusTime, i.ActualWork, i.ActualUsage, i.ActualStart, i.ActualFinish, i.RemainingWork, i.RemainingUsage, i.Completion],
    2778083089: (i) => [i.ProfileType, i.ProfileName, i.Position, i.XDim, i.YDim, i.RoundingRadius],
    2042790032: (i) => [i.SectionType, i.StartProfile, i.EndProfile],
    4165799628: (i) => [i.LongitudinalStartPosition, i.LongitudinalEndPosition, i.TransversePosition, i.ReinforcementRole, i.SectionDefinition, i.CrossSectionReinforcementDefinitions],
    1509187699: (i) => [i.SpineCurve, i.CrossSections, i.CrossSectionPositions],
    823603102: (i) => [i.Transition],
    4124623270: (i) => [Labelise(i.SbsmBoundary)],
    3692461612: (i) => [i.Name, i.Specification],
    2609359061: (i) => [i.Name, i.SlippageX, i.SlippageY, i.SlippageZ],
    723233188: (_) => [],
    1595516126: (i) => [i.Name, i.LinearForceX, i.LinearForceY, i.LinearForceZ, i.LinearMomentX, i.LinearMomentY, i.LinearMomentZ],
    2668620305: (i) => [i.Name, i.PlanarForceX, i.PlanarForceY, i.PlanarForceZ],
    2473145415: (i) => [i.Name, i.DisplacementX, i.DisplacementY, i.DisplacementZ, i.RotationalDisplacementRX, i.RotationalDisplacementRY, i.RotationalDisplacementRZ],
    1973038258: (i) => [i.Name, i.DisplacementX, i.DisplacementY, i.DisplacementZ, i.RotationalDisplacementRX, i.RotationalDisplacementRY, i.RotationalDisplacementRZ, i.Distortion],
    1597423693: (i) => [i.Name, i.ForceX, i.ForceY, i.ForceZ, i.MomentX, i.MomentY, i.MomentZ],
    1190533807: (i) => [i.Name, i.ForceX, i.ForceY, i.ForceZ, i.MomentX, i.MomentY, i.MomentZ, i.WarpingMoment],
    2233826070: (i) => [i.EdgeStart, i.EdgeEnd, i.ParentEdge],
    2513912981: (_) => [],
    1878645084: (i) => [i.SurfaceColour, i.Transparency, Labelise(i.DiffuseColour), Labelise(i.TransmissionColour), Labelise(i.DiffuseTransmissionColour), Labelise(i.ReflectionColour), Labelise(i.SpecularColour), (i.SpecularHighlight ?? void 0) === void 0 ? null : Labelise(i.SpecularHighlight), i.ReflectanceMethod],
    2247615214: (i) => [i.SweptArea, i.Position],
    1260650574: (i) => [i.Directrix, i.Radius, i.InnerRadius, i.StartParam, i.EndParam],
    1096409881: (i) => [i.Directrix, i.Radius, i.InnerRadius, i.StartParam, i.EndParam, i.FilletRadius],
    230924584: (i) => [i.SweptCurve, i.Position],
    3071757647: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.FlangeWidth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.FlangeEdgeRadius, i.WebEdgeRadius, i.WebSlope, i.FlangeSlope],
    901063453: (_) => [],
    4282788508: (i) => [i.Literal, Labelise(i.Placement), i.Path],
    3124975700: (i) => [i.Literal, Labelise(i.Placement), i.Path, i.Extent, i.BoxAlignment],
    1983826977: (i) => [i.Name, i.FontFamily, i.FontStyle, i.FontVariant, i.FontWeight, Labelise(i.FontSize)],
    2715220739: (i) => [i.ProfileType, i.ProfileName, i.Position, i.BottomXDim, i.TopXDim, i.YDim, i.TopXOffset],
    1628702193: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets],
    3736923433: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ProcessType],
    2347495698: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag],
    3698973494: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType],
    427810014: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.FlangeWidth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.EdgeRadius, i.FlangeSlope],
    1417489154: (i) => [i.Orientation, i.Magnitude],
    2759199220: (i) => [i.LoopVertex],
    2543172580: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.FlangeWidth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.EdgeRadius],
    3406155212: (i) => [i.Bounds, i.FaceSurface, { type: 3, value: i.SameSense.value }],
    669184980: (i) => [i.OuterBoundary, i.InnerBoundaries],
    3207858831: (i) => [i.ProfileType, i.ProfileName, i.Position, i.BottomFlangeWidth, i.OverallDepth, i.WebThickness, i.BottomFlangeThickness, i.BottomFlangeFilletRadius, i.TopFlangeWidth, i.TopFlangeThickness, i.TopFlangeFilletRadius, i.BottomFlangeEdgeRadius, i.BottomFlangeSlope, i.TopFlangeEdgeRadius, i.TopFlangeSlope],
    4261334040: (i) => [i.Location, i.Axis],
    3125803723: (i) => [i.Location, i.RefDirection],
    2740243338: (i) => [i.Location, i.Axis, i.RefDirection],
    3425423356: (i) => [i.Location, i.Axis, i.RefDirection],
    2736907675: (i) => [i.Operator, Labelise(i.FirstOperand), Labelise(i.SecondOperand)],
    4182860854: (_) => [],
    2581212453: (i) => [i.Corner, i.XDim, i.YDim, i.ZDim],
    2713105998: (i) => [i.BaseSurface, { type: 3, value: i.AgreementFlag.value }, i.Enclosure],
    2898889636: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.Width, i.WallThickness, i.Girth, i.InternalFilletRadius],
    1123145078: (i) => [i.Coordinates],
    574549367: (_) => [],
    1675464909: (i) => [i.CoordList, i.TagList],
    2059837836: (i) => [i.CoordList, i.TagList],
    59481748: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale],
    3749851601: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale],
    3486308946: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale, i.Scale2],
    3331915920: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale, i.Axis3],
    1416205885: (i) => [i.Axis1, i.Axis2, i.LocalOrigin, i.Scale, i.Axis3, i.Scale2, i.Scale3],
    1383045692: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Radius],
    2205249479: (i) => [i.CfsFaces],
    776857604: (i) => [i.Name, i.Red, i.Green, i.Blue],
    2542286263: (i) => [i.Name, i.Specification, i.UsageName, i.HasProperties],
    2485617015: (i) => [i.Transition, { type: 3, value: i.SameSense.value }, i.ParentCurve],
    2574617495: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity],
    3419103109: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName, i.Phase, i.RepresentationContexts, i.UnitsInContext],
    1815067380: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    2506170314: (i) => [i.Position],
    2147822146: (i) => [Labelise(i.TreeRootExpression)],
    2601014836: (_) => [],
    2827736869: (i) => [i.BasisSurface, i.OuterBoundary, i.InnerBoundaries],
    2629017746: (i) => [i.BasisSurface, i.Boundaries, { type: 3, value: i.ImplicitOuter.value }],
    4212018352: (i) => [i.Transition, i.Placement, Labelise(i.SegmentStart), Labelise(i.SegmentLength), i.ParentCurve],
    32440307: (i) => [i.DirectionRatios],
    593015953: (i) => [i.SweptArea, i.Position, i.Directrix, (i.StartParam ?? void 0) === void 0 ? null : Labelise(i.StartParam), (i.EndParam ?? void 0) === void 0 ? null : Labelise(i.EndParam)],
    1472233963: (i) => [i.EdgeList],
    1883228015: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.MethodOfMeasurement, i.Quantities],
    339256511: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    2777663545: (i) => [i.Position],
    2835456948: (i) => [i.ProfileType, i.ProfileName, i.Position, i.SemiAxis1, i.SemiAxis2],
    4024345920: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ProcessType, i.PredefinedType, i.EventTriggerType, i.UserDefinedEventTriggerType],
    477187591: (i) => [i.SweptArea, i.Position, i.ExtrudedDirection, i.Depth],
    2804161546: (i) => [i.SweptArea, i.Position, i.ExtrudedDirection, i.Depth, i.EndSweptArea],
    2047409740: (i) => [i.FbsmFaces],
    374418227: (i) => [i.HatchLineAppearance, Labelise(i.StartOfNextHatchLine), i.PointOfReferenceHatchLine, i.PatternStart, i.HatchLineAngle],
    315944413: (i) => [i.TilingPattern, i.Tiles, i.TilingScale],
    2652556860: (i) => [i.SweptArea, i.Position, i.Directrix, (i.StartParam ?? void 0) === void 0 ? null : Labelise(i.StartParam), (i.EndParam ?? void 0) === void 0 ? null : Labelise(i.EndParam), i.FixedReference],
    4238390223: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    1268542332: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.AssemblyPlace, i.PredefinedType],
    4095422895: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    987898635: (i) => [Labelise(i.Elements)],
    1484403080: (i) => [i.ProfileType, i.ProfileName, i.Position, i.OverallWidth, i.OverallDepth, i.WebThickness, i.FlangeThickness, i.FilletRadius, i.FlangeEdgeRadius, i.FlangeSlope],
    178912537: (i) => [i.CoordIndex],
    2294589976: (i) => [i.CoordIndex, i.InnerCoordIndices],
    3465909080: (i) => [i.Maps, i.MappedTo, i.TexCoords, i.TexCoordIndices],
    572779678: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Depth, i.Width, i.Thickness, i.FilletRadius, i.EdgeRadius, i.LegSlope],
    428585644: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    1281925730: (i) => [i.Pnt, i.Dir],
    1425443689: (i) => [i.Outer],
    3888040117: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType],
    590820931: (i) => [i.BasisCurve],
    3388369263: (i) => [i.BasisCurve, i.Distance, { type: 3, value: i.SelfIntersect.value }],
    3505215534: (i) => [i.BasisCurve, i.Distance, { type: 3, value: i.SelfIntersect.value }, i.RefDirection],
    2485787929: (i) => [i.BasisCurve, i.OffsetValues, i.Tag],
    1682466193: (i) => [i.BasisSurface, i.ReferenceCurve],
    603570806: (i) => [i.SizeInX, i.SizeInY, Labelise(i.Placement)],
    220341763: (i) => [i.Position],
    3381221214: (i) => [i.Position, i.CoefficientsX, i.CoefficientsY, i.CoefficientsZ],
    759155922: (i) => [i.Name],
    2559016684: (i) => [i.Name],
    3967405729: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    569719735: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ProcessType, i.PredefinedType],
    2945172077: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription],
    4208778838: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation],
    103090709: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName, i.Phase, i.RepresentationContexts, i.UnitsInContext],
    653396225: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName, i.Phase, i.RepresentationContexts, i.UnitsInContext],
    871118103: (i) => [i.Name, i.Specification, (i.UpperBoundValue ?? void 0) === void 0 ? null : Labelise(i.UpperBoundValue), (i.LowerBoundValue ?? void 0) === void 0 ? null : Labelise(i.LowerBoundValue), Labelise(i.Unit), (i.SetPointValue ?? void 0) === void 0 ? null : Labelise(i.SetPointValue)],
    4166981789: (i) => [i.Name, i.Specification, (i.EnumerationValues ?? void 0) === void 0 ? null : i.EnumerationValues.map((p) => Labelise(p)), i.EnumerationReference],
    2752243245: (i) => [i.Name, i.Specification, (i.ListValues ?? void 0) === void 0 ? null : i.ListValues.map((p) => Labelise(p)), Labelise(i.Unit)],
    941946838: (i) => [i.Name, i.Specification, i.UsageName, Labelise(i.PropertyReference)],
    1451395588: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.HasProperties],
    492091185: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.TemplateType, i.ApplicableEntity, i.HasPropertyTemplates],
    3650150729: (i) => [i.Name, i.Specification, (i.NominalValue ?? void 0) === void 0 ? null : Labelise(i.NominalValue), Labelise(i.Unit)],
    110355661: (i) => [i.Name, i.Specification, (i.DefiningValues ?? void 0) === void 0 ? null : i.DefiningValues.map((p) => Labelise(p)), (i.DefinedValues ?? void 0) === void 0 ? null : i.DefinedValues.map((p) => Labelise(p)), i.Expression, Labelise(i.DefiningUnit), Labelise(i.DefinedUnit), i.CurveInterpolation],
    3521284610: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    2770003689: (i) => [i.ProfileType, i.ProfileName, i.Position, i.XDim, i.YDim, i.WallThickness, i.InnerFilletRadius, i.OuterFilletRadius],
    2798486643: (i) => [i.Position, i.XLength, i.YLength, i.Height],
    3454111270: (i) => [i.BasisSurface, i.U1, i.V1, i.U2, i.V2, { type: 3, value: i.Usense.value }, { type: 3, value: i.Vsense.value }],
    3765753017: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.DefinitionType, i.ReinforcementSectionDefinitions],
    3939117080: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType == null ? null : { type: 3, value: i.RelatedObjectsType.value }],
    1683148259: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType == null ? null : { type: 3, value: i.RelatedObjectsType.value }, i.RelatingActor, i.ActingRole],
    2495723537: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType == null ? null : { type: 3, value: i.RelatedObjectsType.value }, i.RelatingControl],
    1307041759: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType == null ? null : { type: 3, value: i.RelatedObjectsType.value }, i.RelatingGroup],
    1027710054: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType == null ? null : { type: 3, value: i.RelatedObjectsType.value }, i.RelatingGroup, i.Factor],
    4278684876: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType == null ? null : { type: 3, value: i.RelatedObjectsType.value }, Labelise(i.RelatingProcess), i.QuantityInProcess],
    2857406711: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType == null ? null : { type: 3, value: i.RelatedObjectsType.value }, Labelise(i.RelatingProduct)],
    205026976: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatedObjectsType == null ? null : { type: 3, value: i.RelatedObjectsType.value }, Labelise(i.RelatingResource)],
    1865459582: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatedObjects)],
    4095574036: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatedObjects), i.RelatingApproval],
    919958153: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatedObjects), Labelise(i.RelatingClassification)],
    2728634034: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatedObjects), i.Intent, i.RelatingConstraint],
    982818633: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatedObjects), Labelise(i.RelatingDocument)],
    3840914261: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatedObjects), Labelise(i.RelatingLibrary)],
    2655215786: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatedObjects), Labelise(i.RelatingMaterial)],
    1033248425: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatedObjects), i.RelatingProfileDef],
    826625072: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    1204542856: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ConnectionGeometry, i.RelatingElement, i.RelatedElement],
    3945020480: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ConnectionGeometry, i.RelatingElement, i.RelatedElement, i.RelatingPriorities, i.RelatedPriorities, i.RelatedConnectionType, i.RelatingConnectionType],
    4201705270: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingPort, i.RelatedElement],
    3190031847: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingPort, i.RelatedPort, i.RealizingElement],
    2127690289: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatingElement), i.RelatedStructuralActivity],
    1638771189: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingStructuralMember, i.RelatedStructuralConnection, i.AppliedCondition, i.AdditionalConditions, i.SupportedLength, i.ConditionCoordinateSystem],
    504942748: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingStructuralMember, i.RelatedStructuralConnection, i.AppliedCondition, i.AdditionalConditions, i.SupportedLength, i.ConditionCoordinateSystem, i.ConnectionConstraint],
    3678494232: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ConnectionGeometry, i.RelatingElement, i.RelatedElement, i.RealizingElements, i.ConnectionType],
    3242617779: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedElements, i.RelatingStructure],
    886880790: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingBuildingElement, i.RelatedCoverings],
    2802773753: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingSpace, i.RelatedCoverings],
    2565941209: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingContext, Labelise(i.RelatedDefinitions)],
    2551354335: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    693640335: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description],
    1462361463: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingObject],
    4186316022: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, Labelise(i.RelatingPropertyDefinition)],
    307848117: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedPropertySets, i.RelatingTemplate],
    781010003: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedObjects, i.RelatingType],
    3940055652: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingOpeningElement, i.RelatedBuildingElement],
    279856033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatedControlElements, i.RelatingFlowElement],
    427948657: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatingElement), Labelise(i.RelatedElement), i.InterferenceGeometry, i.InterferenceType, { type: 3, value: i.ImpliedOrder.value }, i.InterferenceSpace],
    3268803585: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingObject, i.RelatedObjects],
    1441486842: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingPositioningElement, i.RelatedProducts],
    750771296: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingElement, i.RelatedFeatureElement],
    1245217292: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatedElements), i.RelatingStructure],
    4122056220: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingProcess, i.RelatedProcess, i.TimeLag, i.SequenceType, i.UserDefinedSequenceType],
    366585022: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingSystem, i.RelatedBuildings],
    3451746338: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatingSpace), i.RelatedBuildingElement, i.ConnectionGeometry, i.PhysicalOrVirtualBoundary, i.InternalOrExternalBoundary],
    3523091289: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatingSpace), i.RelatedBuildingElement, i.ConnectionGeometry, i.PhysicalOrVirtualBoundary, i.InternalOrExternalBoundary, i.ParentBoundary],
    1521410863: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, Labelise(i.RelatingSpace), i.RelatedBuildingElement, i.ConnectionGeometry, i.PhysicalOrVirtualBoundary, i.InternalOrExternalBoundary, i.ParentBoundary, i.CorrespondingBoundary],
    1401173127: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingBuildingElement, i.RelatedOpeningElement],
    816062949: (i) => [i.Transition, { type: 3, value: i.SameSense.value }, i.ParentCurve, i.ParamLength],
    2914609552: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription],
    1856042241: (i) => [i.SweptArea, i.Position, i.Axis, i.Angle],
    3243963512: (i) => [i.SweptArea, i.Position, i.Axis, i.Angle, i.EndSweptArea],
    4158566097: (i) => [i.Position, i.Height, i.BottomRadius],
    3626867408: (i) => [i.Position, i.Height, i.Radius],
    1862484736: (i) => [i.Directrix, i.CrossSections],
    1290935644: (i) => [i.Directrix, i.CrossSections, i.CrossSectionPositions],
    1356537516: (i) => [i.Directrix, i.CrossSectionPositions, i.CrossSections],
    3663146110: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.TemplateType, i.PrimaryMeasureType, i.SecondaryMeasureType, i.Enumerators, Labelise(i.PrimaryUnit), Labelise(i.SecondaryUnit), i.Expression, i.AccessState],
    1412071761: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName],
    710998568: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    2706606064: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType],
    3893378262: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    463610769: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.PredefinedType],
    2481509218: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.LongName],
    451544542: (i) => [i.Position, i.Radius],
    4015995234: (i) => [i.Position, i.Radius],
    2735484536: (i) => [Labelise(i.Position)],
    3544373492: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal],
    3136571912: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation],
    530289379: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation],
    3689010777: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal],
    3979015343: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType, i.Thickness],
    2218152070: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType, i.Thickness],
    603775116: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.PredefinedType],
    4095615324: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    699246055: (i) => [i.Curve3D, i.AssociatedGeometry, i.MasterRepresentation],
    2028607225: (i) => [i.SweptArea, i.Position, i.Directrix, (i.StartParam ?? void 0) === void 0 ? null : Labelise(i.StartParam), (i.EndParam ?? void 0) === void 0 ? null : Labelise(i.EndParam), i.ReferenceSurface],
    2809605785: (i) => [i.SweptCurve, i.Position, i.ExtrudedDirection, i.Depth],
    4124788165: (i) => [i.SweptCurve, i.Position, i.AxisPosition],
    1580310250: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3473067441: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Status, i.WorkMethod, { type: 3, value: i.IsMilestone.value }, i.Priority, i.TaskTime, i.PredefinedType],
    3206491090: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ProcessType, i.PredefinedType, i.WorkMethod],
    2387106220: (i) => [i.Coordinates],
    782932809: (i) => [Labelise(i.Position), i.CubicTerm, i.QuadraticTerm, i.LinearTerm, i.ConstantTerm],
    1935646853: (i) => [i.Position, i.MajorRadius, i.MinorRadius],
    3665877780: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    2916149573: (i) => [i.Coordinates, i.Normals, i.Closed == null ? null : { type: 3, value: i.Closed.value }, i.CoordIndex, i.PnIndex],
    1229763772: (i) => [i.Coordinates, i.Normals, i.Closed == null ? null : { type: 3, value: i.Closed.value }, i.CoordIndex, i.PnIndex, i.Flags],
    3651464721: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    336235671: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.LiningDepth, i.LiningThickness, i.TransomThickness, i.MullionThickness, i.FirstTransomOffset, i.SecondTransomOffset, i.FirstMullionOffset, i.SecondMullionOffset, i.ShapeAspectStyle, i.LiningOffset, i.LiningToPanelOffsetX, i.LiningToPanelOffsetY],
    512836454: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.OperationType, i.PanelPosition, i.FrameDepth, i.FrameThickness, i.ShapeAspectStyle],
    2296667514: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, Labelise(i.TheActor)],
    1635779807: (i) => [i.Outer],
    2603310189: (i) => [i.Outer, i.Voids],
    1674181508: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType],
    2887950389: (i) => [i.UDegree, i.VDegree, i.ControlPointsList, i.SurfaceForm, { type: 3, value: i.UClosed.value }, { type: 3, value: i.VClosed.value }, { type: 3, value: i.SelfIntersect.value }],
    167062518: (i) => [i.UDegree, i.VDegree, i.ControlPointsList, i.SurfaceForm, { type: 3, value: i.UClosed.value }, { type: 3, value: i.VClosed.value }, { type: 3, value: i.SelfIntersect.value }, i.UMultiplicities, i.VMultiplicities, i.UKnots, i.VKnots, i.KnotSpec],
    1334484129: (i) => [i.Position, i.XLength, i.YLength, i.ZLength],
    3649129432: (i) => [i.Operator, Labelise(i.FirstOperand), Labelise(i.SecondOperand)],
    1260505505: (_) => [],
    3124254112: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.Elevation],
    1626504194: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    2197970202: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2937912522: (i) => [i.ProfileType, i.ProfileName, i.Position, i.Radius, i.WallThickness],
    3893394355: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    3497074424: (i) => [Labelise(i.Position), i.ClothoidConstant],
    300633059: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3875453745: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.UsageName, i.TemplateType, i.HasPropertyTemplates],
    3732776249: (i) => [i.Segments, { type: 3, value: i.SelfIntersect.value }],
    15328376: (i) => [i.Segments, { type: 3, value: i.SelfIntersect.value }],
    2510884976: (i) => [Labelise(i.Position)],
    2185764099: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    4105962743: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    1525564444: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.Identification, i.LongDescription, i.ResourceType, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    2559216714: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity],
    3293443760: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification],
    2000195564: (i) => [Labelise(i.Position), i.CosineTerm, i.ConstantTerm],
    3895139033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.PredefinedType, i.CostValues, i.CostQuantities],
    1419761937: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.PredefinedType, i.Status, i.SubmittedOn, i.UpdateDate],
    4189326743: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1916426348: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3295246426: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    1457835157: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1213902940: (i) => [i.Position, i.Radius],
    1306400036: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    4234616927: (i) => [i.SweptArea, i.Position, i.Directrix, (i.StartParam ?? void 0) === void 0 ? null : Labelise(i.StartParam), (i.EndParam ?? void 0) === void 0 ? null : Labelise(i.EndParam), i.FixedReference],
    3256556792: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    3849074793: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    2963535650: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.LiningDepth, i.LiningThickness, i.ThresholdDepth, i.ThresholdThickness, i.TransomThickness, i.TransomOffset, i.LiningOffset, i.ThresholdOffset, i.CasingThickness, i.CasingDepth, i.ShapeAspectStyle, i.LiningToPanelOffsetX, i.LiningToPanelOffsetY],
    1714330368: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.PanelDepth, i.PanelOperation, i.PanelWidth, i.PanelPosition, i.ShapeAspectStyle],
    2323601079: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.OperationType, i.ParameterTakesPrecedence == null ? null : { type: 3, value: i.ParameterTakesPrecedence.value }, i.UserDefinedOperationType],
    445594917: (i) => [i.Name],
    4006246654: (i) => [i.Name],
    1758889154: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    4123344466: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.AssemblyPlace, i.PredefinedType],
    2397081782: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1623761950: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    2590856083: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    1704287377: (i) => [Labelise(i.Position), i.SemiAxis1, i.SemiAxis2],
    2107101300: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    132023988: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3174744832: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3390157468: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    4148101412: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.PredefinedType, i.EventTriggerType, i.UserDefinedEventTriggerType, i.EventOccurenceTime],
    2853485674: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName],
    807026263: (i) => [i.Outer],
    3737207727: (i) => [i.Outer, i.Voids],
    24185140: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType],
    1310830890: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.UsageType],
    4228831410: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.UsageType, i.PredefinedType],
    647756555: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2489546625: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2827207264: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    2143335405: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    1287392070: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    3907093117: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    3198132628: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    3815607619: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1482959167: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    1834744321: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    1339347760: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    2297155007: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    3009222698: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    1893162501: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    263784265: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    1509553395: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3493046030: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    4230923436: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    1594536857: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2898700619: (i) => [i.Segments, { type: 3, value: i.SelfIntersect.value }, i.BaseCurve, i.EndPoint],
    2706460486: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType],
    1251058090: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1806887404: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2568555532: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3948183225: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2571569899: (i) => [i.Points, (i.Segments ?? void 0) === void 0 ? null : i.Segments.map((p) => Labelise(p)), i.SelfIntersect == null ? null : { type: 3, value: i.SelfIntersect.value }],
    3946677679: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3113134337: (i) => [i.Curve3D, i.AssociatedGeometry, i.MasterRepresentation],
    2391368822: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, Labelise(i.Jurisdiction), i.ResponsiblePersons, i.LastUpdateDate, i.CurrentValue, i.OriginalValue],
    4288270099: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    679976338: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3827777499: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    1051575348: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1161773419: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2176059722: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation],
    1770583370: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    525669439: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.PredefinedType],
    976884017: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.UsageType, i.PredefinedType],
    377706215: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.NominalDiameter, i.NominalLength, i.PredefinedType],
    2108223431: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.NominalDiameter, i.NominalLength],
    1114901282: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3181161470: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1950438474: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    710110818: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    977012517: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    506776471: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    4143007308: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, Labelise(i.TheActor), i.PredefinedType],
    3588315303: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2837617999: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    514975943: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2382730787: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LifeCyclePhase, i.PredefinedType],
    3566463478: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.OperationType, i.PanelPosition, i.FrameDepth, i.FrameThickness, i.ShapeAspectStyle],
    3327091369: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.PredefinedType, i.Status, i.LongDescription],
    1158309216: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    804291784: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    4231323485: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    4017108033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2839578677: (i) => [i.Coordinates, i.Closed == null ? null : { type: 3, value: i.Closed.value }, i.Faces, i.PnIndex],
    3724593414: (i) => [i.Points],
    3740093272: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation],
    1946335990: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation],
    2744685151: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.PredefinedType],
    2904328755: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.PredefinedType, i.Status, i.LongDescription],
    3651124850: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1842657554: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2250791053: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1763565496: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2893384427: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3992365140: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.PredefinedType],
    1891881377: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.UsageType, i.PredefinedType],
    2324767716: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1469900589: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    683857671: (i) => [i.UDegree, i.VDegree, i.ControlPointsList, i.SurfaceForm, { type: 3, value: i.UClosed.value }, { type: 3, value: i.VClosed.value }, { type: 3, value: i.SelfIntersect.value }, i.UMultiplicities, i.VMultiplicities, i.UKnots, i.VKnots, i.KnotSpec, i.WeightsData],
    4021432810: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType],
    3027567501: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade],
    964333572: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    2320036040: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.MeshLength, i.MeshWidth, i.LongitudinalBarNominalDiameter, i.TransverseBarNominalDiameter, i.LongitudinalBarCrossSectionArea, i.TransverseBarCrossSectionArea, i.LongitudinalBarSpacing, i.TransverseBarSpacing, i.PredefinedType],
    2310774935: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.MeshLength, i.MeshWidth, i.LongitudinalBarNominalDiameter, i.TransverseBarNominalDiameter, i.LongitudinalBarCrossSectionArea, i.TransverseBarCrossSectionArea, i.LongitudinalBarSpacing, i.TransverseBarSpacing, i.BendingShapeCode, (i.BendingParameters ?? void 0) === void 0 ? null : i.BendingParameters.map((p) => Labelise(p))],
    3818125796: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingElement, i.RelatedSurfaceFeatures],
    160246688: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.RelatingObject, i.RelatedObjects],
    146592293: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.PredefinedType],
    550521510: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.UsageType, i.PredefinedType],
    2781568857: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1768891740: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2157484638: (i) => [i.Curve3D, i.AssociatedGeometry, i.MasterRepresentation],
    3649235739: (i) => [Labelise(i.Position), i.QuadraticTerm, i.LinearTerm, i.ConstantTerm],
    544395925: (i) => [i.Segments, { type: 3, value: i.SelfIntersect.value }, i.BaseCurve, i.EndPoint],
    1027922057: (i) => [Labelise(i.Position), i.SepticTerm, i.SexticTerm, i.QuinticTerm, i.QuarticTerm, i.CubicTerm, i.QuadraticTerm, i.LinearTerm, i.ConstantTerm],
    4074543187: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    33720170: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3599934289: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1894708472: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    42703149: (i) => [Labelise(i.Position), i.SineTerm, i.LinearTerm, i.ConstantTerm],
    4097777520: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.RefLatitude, i.RefLongitude, i.RefElevation, i.LandTitleNumber, i.SiteAddress],
    2533589738: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1072016465: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3856911033: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.PredefinedType, i.ElevationWithFlooring],
    1305183839: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3812236995: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.LongName],
    3112655638: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1039846685: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    338393293: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    682877961: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad == null ? null : { type: 3, value: i.DestabilizingLoad.value }],
    1179482911: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition],
    1004757350: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad == null ? null : { type: 3, value: i.DestabilizingLoad.value }, i.ProjectedOrTrue, i.PredefinedType],
    4243806635: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition, i.AxisDirection],
    214636428: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType, i.Axis],
    2445595289: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType, i.Axis],
    2757150158: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.PredefinedType],
    1807405624: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad == null ? null : { type: 3, value: i.DestabilizingLoad.value }, i.ProjectedOrTrue, i.PredefinedType],
    1252848954: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.ActionType, i.ActionSource, i.Coefficient, i.Purpose],
    2082059205: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad == null ? null : { type: 3, value: i.DestabilizingLoad.value }],
    734778138: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition, i.ConditionCoordinateSystem],
    1235345126: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal],
    2986769608: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.TheoryType, i.ResultForLoadGroup, { type: 3, value: i.IsLinear.value }],
    3657597509: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad == null ? null : { type: 3, value: i.DestabilizingLoad.value }, i.ProjectedOrTrue, i.PredefinedType],
    1975003073: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedCondition],
    148013059: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    3101698114: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2315554128: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2254336722: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType],
    413509423: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    5716631: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3824725483: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.PredefinedType, i.NominalDiameter, i.CrossSectionArea, i.TensionForce, i.PreStress, i.FrictionCoefficient, i.AnchorageSlip, i.MinCurvatureRadius],
    2347447852: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.PredefinedType],
    3081323446: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3663046924: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.PredefinedType],
    2281632017: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2415094496: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.NominalDiameter, i.CrossSectionArea, i.SheathDiameter],
    618700268: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1692211062: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2097647324: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1953115116: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    3593883385: (i) => [i.BasisCurve, Labelise(i.Trim1), Labelise(i.Trim2), { type: 3, value: i.SenseAgreement.value }, i.MasterRepresentation],
    1600972822: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1911125066: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    728799441: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    840318589: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1530820697: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3956297820: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2391383451: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3313531582: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2769231204: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    926996030: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1898987631: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1133259667: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    4009809668: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.PartitioningType, i.ParameterTakesPrecedence == null ? null : { type: 3, value: i.ParameterTakesPrecedence.value }, i.UserDefinedPartitioningType],
    4088093105: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.WorkingTimes, i.ExceptionTimes, i.PredefinedType],
    1028945134: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.CreationDate, i.Creators, i.Purpose, i.Duration, i.TotalFloat, i.StartTime, i.FinishTime],
    4218914973: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.CreationDate, i.Creators, i.Purpose, i.Duration, i.TotalFloat, i.StartTime, i.FinishTime, i.PredefinedType],
    3342526732: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.CreationDate, i.Creators, i.Purpose, i.Duration, i.TotalFloat, i.StartTime, i.FinishTime, i.PredefinedType],
    1033361043: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName],
    3821786052: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.PredefinedType, i.Status, i.LongDescription],
    1411407467: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3352864051: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1871374353: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    4266260250: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.RailHeadDistance],
    1545765605: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation],
    317615605: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.DesignParameters],
    1662888072: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation],
    3460190687: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.OriginalValue, i.CurrentValue, i.TotalReplacementCost, Labelise(i.Owner), Labelise(i.User), i.ResponsiblePerson, i.IncorporationDate, i.DepreciatedValue],
    1532957894: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1967976161: (i) => [i.Degree, i.ControlPointsList, i.CurveForm, { type: 3, value: i.ClosedCurve.value }, { type: 3, value: i.SelfIntersect.value }],
    2461110595: (i) => [i.Degree, i.ControlPointsList, i.CurveForm, { type: 3, value: i.ClosedCurve.value }, { type: 3, value: i.SelfIntersect.value }, i.KnotMultiplicities, i.Knots, i.KnotSpec],
    819618141: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3649138523: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    231477066: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1136057603: (i) => [i.Segments, { type: 3, value: i.SelfIntersect.value }],
    644574406: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.PredefinedType],
    963979645: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.UsageType, i.PredefinedType],
    4031249490: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.CompositionType, i.ElevationOfRefHeight, i.ElevationOfTerrain, i.BuildingAddress],
    2979338954: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    39481116: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1909888760: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1177604601: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.LongName],
    1876633798: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    3862327254: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.LongName],
    2188180465: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    395041908: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3293546465: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2674252688: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1285652485: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3203706013: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2951183804: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3296154744: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2611217952: (i) => [Labelise(i.Position), i.Radius],
    1677625105: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    2301859152: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    843113511: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    400855858: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3850581409: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2816379211: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3898045240: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    1060000209: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    488727124: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.Identification, i.LongDescription, i.Usage, i.BaseCosts, i.BaseQuantity, i.PredefinedType],
    2940368186: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    335055490: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2954562838: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1502416096: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1973544240: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3495092785: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3961806047: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3426335179: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    1335981549: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2635815018: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    479945903: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1599208980: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2063403501: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType],
    1945004755: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    3040386961: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    3041715199: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.FlowDirection, i.PredefinedType, i.SystemType],
    3205830791: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName, i.PredefinedType],
    395920057: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.OverallHeight, i.OverallWidth, i.PredefinedType, i.OperationType, i.UserDefinedOperationType],
    869906466: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3760055223: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2030761528: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3071239417: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1077100507: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    3376911765: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    663422040: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2417008758: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3277789161: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2142170206: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1534661035: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1217240411: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    712377611: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1658829314: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    2814081492: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3747195512: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    484807127: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1209101575: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.LongName, i.PredefinedType],
    346874300: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1810631287: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    4222183408: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2058353004: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    4278956645: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    4037862832: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    2188021234: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3132237377: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    987401354: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    707683696: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    2223149337: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    3508470533: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    900683007: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2713699986: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    3009204131: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.UAxes, i.VAxes, i.WAxes, i.PredefinedType],
    3319311131: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2068733104: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    4175244083: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2176052936: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2696325953: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    76236018: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    629592764: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1154579445: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation],
    1638804497: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1437502449: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1073191201: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2078563270: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    234836483: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2474470126: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2182337498: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    144952367: (i) => [i.Segments, { type: 3, value: i.SelfIntersect.value }],
    3694346114: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1383356374: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1687234759: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType, i.ConstructionType],
    310824031: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3612865200: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3171933400: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    738039164: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    655969474: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    90941305: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3290496277: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2262370178: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3024970846: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3283111854: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1232101972: (i) => [i.Degree, i.ControlPointsList, i.CurveForm, { type: 3, value: i.ClosedCurve.value }, { type: 3, value: i.SelfIntersect.value }, i.KnotMultiplicities, i.Knots, i.KnotSpec, i.WeightsData],
    3798194928: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    979691226: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.SteelGrade, i.NominalDiameter, i.CrossSectionArea, i.BarLength, i.PredefinedType, i.BarSurface],
    2572171363: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType, i.NominalDiameter, i.CrossSectionArea, i.BarLength, i.BarSurface, i.BendingShapeCode, (i.BendingParameters ?? void 0) === void 0 ? null : i.BendingParameters.map((p) => Labelise(p))],
    2016517767: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3053780830: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1783015770: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1329646415: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    991950508: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1529196076: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3420628829: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1999602285: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1404847402: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    331165859: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    4252922144: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.NumberOfRisers, i.NumberOfTreads, i.RiserHeight, i.TreadLength, i.PredefinedType],
    2515109513: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.OrientationOf2DPlane, i.LoadedBy, i.HasResults, i.SharedPlacement],
    385403989: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.PredefinedType, i.ActionType, i.ActionSource, i.Coefficient, i.Purpose, i.SelfWeightCoefficients],
    1621171031: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.AppliedLoad, i.GlobalOrLocal, i.DestabilizingLoad == null ? null : { type: 3, value: i.DestabilizingLoad.value }, i.ProjectedOrTrue, i.PredefinedType],
    1162798199: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    812556717: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3425753595: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3825984169: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1620046519: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3026737570: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3179687236: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    4292641817: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    4207607924: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2391406946: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3512223829: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    4237592921: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3304561284: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.OverallHeight, i.OverallWidth, i.PredefinedType, i.PartitioningType, i.UserDefinedPartitioningType],
    2874132201: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    1634111441: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    177149247: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2056796094: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3001207471: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    325726236: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.PredefinedType],
    277319702: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    753842376: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    4196446775: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    32344328: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3314249567: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    1095909175: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2938176219: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    635142910: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3758799889: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1051757585: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    4217484030: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3999819293: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3902619387: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    639361253: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3221913625: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3571504051: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2272882330: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    578613899: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ApplicableOccurrence, i.HasPropertySets, i.RepresentationMaps, i.Tag, i.ElementType, i.PredefinedType],
    3460952963: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    4136498852: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3640358203: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    4074379575: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3693000487: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1052013943: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    562808652: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.LongName, i.PredefinedType],
    1062813311: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    342316401: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3518393246: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1360408905: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1904799276: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    862014818: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3310460725: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    24726584: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    264262732: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    402227799: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1003880860: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3415622556: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    819412036: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    1426591983: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    182646315: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    2680139844: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    1971632696: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag],
    2295281155: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    4086658281: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    630975310: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    4288193352: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    3087945054: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType],
    25142252: (i) => [i.GlobalId, i.OwnerHistory, i.Name, i.Description, i.ObjectType, i.ObjectPlacement, i.Representation, i.Tag, i.PredefinedType]
  };
  TypeInitialisers[3] = {
    3699917729: (v) => new IFC4X3.IfcAbsorbedDoseMeasure(v),
    4182062534: (v) => new IFC4X3.IfcAccelerationMeasure(v),
    360377573: (v) => new IFC4X3.IfcAmountOfSubstanceMeasure(v),
    632304761: (v) => new IFC4X3.IfcAngularVelocityMeasure(v),
    3683503648: (v) => new IFC4X3.IfcArcIndex(v.map((x) => x.value)),
    1500781891: (v) => new IFC4X3.IfcAreaDensityMeasure(v),
    2650437152: (v) => new IFC4X3.IfcAreaMeasure(v),
    2314439260: (v) => new IFC4X3.IfcBinary(v),
    2735952531: (v) => new IFC4X3.IfcBoolean(v),
    1867003952: (v) => new IFC4X3.IfcBoxAlignment(v),
    1683019596: (v) => new IFC4X3.IfcCardinalPointReference(v),
    2991860651: (v) => new IFC4X3.IfcComplexNumber(v.map((x) => x.value)),
    3812528620: (v) => new IFC4X3.IfcCompoundPlaneAngleMeasure(v.map((x) => x.value)),
    3238673880: (v) => new IFC4X3.IfcContextDependentMeasure(v),
    1778710042: (v) => new IFC4X3.IfcCountMeasure(v),
    94842927: (v) => new IFC4X3.IfcCurvatureMeasure(v),
    937566702: (v) => new IFC4X3.IfcDate(v),
    2195413836: (v) => new IFC4X3.IfcDateTime(v),
    86635668: (v) => new IFC4X3.IfcDayInMonthNumber(v),
    3701338814: (v) => new IFC4X3.IfcDayInWeekNumber(v),
    1514641115: (v) => new IFC4X3.IfcDescriptiveMeasure(v),
    4134073009: (v) => new IFC4X3.IfcDimensionCount(v),
    524656162: (v) => new IFC4X3.IfcDoseEquivalentMeasure(v),
    2541165894: (v) => new IFC4X3.IfcDuration(v),
    69416015: (v) => new IFC4X3.IfcDynamicViscosityMeasure(v),
    1827137117: (v) => new IFC4X3.IfcElectricCapacitanceMeasure(v),
    3818826038: (v) => new IFC4X3.IfcElectricChargeMeasure(v),
    2093906313: (v) => new IFC4X3.IfcElectricConductanceMeasure(v),
    3790457270: (v) => new IFC4X3.IfcElectricCurrentMeasure(v),
    2951915441: (v) => new IFC4X3.IfcElectricResistanceMeasure(v),
    2506197118: (v) => new IFC4X3.IfcElectricVoltageMeasure(v),
    2078135608: (v) => new IFC4X3.IfcEnergyMeasure(v),
    1102727119: (v) => new IFC4X3.IfcFontStyle(v),
    2715512545: (v) => new IFC4X3.IfcFontVariant(v),
    2590844177: (v) => new IFC4X3.IfcFontWeight(v),
    1361398929: (v) => new IFC4X3.IfcForceMeasure(v),
    3044325142: (v) => new IFC4X3.IfcFrequencyMeasure(v),
    3064340077: (v) => new IFC4X3.IfcGloballyUniqueId(v),
    3113092358: (v) => new IFC4X3.IfcHeatFluxDensityMeasure(v),
    1158859006: (v) => new IFC4X3.IfcHeatingValueMeasure(v),
    983778844: (v) => new IFC4X3.IfcIdentifier(v),
    3358199106: (v) => new IFC4X3.IfcIlluminanceMeasure(v),
    2679005408: (v) => new IFC4X3.IfcInductanceMeasure(v),
    1939436016: (v) => new IFC4X3.IfcInteger(v),
    3809634241: (v) => new IFC4X3.IfcIntegerCountRateMeasure(v),
    3686016028: (v) => new IFC4X3.IfcIonConcentrationMeasure(v),
    3192672207: (v) => new IFC4X3.IfcIsothermalMoistureCapacityMeasure(v),
    2054016361: (v) => new IFC4X3.IfcKinematicViscosityMeasure(v),
    3258342251: (v) => new IFC4X3.IfcLabel(v),
    1275358634: (v) => new IFC4X3.IfcLanguageId(v),
    1243674935: (v) => new IFC4X3.IfcLengthMeasure(v),
    1774176899: (v) => new IFC4X3.IfcLineIndex(v.map((x) => x.value)),
    191860431: (v) => new IFC4X3.IfcLinearForceMeasure(v),
    2128979029: (v) => new IFC4X3.IfcLinearMomentMeasure(v),
    1307019551: (v) => new IFC4X3.IfcLinearStiffnessMeasure(v),
    3086160713: (v) => new IFC4X3.IfcLinearVelocityMeasure(v),
    503418787: (v) => new IFC4X3.IfcLogical(v),
    2095003142: (v) => new IFC4X3.IfcLuminousFluxMeasure(v),
    2755797622: (v) => new IFC4X3.IfcLuminousIntensityDistributionMeasure(v),
    151039812: (v) => new IFC4X3.IfcLuminousIntensityMeasure(v),
    286949696: (v) => new IFC4X3.IfcMagneticFluxDensityMeasure(v),
    2486716878: (v) => new IFC4X3.IfcMagneticFluxMeasure(v),
    1477762836: (v) => new IFC4X3.IfcMassDensityMeasure(v),
    4017473158: (v) => new IFC4X3.IfcMassFlowRateMeasure(v),
    3124614049: (v) => new IFC4X3.IfcMassMeasure(v),
    3531705166: (v) => new IFC4X3.IfcMassPerLengthMeasure(v),
    3341486342: (v) => new IFC4X3.IfcModulusOfElasticityMeasure(v),
    2173214787: (v) => new IFC4X3.IfcModulusOfLinearSubgradeReactionMeasure(v),
    1052454078: (v) => new IFC4X3.IfcModulusOfRotationalSubgradeReactionMeasure(v),
    1753493141: (v) => new IFC4X3.IfcModulusOfSubgradeReactionMeasure(v),
    3177669450: (v) => new IFC4X3.IfcMoistureDiffusivityMeasure(v),
    1648970520: (v) => new IFC4X3.IfcMolecularWeightMeasure(v),
    3114022597: (v) => new IFC4X3.IfcMomentOfInertiaMeasure(v),
    2615040989: (v) => new IFC4X3.IfcMonetaryMeasure(v),
    765770214: (v) => new IFC4X3.IfcMonthInYearNumber(v),
    525895558: (v) => new IFC4X3.IfcNonNegativeLengthMeasure(v),
    2095195183: (v) => new IFC4X3.IfcNormalisedRatioMeasure(v),
    2395907400: (v) => new IFC4X3.IfcNumericMeasure(v),
    929793134: (v) => new IFC4X3.IfcPHMeasure(v),
    2260317790: (v) => new IFC4X3.IfcParameterValue(v),
    2642773653: (v) => new IFC4X3.IfcPlanarForceMeasure(v),
    4042175685: (v) => new IFC4X3.IfcPlaneAngleMeasure(v),
    1790229001: (v) => new IFC4X3.IfcPositiveInteger(v),
    2815919920: (v) => new IFC4X3.IfcPositiveLengthMeasure(v),
    3054510233: (v) => new IFC4X3.IfcPositivePlaneAngleMeasure(v),
    1245737093: (v) => new IFC4X3.IfcPositiveRatioMeasure(v),
    1364037233: (v) => new IFC4X3.IfcPowerMeasure(v),
    2169031380: (v) => new IFC4X3.IfcPresentableText(v),
    3665567075: (v) => new IFC4X3.IfcPressureMeasure(v),
    2798247006: (v) => new IFC4X3.IfcPropertySetDefinitionSet(v.map((x) => x.value)),
    3972513137: (v) => new IFC4X3.IfcRadioActivityMeasure(v),
    96294661: (v) => new IFC4X3.IfcRatioMeasure(v),
    200335297: (v) => new IFC4X3.IfcReal(v),
    2133746277: (v) => new IFC4X3.IfcRotationalFrequencyMeasure(v),
    1755127002: (v) => new IFC4X3.IfcRotationalMassMeasure(v),
    3211557302: (v) => new IFC4X3.IfcRotationalStiffnessMeasure(v),
    3467162246: (v) => new IFC4X3.IfcSectionModulusMeasure(v),
    2190458107: (v) => new IFC4X3.IfcSectionalAreaIntegralMeasure(v),
    408310005: (v) => new IFC4X3.IfcShearModulusMeasure(v),
    3471399674: (v) => new IFC4X3.IfcSolidAngleMeasure(v),
    4157543285: (v) => new IFC4X3.IfcSoundPowerLevelMeasure(v),
    846465480: (v) => new IFC4X3.IfcSoundPowerMeasure(v),
    3457685358: (v) => new IFC4X3.IfcSoundPressureLevelMeasure(v),
    993287707: (v) => new IFC4X3.IfcSoundPressureMeasure(v),
    3477203348: (v) => new IFC4X3.IfcSpecificHeatCapacityMeasure(v),
    2757832317: (v) => new IFC4X3.IfcSpecularExponent(v),
    361837227: (v) => new IFC4X3.IfcSpecularRoughness(v),
    1805707277: (v) => new IFC4X3.IfcStrippedOptional(v),
    58845555: (v) => new IFC4X3.IfcTemperatureGradientMeasure(v),
    1209108979: (v) => new IFC4X3.IfcTemperatureRateOfChangeMeasure(v),
    2801250643: (v) => new IFC4X3.IfcText(v),
    1460886941: (v) => new IFC4X3.IfcTextAlignment(v),
    3490877962: (v) => new IFC4X3.IfcTextDecoration(v),
    603696268: (v) => new IFC4X3.IfcTextFontName(v),
    296282323: (v) => new IFC4X3.IfcTextTransformation(v),
    232962298: (v) => new IFC4X3.IfcThermalAdmittanceMeasure(v),
    2645777649: (v) => new IFC4X3.IfcThermalConductivityMeasure(v),
    2281867870: (v) => new IFC4X3.IfcThermalExpansionCoefficientMeasure(v),
    857959152: (v) => new IFC4X3.IfcThermalResistanceMeasure(v),
    2016195849: (v) => new IFC4X3.IfcThermalTransmittanceMeasure(v),
    743184107: (v) => new IFC4X3.IfcThermodynamicTemperatureMeasure(v),
    4075327185: (v) => new IFC4X3.IfcTime(v),
    2726807636: (v) => new IFC4X3.IfcTimeMeasure(v),
    2591213694: (v) => new IFC4X3.IfcTimeStamp(v),
    1278329552: (v) => new IFC4X3.IfcTorqueMeasure(v),
    950732822: (v) => new IFC4X3.IfcURIReference(v),
    3345633955: (v) => new IFC4X3.IfcVaporPermeabilityMeasure(v),
    3458127941: (v) => new IFC4X3.IfcVolumeMeasure(v),
    2593997549: (v) => new IFC4X3.IfcVolumetricFlowRateMeasure(v),
    51269191: (v) => new IFC4X3.IfcWarpingConstantMeasure(v),
    1718600412: (v) => new IFC4X3.IfcWarpingMomentMeasure(v),
    2149462589: (v) => new IFC4X3.IfcWellKnownTextLiteral(v)
  };
  var IFC4X3;
  ((IFC4X32) => {
    class IfcAbsorbedDoseMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCABSORBEDDOSEMEASURE";
      }
    }
    IFC4X32.IfcAbsorbedDoseMeasure = IfcAbsorbedDoseMeasure;
    class IfcAccelerationMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCACCELERATIONMEASURE";
      }
    }
    IFC4X32.IfcAccelerationMeasure = IfcAccelerationMeasure;
    class IfcAmountOfSubstanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCAMOUNTOFSUBSTANCEMEASURE";
      }
    }
    IFC4X32.IfcAmountOfSubstanceMeasure = IfcAmountOfSubstanceMeasure;
    class IfcAngularVelocityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCANGULARVELOCITYMEASURE";
      }
    }
    IFC4X32.IfcAngularVelocityMeasure = IfcAngularVelocityMeasure;
    class IfcArcIndex {
      constructor(value) {
        this.value = value;
        this.type = 5;
      }
    }
    IFC4X32.IfcArcIndex = IfcArcIndex;
    ;
    class IfcAreaDensityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCAREADENSITYMEASURE";
      }
    }
    IFC4X32.IfcAreaDensityMeasure = IfcAreaDensityMeasure;
    class IfcAreaMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCAREAMEASURE";
      }
    }
    IFC4X32.IfcAreaMeasure = IfcAreaMeasure;
    class IfcBinary extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCBINARY";
      }
    }
    IFC4X32.IfcBinary = IfcBinary;
    class IfcBoolean {
      constructor(v) {
        this.type = 3;
        this.name = "IFCBOOLEAN";
        this.value = v;
      }
    }
    IFC4X32.IfcBoolean = IfcBoolean;
    class IfcBoxAlignment {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCBOXALIGNMENT";
      }
    }
    IFC4X32.IfcBoxAlignment = IfcBoxAlignment;
    class IfcCardinalPointReference extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCCARDINALPOINTREFERENCE";
      }
    }
    IFC4X32.IfcCardinalPointReference = IfcCardinalPointReference;
    class IfcComplexNumber {
      constructor(value) {
        this.value = value;
        this.type = 4;
      }
    }
    IFC4X32.IfcComplexNumber = IfcComplexNumber;
    ;
    class IfcCompoundPlaneAngleMeasure {
      constructor(value) {
        this.value = value;
        this.type = 10;
      }
    }
    IFC4X32.IfcCompoundPlaneAngleMeasure = IfcCompoundPlaneAngleMeasure;
    ;
    class IfcContextDependentMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCCONTEXTDEPENDENTMEASURE";
      }
    }
    IFC4X32.IfcContextDependentMeasure = IfcContextDependentMeasure;
    class IfcCountMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCCOUNTMEASURE";
      }
    }
    IFC4X32.IfcCountMeasure = IfcCountMeasure;
    class IfcCurvatureMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCCURVATUREMEASURE";
      }
    }
    IFC4X32.IfcCurvatureMeasure = IfcCurvatureMeasure;
    class IfcDate {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCDATE";
      }
    }
    IFC4X32.IfcDate = IfcDate;
    class IfcDateTime {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCDATETIME";
      }
    }
    IFC4X32.IfcDateTime = IfcDateTime;
    class IfcDayInMonthNumber extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCDAYINMONTHNUMBER";
      }
    }
    IFC4X32.IfcDayInMonthNumber = IfcDayInMonthNumber;
    class IfcDayInWeekNumber extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCDAYINWEEKNUMBER";
      }
    }
    IFC4X32.IfcDayInWeekNumber = IfcDayInWeekNumber;
    class IfcDescriptiveMeasure {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCDESCRIPTIVEMEASURE";
      }
    }
    IFC4X32.IfcDescriptiveMeasure = IfcDescriptiveMeasure;
    class IfcDimensionCount extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCDIMENSIONCOUNT";
      }
    }
    IFC4X32.IfcDimensionCount = IfcDimensionCount;
    class IfcDoseEquivalentMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCDOSEEQUIVALENTMEASURE";
      }
    }
    IFC4X32.IfcDoseEquivalentMeasure = IfcDoseEquivalentMeasure;
    class IfcDuration {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCDURATION";
      }
    }
    IFC4X32.IfcDuration = IfcDuration;
    class IfcDynamicViscosityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCDYNAMICVISCOSITYMEASURE";
      }
    }
    IFC4X32.IfcDynamicViscosityMeasure = IfcDynamicViscosityMeasure;
    class IfcElectricCapacitanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCELECTRICCAPACITANCEMEASURE";
      }
    }
    IFC4X32.IfcElectricCapacitanceMeasure = IfcElectricCapacitanceMeasure;
    class IfcElectricChargeMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCELECTRICCHARGEMEASURE";
      }
    }
    IFC4X32.IfcElectricChargeMeasure = IfcElectricChargeMeasure;
    class IfcElectricConductanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCELECTRICCONDUCTANCEMEASURE";
      }
    }
    IFC4X32.IfcElectricConductanceMeasure = IfcElectricConductanceMeasure;
    class IfcElectricCurrentMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCELECTRICCURRENTMEASURE";
      }
    }
    IFC4X32.IfcElectricCurrentMeasure = IfcElectricCurrentMeasure;
    class IfcElectricResistanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCELECTRICRESISTANCEMEASURE";
      }
    }
    IFC4X32.IfcElectricResistanceMeasure = IfcElectricResistanceMeasure;
    class IfcElectricVoltageMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCELECTRICVOLTAGEMEASURE";
      }
    }
    IFC4X32.IfcElectricVoltageMeasure = IfcElectricVoltageMeasure;
    class IfcEnergyMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCENERGYMEASURE";
      }
    }
    IFC4X32.IfcEnergyMeasure = IfcEnergyMeasure;
    class IfcFontStyle {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCFONTSTYLE";
      }
    }
    IFC4X32.IfcFontStyle = IfcFontStyle;
    class IfcFontVariant {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCFONTVARIANT";
      }
    }
    IFC4X32.IfcFontVariant = IfcFontVariant;
    class IfcFontWeight {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCFONTWEIGHT";
      }
    }
    IFC4X32.IfcFontWeight = IfcFontWeight;
    class IfcForceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCFORCEMEASURE";
      }
    }
    IFC4X32.IfcForceMeasure = IfcForceMeasure;
    class IfcFrequencyMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCFREQUENCYMEASURE";
      }
    }
    IFC4X32.IfcFrequencyMeasure = IfcFrequencyMeasure;
    class IfcGloballyUniqueId {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCGLOBALLYUNIQUEID";
      }
    }
    IFC4X32.IfcGloballyUniqueId = IfcGloballyUniqueId;
    class IfcHeatFluxDensityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCHEATFLUXDENSITYMEASURE";
      }
    }
    IFC4X32.IfcHeatFluxDensityMeasure = IfcHeatFluxDensityMeasure;
    class IfcHeatingValueMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCHEATINGVALUEMEASURE";
      }
    }
    IFC4X32.IfcHeatingValueMeasure = IfcHeatingValueMeasure;
    class IfcIdentifier {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCIDENTIFIER";
      }
    }
    IFC4X32.IfcIdentifier = IfcIdentifier;
    class IfcIlluminanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCILLUMINANCEMEASURE";
      }
    }
    IFC4X32.IfcIlluminanceMeasure = IfcIlluminanceMeasure;
    class IfcInductanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCINDUCTANCEMEASURE";
      }
    }
    IFC4X32.IfcInductanceMeasure = IfcInductanceMeasure;
    class IfcInteger extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCINTEGER";
      }
    }
    IFC4X32.IfcInteger = IfcInteger;
    class IfcIntegerCountRateMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCINTEGERCOUNTRATEMEASURE";
      }
    }
    IFC4X32.IfcIntegerCountRateMeasure = IfcIntegerCountRateMeasure;
    class IfcIonConcentrationMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCIONCONCENTRATIONMEASURE";
      }
    }
    IFC4X32.IfcIonConcentrationMeasure = IfcIonConcentrationMeasure;
    class IfcIsothermalMoistureCapacityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCISOTHERMALMOISTURECAPACITYMEASURE";
      }
    }
    IFC4X32.IfcIsothermalMoistureCapacityMeasure = IfcIsothermalMoistureCapacityMeasure;
    class IfcKinematicViscosityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCKINEMATICVISCOSITYMEASURE";
      }
    }
    IFC4X32.IfcKinematicViscosityMeasure = IfcKinematicViscosityMeasure;
    class IfcLabel {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCLABEL";
      }
    }
    IFC4X32.IfcLabel = IfcLabel;
    class IfcLanguageId {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCLANGUAGEID";
      }
    }
    IFC4X32.IfcLanguageId = IfcLanguageId;
    class IfcLengthMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLENGTHMEASURE";
      }
    }
    IFC4X32.IfcLengthMeasure = IfcLengthMeasure;
    class IfcLineIndex {
      constructor(value) {
        this.value = value;
        this.type = 5;
      }
    }
    IFC4X32.IfcLineIndex = IfcLineIndex;
    ;
    class IfcLinearForceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLINEARFORCEMEASURE";
      }
    }
    IFC4X32.IfcLinearForceMeasure = IfcLinearForceMeasure;
    class IfcLinearMomentMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLINEARMOMENTMEASURE";
      }
    }
    IFC4X32.IfcLinearMomentMeasure = IfcLinearMomentMeasure;
    class IfcLinearStiffnessMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLINEARSTIFFNESSMEASURE";
      }
    }
    IFC4X32.IfcLinearStiffnessMeasure = IfcLinearStiffnessMeasure;
    class IfcLinearVelocityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLINEARVELOCITYMEASURE";
      }
    }
    IFC4X32.IfcLinearVelocityMeasure = IfcLinearVelocityMeasure;
    class IfcLogical {
      constructor(v) {
        this.type = 3;
        this.name = "IFCLOGICAL";
        this.value = v;
      }
    }
    IFC4X32.IfcLogical = IfcLogical;
    class IfcLuminousFluxMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLUMINOUSFLUXMEASURE";
      }
    }
    IFC4X32.IfcLuminousFluxMeasure = IfcLuminousFluxMeasure;
    class IfcLuminousIntensityDistributionMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE";
      }
    }
    IFC4X32.IfcLuminousIntensityDistributionMeasure = IfcLuminousIntensityDistributionMeasure;
    class IfcLuminousIntensityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCLUMINOUSINTENSITYMEASURE";
      }
    }
    IFC4X32.IfcLuminousIntensityMeasure = IfcLuminousIntensityMeasure;
    class IfcMagneticFluxDensityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMAGNETICFLUXDENSITYMEASURE";
      }
    }
    IFC4X32.IfcMagneticFluxDensityMeasure = IfcMagneticFluxDensityMeasure;
    class IfcMagneticFluxMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMAGNETICFLUXMEASURE";
      }
    }
    IFC4X32.IfcMagneticFluxMeasure = IfcMagneticFluxMeasure;
    class IfcMassDensityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMASSDENSITYMEASURE";
      }
    }
    IFC4X32.IfcMassDensityMeasure = IfcMassDensityMeasure;
    class IfcMassFlowRateMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMASSFLOWRATEMEASURE";
      }
    }
    IFC4X32.IfcMassFlowRateMeasure = IfcMassFlowRateMeasure;
    class IfcMassMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMASSMEASURE";
      }
    }
    IFC4X32.IfcMassMeasure = IfcMassMeasure;
    class IfcMassPerLengthMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMASSPERLENGTHMEASURE";
      }
    }
    IFC4X32.IfcMassPerLengthMeasure = IfcMassPerLengthMeasure;
    class IfcModulusOfElasticityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMODULUSOFELASTICITYMEASURE";
      }
    }
    IFC4X32.IfcModulusOfElasticityMeasure = IfcModulusOfElasticityMeasure;
    class IfcModulusOfLinearSubgradeReactionMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE";
      }
    }
    IFC4X32.IfcModulusOfLinearSubgradeReactionMeasure = IfcModulusOfLinearSubgradeReactionMeasure;
    class IfcModulusOfRotationalSubgradeReactionMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE";
      }
    }
    IFC4X32.IfcModulusOfRotationalSubgradeReactionMeasure = IfcModulusOfRotationalSubgradeReactionMeasure;
    class IfcModulusOfSubgradeReactionMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMODULUSOFSUBGRADEREACTIONMEASURE";
      }
    }
    IFC4X32.IfcModulusOfSubgradeReactionMeasure = IfcModulusOfSubgradeReactionMeasure;
    class IfcMoistureDiffusivityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMOISTUREDIFFUSIVITYMEASURE";
      }
    }
    IFC4X32.IfcMoistureDiffusivityMeasure = IfcMoistureDiffusivityMeasure;
    class IfcMolecularWeightMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMOLECULARWEIGHTMEASURE";
      }
    }
    IFC4X32.IfcMolecularWeightMeasure = IfcMolecularWeightMeasure;
    class IfcMomentOfInertiaMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMOMENTOFINERTIAMEASURE";
      }
    }
    IFC4X32.IfcMomentOfInertiaMeasure = IfcMomentOfInertiaMeasure;
    class IfcMonetaryMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCMONETARYMEASURE";
      }
    }
    IFC4X32.IfcMonetaryMeasure = IfcMonetaryMeasure;
    class IfcMonthInYearNumber extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCMONTHINYEARNUMBER";
      }
    }
    IFC4X32.IfcMonthInYearNumber = IfcMonthInYearNumber;
    class IfcNonNegativeLengthMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCNONNEGATIVELENGTHMEASURE";
      }
    }
    IFC4X32.IfcNonNegativeLengthMeasure = IfcNonNegativeLengthMeasure;
    class IfcNormalisedRatioMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCNORMALISEDRATIOMEASURE";
      }
    }
    IFC4X32.IfcNormalisedRatioMeasure = IfcNormalisedRatioMeasure;
    class IfcNumericMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCNUMERICMEASURE";
      }
    }
    IFC4X32.IfcNumericMeasure = IfcNumericMeasure;
    class IfcPHMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPHMEASURE";
      }
    }
    IFC4X32.IfcPHMeasure = IfcPHMeasure;
    class IfcParameterValue extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPARAMETERVALUE";
      }
    }
    IFC4X32.IfcParameterValue = IfcParameterValue;
    class IfcPlanarForceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPLANARFORCEMEASURE";
      }
    }
    IFC4X32.IfcPlanarForceMeasure = IfcPlanarForceMeasure;
    class IfcPlaneAngleMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPLANEANGLEMEASURE";
      }
    }
    IFC4X32.IfcPlaneAngleMeasure = IfcPlaneAngleMeasure;
    class IfcPositiveInteger extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCPOSITIVEINTEGER";
      }
    }
    IFC4X32.IfcPositiveInteger = IfcPositiveInteger;
    class IfcPositiveLengthMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPOSITIVELENGTHMEASURE";
      }
    }
    IFC4X32.IfcPositiveLengthMeasure = IfcPositiveLengthMeasure;
    class IfcPositivePlaneAngleMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPOSITIVEPLANEANGLEMEASURE";
      }
    }
    IFC4X32.IfcPositivePlaneAngleMeasure = IfcPositivePlaneAngleMeasure;
    class IfcPositiveRatioMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPOSITIVERATIOMEASURE";
      }
    }
    IFC4X32.IfcPositiveRatioMeasure = IfcPositiveRatioMeasure;
    class IfcPowerMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPOWERMEASURE";
      }
    }
    IFC4X32.IfcPowerMeasure = IfcPowerMeasure;
    class IfcPresentableText {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCPRESENTABLETEXT";
      }
    }
    IFC4X32.IfcPresentableText = IfcPresentableText;
    class IfcPressureMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCPRESSUREMEASURE";
      }
    }
    IFC4X32.IfcPressureMeasure = IfcPressureMeasure;
    class IfcPropertySetDefinitionSet {
      constructor(value) {
        this.value = value;
        this.type = 5;
      }
    }
    IFC4X32.IfcPropertySetDefinitionSet = IfcPropertySetDefinitionSet;
    ;
    class IfcRadioActivityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCRADIOACTIVITYMEASURE";
      }
    }
    IFC4X32.IfcRadioActivityMeasure = IfcRadioActivityMeasure;
    class IfcRatioMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCRATIOMEASURE";
      }
    }
    IFC4X32.IfcRatioMeasure = IfcRatioMeasure;
    class IfcReal extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCREAL";
      }
    }
    IFC4X32.IfcReal = IfcReal;
    class IfcRotationalFrequencyMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCROTATIONALFREQUENCYMEASURE";
      }
    }
    IFC4X32.IfcRotationalFrequencyMeasure = IfcRotationalFrequencyMeasure;
    class IfcRotationalMassMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCROTATIONALMASSMEASURE";
      }
    }
    IFC4X32.IfcRotationalMassMeasure = IfcRotationalMassMeasure;
    class IfcRotationalStiffnessMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCROTATIONALSTIFFNESSMEASURE";
      }
    }
    IFC4X32.IfcRotationalStiffnessMeasure = IfcRotationalStiffnessMeasure;
    class IfcSectionModulusMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSECTIONMODULUSMEASURE";
      }
    }
    IFC4X32.IfcSectionModulusMeasure = IfcSectionModulusMeasure;
    class IfcSectionalAreaIntegralMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSECTIONALAREAINTEGRALMEASURE";
      }
    }
    IFC4X32.IfcSectionalAreaIntegralMeasure = IfcSectionalAreaIntegralMeasure;
    class IfcShearModulusMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSHEARMODULUSMEASURE";
      }
    }
    IFC4X32.IfcShearModulusMeasure = IfcShearModulusMeasure;
    class IfcSolidAngleMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSOLIDANGLEMEASURE";
      }
    }
    IFC4X32.IfcSolidAngleMeasure = IfcSolidAngleMeasure;
    class IfcSoundPowerLevelMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSOUNDPOWERLEVELMEASURE";
      }
    }
    IFC4X32.IfcSoundPowerLevelMeasure = IfcSoundPowerLevelMeasure;
    class IfcSoundPowerMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSOUNDPOWERMEASURE";
      }
    }
    IFC4X32.IfcSoundPowerMeasure = IfcSoundPowerMeasure;
    class IfcSoundPressureLevelMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSOUNDPRESSURELEVELMEASURE";
      }
    }
    IFC4X32.IfcSoundPressureLevelMeasure = IfcSoundPressureLevelMeasure;
    class IfcSoundPressureMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSOUNDPRESSUREMEASURE";
      }
    }
    IFC4X32.IfcSoundPressureMeasure = IfcSoundPressureMeasure;
    class IfcSpecificHeatCapacityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSPECIFICHEATCAPACITYMEASURE";
      }
    }
    IFC4X32.IfcSpecificHeatCapacityMeasure = IfcSpecificHeatCapacityMeasure;
    class IfcSpecularExponent extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSPECULAREXPONENT";
      }
    }
    IFC4X32.IfcSpecularExponent = IfcSpecularExponent;
    class IfcSpecularRoughness extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCSPECULARROUGHNESS";
      }
    }
    IFC4X32.IfcSpecularRoughness = IfcSpecularRoughness;
    class IfcStrippedOptional {
      constructor(v) {
        this.type = 3;
        this.name = "IFCSTRIPPEDOPTIONAL";
        this.value = v;
      }
    }
    IFC4X32.IfcStrippedOptional = IfcStrippedOptional;
    class IfcTemperatureGradientMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTEMPERATUREGRADIENTMEASURE";
      }
    }
    IFC4X32.IfcTemperatureGradientMeasure = IfcTemperatureGradientMeasure;
    class IfcTemperatureRateOfChangeMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTEMPERATURERATEOFCHANGEMEASURE";
      }
    }
    IFC4X32.IfcTemperatureRateOfChangeMeasure = IfcTemperatureRateOfChangeMeasure;
    class IfcText {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCTEXT";
      }
    }
    IFC4X32.IfcText = IfcText;
    class IfcTextAlignment {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCTEXTALIGNMENT";
      }
    }
    IFC4X32.IfcTextAlignment = IfcTextAlignment;
    class IfcTextDecoration {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCTEXTDECORATION";
      }
    }
    IFC4X32.IfcTextDecoration = IfcTextDecoration;
    class IfcTextFontName {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCTEXTFONTNAME";
      }
    }
    IFC4X32.IfcTextFontName = IfcTextFontName;
    class IfcTextTransformation {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCTEXTTRANSFORMATION";
      }
    }
    IFC4X32.IfcTextTransformation = IfcTextTransformation;
    class IfcThermalAdmittanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTHERMALADMITTANCEMEASURE";
      }
    }
    IFC4X32.IfcThermalAdmittanceMeasure = IfcThermalAdmittanceMeasure;
    class IfcThermalConductivityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTHERMALCONDUCTIVITYMEASURE";
      }
    }
    IFC4X32.IfcThermalConductivityMeasure = IfcThermalConductivityMeasure;
    class IfcThermalExpansionCoefficientMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTHERMALEXPANSIONCOEFFICIENTMEASURE";
      }
    }
    IFC4X32.IfcThermalExpansionCoefficientMeasure = IfcThermalExpansionCoefficientMeasure;
    class IfcThermalResistanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTHERMALRESISTANCEMEASURE";
      }
    }
    IFC4X32.IfcThermalResistanceMeasure = IfcThermalResistanceMeasure;
    class IfcThermalTransmittanceMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTHERMALTRANSMITTANCEMEASURE";
      }
    }
    IFC4X32.IfcThermalTransmittanceMeasure = IfcThermalTransmittanceMeasure;
    class IfcThermodynamicTemperatureMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTHERMODYNAMICTEMPERATUREMEASURE";
      }
    }
    IFC4X32.IfcThermodynamicTemperatureMeasure = IfcThermodynamicTemperatureMeasure;
    class IfcTime {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCTIME";
      }
    }
    IFC4X32.IfcTime = IfcTime;
    class IfcTimeMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTIMEMEASURE";
      }
    }
    IFC4X32.IfcTimeMeasure = IfcTimeMeasure;
    class IfcTimeStamp extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 10;
        this.name = "IFCTIMESTAMP";
      }
    }
    IFC4X32.IfcTimeStamp = IfcTimeStamp;
    class IfcTorqueMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCTORQUEMEASURE";
      }
    }
    IFC4X32.IfcTorqueMeasure = IfcTorqueMeasure;
    class IfcURIReference {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCURIREFERENCE";
      }
    }
    IFC4X32.IfcURIReference = IfcURIReference;
    class IfcVaporPermeabilityMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCVAPORPERMEABILITYMEASURE";
      }
    }
    IFC4X32.IfcVaporPermeabilityMeasure = IfcVaporPermeabilityMeasure;
    class IfcVolumeMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCVOLUMEMEASURE";
      }
    }
    IFC4X32.IfcVolumeMeasure = IfcVolumeMeasure;
    class IfcVolumetricFlowRateMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCVOLUMETRICFLOWRATEMEASURE";
      }
    }
    IFC4X32.IfcVolumetricFlowRateMeasure = IfcVolumetricFlowRateMeasure;
    class IfcWarpingConstantMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCWARPINGCONSTANTMEASURE";
      }
    }
    IFC4X32.IfcWarpingConstantMeasure = IfcWarpingConstantMeasure;
    class IfcWarpingMomentMeasure extends NumberHandle {
      constructor() {
        super(...arguments);
        this.type = 4;
        this.name = "IFCWARPINGMOMENTMEASURE";
      }
    }
    IFC4X32.IfcWarpingMomentMeasure = IfcWarpingMomentMeasure;
    class IfcWellKnownTextLiteral {
      constructor(value) {
        this.value = value;
        this.type = 1;
        this.name = "IFCWELLKNOWNTEXTLITERAL";
      }
    }
    IFC4X32.IfcWellKnownTextLiteral = IfcWellKnownTextLiteral;
    class IfcActionRequestTypeEnum {
      static {
        this.EMAIL = { type: 3, value: "EMAIL" };
      }
      static {
        this.FAX = { type: 3, value: "FAX" };
      }
      static {
        this.PHONE = { type: 3, value: "PHONE" };
      }
      static {
        this.POST = { type: 3, value: "POST" };
      }
      static {
        this.VERBAL = { type: 3, value: "VERBAL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcActionRequestTypeEnum = IfcActionRequestTypeEnum;
    class IfcActionSourceTypeEnum {
      static {
        this.BRAKES = { type: 3, value: "BRAKES" };
      }
      static {
        this.BUOYANCY = { type: 3, value: "BUOYANCY" };
      }
      static {
        this.COMPLETION_G1 = { type: 3, value: "COMPLETION_G1" };
      }
      static {
        this.CREEP = { type: 3, value: "CREEP" };
      }
      static {
        this.CURRENT = { type: 3, value: "CURRENT" };
      }
      static {
        this.DEAD_LOAD_G = { type: 3, value: "DEAD_LOAD_G" };
      }
      static {
        this.EARTHQUAKE_E = { type: 3, value: "EARTHQUAKE_E" };
      }
      static {
        this.ERECTION = { type: 3, value: "ERECTION" };
      }
      static {
        this.FIRE = { type: 3, value: "FIRE" };
      }
      static {
        this.ICE = { type: 3, value: "ICE" };
      }
      static {
        this.IMPACT = { type: 3, value: "IMPACT" };
      }
      static {
        this.IMPULSE = { type: 3, value: "IMPULSE" };
      }
      static {
        this.LACK_OF_FIT = { type: 3, value: "LACK_OF_FIT" };
      }
      static {
        this.LIVE_LOAD_Q = { type: 3, value: "LIVE_LOAD_Q" };
      }
      static {
        this.PRESTRESSING_P = { type: 3, value: "PRESTRESSING_P" };
      }
      static {
        this.PROPPING = { type: 3, value: "PROPPING" };
      }
      static {
        this.RAIN = { type: 3, value: "RAIN" };
      }
      static {
        this.SETTLEMENT_U = { type: 3, value: "SETTLEMENT_U" };
      }
      static {
        this.SHRINKAGE = { type: 3, value: "SHRINKAGE" };
      }
      static {
        this.SNOW_S = { type: 3, value: "SNOW_S" };
      }
      static {
        this.SYSTEM_IMPERFECTION = { type: 3, value: "SYSTEM_IMPERFECTION" };
      }
      static {
        this.TEMPERATURE_T = { type: 3, value: "TEMPERATURE_T" };
      }
      static {
        this.TRANSPORT = { type: 3, value: "TRANSPORT" };
      }
      static {
        this.WAVE = { type: 3, value: "WAVE" };
      }
      static {
        this.WIND_W = { type: 3, value: "WIND_W" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcActionSourceTypeEnum = IfcActionSourceTypeEnum;
    class IfcActionTypeEnum {
      static {
        this.EXTRAORDINARY_A = { type: 3, value: "EXTRAORDINARY_A" };
      }
      static {
        this.PERMANENT_G = { type: 3, value: "PERMANENT_G" };
      }
      static {
        this.VARIABLE_Q = { type: 3, value: "VARIABLE_Q" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcActionTypeEnum = IfcActionTypeEnum;
    class IfcActuatorTypeEnum {
      static {
        this.ELECTRICACTUATOR = { type: 3, value: "ELECTRICACTUATOR" };
      }
      static {
        this.HANDOPERATEDACTUATOR = { type: 3, value: "HANDOPERATEDACTUATOR" };
      }
      static {
        this.HYDRAULICACTUATOR = { type: 3, value: "HYDRAULICACTUATOR" };
      }
      static {
        this.PNEUMATICACTUATOR = { type: 3, value: "PNEUMATICACTUATOR" };
      }
      static {
        this.THERMOSTATICACTUATOR = { type: 3, value: "THERMOSTATICACTUATOR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcActuatorTypeEnum = IfcActuatorTypeEnum;
    class IfcAddressTypeEnum {
      static {
        this.DISTRIBUTIONPOINT = { type: 3, value: "DISTRIBUTIONPOINT" };
      }
      static {
        this.HOME = { type: 3, value: "HOME" };
      }
      static {
        this.OFFICE = { type: 3, value: "OFFICE" };
      }
      static {
        this.SITE = { type: 3, value: "SITE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
    }
    IFC4X32.IfcAddressTypeEnum = IfcAddressTypeEnum;
    class IfcAirTerminalBoxTypeEnum {
      static {
        this.CONSTANTFLOW = { type: 3, value: "CONSTANTFLOW" };
      }
      static {
        this.VARIABLEFLOWPRESSUREDEPENDANT = { type: 3, value: "VARIABLEFLOWPRESSUREDEPENDANT" };
      }
      static {
        this.VARIABLEFLOWPRESSUREINDEPENDANT = { type: 3, value: "VARIABLEFLOWPRESSUREINDEPENDANT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcAirTerminalBoxTypeEnum = IfcAirTerminalBoxTypeEnum;
    class IfcAirTerminalTypeEnum {
      static {
        this.DIFFUSER = { type: 3, value: "DIFFUSER" };
      }
      static {
        this.GRILLE = { type: 3, value: "GRILLE" };
      }
      static {
        this.LOUVRE = { type: 3, value: "LOUVRE" };
      }
      static {
        this.REGISTER = { type: 3, value: "REGISTER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcAirTerminalTypeEnum = IfcAirTerminalTypeEnum;
    class IfcAirToAirHeatRecoveryTypeEnum {
      static {
        this.FIXEDPLATECOUNTERFLOWEXCHANGER = { type: 3, value: "FIXEDPLATECOUNTERFLOWEXCHANGER" };
      }
      static {
        this.FIXEDPLATECROSSFLOWEXCHANGER = { type: 3, value: "FIXEDPLATECROSSFLOWEXCHANGER" };
      }
      static {
        this.FIXEDPLATEPARALLELFLOWEXCHANGER = { type: 3, value: "FIXEDPLATEPARALLELFLOWEXCHANGER" };
      }
      static {
        this.HEATPIPE = { type: 3, value: "HEATPIPE" };
      }
      static {
        this.ROTARYWHEEL = { type: 3, value: "ROTARYWHEEL" };
      }
      static {
        this.RUNAROUNDCOILLOOP = { type: 3, value: "RUNAROUNDCOILLOOP" };
      }
      static {
        this.THERMOSIPHONCOILTYPEHEATEXCHANGERS = { type: 3, value: "THERMOSIPHONCOILTYPEHEATEXCHANGERS" };
      }
      static {
        this.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS = { type: 3, value: "THERMOSIPHONSEALEDTUBEHEATEXCHANGERS" };
      }
      static {
        this.TWINTOWERENTHALPYRECOVERYLOOPS = { type: 3, value: "TWINTOWERENTHALPYRECOVERYLOOPS" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcAirToAirHeatRecoveryTypeEnum = IfcAirToAirHeatRecoveryTypeEnum;
    class IfcAlarmTypeEnum {
      static {
        this.BELL = { type: 3, value: "BELL" };
      }
      static {
        this.BREAKGLASSBUTTON = { type: 3, value: "BREAKGLASSBUTTON" };
      }
      static {
        this.LIGHT = { type: 3, value: "LIGHT" };
      }
      static {
        this.MANUALPULLBOX = { type: 3, value: "MANUALPULLBOX" };
      }
      static {
        this.RAILWAYCROCODILE = { type: 3, value: "RAILWAYCROCODILE" };
      }
      static {
        this.RAILWAYDETONATOR = { type: 3, value: "RAILWAYDETONATOR" };
      }
      static {
        this.SIREN = { type: 3, value: "SIREN" };
      }
      static {
        this.WHISTLE = { type: 3, value: "WHISTLE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcAlarmTypeEnum = IfcAlarmTypeEnum;
    class IfcAlignmentCantSegmentTypeEnum {
      static {
        this.BLOSSCURVE = { type: 3, value: "BLOSSCURVE" };
      }
      static {
        this.CONSTANTCANT = { type: 3, value: "CONSTANTCANT" };
      }
      static {
        this.COSINECURVE = { type: 3, value: "COSINECURVE" };
      }
      static {
        this.HELMERTCURVE = { type: 3, value: "HELMERTCURVE" };
      }
      static {
        this.LINEARTRANSITION = { type: 3, value: "LINEARTRANSITION" };
      }
      static {
        this.SINECURVE = { type: 3, value: "SINECURVE" };
      }
      static {
        this.VIENNESEBEND = { type: 3, value: "VIENNESEBEND" };
      }
    }
    IFC4X32.IfcAlignmentCantSegmentTypeEnum = IfcAlignmentCantSegmentTypeEnum;
    class IfcAlignmentHorizontalSegmentTypeEnum {
      static {
        this.BLOSSCURVE = { type: 3, value: "BLOSSCURVE" };
      }
      static {
        this.CIRCULARARC = { type: 3, value: "CIRCULARARC" };
      }
      static {
        this.CLOTHOID = { type: 3, value: "CLOTHOID" };
      }
      static {
        this.COSINECURVE = { type: 3, value: "COSINECURVE" };
      }
      static {
        this.CUBIC = { type: 3, value: "CUBIC" };
      }
      static {
        this.HELMERTCURVE = { type: 3, value: "HELMERTCURVE" };
      }
      static {
        this.LINE = { type: 3, value: "LINE" };
      }
      static {
        this.SINECURVE = { type: 3, value: "SINECURVE" };
      }
      static {
        this.VIENNESEBEND = { type: 3, value: "VIENNESEBEND" };
      }
    }
    IFC4X32.IfcAlignmentHorizontalSegmentTypeEnum = IfcAlignmentHorizontalSegmentTypeEnum;
    class IfcAlignmentTypeEnum {
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcAlignmentTypeEnum = IfcAlignmentTypeEnum;
    class IfcAlignmentVerticalSegmentTypeEnum {
      static {
        this.CIRCULARARC = { type: 3, value: "CIRCULARARC" };
      }
      static {
        this.CLOTHOID = { type: 3, value: "CLOTHOID" };
      }
      static {
        this.CONSTANTGRADIENT = { type: 3, value: "CONSTANTGRADIENT" };
      }
      static {
        this.PARABOLICARC = { type: 3, value: "PARABOLICARC" };
      }
    }
    IFC4X32.IfcAlignmentVerticalSegmentTypeEnum = IfcAlignmentVerticalSegmentTypeEnum;
    class IfcAnalysisModelTypeEnum {
      static {
        this.IN_PLANE_LOADING_2D = { type: 3, value: "IN_PLANE_LOADING_2D" };
      }
      static {
        this.LOADING_3D = { type: 3, value: "LOADING_3D" };
      }
      static {
        this.OUT_PLANE_LOADING_2D = { type: 3, value: "OUT_PLANE_LOADING_2D" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcAnalysisModelTypeEnum = IfcAnalysisModelTypeEnum;
    class IfcAnalysisTheoryTypeEnum {
      static {
        this.FIRST_ORDER_THEORY = { type: 3, value: "FIRST_ORDER_THEORY" };
      }
      static {
        this.FULL_NONLINEAR_THEORY = { type: 3, value: "FULL_NONLINEAR_THEORY" };
      }
      static {
        this.SECOND_ORDER_THEORY = { type: 3, value: "SECOND_ORDER_THEORY" };
      }
      static {
        this.THIRD_ORDER_THEORY = { type: 3, value: "THIRD_ORDER_THEORY" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcAnalysisTheoryTypeEnum = IfcAnalysisTheoryTypeEnum;
    class IfcAnnotationTypeEnum {
      static {
        this.CONTOURLINE = { type: 3, value: "CONTOURLINE" };
      }
      static {
        this.DIMENSION = { type: 3, value: "DIMENSION" };
      }
      static {
        this.ISOBAR = { type: 3, value: "ISOBAR" };
      }
      static {
        this.ISOLUX = { type: 3, value: "ISOLUX" };
      }
      static {
        this.ISOTHERM = { type: 3, value: "ISOTHERM" };
      }
      static {
        this.LEADER = { type: 3, value: "LEADER" };
      }
      static {
        this.SURVEY = { type: 3, value: "SURVEY" };
      }
      static {
        this.SYMBOL = { type: 3, value: "SYMBOL" };
      }
      static {
        this.TEXT = { type: 3, value: "TEXT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcAnnotationTypeEnum = IfcAnnotationTypeEnum;
    class IfcArithmeticOperatorEnum {
      static {
        this.ADD = { type: 3, value: "ADD" };
      }
      static {
        this.DIVIDE = { type: 3, value: "DIVIDE" };
      }
      static {
        this.MODULO = { type: 3, value: "MODULO" };
      }
      static {
        this.MULTIPLY = { type: 3, value: "MULTIPLY" };
      }
      static {
        this.SUBTRACT = { type: 3, value: "SUBTRACT" };
      }
    }
    IFC4X32.IfcArithmeticOperatorEnum = IfcArithmeticOperatorEnum;
    class IfcAssemblyPlaceEnum {
      static {
        this.FACTORY = { type: 3, value: "FACTORY" };
      }
      static {
        this.SITE = { type: 3, value: "SITE" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcAssemblyPlaceEnum = IfcAssemblyPlaceEnum;
    class IfcAudioVisualApplianceTypeEnum {
      static {
        this.AMPLIFIER = { type: 3, value: "AMPLIFIER" };
      }
      static {
        this.CAMERA = { type: 3, value: "CAMERA" };
      }
      static {
        this.COMMUNICATIONTERMINAL = { type: 3, value: "COMMUNICATIONTERMINAL" };
      }
      static {
        this.DISPLAY = { type: 3, value: "DISPLAY" };
      }
      static {
        this.MICROPHONE = { type: 3, value: "MICROPHONE" };
      }
      static {
        this.PLAYER = { type: 3, value: "PLAYER" };
      }
      static {
        this.PROJECTOR = { type: 3, value: "PROJECTOR" };
      }
      static {
        this.RECEIVER = { type: 3, value: "RECEIVER" };
      }
      static {
        this.RECORDINGEQUIPMENT = { type: 3, value: "RECORDINGEQUIPMENT" };
      }
      static {
        this.SPEAKER = { type: 3, value: "SPEAKER" };
      }
      static {
        this.SWITCHER = { type: 3, value: "SWITCHER" };
      }
      static {
        this.TELEPHONE = { type: 3, value: "TELEPHONE" };
      }
      static {
        this.TUNER = { type: 3, value: "TUNER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcAudioVisualApplianceTypeEnum = IfcAudioVisualApplianceTypeEnum;
    class IfcBSplineCurveForm {
      static {
        this.CIRCULAR_ARC = { type: 3, value: "CIRCULAR_ARC" };
      }
      static {
        this.ELLIPTIC_ARC = { type: 3, value: "ELLIPTIC_ARC" };
      }
      static {
        this.HYPERBOLIC_ARC = { type: 3, value: "HYPERBOLIC_ARC" };
      }
      static {
        this.PARABOLIC_ARC = { type: 3, value: "PARABOLIC_ARC" };
      }
      static {
        this.POLYLINE_FORM = { type: 3, value: "POLYLINE_FORM" };
      }
      static {
        this.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" };
      }
    }
    IFC4X32.IfcBSplineCurveForm = IfcBSplineCurveForm;
    class IfcBSplineSurfaceForm {
      static {
        this.CONICAL_SURF = { type: 3, value: "CONICAL_SURF" };
      }
      static {
        this.CYLINDRICAL_SURF = { type: 3, value: "CYLINDRICAL_SURF" };
      }
      static {
        this.GENERALISED_CONE = { type: 3, value: "GENERALISED_CONE" };
      }
      static {
        this.PLANE_SURF = { type: 3, value: "PLANE_SURF" };
      }
      static {
        this.QUADRIC_SURF = { type: 3, value: "QUADRIC_SURF" };
      }
      static {
        this.RULED_SURF = { type: 3, value: "RULED_SURF" };
      }
      static {
        this.SPHERICAL_SURF = { type: 3, value: "SPHERICAL_SURF" };
      }
      static {
        this.SURF_OF_LINEAR_EXTRUSION = { type: 3, value: "SURF_OF_LINEAR_EXTRUSION" };
      }
      static {
        this.SURF_OF_REVOLUTION = { type: 3, value: "SURF_OF_REVOLUTION" };
      }
      static {
        this.TOROIDAL_SURF = { type: 3, value: "TOROIDAL_SURF" };
      }
      static {
        this.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" };
      }
    }
    IFC4X32.IfcBSplineSurfaceForm = IfcBSplineSurfaceForm;
    class IfcBeamTypeEnum {
      static {
        this.BEAM = { type: 3, value: "BEAM" };
      }
      static {
        this.CORNICE = { type: 3, value: "CORNICE" };
      }
      static {
        this.DIAPHRAGM = { type: 3, value: "DIAPHRAGM" };
      }
      static {
        this.EDGEBEAM = { type: 3, value: "EDGEBEAM" };
      }
      static {
        this.GIRDER_SEGMENT = { type: 3, value: "GIRDER_SEGMENT" };
      }
      static {
        this.HATSTONE = { type: 3, value: "HATSTONE" };
      }
      static {
        this.HOLLOWCORE = { type: 3, value: "HOLLOWCORE" };
      }
      static {
        this.JOIST = { type: 3, value: "JOIST" };
      }
      static {
        this.LINTEL = { type: 3, value: "LINTEL" };
      }
      static {
        this.PIERCAP = { type: 3, value: "PIERCAP" };
      }
      static {
        this.SPANDREL = { type: 3, value: "SPANDREL" };
      }
      static {
        this.T_BEAM = { type: 3, value: "T_BEAM" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcBeamTypeEnum = IfcBeamTypeEnum;
    class IfcBearingTypeEnum {
      static {
        this.CYLINDRICAL = { type: 3, value: "CYLINDRICAL" };
      }
      static {
        this.DISK = { type: 3, value: "DISK" };
      }
      static {
        this.ELASTOMERIC = { type: 3, value: "ELASTOMERIC" };
      }
      static {
        this.GUIDE = { type: 3, value: "GUIDE" };
      }
      static {
        this.POT = { type: 3, value: "POT" };
      }
      static {
        this.ROCKER = { type: 3, value: "ROCKER" };
      }
      static {
        this.ROLLER = { type: 3, value: "ROLLER" };
      }
      static {
        this.SPHERICAL = { type: 3, value: "SPHERICAL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcBearingTypeEnum = IfcBearingTypeEnum;
    class IfcBenchmarkEnum {
      static {
        this.EQUALTO = { type: 3, value: "EQUALTO" };
      }
      static {
        this.GREATERTHAN = { type: 3, value: "GREATERTHAN" };
      }
      static {
        this.GREATERTHANOREQUALTO = { type: 3, value: "GREATERTHANOREQUALTO" };
      }
      static {
        this.INCLUDEDIN = { type: 3, value: "INCLUDEDIN" };
      }
      static {
        this.INCLUDES = { type: 3, value: "INCLUDES" };
      }
      static {
        this.LESSTHAN = { type: 3, value: "LESSTHAN" };
      }
      static {
        this.LESSTHANOREQUALTO = { type: 3, value: "LESSTHANOREQUALTO" };
      }
      static {
        this.NOTEQUALTO = { type: 3, value: "NOTEQUALTO" };
      }
      static {
        this.NOTINCLUDEDIN = { type: 3, value: "NOTINCLUDEDIN" };
      }
      static {
        this.NOTINCLUDES = { type: 3, value: "NOTINCLUDES" };
      }
    }
    IFC4X32.IfcBenchmarkEnum = IfcBenchmarkEnum;
    class IfcBoilerTypeEnum {
      static {
        this.STEAM = { type: 3, value: "STEAM" };
      }
      static {
        this.WATER = { type: 3, value: "WATER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcBoilerTypeEnum = IfcBoilerTypeEnum;
    class IfcBooleanOperator {
      static {
        this.DIFFERENCE = { type: 3, value: "DIFFERENCE" };
      }
      static {
        this.INTERSECTION = { type: 3, value: "INTERSECTION" };
      }
      static {
        this.UNION = { type: 3, value: "UNION" };
      }
    }
    IFC4X32.IfcBooleanOperator = IfcBooleanOperator;
    class IfcBridgePartTypeEnum {
      static {
        this.ABUTMENT = { type: 3, value: "ABUTMENT" };
      }
      static {
        this.DECK = { type: 3, value: "DECK" };
      }
      static {
        this.DECK_SEGMENT = { type: 3, value: "DECK_SEGMENT" };
      }
      static {
        this.FOUNDATION = { type: 3, value: "FOUNDATION" };
      }
      static {
        this.PIER = { type: 3, value: "PIER" };
      }
      static {
        this.PIER_SEGMENT = { type: 3, value: "PIER_SEGMENT" };
      }
      static {
        this.PYLON = { type: 3, value: "PYLON" };
      }
      static {
        this.SUBSTRUCTURE = { type: 3, value: "SUBSTRUCTURE" };
      }
      static {
        this.SUPERSTRUCTURE = { type: 3, value: "SUPERSTRUCTURE" };
      }
      static {
        this.SURFACESTRUCTURE = { type: 3, value: "SURFACESTRUCTURE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcBridgePartTypeEnum = IfcBridgePartTypeEnum;
    class IfcBridgeTypeEnum {
      static {
        this.ARCHED = { type: 3, value: "ARCHED" };
      }
      static {
        this.CABLE_STAYED = { type: 3, value: "CABLE_STAYED" };
      }
      static {
        this.CANTILEVER = { type: 3, value: "CANTILEVER" };
      }
      static {
        this.CULVERT = { type: 3, value: "CULVERT" };
      }
      static {
        this.FRAMEWORK = { type: 3, value: "FRAMEWORK" };
      }
      static {
        this.GIRDER = { type: 3, value: "GIRDER" };
      }
      static {
        this.SUSPENSION = { type: 3, value: "SUSPENSION" };
      }
      static {
        this.TRUSS = { type: 3, value: "TRUSS" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcBridgeTypeEnum = IfcBridgeTypeEnum;
    class IfcBuildingElementPartTypeEnum {
      static {
        this.APRON = { type: 3, value: "APRON" };
      }
      static {
        this.ARMOURUNIT = { type: 3, value: "ARMOURUNIT" };
      }
      static {
        this.INSULATION = { type: 3, value: "INSULATION" };
      }
      static {
        this.PRECASTPANEL = { type: 3, value: "PRECASTPANEL" };
      }
      static {
        this.SAFETYCAGE = { type: 3, value: "SAFETYCAGE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcBuildingElementPartTypeEnum = IfcBuildingElementPartTypeEnum;
    class IfcBuildingElementProxyTypeEnum {
      static {
        this.COMPLEX = { type: 3, value: "COMPLEX" };
      }
      static {
        this.ELEMENT = { type: 3, value: "ELEMENT" };
      }
      static {
        this.PARTIAL = { type: 3, value: "PARTIAL" };
      }
      static {
        this.PROVISIONFORSPACE = { type: 3, value: "PROVISIONFORSPACE" };
      }
      static {
        this.PROVISIONFORVOID = { type: 3, value: "PROVISIONFORVOID" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcBuildingElementProxyTypeEnum = IfcBuildingElementProxyTypeEnum;
    class IfcBuildingSystemTypeEnum {
      static {
        this.FENESTRATION = { type: 3, value: "FENESTRATION" };
      }
      static {
        this.FOUNDATION = { type: 3, value: "FOUNDATION" };
      }
      static {
        this.LOADBEARING = { type: 3, value: "LOADBEARING" };
      }
      static {
        this.OUTERSHELL = { type: 3, value: "OUTERSHELL" };
      }
      static {
        this.SHADING = { type: 3, value: "SHADING" };
      }
      static {
        this.TRANSPORT = { type: 3, value: "TRANSPORT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcBuildingSystemTypeEnum = IfcBuildingSystemTypeEnum;
    class IfcBuiltSystemTypeEnum {
      static {
        this.EROSIONPREVENTION = { type: 3, value: "EROSIONPREVENTION" };
      }
      static {
        this.FENESTRATION = { type: 3, value: "FENESTRATION" };
      }
      static {
        this.FOUNDATION = { type: 3, value: "FOUNDATION" };
      }
      static {
        this.LOADBEARING = { type: 3, value: "LOADBEARING" };
      }
      static {
        this.MOORING = { type: 3, value: "MOORING" };
      }
      static {
        this.OUTERSHELL = { type: 3, value: "OUTERSHELL" };
      }
      static {
        this.PRESTRESSING = { type: 3, value: "PRESTRESSING" };
      }
      static {
        this.RAILWAYLINE = { type: 3, value: "RAILWAYLINE" };
      }
      static {
        this.RAILWAYTRACK = { type: 3, value: "RAILWAYTRACK" };
      }
      static {
        this.REINFORCING = { type: 3, value: "REINFORCING" };
      }
      static {
        this.SHADING = { type: 3, value: "SHADING" };
      }
      static {
        this.TRACKCIRCUIT = { type: 3, value: "TRACKCIRCUIT" };
      }
      static {
        this.TRANSPORT = { type: 3, value: "TRANSPORT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcBuiltSystemTypeEnum = IfcBuiltSystemTypeEnum;
    class IfcBurnerTypeEnum {
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcBurnerTypeEnum = IfcBurnerTypeEnum;
    class IfcCableCarrierFittingTypeEnum {
      static {
        this.BEND = { type: 3, value: "BEND" };
      }
      static {
        this.CONNECTOR = { type: 3, value: "CONNECTOR" };
      }
      static {
        this.CROSS = { type: 3, value: "CROSS" };
      }
      static {
        this.JUNCTION = { type: 3, value: "JUNCTION" };
      }
      static {
        this.REDUCER = { type: 3, value: "REDUCER" };
      }
      static {
        this.TEE = { type: 3, value: "TEE" };
      }
      static {
        this.TRANSITION = { type: 3, value: "TRANSITION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcCableCarrierFittingTypeEnum = IfcCableCarrierFittingTypeEnum;
    class IfcCableCarrierSegmentTypeEnum {
      static {
        this.CABLEBRACKET = { type: 3, value: "CABLEBRACKET" };
      }
      static {
        this.CABLELADDERSEGMENT = { type: 3, value: "CABLELADDERSEGMENT" };
      }
      static {
        this.CABLETRAYSEGMENT = { type: 3, value: "CABLETRAYSEGMENT" };
      }
      static {
        this.CABLETRUNKINGSEGMENT = { type: 3, value: "CABLETRUNKINGSEGMENT" };
      }
      static {
        this.CATENARYWIRE = { type: 3, value: "CATENARYWIRE" };
      }
      static {
        this.CONDUITSEGMENT = { type: 3, value: "CONDUITSEGMENT" };
      }
      static {
        this.DROPPER = { type: 3, value: "DROPPER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcCableCarrierSegmentTypeEnum = IfcCableCarrierSegmentTypeEnum;
    class IfcCableFittingTypeEnum {
      static {
        this.CONNECTOR = { type: 3, value: "CONNECTOR" };
      }
      static {
        this.ENTRY = { type: 3, value: "ENTRY" };
      }
      static {
        this.EXIT = { type: 3, value: "EXIT" };
      }
      static {
        this.FANOUT = { type: 3, value: "FANOUT" };
      }
      static {
        this.JUNCTION = { type: 3, value: "JUNCTION" };
      }
      static {
        this.TRANSITION = { type: 3, value: "TRANSITION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcCableFittingTypeEnum = IfcCableFittingTypeEnum;
    class IfcCableSegmentTypeEnum {
      static {
        this.BUSBARSEGMENT = { type: 3, value: "BUSBARSEGMENT" };
      }
      static {
        this.CABLESEGMENT = { type: 3, value: "CABLESEGMENT" };
      }
      static {
        this.CONDUCTORSEGMENT = { type: 3, value: "CONDUCTORSEGMENT" };
      }
      static {
        this.CONTACTWIRESEGMENT = { type: 3, value: "CONTACTWIRESEGMENT" };
      }
      static {
        this.CORESEGMENT = { type: 3, value: "CORESEGMENT" };
      }
      static {
        this.FIBERSEGMENT = { type: 3, value: "FIBERSEGMENT" };
      }
      static {
        this.FIBERTUBE = { type: 3, value: "FIBERTUBE" };
      }
      static {
        this.OPTICALCABLESEGMENT = { type: 3, value: "OPTICALCABLESEGMENT" };
      }
      static {
        this.STITCHWIRE = { type: 3, value: "STITCHWIRE" };
      }
      static {
        this.WIREPAIRSEGMENT = { type: 3, value: "WIREPAIRSEGMENT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcCableSegmentTypeEnum = IfcCableSegmentTypeEnum;
    class IfcCaissonFoundationTypeEnum {
      static {
        this.CAISSON = { type: 3, value: "CAISSON" };
      }
      static {
        this.WELL = { type: 3, value: "WELL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcCaissonFoundationTypeEnum = IfcCaissonFoundationTypeEnum;
    class IfcChangeActionEnum {
      static {
        this.ADDED = { type: 3, value: "ADDED" };
      }
      static {
        this.DELETED = { type: 3, value: "DELETED" };
      }
      static {
        this.MODIFIED = { type: 3, value: "MODIFIED" };
      }
      static {
        this.NOCHANGE = { type: 3, value: "NOCHANGE" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcChangeActionEnum = IfcChangeActionEnum;
    class IfcChillerTypeEnum {
      static {
        this.AIRCOOLED = { type: 3, value: "AIRCOOLED" };
      }
      static {
        this.HEATRECOVERY = { type: 3, value: "HEATRECOVERY" };
      }
      static {
        this.WATERCOOLED = { type: 3, value: "WATERCOOLED" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcChillerTypeEnum = IfcChillerTypeEnum;
    class IfcChimneyTypeEnum {
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcChimneyTypeEnum = IfcChimneyTypeEnum;
    class IfcCoilTypeEnum {
      static {
        this.DXCOOLINGCOIL = { type: 3, value: "DXCOOLINGCOIL" };
      }
      static {
        this.ELECTRICHEATINGCOIL = { type: 3, value: "ELECTRICHEATINGCOIL" };
      }
      static {
        this.GASHEATINGCOIL = { type: 3, value: "GASHEATINGCOIL" };
      }
      static {
        this.HYDRONICCOIL = { type: 3, value: "HYDRONICCOIL" };
      }
      static {
        this.STEAMHEATINGCOIL = { type: 3, value: "STEAMHEATINGCOIL" };
      }
      static {
        this.WATERCOOLINGCOIL = { type: 3, value: "WATERCOOLINGCOIL" };
      }
      static {
        this.WATERHEATINGCOIL = { type: 3, value: "WATERHEATINGCOIL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcCoilTypeEnum = IfcCoilTypeEnum;
    class IfcColumnTypeEnum {
      static {
        this.COLUMN = { type: 3, value: "COLUMN" };
      }
      static {
        this.PIERSTEM = { type: 3, value: "PIERSTEM" };
      }
      static {
        this.PIERSTEM_SEGMENT = { type: 3, value: "PIERSTEM_SEGMENT" };
      }
      static {
        this.PILASTER = { type: 3, value: "PILASTER" };
      }
      static {
        this.STANDCOLUMN = { type: 3, value: "STANDCOLUMN" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcColumnTypeEnum = IfcColumnTypeEnum;
    class IfcCommunicationsApplianceTypeEnum {
      static {
        this.ANTENNA = { type: 3, value: "ANTENNA" };
      }
      static {
        this.AUTOMATON = { type: 3, value: "AUTOMATON" };
      }
      static {
        this.COMPUTER = { type: 3, value: "COMPUTER" };
      }
      static {
        this.FAX = { type: 3, value: "FAX" };
      }
      static {
        this.GATEWAY = { type: 3, value: "GATEWAY" };
      }
      static {
        this.INTELLIGENTPERIPHERAL = { type: 3, value: "INTELLIGENTPERIPHERAL" };
      }
      static {
        this.IPNETWORKEQUIPMENT = { type: 3, value: "IPNETWORKEQUIPMENT" };
      }
      static {
        this.LINESIDEELECTRONICUNIT = { type: 3, value: "LINESIDEELECTRONICUNIT" };
      }
      static {
        this.MODEM = { type: 3, value: "MODEM" };
      }
      static {
        this.NETWORKAPPLIANCE = { type: 3, value: "NETWORKAPPLIANCE" };
      }
      static {
        this.NETWORKBRIDGE = { type: 3, value: "NETWORKBRIDGE" };
      }
      static {
        this.NETWORKHUB = { type: 3, value: "NETWORKHUB" };
      }
      static {
        this.OPTICALLINETERMINAL = { type: 3, value: "OPTICALLINETERMINAL" };
      }
      static {
        this.OPTICALNETWORKUNIT = { type: 3, value: "OPTICALNETWORKUNIT" };
      }
      static {
        this.PRINTER = { type: 3, value: "PRINTER" };
      }
      static {
        this.RADIOBLOCKCENTER = { type: 3, value: "RADIOBLOCKCENTER" };
      }
      static {
        this.REPEATER = { type: 3, value: "REPEATER" };
      }
      static {
        this.ROUTER = { type: 3, value: "ROUTER" };
      }
      static {
        this.SCANNER = { type: 3, value: "SCANNER" };
      }
      static {
        this.TELECOMMAND = { type: 3, value: "TELECOMMAND" };
      }
      static {
        this.TELEPHONYEXCHANGE = { type: 3, value: "TELEPHONYEXCHANGE" };
      }
      static {
        this.TRANSITIONCOMPONENT = { type: 3, value: "TRANSITIONCOMPONENT" };
      }
      static {
        this.TRANSPONDER = { type: 3, value: "TRANSPONDER" };
      }
      static {
        this.TRANSPORTEQUIPMENT = { type: 3, value: "TRANSPORTEQUIPMENT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcCommunicationsApplianceTypeEnum = IfcCommunicationsApplianceTypeEnum;
    class IfcComplexPropertyTemplateTypeEnum {
      static {
        this.P_COMPLEX = { type: 3, value: "P_COMPLEX" };
      }
      static {
        this.Q_COMPLEX = { type: 3, value: "Q_COMPLEX" };
      }
    }
    IFC4X32.IfcComplexPropertyTemplateTypeEnum = IfcComplexPropertyTemplateTypeEnum;
    class IfcCompressorTypeEnum {
      static {
        this.BOOSTER = { type: 3, value: "BOOSTER" };
      }
      static {
        this.DYNAMIC = { type: 3, value: "DYNAMIC" };
      }
      static {
        this.HERMETIC = { type: 3, value: "HERMETIC" };
      }
      static {
        this.OPENTYPE = { type: 3, value: "OPENTYPE" };
      }
      static {
        this.RECIPROCATING = { type: 3, value: "RECIPROCATING" };
      }
      static {
        this.ROLLINGPISTON = { type: 3, value: "ROLLINGPISTON" };
      }
      static {
        this.ROTARY = { type: 3, value: "ROTARY" };
      }
      static {
        this.ROTARYVANE = { type: 3, value: "ROTARYVANE" };
      }
      static {
        this.SCROLL = { type: 3, value: "SCROLL" };
      }
      static {
        this.SEMIHERMETIC = { type: 3, value: "SEMIHERMETIC" };
      }
      static {
        this.SINGLESCREW = { type: 3, value: "SINGLESCREW" };
      }
      static {
        this.SINGLESTAGE = { type: 3, value: "SINGLESTAGE" };
      }
      static {
        this.TROCHOIDAL = { type: 3, value: "TROCHOIDAL" };
      }
      static {
        this.TWINSCREW = { type: 3, value: "TWINSCREW" };
      }
      static {
        this.WELDEDSHELLHERMETIC = { type: 3, value: "WELDEDSHELLHERMETIC" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcCompressorTypeEnum = IfcCompressorTypeEnum;
    class IfcCondenserTypeEnum {
      static {
        this.AIRCOOLED = { type: 3, value: "AIRCOOLED" };
      }
      static {
        this.EVAPORATIVECOOLED = { type: 3, value: "EVAPORATIVECOOLED" };
      }
      static {
        this.WATERCOOLED = { type: 3, value: "WATERCOOLED" };
      }
      static {
        this.WATERCOOLEDBRAZEDPLATE = { type: 3, value: "WATERCOOLEDBRAZEDPLATE" };
      }
      static {
        this.WATERCOOLEDSHELLCOIL = { type: 3, value: "WATERCOOLEDSHELLCOIL" };
      }
      static {
        this.WATERCOOLEDSHELLTUBE = { type: 3, value: "WATERCOOLEDSHELLTUBE" };
      }
      static {
        this.WATERCOOLEDTUBEINTUBE = { type: 3, value: "WATERCOOLEDTUBEINTUBE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcCondenserTypeEnum = IfcCondenserTypeEnum;
    class IfcConnectionTypeEnum {
      static {
        this.ATEND = { type: 3, value: "ATEND" };
      }
      static {
        this.ATPATH = { type: 3, value: "ATPATH" };
      }
      static {
        this.ATSTART = { type: 3, value: "ATSTART" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcConnectionTypeEnum = IfcConnectionTypeEnum;
    class IfcConstraintEnum {
      static {
        this.ADVISORY = { type: 3, value: "ADVISORY" };
      }
      static {
        this.HARD = { type: 3, value: "HARD" };
      }
      static {
        this.SOFT = { type: 3, value: "SOFT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcConstraintEnum = IfcConstraintEnum;
    class IfcConstructionEquipmentResourceTypeEnum {
      static {
        this.DEMOLISHING = { type: 3, value: "DEMOLISHING" };
      }
      static {
        this.EARTHMOVING = { type: 3, value: "EARTHMOVING" };
      }
      static {
        this.ERECTING = { type: 3, value: "ERECTING" };
      }
      static {
        this.HEATING = { type: 3, value: "HEATING" };
      }
      static {
        this.LIGHTING = { type: 3, value: "LIGHTING" };
      }
      static {
        this.PAVING = { type: 3, value: "PAVING" };
      }
      static {
        this.PUMPING = { type: 3, value: "PUMPING" };
      }
      static {
        this.TRANSPORTING = { type: 3, value: "TRANSPORTING" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcConstructionEquipmentResourceTypeEnum = IfcConstructionEquipmentResourceTypeEnum;
    class IfcConstructionMaterialResourceTypeEnum {
      static {
        this.AGGREGATES = { type: 3, value: "AGGREGATES" };
      }
      static {
        this.CONCRETE = { type: 3, value: "CONCRETE" };
      }
      static {
        this.DRYWALL = { type: 3, value: "DRYWALL" };
      }
      static {
        this.FUEL = { type: 3, value: "FUEL" };
      }
      static {
        this.GYPSUM = { type: 3, value: "GYPSUM" };
      }
      static {
        this.MASONRY = { type: 3, value: "MASONRY" };
      }
      static {
        this.METAL = { type: 3, value: "METAL" };
      }
      static {
        this.PLASTIC = { type: 3, value: "PLASTIC" };
      }
      static {
        this.WOOD = { type: 3, value: "WOOD" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcConstructionMaterialResourceTypeEnum = IfcConstructionMaterialResourceTypeEnum;
    class IfcConstructionProductResourceTypeEnum {
      static {
        this.ASSEMBLY = { type: 3, value: "ASSEMBLY" };
      }
      static {
        this.FORMWORK = { type: 3, value: "FORMWORK" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcConstructionProductResourceTypeEnum = IfcConstructionProductResourceTypeEnum;
    class IfcControllerTypeEnum {
      static {
        this.FLOATING = { type: 3, value: "FLOATING" };
      }
      static {
        this.MULTIPOSITION = { type: 3, value: "MULTIPOSITION" };
      }
      static {
        this.PROGRAMMABLE = { type: 3, value: "PROGRAMMABLE" };
      }
      static {
        this.PROPORTIONAL = { type: 3, value: "PROPORTIONAL" };
      }
      static {
        this.TWOPOSITION = { type: 3, value: "TWOPOSITION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcControllerTypeEnum = IfcControllerTypeEnum;
    class IfcConveyorSegmentTypeEnum {
      static {
        this.BELTCONVEYOR = { type: 3, value: "BELTCONVEYOR" };
      }
      static {
        this.BUCKETCONVEYOR = { type: 3, value: "BUCKETCONVEYOR" };
      }
      static {
        this.CHUTECONVEYOR = { type: 3, value: "CHUTECONVEYOR" };
      }
      static {
        this.SCREWCONVEYOR = { type: 3, value: "SCREWCONVEYOR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcConveyorSegmentTypeEnum = IfcConveyorSegmentTypeEnum;
    class IfcCooledBeamTypeEnum {
      static {
        this.ACTIVE = { type: 3, value: "ACTIVE" };
      }
      static {
        this.PASSIVE = { type: 3, value: "PASSIVE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcCooledBeamTypeEnum = IfcCooledBeamTypeEnum;
    class IfcCoolingTowerTypeEnum {
      static {
        this.MECHANICALFORCEDDRAFT = { type: 3, value: "MECHANICALFORCEDDRAFT" };
      }
      static {
        this.MECHANICALINDUCEDDRAFT = { type: 3, value: "MECHANICALINDUCEDDRAFT" };
      }
      static {
        this.NATURALDRAFT = { type: 3, value: "NATURALDRAFT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcCoolingTowerTypeEnum = IfcCoolingTowerTypeEnum;
    class IfcCostItemTypeEnum {
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcCostItemTypeEnum = IfcCostItemTypeEnum;
    class IfcCostScheduleTypeEnum {
      static {
        this.BUDGET = { type: 3, value: "BUDGET" };
      }
      static {
        this.COSTPLAN = { type: 3, value: "COSTPLAN" };
      }
      static {
        this.ESTIMATE = { type: 3, value: "ESTIMATE" };
      }
      static {
        this.PRICEDBILLOFQUANTITIES = { type: 3, value: "PRICEDBILLOFQUANTITIES" };
      }
      static {
        this.SCHEDULEOFRATES = { type: 3, value: "SCHEDULEOFRATES" };
      }
      static {
        this.TENDER = { type: 3, value: "TENDER" };
      }
      static {
        this.UNPRICEDBILLOFQUANTITIES = { type: 3, value: "UNPRICEDBILLOFQUANTITIES" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcCostScheduleTypeEnum = IfcCostScheduleTypeEnum;
    class IfcCourseTypeEnum {
      static {
        this.ARMOUR = { type: 3, value: "ARMOUR" };
      }
      static {
        this.BALLASTBED = { type: 3, value: "BALLASTBED" };
      }
      static {
        this.CORE = { type: 3, value: "CORE" };
      }
      static {
        this.FILTER = { type: 3, value: "FILTER" };
      }
      static {
        this.PAVEMENT = { type: 3, value: "PAVEMENT" };
      }
      static {
        this.PROTECTION = { type: 3, value: "PROTECTION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcCourseTypeEnum = IfcCourseTypeEnum;
    class IfcCoveringTypeEnum {
      static {
        this.CEILING = { type: 3, value: "CEILING" };
      }
      static {
        this.CLADDING = { type: 3, value: "CLADDING" };
      }
      static {
        this.COPING = { type: 3, value: "COPING" };
      }
      static {
        this.FLOORING = { type: 3, value: "FLOORING" };
      }
      static {
        this.INSULATION = { type: 3, value: "INSULATION" };
      }
      static {
        this.MEMBRANE = { type: 3, value: "MEMBRANE" };
      }
      static {
        this.MOLDING = { type: 3, value: "MOLDING" };
      }
      static {
        this.ROOFING = { type: 3, value: "ROOFING" };
      }
      static {
        this.SKIRTINGBOARD = { type: 3, value: "SKIRTINGBOARD" };
      }
      static {
        this.SLEEVING = { type: 3, value: "SLEEVING" };
      }
      static {
        this.TOPPING = { type: 3, value: "TOPPING" };
      }
      static {
        this.WRAPPING = { type: 3, value: "WRAPPING" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcCoveringTypeEnum = IfcCoveringTypeEnum;
    class IfcCrewResourceTypeEnum {
      static {
        this.OFFICE = { type: 3, value: "OFFICE" };
      }
      static {
        this.SITE = { type: 3, value: "SITE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcCrewResourceTypeEnum = IfcCrewResourceTypeEnum;
    class IfcCurtainWallTypeEnum {
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcCurtainWallTypeEnum = IfcCurtainWallTypeEnum;
    class IfcCurveInterpolationEnum {
      static {
        this.LINEAR = { type: 3, value: "LINEAR" };
      }
      static {
        this.LOG_LINEAR = { type: 3, value: "LOG_LINEAR" };
      }
      static {
        this.LOG_LOG = { type: 3, value: "LOG_LOG" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcCurveInterpolationEnum = IfcCurveInterpolationEnum;
    class IfcDamperTypeEnum {
      static {
        this.BACKDRAFTDAMPER = { type: 3, value: "BACKDRAFTDAMPER" };
      }
      static {
        this.BALANCINGDAMPER = { type: 3, value: "BALANCINGDAMPER" };
      }
      static {
        this.BLASTDAMPER = { type: 3, value: "BLASTDAMPER" };
      }
      static {
        this.CONTROLDAMPER = { type: 3, value: "CONTROLDAMPER" };
      }
      static {
        this.FIREDAMPER = { type: 3, value: "FIREDAMPER" };
      }
      static {
        this.FIRESMOKEDAMPER = { type: 3, value: "FIRESMOKEDAMPER" };
      }
      static {
        this.FUMEHOODEXHAUST = { type: 3, value: "FUMEHOODEXHAUST" };
      }
      static {
        this.GRAVITYDAMPER = { type: 3, value: "GRAVITYDAMPER" };
      }
      static {
        this.GRAVITYRELIEFDAMPER = { type: 3, value: "GRAVITYRELIEFDAMPER" };
      }
      static {
        this.RELIEFDAMPER = { type: 3, value: "RELIEFDAMPER" };
      }
      static {
        this.SMOKEDAMPER = { type: 3, value: "SMOKEDAMPER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcDamperTypeEnum = IfcDamperTypeEnum;
    class IfcDataOriginEnum {
      static {
        this.MEASURED = { type: 3, value: "MEASURED" };
      }
      static {
        this.PREDICTED = { type: 3, value: "PREDICTED" };
      }
      static {
        this.SIMULATED = { type: 3, value: "SIMULATED" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcDataOriginEnum = IfcDataOriginEnum;
    class IfcDerivedUnitEnum {
      static {
        this.ACCELERATIONUNIT = { type: 3, value: "ACCELERATIONUNIT" };
      }
      static {
        this.ANGULARVELOCITYUNIT = { type: 3, value: "ANGULARVELOCITYUNIT" };
      }
      static {
        this.AREADENSITYUNIT = { type: 3, value: "AREADENSITYUNIT" };
      }
      static {
        this.COMPOUNDPLANEANGLEUNIT = { type: 3, value: "COMPOUNDPLANEANGLEUNIT" };
      }
      static {
        this.CURVATUREUNIT = { type: 3, value: "CURVATUREUNIT" };
      }
      static {
        this.DYNAMICVISCOSITYUNIT = { type: 3, value: "DYNAMICVISCOSITYUNIT" };
      }
      static {
        this.HEATFLUXDENSITYUNIT = { type: 3, value: "HEATFLUXDENSITYUNIT" };
      }
      static {
        this.HEATINGVALUEUNIT = { type: 3, value: "HEATINGVALUEUNIT" };
      }
      static {
        this.INTEGERCOUNTRATEUNIT = { type: 3, value: "INTEGERCOUNTRATEUNIT" };
      }
      static {
        this.IONCONCENTRATIONUNIT = { type: 3, value: "IONCONCENTRATIONUNIT" };
      }
      static {
        this.ISOTHERMALMOISTURECAPACITYUNIT = { type: 3, value: "ISOTHERMALMOISTURECAPACITYUNIT" };
      }
      static {
        this.KINEMATICVISCOSITYUNIT = { type: 3, value: "KINEMATICVISCOSITYUNIT" };
      }
      static {
        this.LINEARFORCEUNIT = { type: 3, value: "LINEARFORCEUNIT" };
      }
      static {
        this.LINEARMOMENTUNIT = { type: 3, value: "LINEARMOMENTUNIT" };
      }
      static {
        this.LINEARSTIFFNESSUNIT = { type: 3, value: "LINEARSTIFFNESSUNIT" };
      }
      static {
        this.LINEARVELOCITYUNIT = { type: 3, value: "LINEARVELOCITYUNIT" };
      }
      static {
        this.LUMINOUSINTENSITYDISTRIBUTIONUNIT = { type: 3, value: "LUMINOUSINTENSITYDISTRIBUTIONUNIT" };
      }
      static {
        this.MASSDENSITYUNIT = { type: 3, value: "MASSDENSITYUNIT" };
      }
      static {
        this.MASSFLOWRATEUNIT = { type: 3, value: "MASSFLOWRATEUNIT" };
      }
      static {
        this.MASSPERLENGTHUNIT = { type: 3, value: "MASSPERLENGTHUNIT" };
      }
      static {
        this.MODULUSOFELASTICITYUNIT = { type: 3, value: "MODULUSOFELASTICITYUNIT" };
      }
      static {
        this.MODULUSOFLINEARSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFLINEARSUBGRADEREACTIONUNIT" };
      }
      static {
        this.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFROTATIONALSUBGRADEREACTIONUNIT" };
      }
      static {
        this.MODULUSOFSUBGRADEREACTIONUNIT = { type: 3, value: "MODULUSOFSUBGRADEREACTIONUNIT" };
      }
      static {
        this.MOISTUREDIFFUSIVITYUNIT = { type: 3, value: "MOISTUREDIFFUSIVITYUNIT" };
      }
      static {
        this.MOLECULARWEIGHTUNIT = { type: 3, value: "MOLECULARWEIGHTUNIT" };
      }
      static {
        this.MOMENTOFINERTIAUNIT = { type: 3, value: "MOMENTOFINERTIAUNIT" };
      }
      static {
        this.PHUNIT = { type: 3, value: "PHUNIT" };
      }
      static {
        this.PLANARFORCEUNIT = { type: 3, value: "PLANARFORCEUNIT" };
      }
      static {
        this.ROTATIONALFREQUENCYUNIT = { type: 3, value: "ROTATIONALFREQUENCYUNIT" };
      }
      static {
        this.ROTATIONALMASSUNIT = { type: 3, value: "ROTATIONALMASSUNIT" };
      }
      static {
        this.ROTATIONALSTIFFNESSUNIT = { type: 3, value: "ROTATIONALSTIFFNESSUNIT" };
      }
      static {
        this.SECTIONAREAINTEGRALUNIT = { type: 3, value: "SECTIONAREAINTEGRALUNIT" };
      }
      static {
        this.SECTIONMODULUSUNIT = { type: 3, value: "SECTIONMODULUSUNIT" };
      }
      static {
        this.SHEARMODULUSUNIT = { type: 3, value: "SHEARMODULUSUNIT" };
      }
      static {
        this.SOUNDPOWERLEVELUNIT = { type: 3, value: "SOUNDPOWERLEVELUNIT" };
      }
      static {
        this.SOUNDPOWERUNIT = { type: 3, value: "SOUNDPOWERUNIT" };
      }
      static {
        this.SOUNDPRESSURELEVELUNIT = { type: 3, value: "SOUNDPRESSURELEVELUNIT" };
      }
      static {
        this.SOUNDPRESSUREUNIT = { type: 3, value: "SOUNDPRESSUREUNIT" };
      }
      static {
        this.SPECIFICHEATCAPACITYUNIT = { type: 3, value: "SPECIFICHEATCAPACITYUNIT" };
      }
      static {
        this.TEMPERATUREGRADIENTUNIT = { type: 3, value: "TEMPERATUREGRADIENTUNIT" };
      }
      static {
        this.TEMPERATURERATEOFCHANGEUNIT = { type: 3, value: "TEMPERATURERATEOFCHANGEUNIT" };
      }
      static {
        this.THERMALADMITTANCEUNIT = { type: 3, value: "THERMALADMITTANCEUNIT" };
      }
      static {
        this.THERMALCONDUCTANCEUNIT = { type: 3, value: "THERMALCONDUCTANCEUNIT" };
      }
      static {
        this.THERMALEXPANSIONCOEFFICIENTUNIT = { type: 3, value: "THERMALEXPANSIONCOEFFICIENTUNIT" };
      }
      static {
        this.THERMALRESISTANCEUNIT = { type: 3, value: "THERMALRESISTANCEUNIT" };
      }
      static {
        this.THERMALTRANSMITTANCEUNIT = { type: 3, value: "THERMALTRANSMITTANCEUNIT" };
      }
      static {
        this.TORQUEUNIT = { type: 3, value: "TORQUEUNIT" };
      }
      static {
        this.VAPORPERMEABILITYUNIT = { type: 3, value: "VAPORPERMEABILITYUNIT" };
      }
      static {
        this.VOLUMETRICFLOWRATEUNIT = { type: 3, value: "VOLUMETRICFLOWRATEUNIT" };
      }
      static {
        this.WARPINGCONSTANTUNIT = { type: 3, value: "WARPINGCONSTANTUNIT" };
      }
      static {
        this.WARPINGMOMENTUNIT = { type: 3, value: "WARPINGMOMENTUNIT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
    }
    IFC4X32.IfcDerivedUnitEnum = IfcDerivedUnitEnum;
    class IfcDirectionSenseEnum {
      static {
        this.NEGATIVE = { type: 3, value: "NEGATIVE" };
      }
      static {
        this.POSITIVE = { type: 3, value: "POSITIVE" };
      }
    }
    IFC4X32.IfcDirectionSenseEnum = IfcDirectionSenseEnum;
    class IfcDiscreteAccessoryTypeEnum {
      static {
        this.ANCHORPLATE = { type: 3, value: "ANCHORPLATE" };
      }
      static {
        this.BIRDPROTECTION = { type: 3, value: "BIRDPROTECTION" };
      }
      static {
        this.BRACKET = { type: 3, value: "BRACKET" };
      }
      static {
        this.CABLEARRANGER = { type: 3, value: "CABLEARRANGER" };
      }
      static {
        this.ELASTIC_CUSHION = { type: 3, value: "ELASTIC_CUSHION" };
      }
      static {
        this.EXPANSION_JOINT_DEVICE = { type: 3, value: "EXPANSION_JOINT_DEVICE" };
      }
      static {
        this.FILLER = { type: 3, value: "FILLER" };
      }
      static {
        this.FLASHING = { type: 3, value: "FLASHING" };
      }
      static {
        this.INSULATOR = { type: 3, value: "INSULATOR" };
      }
      static {
        this.LOCK = { type: 3, value: "LOCK" };
      }
      static {
        this.PANEL_STRENGTHENING = { type: 3, value: "PANEL_STRENGTHENING" };
      }
      static {
        this.POINTMACHINEMOUNTINGDEVICE = { type: 3, value: "POINTMACHINEMOUNTINGDEVICE" };
      }
      static {
        this.POINT_MACHINE_LOCKING_DEVICE = { type: 3, value: "POINT_MACHINE_LOCKING_DEVICE" };
      }
      static {
        this.RAILBRACE = { type: 3, value: "RAILBRACE" };
      }
      static {
        this.RAILPAD = { type: 3, value: "RAILPAD" };
      }
      static {
        this.RAIL_LUBRICATION = { type: 3, value: "RAIL_LUBRICATION" };
      }
      static {
        this.RAIL_MECHANICAL_EQUIPMENT = { type: 3, value: "RAIL_MECHANICAL_EQUIPMENT" };
      }
      static {
        this.SHOE = { type: 3, value: "SHOE" };
      }
      static {
        this.SLIDINGCHAIR = { type: 3, value: "SLIDINGCHAIR" };
      }
      static {
        this.SOUNDABSORPTION = { type: 3, value: "SOUNDABSORPTION" };
      }
      static {
        this.TENSIONINGEQUIPMENT = { type: 3, value: "TENSIONINGEQUIPMENT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcDiscreteAccessoryTypeEnum = IfcDiscreteAccessoryTypeEnum;
    class IfcDistributionBoardTypeEnum {
      static {
        this.CONSUMERUNIT = { type: 3, value: "CONSUMERUNIT" };
      }
      static {
        this.DISPATCHINGBOARD = { type: 3, value: "DISPATCHINGBOARD" };
      }
      static {
        this.DISTRIBUTIONBOARD = { type: 3, value: "DISTRIBUTIONBOARD" };
      }
      static {
        this.DISTRIBUTIONFRAME = { type: 3, value: "DISTRIBUTIONFRAME" };
      }
      static {
        this.MOTORCONTROLCENTRE = { type: 3, value: "MOTORCONTROLCENTRE" };
      }
      static {
        this.SWITCHBOARD = { type: 3, value: "SWITCHBOARD" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcDistributionBoardTypeEnum = IfcDistributionBoardTypeEnum;
    class IfcDistributionChamberElementTypeEnum {
      static {
        this.FORMEDDUCT = { type: 3, value: "FORMEDDUCT" };
      }
      static {
        this.INSPECTIONCHAMBER = { type: 3, value: "INSPECTIONCHAMBER" };
      }
      static {
        this.INSPECTIONPIT = { type: 3, value: "INSPECTIONPIT" };
      }
      static {
        this.MANHOLE = { type: 3, value: "MANHOLE" };
      }
      static {
        this.METERCHAMBER = { type: 3, value: "METERCHAMBER" };
      }
      static {
        this.SUMP = { type: 3, value: "SUMP" };
      }
      static {
        this.TRENCH = { type: 3, value: "TRENCH" };
      }
      static {
        this.VALVECHAMBER = { type: 3, value: "VALVECHAMBER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcDistributionChamberElementTypeEnum = IfcDistributionChamberElementTypeEnum;
    class IfcDistributionPortTypeEnum {
      static {
        this.CABLE = { type: 3, value: "CABLE" };
      }
      static {
        this.CABLECARRIER = { type: 3, value: "CABLECARRIER" };
      }
      static {
        this.DUCT = { type: 3, value: "DUCT" };
      }
      static {
        this.PIPE = { type: 3, value: "PIPE" };
      }
      static {
        this.WIRELESS = { type: 3, value: "WIRELESS" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcDistributionPortTypeEnum = IfcDistributionPortTypeEnum;
    class IfcDistributionSystemEnum {
      static {
        this.AIRCONDITIONING = { type: 3, value: "AIRCONDITIONING" };
      }
      static {
        this.AUDIOVISUAL = { type: 3, value: "AUDIOVISUAL" };
      }
      static {
        this.CATENARY_SYSTEM = { type: 3, value: "CATENARY_SYSTEM" };
      }
      static {
        this.CHEMICAL = { type: 3, value: "CHEMICAL" };
      }
      static {
        this.CHILLEDWATER = { type: 3, value: "CHILLEDWATER" };
      }
      static {
        this.COMMUNICATION = { type: 3, value: "COMMUNICATION" };
      }
      static {
        this.COMPRESSEDAIR = { type: 3, value: "COMPRESSEDAIR" };
      }
      static {
        this.CONDENSERWATER = { type: 3, value: "CONDENSERWATER" };
      }
      static {
        this.CONTROL = { type: 3, value: "CONTROL" };
      }
      static {
        this.CONVEYING = { type: 3, value: "CONVEYING" };
      }
      static {
        this.DATA = { type: 3, value: "DATA" };
      }
      static {
        this.DISPOSAL = { type: 3, value: "DISPOSAL" };
      }
      static {
        this.DOMESTICCOLDWATER = { type: 3, value: "DOMESTICCOLDWATER" };
      }
      static {
        this.DOMESTICHOTWATER = { type: 3, value: "DOMESTICHOTWATER" };
      }
      static {
        this.DRAINAGE = { type: 3, value: "DRAINAGE" };
      }
      static {
        this.EARTHING = { type: 3, value: "EARTHING" };
      }
      static {
        this.ELECTRICAL = { type: 3, value: "ELECTRICAL" };
      }
      static {
        this.ELECTROACOUSTIC = { type: 3, value: "ELECTROACOUSTIC" };
      }
      static {
        this.EXHAUST = { type: 3, value: "EXHAUST" };
      }
      static {
        this.FIREPROTECTION = { type: 3, value: "FIREPROTECTION" };
      }
      static {
        this.FIXEDTRANSMISSIONNETWORK = { type: 3, value: "FIXEDTRANSMISSIONNETWORK" };
      }
      static {
        this.FUEL = { type: 3, value: "FUEL" };
      }
      static {
        this.GAS = { type: 3, value: "GAS" };
      }
      static {
        this.HAZARDOUS = { type: 3, value: "HAZARDOUS" };
      }
      static {
        this.HEATING = { type: 3, value: "HEATING" };
      }
      static {
        this.LIGHTING = { type: 3, value: "LIGHTING" };
      }
      static {
        this.LIGHTNINGPROTECTION = { type: 3, value: "LIGHTNINGPROTECTION" };
      }
      static {
        this.MOBILENETWORK = { type: 3, value: "MOBILENETWORK" };
      }
      static {
        this.MONITORINGSYSTEM = { type: 3, value: "MONITORINGSYSTEM" };
      }
      static {
        this.MUNICIPALSOLIDWASTE = { type: 3, value: "MUNICIPALSOLIDWASTE" };
      }
      static {
        this.OIL = { type: 3, value: "OIL" };
      }
      static {
        this.OPERATIONAL = { type: 3, value: "OPERATIONAL" };
      }
      static {
        this.OPERATIONALTELEPHONYSYSTEM = { type: 3, value: "OPERATIONALTELEPHONYSYSTEM" };
      }
      static {
        this.OVERHEAD_CONTACTLINE_SYSTEM = { type: 3, value: "OVERHEAD_CONTACTLINE_SYSTEM" };
      }
      static {
        this.POWERGENERATION = { type: 3, value: "POWERGENERATION" };
      }
      static {
        this.RAINWATER = { type: 3, value: "RAINWATER" };
      }
      static {
        this.REFRIGERATION = { type: 3, value: "REFRIGERATION" };
      }
      static {
        this.RETURN_CIRCUIT = { type: 3, value: "RETURN_CIRCUIT" };
      }
      static {
        this.SECURITY = { type: 3, value: "SECURITY" };
      }
      static {
        this.SEWAGE = { type: 3, value: "SEWAGE" };
      }
      static {
        this.SIGNAL = { type: 3, value: "SIGNAL" };
      }
      static {
        this.STORMWATER = { type: 3, value: "STORMWATER" };
      }
      static {
        this.TELEPHONE = { type: 3, value: "TELEPHONE" };
      }
      static {
        this.TV = { type: 3, value: "TV" };
      }
      static {
        this.VACUUM = { type: 3, value: "VACUUM" };
      }
      static {
        this.VENT = { type: 3, value: "VENT" };
      }
      static {
        this.VENTILATION = { type: 3, value: "VENTILATION" };
      }
      static {
        this.WASTEWATER = { type: 3, value: "WASTEWATER" };
      }
      static {
        this.WATERSUPPLY = { type: 3, value: "WATERSUPPLY" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcDistributionSystemEnum = IfcDistributionSystemEnum;
    class IfcDocumentConfidentialityEnum {
      static {
        this.CONFIDENTIAL = { type: 3, value: "CONFIDENTIAL" };
      }
      static {
        this.PERSONAL = { type: 3, value: "PERSONAL" };
      }
      static {
        this.PUBLIC = { type: 3, value: "PUBLIC" };
      }
      static {
        this.RESTRICTED = { type: 3, value: "RESTRICTED" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcDocumentConfidentialityEnum = IfcDocumentConfidentialityEnum;
    class IfcDocumentStatusEnum {
      static {
        this.DRAFT = { type: 3, value: "DRAFT" };
      }
      static {
        this.FINAL = { type: 3, value: "FINAL" };
      }
      static {
        this.FINALDRAFT = { type: 3, value: "FINALDRAFT" };
      }
      static {
        this.REVISION = { type: 3, value: "REVISION" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcDocumentStatusEnum = IfcDocumentStatusEnum;
    class IfcDoorPanelOperationEnum {
      static {
        this.DOUBLE_ACTING = { type: 3, value: "DOUBLE_ACTING" };
      }
      static {
        this.FIXEDPANEL = { type: 3, value: "FIXEDPANEL" };
      }
      static {
        this.FOLDING = { type: 3, value: "FOLDING" };
      }
      static {
        this.REVOLVING = { type: 3, value: "REVOLVING" };
      }
      static {
        this.ROLLINGUP = { type: 3, value: "ROLLINGUP" };
      }
      static {
        this.SLIDING = { type: 3, value: "SLIDING" };
      }
      static {
        this.SWINGING = { type: 3, value: "SWINGING" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcDoorPanelOperationEnum = IfcDoorPanelOperationEnum;
    class IfcDoorPanelPositionEnum {
      static {
        this.LEFT = { type: 3, value: "LEFT" };
      }
      static {
        this.MIDDLE = { type: 3, value: "MIDDLE" };
      }
      static {
        this.RIGHT = { type: 3, value: "RIGHT" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcDoorPanelPositionEnum = IfcDoorPanelPositionEnum;
    class IfcDoorTypeEnum {
      static {
        this.BOOM_BARRIER = { type: 3, value: "BOOM_BARRIER" };
      }
      static {
        this.DOOR = { type: 3, value: "DOOR" };
      }
      static {
        this.GATE = { type: 3, value: "GATE" };
      }
      static {
        this.TRAPDOOR = { type: 3, value: "TRAPDOOR" };
      }
      static {
        this.TURNSTILE = { type: 3, value: "TURNSTILE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcDoorTypeEnum = IfcDoorTypeEnum;
    class IfcDoorTypeOperationEnum {
      static {
        this.DOUBLE_DOOR_DOUBLE_SWING = { type: 3, value: "DOUBLE_DOOR_DOUBLE_SWING" };
      }
      static {
        this.DOUBLE_DOOR_FOLDING = { type: 3, value: "DOUBLE_DOOR_FOLDING" };
      }
      static {
        this.DOUBLE_DOOR_LIFTING_VERTICAL = { type: 3, value: "DOUBLE_DOOR_LIFTING_VERTICAL" };
      }
      static {
        this.DOUBLE_DOOR_SINGLE_SWING = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING" };
      }
      static {
        this.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT" };
      }
      static {
        this.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT = { type: 3, value: "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT" };
      }
      static {
        this.DOUBLE_DOOR_SLIDING = { type: 3, value: "DOUBLE_DOOR_SLIDING" };
      }
      static {
        this.DOUBLE_SWING_LEFT = { type: 3, value: "DOUBLE_SWING_LEFT" };
      }
      static {
        this.DOUBLE_SWING_RIGHT = { type: 3, value: "DOUBLE_SWING_RIGHT" };
      }
      static {
        this.FOLDING_TO_LEFT = { type: 3, value: "FOLDING_TO_LEFT" };
      }
      static {
        this.FOLDING_TO_RIGHT = { type: 3, value: "FOLDING_TO_RIGHT" };
      }
      static {
        this.LIFTING_HORIZONTAL = { type: 3, value: "LIFTING_HORIZONTAL" };
      }
      static {
        this.LIFTING_VERTICAL_LEFT = { type: 3, value: "LIFTING_VERTICAL_LEFT" };
      }
      static {
        this.LIFTING_VERTICAL_RIGHT = { type: 3, value: "LIFTING_VERTICAL_RIGHT" };
      }
      static {
        this.REVOLVING = { type: 3, value: "REVOLVING" };
      }
      static {
        this.REVOLVING_VERTICAL = { type: 3, value: "REVOLVING_VERTICAL" };
      }
      static {
        this.ROLLINGUP = { type: 3, value: "ROLLINGUP" };
      }
      static {
        this.SINGLE_SWING_LEFT = { type: 3, value: "SINGLE_SWING_LEFT" };
      }
      static {
        this.SINGLE_SWING_RIGHT = { type: 3, value: "SINGLE_SWING_RIGHT" };
      }
      static {
        this.SLIDING_TO_LEFT = { type: 3, value: "SLIDING_TO_LEFT" };
      }
      static {
        this.SLIDING_TO_RIGHT = { type: 3, value: "SLIDING_TO_RIGHT" };
      }
      static {
        this.SWING_FIXED_LEFT = { type: 3, value: "SWING_FIXED_LEFT" };
      }
      static {
        this.SWING_FIXED_RIGHT = { type: 3, value: "SWING_FIXED_RIGHT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcDoorTypeOperationEnum = IfcDoorTypeOperationEnum;
    class IfcDuctFittingTypeEnum {
      static {
        this.BEND = { type: 3, value: "BEND" };
      }
      static {
        this.CONNECTOR = { type: 3, value: "CONNECTOR" };
      }
      static {
        this.ENTRY = { type: 3, value: "ENTRY" };
      }
      static {
        this.EXIT = { type: 3, value: "EXIT" };
      }
      static {
        this.JUNCTION = { type: 3, value: "JUNCTION" };
      }
      static {
        this.OBSTRUCTION = { type: 3, value: "OBSTRUCTION" };
      }
      static {
        this.TRANSITION = { type: 3, value: "TRANSITION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcDuctFittingTypeEnum = IfcDuctFittingTypeEnum;
    class IfcDuctSegmentTypeEnum {
      static {
        this.FLEXIBLESEGMENT = { type: 3, value: "FLEXIBLESEGMENT" };
      }
      static {
        this.RIGIDSEGMENT = { type: 3, value: "RIGIDSEGMENT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcDuctSegmentTypeEnum = IfcDuctSegmentTypeEnum;
    class IfcDuctSilencerTypeEnum {
      static {
        this.FLATOVAL = { type: 3, value: "FLATOVAL" };
      }
      static {
        this.RECTANGULAR = { type: 3, value: "RECTANGULAR" };
      }
      static {
        this.ROUND = { type: 3, value: "ROUND" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcDuctSilencerTypeEnum = IfcDuctSilencerTypeEnum;
    class IfcEarthworksCutTypeEnum {
      static {
        this.BASE_EXCAVATION = { type: 3, value: "BASE_EXCAVATION" };
      }
      static {
        this.CUT = { type: 3, value: "CUT" };
      }
      static {
        this.DREDGING = { type: 3, value: "DREDGING" };
      }
      static {
        this.EXCAVATION = { type: 3, value: "EXCAVATION" };
      }
      static {
        this.OVEREXCAVATION = { type: 3, value: "OVEREXCAVATION" };
      }
      static {
        this.PAVEMENTMILLING = { type: 3, value: "PAVEMENTMILLING" };
      }
      static {
        this.STEPEXCAVATION = { type: 3, value: "STEPEXCAVATION" };
      }
      static {
        this.TOPSOILREMOVAL = { type: 3, value: "TOPSOILREMOVAL" };
      }
      static {
        this.TRENCH = { type: 3, value: "TRENCH" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcEarthworksCutTypeEnum = IfcEarthworksCutTypeEnum;
    class IfcEarthworksFillTypeEnum {
      static {
        this.BACKFILL = { type: 3, value: "BACKFILL" };
      }
      static {
        this.COUNTERWEIGHT = { type: 3, value: "COUNTERWEIGHT" };
      }
      static {
        this.EMBANKMENT = { type: 3, value: "EMBANKMENT" };
      }
      static {
        this.SLOPEFILL = { type: 3, value: "SLOPEFILL" };
      }
      static {
        this.SUBGRADE = { type: 3, value: "SUBGRADE" };
      }
      static {
        this.SUBGRADEBED = { type: 3, value: "SUBGRADEBED" };
      }
      static {
        this.TRANSITIONSECTION = { type: 3, value: "TRANSITIONSECTION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcEarthworksFillTypeEnum = IfcEarthworksFillTypeEnum;
    class IfcElectricApplianceTypeEnum {
      static {
        this.DISHWASHER = { type: 3, value: "DISHWASHER" };
      }
      static {
        this.ELECTRICCOOKER = { type: 3, value: "ELECTRICCOOKER" };
      }
      static {
        this.FREESTANDINGELECTRICHEATER = { type: 3, value: "FREESTANDINGELECTRICHEATER" };
      }
      static {
        this.FREESTANDINGFAN = { type: 3, value: "FREESTANDINGFAN" };
      }
      static {
        this.FREESTANDINGWATERCOOLER = { type: 3, value: "FREESTANDINGWATERCOOLER" };
      }
      static {
        this.FREESTANDINGWATERHEATER = { type: 3, value: "FREESTANDINGWATERHEATER" };
      }
      static {
        this.FREEZER = { type: 3, value: "FREEZER" };
      }
      static {
        this.FRIDGE_FREEZER = { type: 3, value: "FRIDGE_FREEZER" };
      }
      static {
        this.HANDDRYER = { type: 3, value: "HANDDRYER" };
      }
      static {
        this.KITCHENMACHINE = { type: 3, value: "KITCHENMACHINE" };
      }
      static {
        this.MICROWAVE = { type: 3, value: "MICROWAVE" };
      }
      static {
        this.PHOTOCOPIER = { type: 3, value: "PHOTOCOPIER" };
      }
      static {
        this.REFRIGERATOR = { type: 3, value: "REFRIGERATOR" };
      }
      static {
        this.TUMBLEDRYER = { type: 3, value: "TUMBLEDRYER" };
      }
      static {
        this.VENDINGMACHINE = { type: 3, value: "VENDINGMACHINE" };
      }
      static {
        this.WASHINGMACHINE = { type: 3, value: "WASHINGMACHINE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcElectricApplianceTypeEnum = IfcElectricApplianceTypeEnum;
    class IfcElectricDistributionBoardTypeEnum {
      static {
        this.CONSUMERUNIT = { type: 3, value: "CONSUMERUNIT" };
      }
      static {
        this.DISTRIBUTIONBOARD = { type: 3, value: "DISTRIBUTIONBOARD" };
      }
      static {
        this.MOTORCONTROLCENTRE = { type: 3, value: "MOTORCONTROLCENTRE" };
      }
      static {
        this.SWITCHBOARD = { type: 3, value: "SWITCHBOARD" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcElectricDistributionBoardTypeEnum = IfcElectricDistributionBoardTypeEnum;
    class IfcElectricFlowStorageDeviceTypeEnum {
      static {
        this.BATTERY = { type: 3, value: "BATTERY" };
      }
      static {
        this.CAPACITOR = { type: 3, value: "CAPACITOR" };
      }
      static {
        this.CAPACITORBANK = { type: 3, value: "CAPACITORBANK" };
      }
      static {
        this.COMPENSATOR = { type: 3, value: "COMPENSATOR" };
      }
      static {
        this.HARMONICFILTER = { type: 3, value: "HARMONICFILTER" };
      }
      static {
        this.INDUCTOR = { type: 3, value: "INDUCTOR" };
      }
      static {
        this.INDUCTORBANK = { type: 3, value: "INDUCTORBANK" };
      }
      static {
        this.RECHARGER = { type: 3, value: "RECHARGER" };
      }
      static {
        this.UPS = { type: 3, value: "UPS" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcElectricFlowStorageDeviceTypeEnum = IfcElectricFlowStorageDeviceTypeEnum;
    class IfcElectricFlowTreatmentDeviceTypeEnum {
      static {
        this.ELECTRONICFILTER = { type: 3, value: "ELECTRONICFILTER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcElectricFlowTreatmentDeviceTypeEnum = IfcElectricFlowTreatmentDeviceTypeEnum;
    class IfcElectricGeneratorTypeEnum {
      static {
        this.CHP = { type: 3, value: "CHP" };
      }
      static {
        this.ENGINEGENERATOR = { type: 3, value: "ENGINEGENERATOR" };
      }
      static {
        this.STANDALONE = { type: 3, value: "STANDALONE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcElectricGeneratorTypeEnum = IfcElectricGeneratorTypeEnum;
    class IfcElectricMotorTypeEnum {
      static {
        this.DC = { type: 3, value: "DC" };
      }
      static {
        this.INDUCTION = { type: 3, value: "INDUCTION" };
      }
      static {
        this.POLYPHASE = { type: 3, value: "POLYPHASE" };
      }
      static {
        this.RELUCTANCESYNCHRONOUS = { type: 3, value: "RELUCTANCESYNCHRONOUS" };
      }
      static {
        this.SYNCHRONOUS = { type: 3, value: "SYNCHRONOUS" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcElectricMotorTypeEnum = IfcElectricMotorTypeEnum;
    class IfcElectricTimeControlTypeEnum {
      static {
        this.RELAY = { type: 3, value: "RELAY" };
      }
      static {
        this.TIMECLOCK = { type: 3, value: "TIMECLOCK" };
      }
      static {
        this.TIMEDELAY = { type: 3, value: "TIMEDELAY" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcElectricTimeControlTypeEnum = IfcElectricTimeControlTypeEnum;
    class IfcElementAssemblyTypeEnum {
      static {
        this.ABUTMENT = { type: 3, value: "ABUTMENT" };
      }
      static {
        this.ACCESSORY_ASSEMBLY = { type: 3, value: "ACCESSORY_ASSEMBLY" };
      }
      static {
        this.ARCH = { type: 3, value: "ARCH" };
      }
      static {
        this.BEAM_GRID = { type: 3, value: "BEAM_GRID" };
      }
      static {
        this.BRACED_FRAME = { type: 3, value: "BRACED_FRAME" };
      }
      static {
        this.CROSS_BRACING = { type: 3, value: "CROSS_BRACING" };
      }
      static {
        this.DECK = { type: 3, value: "DECK" };
      }
      static {
        this.DILATATIONPANEL = { type: 3, value: "DILATATIONPANEL" };
      }
      static {
        this.ENTRANCEWORKS = { type: 3, value: "ENTRANCEWORKS" };
      }
      static {
        this.GIRDER = { type: 3, value: "GIRDER" };
      }
      static {
        this.GRID = { type: 3, value: "GRID" };
      }
      static {
        this.MAST = { type: 3, value: "MAST" };
      }
      static {
        this.PIER = { type: 3, value: "PIER" };
      }
      static {
        this.PYLON = { type: 3, value: "PYLON" };
      }
      static {
        this.RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY = { type: 3, value: "RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY" };
      }
      static {
        this.REINFORCEMENT_UNIT = { type: 3, value: "REINFORCEMENT_UNIT" };
      }
      static {
        this.RIGID_FRAME = { type: 3, value: "RIGID_FRAME" };
      }
      static {
        this.SHELTER = { type: 3, value: "SHELTER" };
      }
      static {
        this.SIGNALASSEMBLY = { type: 3, value: "SIGNALASSEMBLY" };
      }
      static {
        this.SLAB_FIELD = { type: 3, value: "SLAB_FIELD" };
      }
      static {
        this.SUMPBUSTER = { type: 3, value: "SUMPBUSTER" };
      }
      static {
        this.SUPPORTINGASSEMBLY = { type: 3, value: "SUPPORTINGASSEMBLY" };
      }
      static {
        this.SUSPENSIONASSEMBLY = { type: 3, value: "SUSPENSIONASSEMBLY" };
      }
      static {
        this.TRACKPANEL = { type: 3, value: "TRACKPANEL" };
      }
      static {
        this.TRACTION_SWITCHING_ASSEMBLY = { type: 3, value: "TRACTION_SWITCHING_ASSEMBLY" };
      }
      static {
        this.TRAFFIC_CALMING_DEVICE = { type: 3, value: "TRAFFIC_CALMING_DEVICE" };
      }
      static {
        this.TRUSS = { type: 3, value: "TRUSS" };
      }
      static {
        this.TURNOUTPANEL = { type: 3, value: "TURNOUTPANEL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcElementAssemblyTypeEnum = IfcElementAssemblyTypeEnum;
    class IfcElementCompositionEnum {
      static {
        this.COMPLEX = { type: 3, value: "COMPLEX" };
      }
      static {
        this.ELEMENT = { type: 3, value: "ELEMENT" };
      }
      static {
        this.PARTIAL = { type: 3, value: "PARTIAL" };
      }
    }
    IFC4X32.IfcElementCompositionEnum = IfcElementCompositionEnum;
    class IfcEngineTypeEnum {
      static {
        this.EXTERNALCOMBUSTION = { type: 3, value: "EXTERNALCOMBUSTION" };
      }
      static {
        this.INTERNALCOMBUSTION = { type: 3, value: "INTERNALCOMBUSTION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcEngineTypeEnum = IfcEngineTypeEnum;
    class IfcEvaporativeCoolerTypeEnum {
      static {
        this.DIRECTEVAPORATIVEAIRWASHER = { type: 3, value: "DIRECTEVAPORATIVEAIRWASHER" };
      }
      static {
        this.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER" };
      }
      static {
        this.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER" };
      }
      static {
        this.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER" };
      }
      static {
        this.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER = { type: 3, value: "DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER" };
      }
      static {
        this.INDIRECTDIRECTCOMBINATION = { type: 3, value: "INDIRECTDIRECTCOMBINATION" };
      }
      static {
        this.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER = { type: 3, value: "INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER" };
      }
      static {
        this.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER = { type: 3, value: "INDIRECTEVAPORATIVEPACKAGEAIRCOOLER" };
      }
      static {
        this.INDIRECTEVAPORATIVEWETCOIL = { type: 3, value: "INDIRECTEVAPORATIVEWETCOIL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcEvaporativeCoolerTypeEnum = IfcEvaporativeCoolerTypeEnum;
    class IfcEvaporatorTypeEnum {
      static {
        this.DIRECTEXPANSION = { type: 3, value: "DIRECTEXPANSION" };
      }
      static {
        this.DIRECTEXPANSIONBRAZEDPLATE = { type: 3, value: "DIRECTEXPANSIONBRAZEDPLATE" };
      }
      static {
        this.DIRECTEXPANSIONSHELLANDTUBE = { type: 3, value: "DIRECTEXPANSIONSHELLANDTUBE" };
      }
      static {
        this.DIRECTEXPANSIONTUBEINTUBE = { type: 3, value: "DIRECTEXPANSIONTUBEINTUBE" };
      }
      static {
        this.FLOODEDSHELLANDTUBE = { type: 3, value: "FLOODEDSHELLANDTUBE" };
      }
      static {
        this.SHELLANDCOIL = { type: 3, value: "SHELLANDCOIL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcEvaporatorTypeEnum = IfcEvaporatorTypeEnum;
    class IfcEventTriggerTypeEnum {
      static {
        this.EVENTCOMPLEX = { type: 3, value: "EVENTCOMPLEX" };
      }
      static {
        this.EVENTMESSAGE = { type: 3, value: "EVENTMESSAGE" };
      }
      static {
        this.EVENTRULE = { type: 3, value: "EVENTRULE" };
      }
      static {
        this.EVENTTIME = { type: 3, value: "EVENTTIME" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcEventTriggerTypeEnum = IfcEventTriggerTypeEnum;
    class IfcEventTypeEnum {
      static {
        this.ENDEVENT = { type: 3, value: "ENDEVENT" };
      }
      static {
        this.INTERMEDIATEEVENT = { type: 3, value: "INTERMEDIATEEVENT" };
      }
      static {
        this.STARTEVENT = { type: 3, value: "STARTEVENT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcEventTypeEnum = IfcEventTypeEnum;
    class IfcExternalSpatialElementTypeEnum {
      static {
        this.EXTERNAL = { type: 3, value: "EXTERNAL" };
      }
      static {
        this.EXTERNAL_EARTH = { type: 3, value: "EXTERNAL_EARTH" };
      }
      static {
        this.EXTERNAL_FIRE = { type: 3, value: "EXTERNAL_FIRE" };
      }
      static {
        this.EXTERNAL_WATER = { type: 3, value: "EXTERNAL_WATER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcExternalSpatialElementTypeEnum = IfcExternalSpatialElementTypeEnum;
    class IfcFacilityPartCommonTypeEnum {
      static {
        this.ABOVEGROUND = { type: 3, value: "ABOVEGROUND" };
      }
      static {
        this.BELOWGROUND = { type: 3, value: "BELOWGROUND" };
      }
      static {
        this.JUNCTION = { type: 3, value: "JUNCTION" };
      }
      static {
        this.LEVELCROSSING = { type: 3, value: "LEVELCROSSING" };
      }
      static {
        this.SEGMENT = { type: 3, value: "SEGMENT" };
      }
      static {
        this.SUBSTRUCTURE = { type: 3, value: "SUBSTRUCTURE" };
      }
      static {
        this.SUPERSTRUCTURE = { type: 3, value: "SUPERSTRUCTURE" };
      }
      static {
        this.TERMINAL = { type: 3, value: "TERMINAL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcFacilityPartCommonTypeEnum = IfcFacilityPartCommonTypeEnum;
    class IfcFacilityUsageEnum {
      static {
        this.LATERAL = { type: 3, value: "LATERAL" };
      }
      static {
        this.LONGITUDINAL = { type: 3, value: "LONGITUDINAL" };
      }
      static {
        this.REGION = { type: 3, value: "REGION" };
      }
      static {
        this.VERTICAL = { type: 3, value: "VERTICAL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcFacilityUsageEnum = IfcFacilityUsageEnum;
    class IfcFanTypeEnum {
      static {
        this.CENTRIFUGALAIRFOIL = { type: 3, value: "CENTRIFUGALAIRFOIL" };
      }
      static {
        this.CENTRIFUGALBACKWARDINCLINEDCURVED = { type: 3, value: "CENTRIFUGALBACKWARDINCLINEDCURVED" };
      }
      static {
        this.CENTRIFUGALFORWARDCURVED = { type: 3, value: "CENTRIFUGALFORWARDCURVED" };
      }
      static {
        this.CENTRIFUGALRADIAL = { type: 3, value: "CENTRIFUGALRADIAL" };
      }
      static {
        this.PROPELLORAXIAL = { type: 3, value: "PROPELLORAXIAL" };
      }
      static {
        this.TUBEAXIAL = { type: 3, value: "TUBEAXIAL" };
      }
      static {
        this.VANEAXIAL = { type: 3, value: "VANEAXIAL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcFanTypeEnum = IfcFanTypeEnum;
    class IfcFastenerTypeEnum {
      static {
        this.GLUE = { type: 3, value: "GLUE" };
      }
      static {
        this.MORTAR = { type: 3, value: "MORTAR" };
      }
      static {
        this.WELD = { type: 3, value: "WELD" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcFastenerTypeEnum = IfcFastenerTypeEnum;
    class IfcFilterTypeEnum {
      static {
        this.AIRPARTICLEFILTER = { type: 3, value: "AIRPARTICLEFILTER" };
      }
      static {
        this.COMPRESSEDAIRFILTER = { type: 3, value: "COMPRESSEDAIRFILTER" };
      }
      static {
        this.ODORFILTER = { type: 3, value: "ODORFILTER" };
      }
      static {
        this.OILFILTER = { type: 3, value: "OILFILTER" };
      }
      static {
        this.STRAINER = { type: 3, value: "STRAINER" };
      }
      static {
        this.WATERFILTER = { type: 3, value: "WATERFILTER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcFilterTypeEnum = IfcFilterTypeEnum;
    class IfcFireSuppressionTerminalTypeEnum {
      static {
        this.BREECHINGINLET = { type: 3, value: "BREECHINGINLET" };
      }
      static {
        this.FIREHYDRANT = { type: 3, value: "FIREHYDRANT" };
      }
      static {
        this.FIREMONITOR = { type: 3, value: "FIREMONITOR" };
      }
      static {
        this.HOSEREEL = { type: 3, value: "HOSEREEL" };
      }
      static {
        this.SPRINKLER = { type: 3, value: "SPRINKLER" };
      }
      static {
        this.SPRINKLERDEFLECTOR = { type: 3, value: "SPRINKLERDEFLECTOR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcFireSuppressionTerminalTypeEnum = IfcFireSuppressionTerminalTypeEnum;
    class IfcFlowDirectionEnum {
      static {
        this.SINK = { type: 3, value: "SINK" };
      }
      static {
        this.SOURCE = { type: 3, value: "SOURCE" };
      }
      static {
        this.SOURCEANDSINK = { type: 3, value: "SOURCEANDSINK" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcFlowDirectionEnum = IfcFlowDirectionEnum;
    class IfcFlowInstrumentTypeEnum {
      static {
        this.AMMETER = { type: 3, value: "AMMETER" };
      }
      static {
        this.COMBINED = { type: 3, value: "COMBINED" };
      }
      static {
        this.FREQUENCYMETER = { type: 3, value: "FREQUENCYMETER" };
      }
      static {
        this.PHASEANGLEMETER = { type: 3, value: "PHASEANGLEMETER" };
      }
      static {
        this.POWERFACTORMETER = { type: 3, value: "POWERFACTORMETER" };
      }
      static {
        this.PRESSUREGAUGE = { type: 3, value: "PRESSUREGAUGE" };
      }
      static {
        this.THERMOMETER = { type: 3, value: "THERMOMETER" };
      }
      static {
        this.VOLTMETER = { type: 3, value: "VOLTMETER" };
      }
      static {
        this.VOLTMETER_PEAK = { type: 3, value: "VOLTMETER_PEAK" };
      }
      static {
        this.VOLTMETER_RMS = { type: 3, value: "VOLTMETER_RMS" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcFlowInstrumentTypeEnum = IfcFlowInstrumentTypeEnum;
    class IfcFlowMeterTypeEnum {
      static {
        this.ENERGYMETER = { type: 3, value: "ENERGYMETER" };
      }
      static {
        this.GASMETER = { type: 3, value: "GASMETER" };
      }
      static {
        this.OILMETER = { type: 3, value: "OILMETER" };
      }
      static {
        this.WATERMETER = { type: 3, value: "WATERMETER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcFlowMeterTypeEnum = IfcFlowMeterTypeEnum;
    class IfcFootingTypeEnum {
      static {
        this.CAISSON_FOUNDATION = { type: 3, value: "CAISSON_FOUNDATION" };
      }
      static {
        this.FOOTING_BEAM = { type: 3, value: "FOOTING_BEAM" };
      }
      static {
        this.PAD_FOOTING = { type: 3, value: "PAD_FOOTING" };
      }
      static {
        this.PILE_CAP = { type: 3, value: "PILE_CAP" };
      }
      static {
        this.STRIP_FOOTING = { type: 3, value: "STRIP_FOOTING" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcFootingTypeEnum = IfcFootingTypeEnum;
    class IfcFurnitureTypeEnum {
      static {
        this.BED = { type: 3, value: "BED" };
      }
      static {
        this.CHAIR = { type: 3, value: "CHAIR" };
      }
      static {
        this.DESK = { type: 3, value: "DESK" };
      }
      static {
        this.FILECABINET = { type: 3, value: "FILECABINET" };
      }
      static {
        this.SHELF = { type: 3, value: "SHELF" };
      }
      static {
        this.SOFA = { type: 3, value: "SOFA" };
      }
      static {
        this.TABLE = { type: 3, value: "TABLE" };
      }
      static {
        this.TECHNICALCABINET = { type: 3, value: "TECHNICALCABINET" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcFurnitureTypeEnum = IfcFurnitureTypeEnum;
    class IfcGeographicElementTypeEnum {
      static {
        this.SOIL_BORING_POINT = { type: 3, value: "SOIL_BORING_POINT" };
      }
      static {
        this.TERRAIN = { type: 3, value: "TERRAIN" };
      }
      static {
        this.VEGETATION = { type: 3, value: "VEGETATION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcGeographicElementTypeEnum = IfcGeographicElementTypeEnum;
    class IfcGeometricProjectionEnum {
      static {
        this.ELEVATION_VIEW = { type: 3, value: "ELEVATION_VIEW" };
      }
      static {
        this.GRAPH_VIEW = { type: 3, value: "GRAPH_VIEW" };
      }
      static {
        this.MODEL_VIEW = { type: 3, value: "MODEL_VIEW" };
      }
      static {
        this.PLAN_VIEW = { type: 3, value: "PLAN_VIEW" };
      }
      static {
        this.REFLECTED_PLAN_VIEW = { type: 3, value: "REFLECTED_PLAN_VIEW" };
      }
      static {
        this.SECTION_VIEW = { type: 3, value: "SECTION_VIEW" };
      }
      static {
        this.SKETCH_VIEW = { type: 3, value: "SKETCH_VIEW" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcGeometricProjectionEnum = IfcGeometricProjectionEnum;
    class IfcGeotechnicalStratumTypeEnum {
      static {
        this.SOLID = { type: 3, value: "SOLID" };
      }
      static {
        this.VOID = { type: 3, value: "VOID" };
      }
      static {
        this.WATER = { type: 3, value: "WATER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcGeotechnicalStratumTypeEnum = IfcGeotechnicalStratumTypeEnum;
    class IfcGlobalOrLocalEnum {
      static {
        this.GLOBAL_COORDS = { type: 3, value: "GLOBAL_COORDS" };
      }
      static {
        this.LOCAL_COORDS = { type: 3, value: "LOCAL_COORDS" };
      }
    }
    IFC4X32.IfcGlobalOrLocalEnum = IfcGlobalOrLocalEnum;
    class IfcGridTypeEnum {
      static {
        this.IRREGULAR = { type: 3, value: "IRREGULAR" };
      }
      static {
        this.RADIAL = { type: 3, value: "RADIAL" };
      }
      static {
        this.RECTANGULAR = { type: 3, value: "RECTANGULAR" };
      }
      static {
        this.TRIANGULAR = { type: 3, value: "TRIANGULAR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcGridTypeEnum = IfcGridTypeEnum;
    class IfcHeatExchangerTypeEnum {
      static {
        this.PLATE = { type: 3, value: "PLATE" };
      }
      static {
        this.SHELLANDTUBE = { type: 3, value: "SHELLANDTUBE" };
      }
      static {
        this.TURNOUTHEATING = { type: 3, value: "TURNOUTHEATING" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcHeatExchangerTypeEnum = IfcHeatExchangerTypeEnum;
    class IfcHumidifierTypeEnum {
      static {
        this.ADIABATICAIRWASHER = { type: 3, value: "ADIABATICAIRWASHER" };
      }
      static {
        this.ADIABATICATOMIZING = { type: 3, value: "ADIABATICATOMIZING" };
      }
      static {
        this.ADIABATICCOMPRESSEDAIRNOZZLE = { type: 3, value: "ADIABATICCOMPRESSEDAIRNOZZLE" };
      }
      static {
        this.ADIABATICPAN = { type: 3, value: "ADIABATICPAN" };
      }
      static {
        this.ADIABATICRIGIDMEDIA = { type: 3, value: "ADIABATICRIGIDMEDIA" };
      }
      static {
        this.ADIABATICULTRASONIC = { type: 3, value: "ADIABATICULTRASONIC" };
      }
      static {
        this.ADIABATICWETTEDELEMENT = { type: 3, value: "ADIABATICWETTEDELEMENT" };
      }
      static {
        this.ASSISTEDBUTANE = { type: 3, value: "ASSISTEDBUTANE" };
      }
      static {
        this.ASSISTEDELECTRIC = { type: 3, value: "ASSISTEDELECTRIC" };
      }
      static {
        this.ASSISTEDNATURALGAS = { type: 3, value: "ASSISTEDNATURALGAS" };
      }
      static {
        this.ASSISTEDPROPANE = { type: 3, value: "ASSISTEDPROPANE" };
      }
      static {
        this.ASSISTEDSTEAM = { type: 3, value: "ASSISTEDSTEAM" };
      }
      static {
        this.STEAMINJECTION = { type: 3, value: "STEAMINJECTION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcHumidifierTypeEnum = IfcHumidifierTypeEnum;
    class IfcImpactProtectionDeviceTypeEnum {
      static {
        this.BUMPER = { type: 3, value: "BUMPER" };
      }
      static {
        this.CRASHCUSHION = { type: 3, value: "CRASHCUSHION" };
      }
      static {
        this.DAMPINGSYSTEM = { type: 3, value: "DAMPINGSYSTEM" };
      }
      static {
        this.FENDER = { type: 3, value: "FENDER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcImpactProtectionDeviceTypeEnum = IfcImpactProtectionDeviceTypeEnum;
    class IfcInterceptorTypeEnum {
      static {
        this.CYCLONIC = { type: 3, value: "CYCLONIC" };
      }
      static {
        this.GREASE = { type: 3, value: "GREASE" };
      }
      static {
        this.OIL = { type: 3, value: "OIL" };
      }
      static {
        this.PETROL = { type: 3, value: "PETROL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcInterceptorTypeEnum = IfcInterceptorTypeEnum;
    class IfcInternalOrExternalEnum {
      static {
        this.EXTERNAL = { type: 3, value: "EXTERNAL" };
      }
      static {
        this.EXTERNAL_EARTH = { type: 3, value: "EXTERNAL_EARTH" };
      }
      static {
        this.EXTERNAL_FIRE = { type: 3, value: "EXTERNAL_FIRE" };
      }
      static {
        this.EXTERNAL_WATER = { type: 3, value: "EXTERNAL_WATER" };
      }
      static {
        this.INTERNAL = { type: 3, value: "INTERNAL" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcInternalOrExternalEnum = IfcInternalOrExternalEnum;
    class IfcInventoryTypeEnum {
      static {
        this.ASSETINVENTORY = { type: 3, value: "ASSETINVENTORY" };
      }
      static {
        this.FURNITUREINVENTORY = { type: 3, value: "FURNITUREINVENTORY" };
      }
      static {
        this.SPACEINVENTORY = { type: 3, value: "SPACEINVENTORY" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcInventoryTypeEnum = IfcInventoryTypeEnum;
    class IfcJunctionBoxTypeEnum {
      static {
        this.DATA = { type: 3, value: "DATA" };
      }
      static {
        this.POWER = { type: 3, value: "POWER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcJunctionBoxTypeEnum = IfcJunctionBoxTypeEnum;
    class IfcKerbTypeEnum {
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcKerbTypeEnum = IfcKerbTypeEnum;
    class IfcKnotType {
      static {
        this.PIECEWISE_BEZIER_KNOTS = { type: 3, value: "PIECEWISE_BEZIER_KNOTS" };
      }
      static {
        this.QUASI_UNIFORM_KNOTS = { type: 3, value: "QUASI_UNIFORM_KNOTS" };
      }
      static {
        this.UNIFORM_KNOTS = { type: 3, value: "UNIFORM_KNOTS" };
      }
      static {
        this.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" };
      }
    }
    IFC4X32.IfcKnotType = IfcKnotType;
    class IfcLaborResourceTypeEnum {
      static {
        this.ADMINISTRATION = { type: 3, value: "ADMINISTRATION" };
      }
      static {
        this.CARPENTRY = { type: 3, value: "CARPENTRY" };
      }
      static {
        this.CLEANING = { type: 3, value: "CLEANING" };
      }
      static {
        this.CONCRETE = { type: 3, value: "CONCRETE" };
      }
      static {
        this.DRYWALL = { type: 3, value: "DRYWALL" };
      }
      static {
        this.ELECTRIC = { type: 3, value: "ELECTRIC" };
      }
      static {
        this.FINISHING = { type: 3, value: "FINISHING" };
      }
      static {
        this.FLOORING = { type: 3, value: "FLOORING" };
      }
      static {
        this.GENERAL = { type: 3, value: "GENERAL" };
      }
      static {
        this.HVAC = { type: 3, value: "HVAC" };
      }
      static {
        this.LANDSCAPING = { type: 3, value: "LANDSCAPING" };
      }
      static {
        this.MASONRY = { type: 3, value: "MASONRY" };
      }
      static {
        this.PAINTING = { type: 3, value: "PAINTING" };
      }
      static {
        this.PAVING = { type: 3, value: "PAVING" };
      }
      static {
        this.PLUMBING = { type: 3, value: "PLUMBING" };
      }
      static {
        this.ROOFING = { type: 3, value: "ROOFING" };
      }
      static {
        this.SITEGRADING = { type: 3, value: "SITEGRADING" };
      }
      static {
        this.STEELWORK = { type: 3, value: "STEELWORK" };
      }
      static {
        this.SURVEYING = { type: 3, value: "SURVEYING" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcLaborResourceTypeEnum = IfcLaborResourceTypeEnum;
    class IfcLampTypeEnum {
      static {
        this.COMPACTFLUORESCENT = { type: 3, value: "COMPACTFLUORESCENT" };
      }
      static {
        this.FLUORESCENT = { type: 3, value: "FLUORESCENT" };
      }
      static {
        this.HALOGEN = { type: 3, value: "HALOGEN" };
      }
      static {
        this.HIGHPRESSUREMERCURY = { type: 3, value: "HIGHPRESSUREMERCURY" };
      }
      static {
        this.HIGHPRESSURESODIUM = { type: 3, value: "HIGHPRESSURESODIUM" };
      }
      static {
        this.LED = { type: 3, value: "LED" };
      }
      static {
        this.METALHALIDE = { type: 3, value: "METALHALIDE" };
      }
      static {
        this.OLED = { type: 3, value: "OLED" };
      }
      static {
        this.TUNGSTENFILAMENT = { type: 3, value: "TUNGSTENFILAMENT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcLampTypeEnum = IfcLampTypeEnum;
    class IfcLayerSetDirectionEnum {
      static {
        this.AXIS1 = { type: 3, value: "AXIS1" };
      }
      static {
        this.AXIS2 = { type: 3, value: "AXIS2" };
      }
      static {
        this.AXIS3 = { type: 3, value: "AXIS3" };
      }
    }
    IFC4X32.IfcLayerSetDirectionEnum = IfcLayerSetDirectionEnum;
    class IfcLightDistributionCurveEnum {
      static {
        this.TYPE_A = { type: 3, value: "TYPE_A" };
      }
      static {
        this.TYPE_B = { type: 3, value: "TYPE_B" };
      }
      static {
        this.TYPE_C = { type: 3, value: "TYPE_C" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcLightDistributionCurveEnum = IfcLightDistributionCurveEnum;
    class IfcLightEmissionSourceEnum {
      static {
        this.COMPACTFLUORESCENT = { type: 3, value: "COMPACTFLUORESCENT" };
      }
      static {
        this.FLUORESCENT = { type: 3, value: "FLUORESCENT" };
      }
      static {
        this.HIGHPRESSUREMERCURY = { type: 3, value: "HIGHPRESSUREMERCURY" };
      }
      static {
        this.HIGHPRESSURESODIUM = { type: 3, value: "HIGHPRESSURESODIUM" };
      }
      static {
        this.LIGHTEMITTINGDIODE = { type: 3, value: "LIGHTEMITTINGDIODE" };
      }
      static {
        this.LOWPRESSURESODIUM = { type: 3, value: "LOWPRESSURESODIUM" };
      }
      static {
        this.LOWVOLTAGEHALOGEN = { type: 3, value: "LOWVOLTAGEHALOGEN" };
      }
      static {
        this.MAINVOLTAGEHALOGEN = { type: 3, value: "MAINVOLTAGEHALOGEN" };
      }
      static {
        this.METALHALIDE = { type: 3, value: "METALHALIDE" };
      }
      static {
        this.TUNGSTENFILAMENT = { type: 3, value: "TUNGSTENFILAMENT" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcLightEmissionSourceEnum = IfcLightEmissionSourceEnum;
    class IfcLightFixtureTypeEnum {
      static {
        this.DIRECTIONSOURCE = { type: 3, value: "DIRECTIONSOURCE" };
      }
      static {
        this.POINTSOURCE = { type: 3, value: "POINTSOURCE" };
      }
      static {
        this.SECURITYLIGHTING = { type: 3, value: "SECURITYLIGHTING" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcLightFixtureTypeEnum = IfcLightFixtureTypeEnum;
    class IfcLiquidTerminalTypeEnum {
      static {
        this.HOSEREEL = { type: 3, value: "HOSEREEL" };
      }
      static {
        this.LOADINGARM = { type: 3, value: "LOADINGARM" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcLiquidTerminalTypeEnum = IfcLiquidTerminalTypeEnum;
    class IfcLoadGroupTypeEnum {
      static {
        this.LOAD_CASE = { type: 3, value: "LOAD_CASE" };
      }
      static {
        this.LOAD_COMBINATION = { type: 3, value: "LOAD_COMBINATION" };
      }
      static {
        this.LOAD_GROUP = { type: 3, value: "LOAD_GROUP" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcLoadGroupTypeEnum = IfcLoadGroupTypeEnum;
    class IfcLogicalOperatorEnum {
      static {
        this.LOGICALAND = { type: 3, value: "LOGICALAND" };
      }
      static {
        this.LOGICALNOTAND = { type: 3, value: "LOGICALNOTAND" };
      }
      static {
        this.LOGICALNOTOR = { type: 3, value: "LOGICALNOTOR" };
      }
      static {
        this.LOGICALOR = { type: 3, value: "LOGICALOR" };
      }
      static {
        this.LOGICALXOR = { type: 3, value: "LOGICALXOR" };
      }
    }
    IFC4X32.IfcLogicalOperatorEnum = IfcLogicalOperatorEnum;
    class IfcMarineFacilityTypeEnum {
      static {
        this.BARRIERBEACH = { type: 3, value: "BARRIERBEACH" };
      }
      static {
        this.BREAKWATER = { type: 3, value: "BREAKWATER" };
      }
      static {
        this.CANAL = { type: 3, value: "CANAL" };
      }
      static {
        this.DRYDOCK = { type: 3, value: "DRYDOCK" };
      }
      static {
        this.FLOATINGDOCK = { type: 3, value: "FLOATINGDOCK" };
      }
      static {
        this.HYDROLIFT = { type: 3, value: "HYDROLIFT" };
      }
      static {
        this.JETTY = { type: 3, value: "JETTY" };
      }
      static {
        this.LAUNCHRECOVERY = { type: 3, value: "LAUNCHRECOVERY" };
      }
      static {
        this.MARINEDEFENCE = { type: 3, value: "MARINEDEFENCE" };
      }
      static {
        this.NAVIGATIONALCHANNEL = { type: 3, value: "NAVIGATIONALCHANNEL" };
      }
      static {
        this.PORT = { type: 3, value: "PORT" };
      }
      static {
        this.QUAY = { type: 3, value: "QUAY" };
      }
      static {
        this.REVETMENT = { type: 3, value: "REVETMENT" };
      }
      static {
        this.SHIPLIFT = { type: 3, value: "SHIPLIFT" };
      }
      static {
        this.SHIPLOCK = { type: 3, value: "SHIPLOCK" };
      }
      static {
        this.SHIPYARD = { type: 3, value: "SHIPYARD" };
      }
      static {
        this.SLIPWAY = { type: 3, value: "SLIPWAY" };
      }
      static {
        this.WATERWAY = { type: 3, value: "WATERWAY" };
      }
      static {
        this.WATERWAYSHIPLIFT = { type: 3, value: "WATERWAYSHIPLIFT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcMarineFacilityTypeEnum = IfcMarineFacilityTypeEnum;
    class IfcMarinePartTypeEnum {
      static {
        this.ABOVEWATERLINE = { type: 3, value: "ABOVEWATERLINE" };
      }
      static {
        this.ANCHORAGE = { type: 3, value: "ANCHORAGE" };
      }
      static {
        this.APPROACHCHANNEL = { type: 3, value: "APPROACHCHANNEL" };
      }
      static {
        this.BELOWWATERLINE = { type: 3, value: "BELOWWATERLINE" };
      }
      static {
        this.BERTHINGSTRUCTURE = { type: 3, value: "BERTHINGSTRUCTURE" };
      }
      static {
        this.CHAMBER = { type: 3, value: "CHAMBER" };
      }
      static {
        this.CILL_LEVEL = { type: 3, value: "CILL_LEVEL" };
      }
      static {
        this.COPELEVEL = { type: 3, value: "COPELEVEL" };
      }
      static {
        this.CORE = { type: 3, value: "CORE" };
      }
      static {
        this.CREST = { type: 3, value: "CREST" };
      }
      static {
        this.GATEHEAD = { type: 3, value: "GATEHEAD" };
      }
      static {
        this.GUDINGSTRUCTURE = { type: 3, value: "GUDINGSTRUCTURE" };
      }
      static {
        this.HIGHWATERLINE = { type: 3, value: "HIGHWATERLINE" };
      }
      static {
        this.LANDFIELD = { type: 3, value: "LANDFIELD" };
      }
      static {
        this.LEEWARDSIDE = { type: 3, value: "LEEWARDSIDE" };
      }
      static {
        this.LOWWATERLINE = { type: 3, value: "LOWWATERLINE" };
      }
      static {
        this.MANUFACTURING = { type: 3, value: "MANUFACTURING" };
      }
      static {
        this.NAVIGATIONALAREA = { type: 3, value: "NAVIGATIONALAREA" };
      }
      static {
        this.PROTECTION = { type: 3, value: "PROTECTION" };
      }
      static {
        this.SHIPTRANSFER = { type: 3, value: "SHIPTRANSFER" };
      }
      static {
        this.STORAGEAREA = { type: 3, value: "STORAGEAREA" };
      }
      static {
        this.VEHICLESERVICING = { type: 3, value: "VEHICLESERVICING" };
      }
      static {
        this.WATERFIELD = { type: 3, value: "WATERFIELD" };
      }
      static {
        this.WEATHERSIDE = { type: 3, value: "WEATHERSIDE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcMarinePartTypeEnum = IfcMarinePartTypeEnum;
    class IfcMechanicalFastenerTypeEnum {
      static {
        this.ANCHORBOLT = { type: 3, value: "ANCHORBOLT" };
      }
      static {
        this.BOLT = { type: 3, value: "BOLT" };
      }
      static {
        this.CHAIN = { type: 3, value: "CHAIN" };
      }
      static {
        this.COUPLER = { type: 3, value: "COUPLER" };
      }
      static {
        this.DOWEL = { type: 3, value: "DOWEL" };
      }
      static {
        this.NAIL = { type: 3, value: "NAIL" };
      }
      static {
        this.NAILPLATE = { type: 3, value: "NAILPLATE" };
      }
      static {
        this.RAILFASTENING = { type: 3, value: "RAILFASTENING" };
      }
      static {
        this.RAILJOINT = { type: 3, value: "RAILJOINT" };
      }
      static {
        this.RIVET = { type: 3, value: "RIVET" };
      }
      static {
        this.ROPE = { type: 3, value: "ROPE" };
      }
      static {
        this.SCREW = { type: 3, value: "SCREW" };
      }
      static {
        this.SHEARCONNECTOR = { type: 3, value: "SHEARCONNECTOR" };
      }
      static {
        this.STAPLE = { type: 3, value: "STAPLE" };
      }
      static {
        this.STUDSHEARCONNECTOR = { type: 3, value: "STUDSHEARCONNECTOR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcMechanicalFastenerTypeEnum = IfcMechanicalFastenerTypeEnum;
    class IfcMedicalDeviceTypeEnum {
      static {
        this.AIRSTATION = { type: 3, value: "AIRSTATION" };
      }
      static {
        this.FEEDAIRUNIT = { type: 3, value: "FEEDAIRUNIT" };
      }
      static {
        this.OXYGENGENERATOR = { type: 3, value: "OXYGENGENERATOR" };
      }
      static {
        this.OXYGENPLANT = { type: 3, value: "OXYGENPLANT" };
      }
      static {
        this.VACUUMSTATION = { type: 3, value: "VACUUMSTATION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcMedicalDeviceTypeEnum = IfcMedicalDeviceTypeEnum;
    class IfcMemberTypeEnum {
      static {
        this.ARCH_SEGMENT = { type: 3, value: "ARCH_SEGMENT" };
      }
      static {
        this.BRACE = { type: 3, value: "BRACE" };
      }
      static {
        this.CHORD = { type: 3, value: "CHORD" };
      }
      static {
        this.COLLAR = { type: 3, value: "COLLAR" };
      }
      static {
        this.MEMBER = { type: 3, value: "MEMBER" };
      }
      static {
        this.MULLION = { type: 3, value: "MULLION" };
      }
      static {
        this.PLATE = { type: 3, value: "PLATE" };
      }
      static {
        this.POST = { type: 3, value: "POST" };
      }
      static {
        this.PURLIN = { type: 3, value: "PURLIN" };
      }
      static {
        this.RAFTER = { type: 3, value: "RAFTER" };
      }
      static {
        this.STAY_CABLE = { type: 3, value: "STAY_CABLE" };
      }
      static {
        this.STIFFENING_RIB = { type: 3, value: "STIFFENING_RIB" };
      }
      static {
        this.STRINGER = { type: 3, value: "STRINGER" };
      }
      static {
        this.STRUCTURALCABLE = { type: 3, value: "STRUCTURALCABLE" };
      }
      static {
        this.STRUT = { type: 3, value: "STRUT" };
      }
      static {
        this.STUD = { type: 3, value: "STUD" };
      }
      static {
        this.SUSPENDER = { type: 3, value: "SUSPENDER" };
      }
      static {
        this.SUSPENSION_CABLE = { type: 3, value: "SUSPENSION_CABLE" };
      }
      static {
        this.TIEBAR = { type: 3, value: "TIEBAR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcMemberTypeEnum = IfcMemberTypeEnum;
    class IfcMobileTelecommunicationsApplianceTypeEnum {
      static {
        this.ACCESSPOINT = { type: 3, value: "ACCESSPOINT" };
      }
      static {
        this.BASEBANDUNIT = { type: 3, value: "BASEBANDUNIT" };
      }
      static {
        this.BASETRANSCEIVERSTATION = { type: 3, value: "BASETRANSCEIVERSTATION" };
      }
      static {
        this.E_UTRAN_NODE_B = { type: 3, value: "E_UTRAN_NODE_B" };
      }
      static {
        this.GATEWAY_GPRS_SUPPORT_NODE = { type: 3, value: "GATEWAY_GPRS_SUPPORT_NODE" };
      }
      static {
        this.MASTERUNIT = { type: 3, value: "MASTERUNIT" };
      }
      static {
        this.MOBILESWITCHINGCENTER = { type: 3, value: "MOBILESWITCHINGCENTER" };
      }
      static {
        this.MSCSERVER = { type: 3, value: "MSCSERVER" };
      }
      static {
        this.PACKETCONTROLUNIT = { type: 3, value: "PACKETCONTROLUNIT" };
      }
      static {
        this.REMOTERADIOUNIT = { type: 3, value: "REMOTERADIOUNIT" };
      }
      static {
        this.REMOTEUNIT = { type: 3, value: "REMOTEUNIT" };
      }
      static {
        this.SERVICE_GPRS_SUPPORT_NODE = { type: 3, value: "SERVICE_GPRS_SUPPORT_NODE" };
      }
      static {
        this.SUBSCRIBERSERVER = { type: 3, value: "SUBSCRIBERSERVER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcMobileTelecommunicationsApplianceTypeEnum = IfcMobileTelecommunicationsApplianceTypeEnum;
    class IfcMooringDeviceTypeEnum {
      static {
        this.BOLLARD = { type: 3, value: "BOLLARD" };
      }
      static {
        this.LINETENSIONER = { type: 3, value: "LINETENSIONER" };
      }
      static {
        this.MAGNETICDEVICE = { type: 3, value: "MAGNETICDEVICE" };
      }
      static {
        this.MOORINGHOOKS = { type: 3, value: "MOORINGHOOKS" };
      }
      static {
        this.VACUUMDEVICE = { type: 3, value: "VACUUMDEVICE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcMooringDeviceTypeEnum = IfcMooringDeviceTypeEnum;
    class IfcMotorConnectionTypeEnum {
      static {
        this.BELTDRIVE = { type: 3, value: "BELTDRIVE" };
      }
      static {
        this.COUPLING = { type: 3, value: "COUPLING" };
      }
      static {
        this.DIRECTDRIVE = { type: 3, value: "DIRECTDRIVE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcMotorConnectionTypeEnum = IfcMotorConnectionTypeEnum;
    class IfcNavigationElementTypeEnum {
      static {
        this.BEACON = { type: 3, value: "BEACON" };
      }
      static {
        this.BUOY = { type: 3, value: "BUOY" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcNavigationElementTypeEnum = IfcNavigationElementTypeEnum;
    class IfcObjectiveEnum {
      static {
        this.CODECOMPLIANCE = { type: 3, value: "CODECOMPLIANCE" };
      }
      static {
        this.CODEWAIVER = { type: 3, value: "CODEWAIVER" };
      }
      static {
        this.DESIGNINTENT = { type: 3, value: "DESIGNINTENT" };
      }
      static {
        this.EXTERNAL = { type: 3, value: "EXTERNAL" };
      }
      static {
        this.HEALTHANDSAFETY = { type: 3, value: "HEALTHANDSAFETY" };
      }
      static {
        this.MERGECONFLICT = { type: 3, value: "MERGECONFLICT" };
      }
      static {
        this.MODELVIEW = { type: 3, value: "MODELVIEW" };
      }
      static {
        this.PARAMETER = { type: 3, value: "PARAMETER" };
      }
      static {
        this.REQUIREMENT = { type: 3, value: "REQUIREMENT" };
      }
      static {
        this.SPECIFICATION = { type: 3, value: "SPECIFICATION" };
      }
      static {
        this.TRIGGERCONDITION = { type: 3, value: "TRIGGERCONDITION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcObjectiveEnum = IfcObjectiveEnum;
    class IfcOccupantTypeEnum {
      static {
        this.ASSIGNEE = { type: 3, value: "ASSIGNEE" };
      }
      static {
        this.ASSIGNOR = { type: 3, value: "ASSIGNOR" };
      }
      static {
        this.LESSEE = { type: 3, value: "LESSEE" };
      }
      static {
        this.LESSOR = { type: 3, value: "LESSOR" };
      }
      static {
        this.LETTINGAGENT = { type: 3, value: "LETTINGAGENT" };
      }
      static {
        this.OWNER = { type: 3, value: "OWNER" };
      }
      static {
        this.TENANT = { type: 3, value: "TENANT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcOccupantTypeEnum = IfcOccupantTypeEnum;
    class IfcOpeningElementTypeEnum {
      static {
        this.OPENING = { type: 3, value: "OPENING" };
      }
      static {
        this.RECESS = { type: 3, value: "RECESS" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcOpeningElementTypeEnum = IfcOpeningElementTypeEnum;
    class IfcOutletTypeEnum {
      static {
        this.AUDIOVISUALOUTLET = { type: 3, value: "AUDIOVISUALOUTLET" };
      }
      static {
        this.COMMUNICATIONSOUTLET = { type: 3, value: "COMMUNICATIONSOUTLET" };
      }
      static {
        this.DATAOUTLET = { type: 3, value: "DATAOUTLET" };
      }
      static {
        this.POWEROUTLET = { type: 3, value: "POWEROUTLET" };
      }
      static {
        this.TELEPHONEOUTLET = { type: 3, value: "TELEPHONEOUTLET" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcOutletTypeEnum = IfcOutletTypeEnum;
    class IfcPavementTypeEnum {
      static {
        this.FLEXIBLE = { type: 3, value: "FLEXIBLE" };
      }
      static {
        this.RIGID = { type: 3, value: "RIGID" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcPavementTypeEnum = IfcPavementTypeEnum;
    class IfcPerformanceHistoryTypeEnum {
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcPerformanceHistoryTypeEnum = IfcPerformanceHistoryTypeEnum;
    class IfcPermeableCoveringOperationEnum {
      static {
        this.GRILL = { type: 3, value: "GRILL" };
      }
      static {
        this.LOUVER = { type: 3, value: "LOUVER" };
      }
      static {
        this.SCREEN = { type: 3, value: "SCREEN" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcPermeableCoveringOperationEnum = IfcPermeableCoveringOperationEnum;
    class IfcPermitTypeEnum {
      static {
        this.ACCESS = { type: 3, value: "ACCESS" };
      }
      static {
        this.BUILDING = { type: 3, value: "BUILDING" };
      }
      static {
        this.WORK = { type: 3, value: "WORK" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcPermitTypeEnum = IfcPermitTypeEnum;
    class IfcPhysicalOrVirtualEnum {
      static {
        this.PHYSICAL = { type: 3, value: "PHYSICAL" };
      }
      static {
        this.VIRTUAL = { type: 3, value: "VIRTUAL" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcPhysicalOrVirtualEnum = IfcPhysicalOrVirtualEnum;
    class IfcPileConstructionEnum {
      static {
        this.CAST_IN_PLACE = { type: 3, value: "CAST_IN_PLACE" };
      }
      static {
        this.COMPOSITE = { type: 3, value: "COMPOSITE" };
      }
      static {
        this.PRECAST_CONCRETE = { type: 3, value: "PRECAST_CONCRETE" };
      }
      static {
        this.PREFAB_STEEL = { type: 3, value: "PREFAB_STEEL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcPileConstructionEnum = IfcPileConstructionEnum;
    class IfcPileTypeEnum {
      static {
        this.BORED = { type: 3, value: "BORED" };
      }
      static {
        this.COHESION = { type: 3, value: "COHESION" };
      }
      static {
        this.DRIVEN = { type: 3, value: "DRIVEN" };
      }
      static {
        this.FRICTION = { type: 3, value: "FRICTION" };
      }
      static {
        this.JETGROUTING = { type: 3, value: "JETGROUTING" };
      }
      static {
        this.SUPPORT = { type: 3, value: "SUPPORT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcPileTypeEnum = IfcPileTypeEnum;
    class IfcPipeFittingTypeEnum {
      static {
        this.BEND = { type: 3, value: "BEND" };
      }
      static {
        this.CONNECTOR = { type: 3, value: "CONNECTOR" };
      }
      static {
        this.ENTRY = { type: 3, value: "ENTRY" };
      }
      static {
        this.EXIT = { type: 3, value: "EXIT" };
      }
      static {
        this.JUNCTION = { type: 3, value: "JUNCTION" };
      }
      static {
        this.OBSTRUCTION = { type: 3, value: "OBSTRUCTION" };
      }
      static {
        this.TRANSITION = { type: 3, value: "TRANSITION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcPipeFittingTypeEnum = IfcPipeFittingTypeEnum;
    class IfcPipeSegmentTypeEnum {
      static {
        this.CULVERT = { type: 3, value: "CULVERT" };
      }
      static {
        this.FLEXIBLESEGMENT = { type: 3, value: "FLEXIBLESEGMENT" };
      }
      static {
        this.GUTTER = { type: 3, value: "GUTTER" };
      }
      static {
        this.RIGIDSEGMENT = { type: 3, value: "RIGIDSEGMENT" };
      }
      static {
        this.SPOOL = { type: 3, value: "SPOOL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcPipeSegmentTypeEnum = IfcPipeSegmentTypeEnum;
    class IfcPlateTypeEnum {
      static {
        this.BASE_PLATE = { type: 3, value: "BASE_PLATE" };
      }
      static {
        this.COVER_PLATE = { type: 3, value: "COVER_PLATE" };
      }
      static {
        this.CURTAIN_PANEL = { type: 3, value: "CURTAIN_PANEL" };
      }
      static {
        this.FLANGE_PLATE = { type: 3, value: "FLANGE_PLATE" };
      }
      static {
        this.GUSSET_PLATE = { type: 3, value: "GUSSET_PLATE" };
      }
      static {
        this.SHEET = { type: 3, value: "SHEET" };
      }
      static {
        this.SPLICE_PLATE = { type: 3, value: "SPLICE_PLATE" };
      }
      static {
        this.STIFFENER_PLATE = { type: 3, value: "STIFFENER_PLATE" };
      }
      static {
        this.WEB_PLATE = { type: 3, value: "WEB_PLATE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcPlateTypeEnum = IfcPlateTypeEnum;
    class IfcPreferredSurfaceCurveRepresentation {
      static {
        this.CURVE3D = { type: 3, value: "CURVE3D" };
      }
      static {
        this.PCURVE_S1 = { type: 3, value: "PCURVE_S1" };
      }
      static {
        this.PCURVE_S2 = { type: 3, value: "PCURVE_S2" };
      }
    }
    IFC4X32.IfcPreferredSurfaceCurveRepresentation = IfcPreferredSurfaceCurveRepresentation;
    class IfcProcedureTypeEnum {
      static {
        this.ADVICE_CAUTION = { type: 3, value: "ADVICE_CAUTION" };
      }
      static {
        this.ADVICE_NOTE = { type: 3, value: "ADVICE_NOTE" };
      }
      static {
        this.ADVICE_WARNING = { type: 3, value: "ADVICE_WARNING" };
      }
      static {
        this.CALIBRATION = { type: 3, value: "CALIBRATION" };
      }
      static {
        this.DIAGNOSTIC = { type: 3, value: "DIAGNOSTIC" };
      }
      static {
        this.SHUTDOWN = { type: 3, value: "SHUTDOWN" };
      }
      static {
        this.STARTUP = { type: 3, value: "STARTUP" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcProcedureTypeEnum = IfcProcedureTypeEnum;
    class IfcProfileTypeEnum {
      static {
        this.AREA = { type: 3, value: "AREA" };
      }
      static {
        this.CURVE = { type: 3, value: "CURVE" };
      }
    }
    IFC4X32.IfcProfileTypeEnum = IfcProfileTypeEnum;
    class IfcProjectOrderTypeEnum {
      static {
        this.CHANGEORDER = { type: 3, value: "CHANGEORDER" };
      }
      static {
        this.MAINTENANCEWORKORDER = { type: 3, value: "MAINTENANCEWORKORDER" };
      }
      static {
        this.MOVEORDER = { type: 3, value: "MOVEORDER" };
      }
      static {
        this.PURCHASEORDER = { type: 3, value: "PURCHASEORDER" };
      }
      static {
        this.WORKORDER = { type: 3, value: "WORKORDER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcProjectOrderTypeEnum = IfcProjectOrderTypeEnum;
    class IfcProjectedOrTrueLengthEnum {
      static {
        this.PROJECTED_LENGTH = { type: 3, value: "PROJECTED_LENGTH" };
      }
      static {
        this.TRUE_LENGTH = { type: 3, value: "TRUE_LENGTH" };
      }
    }
    IFC4X32.IfcProjectedOrTrueLengthEnum = IfcProjectedOrTrueLengthEnum;
    class IfcProjectionElementTypeEnum {
      static {
        this.BLISTER = { type: 3, value: "BLISTER" };
      }
      static {
        this.DEVIATOR = { type: 3, value: "DEVIATOR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcProjectionElementTypeEnum = IfcProjectionElementTypeEnum;
    class IfcPropertySetTemplateTypeEnum {
      static {
        this.PSET_MATERIALDRIVEN = { type: 3, value: "PSET_MATERIALDRIVEN" };
      }
      static {
        this.PSET_OCCURRENCEDRIVEN = { type: 3, value: "PSET_OCCURRENCEDRIVEN" };
      }
      static {
        this.PSET_PERFORMANCEDRIVEN = { type: 3, value: "PSET_PERFORMANCEDRIVEN" };
      }
      static {
        this.PSET_PROFILEDRIVEN = { type: 3, value: "PSET_PROFILEDRIVEN" };
      }
      static {
        this.PSET_TYPEDRIVENONLY = { type: 3, value: "PSET_TYPEDRIVENONLY" };
      }
      static {
        this.PSET_TYPEDRIVENOVERRIDE = { type: 3, value: "PSET_TYPEDRIVENOVERRIDE" };
      }
      static {
        this.QTO_OCCURRENCEDRIVEN = { type: 3, value: "QTO_OCCURRENCEDRIVEN" };
      }
      static {
        this.QTO_TYPEDRIVENONLY = { type: 3, value: "QTO_TYPEDRIVENONLY" };
      }
      static {
        this.QTO_TYPEDRIVENOVERRIDE = { type: 3, value: "QTO_TYPEDRIVENOVERRIDE" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcPropertySetTemplateTypeEnum = IfcPropertySetTemplateTypeEnum;
    class IfcProtectiveDeviceTrippingUnitTypeEnum {
      static {
        this.ELECTROMAGNETIC = { type: 3, value: "ELECTROMAGNETIC" };
      }
      static {
        this.ELECTRONIC = { type: 3, value: "ELECTRONIC" };
      }
      static {
        this.RESIDUALCURRENT = { type: 3, value: "RESIDUALCURRENT" };
      }
      static {
        this.THERMAL = { type: 3, value: "THERMAL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcProtectiveDeviceTrippingUnitTypeEnum = IfcProtectiveDeviceTrippingUnitTypeEnum;
    class IfcProtectiveDeviceTypeEnum {
      static {
        this.ANTI_ARCING_DEVICE = { type: 3, value: "ANTI_ARCING_DEVICE" };
      }
      static {
        this.CIRCUITBREAKER = { type: 3, value: "CIRCUITBREAKER" };
      }
      static {
        this.EARTHINGSWITCH = { type: 3, value: "EARTHINGSWITCH" };
      }
      static {
        this.EARTHLEAKAGECIRCUITBREAKER = { type: 3, value: "EARTHLEAKAGECIRCUITBREAKER" };
      }
      static {
        this.FUSEDISCONNECTOR = { type: 3, value: "FUSEDISCONNECTOR" };
      }
      static {
        this.RESIDUALCURRENTCIRCUITBREAKER = { type: 3, value: "RESIDUALCURRENTCIRCUITBREAKER" };
      }
      static {
        this.RESIDUALCURRENTSWITCH = { type: 3, value: "RESIDUALCURRENTSWITCH" };
      }
      static {
        this.SPARKGAP = { type: 3, value: "SPARKGAP" };
      }
      static {
        this.VARISTOR = { type: 3, value: "VARISTOR" };
      }
      static {
        this.VOLTAGELIMITER = { type: 3, value: "VOLTAGELIMITER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcProtectiveDeviceTypeEnum = IfcProtectiveDeviceTypeEnum;
    class IfcPumpTypeEnum {
      static {
        this.CIRCULATOR = { type: 3, value: "CIRCULATOR" };
      }
      static {
        this.ENDSUCTION = { type: 3, value: "ENDSUCTION" };
      }
      static {
        this.SPLITCASE = { type: 3, value: "SPLITCASE" };
      }
      static {
        this.SUBMERSIBLEPUMP = { type: 3, value: "SUBMERSIBLEPUMP" };
      }
      static {
        this.SUMPPUMP = { type: 3, value: "SUMPPUMP" };
      }
      static {
        this.VERTICALINLINE = { type: 3, value: "VERTICALINLINE" };
      }
      static {
        this.VERTICALTURBINE = { type: 3, value: "VERTICALTURBINE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcPumpTypeEnum = IfcPumpTypeEnum;
    class IfcRailTypeEnum {
      static {
        this.BLADE = { type: 3, value: "BLADE" };
      }
      static {
        this.CHECKRAIL = { type: 3, value: "CHECKRAIL" };
      }
      static {
        this.GUARDRAIL = { type: 3, value: "GUARDRAIL" };
      }
      static {
        this.RACKRAIL = { type: 3, value: "RACKRAIL" };
      }
      static {
        this.RAIL = { type: 3, value: "RAIL" };
      }
      static {
        this.STOCKRAIL = { type: 3, value: "STOCKRAIL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcRailTypeEnum = IfcRailTypeEnum;
    class IfcRailingTypeEnum {
      static {
        this.BALUSTRADE = { type: 3, value: "BALUSTRADE" };
      }
      static {
        this.FENCE = { type: 3, value: "FENCE" };
      }
      static {
        this.GUARDRAIL = { type: 3, value: "GUARDRAIL" };
      }
      static {
        this.HANDRAIL = { type: 3, value: "HANDRAIL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcRailingTypeEnum = IfcRailingTypeEnum;
    class IfcRailwayPartTypeEnum {
      static {
        this.ABOVETRACK = { type: 3, value: "ABOVETRACK" };
      }
      static {
        this.DILATIONTRACK = { type: 3, value: "DILATIONTRACK" };
      }
      static {
        this.LINESIDE = { type: 3, value: "LINESIDE" };
      }
      static {
        this.LINESIDEPART = { type: 3, value: "LINESIDEPART" };
      }
      static {
        this.PLAINTRACK = { type: 3, value: "PLAINTRACK" };
      }
      static {
        this.SUBSTRUCTURE = { type: 3, value: "SUBSTRUCTURE" };
      }
      static {
        this.TRACK = { type: 3, value: "TRACK" };
      }
      static {
        this.TRACKPART = { type: 3, value: "TRACKPART" };
      }
      static {
        this.TURNOUTTRACK = { type: 3, value: "TURNOUTTRACK" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcRailwayPartTypeEnum = IfcRailwayPartTypeEnum;
    class IfcRailwayTypeEnum {
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcRailwayTypeEnum = IfcRailwayTypeEnum;
    class IfcRampFlightTypeEnum {
      static {
        this.SPIRAL = { type: 3, value: "SPIRAL" };
      }
      static {
        this.STRAIGHT = { type: 3, value: "STRAIGHT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcRampFlightTypeEnum = IfcRampFlightTypeEnum;
    class IfcRampTypeEnum {
      static {
        this.HALF_TURN_RAMP = { type: 3, value: "HALF_TURN_RAMP" };
      }
      static {
        this.QUARTER_TURN_RAMP = { type: 3, value: "QUARTER_TURN_RAMP" };
      }
      static {
        this.SPIRAL_RAMP = { type: 3, value: "SPIRAL_RAMP" };
      }
      static {
        this.STRAIGHT_RUN_RAMP = { type: 3, value: "STRAIGHT_RUN_RAMP" };
      }
      static {
        this.TWO_QUARTER_TURN_RAMP = { type: 3, value: "TWO_QUARTER_TURN_RAMP" };
      }
      static {
        this.TWO_STRAIGHT_RUN_RAMP = { type: 3, value: "TWO_STRAIGHT_RUN_RAMP" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcRampTypeEnum = IfcRampTypeEnum;
    class IfcRecurrenceTypeEnum {
      static {
        this.BY_DAY_COUNT = { type: 3, value: "BY_DAY_COUNT" };
      }
      static {
        this.BY_WEEKDAY_COUNT = { type: 3, value: "BY_WEEKDAY_COUNT" };
      }
      static {
        this.DAILY = { type: 3, value: "DAILY" };
      }
      static {
        this.MONTHLY_BY_DAY_OF_MONTH = { type: 3, value: "MONTHLY_BY_DAY_OF_MONTH" };
      }
      static {
        this.MONTHLY_BY_POSITION = { type: 3, value: "MONTHLY_BY_POSITION" };
      }
      static {
        this.WEEKLY = { type: 3, value: "WEEKLY" };
      }
      static {
        this.YEARLY_BY_DAY_OF_MONTH = { type: 3, value: "YEARLY_BY_DAY_OF_MONTH" };
      }
      static {
        this.YEARLY_BY_POSITION = { type: 3, value: "YEARLY_BY_POSITION" };
      }
    }
    IFC4X32.IfcRecurrenceTypeEnum = IfcRecurrenceTypeEnum;
    class IfcReferentTypeEnum {
      static {
        this.BOUNDARY = { type: 3, value: "BOUNDARY" };
      }
      static {
        this.INTERSECTION = { type: 3, value: "INTERSECTION" };
      }
      static {
        this.KILOPOINT = { type: 3, value: "KILOPOINT" };
      }
      static {
        this.LANDMARK = { type: 3, value: "LANDMARK" };
      }
      static {
        this.MILEPOINT = { type: 3, value: "MILEPOINT" };
      }
      static {
        this.POSITION = { type: 3, value: "POSITION" };
      }
      static {
        this.REFERENCEMARKER = { type: 3, value: "REFERENCEMARKER" };
      }
      static {
        this.STATION = { type: 3, value: "STATION" };
      }
      static {
        this.SUPERELEVATIONEVENT = { type: 3, value: "SUPERELEVATIONEVENT" };
      }
      static {
        this.WIDTHEVENT = { type: 3, value: "WIDTHEVENT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcReferentTypeEnum = IfcReferentTypeEnum;
    class IfcReflectanceMethodEnum {
      static {
        this.BLINN = { type: 3, value: "BLINN" };
      }
      static {
        this.FLAT = { type: 3, value: "FLAT" };
      }
      static {
        this.GLASS = { type: 3, value: "GLASS" };
      }
      static {
        this.MATT = { type: 3, value: "MATT" };
      }
      static {
        this.METAL = { type: 3, value: "METAL" };
      }
      static {
        this.MIRROR = { type: 3, value: "MIRROR" };
      }
      static {
        this.PHONG = { type: 3, value: "PHONG" };
      }
      static {
        this.PHYSICAL = { type: 3, value: "PHYSICAL" };
      }
      static {
        this.PLASTIC = { type: 3, value: "PLASTIC" };
      }
      static {
        this.STRAUSS = { type: 3, value: "STRAUSS" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcReflectanceMethodEnum = IfcReflectanceMethodEnum;
    class IfcReinforcedSoilTypeEnum {
      static {
        this.DYNAMICALLYCOMPACTED = { type: 3, value: "DYNAMICALLYCOMPACTED" };
      }
      static {
        this.GROUTED = { type: 3, value: "GROUTED" };
      }
      static {
        this.REPLACED = { type: 3, value: "REPLACED" };
      }
      static {
        this.ROLLERCOMPACTED = { type: 3, value: "ROLLERCOMPACTED" };
      }
      static {
        this.SURCHARGEPRELOADED = { type: 3, value: "SURCHARGEPRELOADED" };
      }
      static {
        this.VERTICALLYDRAINED = { type: 3, value: "VERTICALLYDRAINED" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcReinforcedSoilTypeEnum = IfcReinforcedSoilTypeEnum;
    class IfcReinforcingBarRoleEnum {
      static {
        this.ANCHORING = { type: 3, value: "ANCHORING" };
      }
      static {
        this.EDGE = { type: 3, value: "EDGE" };
      }
      static {
        this.LIGATURE = { type: 3, value: "LIGATURE" };
      }
      static {
        this.MAIN = { type: 3, value: "MAIN" };
      }
      static {
        this.PUNCHING = { type: 3, value: "PUNCHING" };
      }
      static {
        this.RING = { type: 3, value: "RING" };
      }
      static {
        this.SHEAR = { type: 3, value: "SHEAR" };
      }
      static {
        this.STUD = { type: 3, value: "STUD" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcReinforcingBarRoleEnum = IfcReinforcingBarRoleEnum;
    class IfcReinforcingBarSurfaceEnum {
      static {
        this.PLAIN = { type: 3, value: "PLAIN" };
      }
      static {
        this.TEXTURED = { type: 3, value: "TEXTURED" };
      }
    }
    IFC4X32.IfcReinforcingBarSurfaceEnum = IfcReinforcingBarSurfaceEnum;
    class IfcReinforcingBarTypeEnum {
      static {
        this.ANCHORING = { type: 3, value: "ANCHORING" };
      }
      static {
        this.EDGE = { type: 3, value: "EDGE" };
      }
      static {
        this.LIGATURE = { type: 3, value: "LIGATURE" };
      }
      static {
        this.MAIN = { type: 3, value: "MAIN" };
      }
      static {
        this.PUNCHING = { type: 3, value: "PUNCHING" };
      }
      static {
        this.RING = { type: 3, value: "RING" };
      }
      static {
        this.SHEAR = { type: 3, value: "SHEAR" };
      }
      static {
        this.SPACEBAR = { type: 3, value: "SPACEBAR" };
      }
      static {
        this.STUD = { type: 3, value: "STUD" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcReinforcingBarTypeEnum = IfcReinforcingBarTypeEnum;
    class IfcReinforcingMeshTypeEnum {
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcReinforcingMeshTypeEnum = IfcReinforcingMeshTypeEnum;
    class IfcRoadPartTypeEnum {
      static {
        this.BICYCLECROSSING = { type: 3, value: "BICYCLECROSSING" };
      }
      static {
        this.BUS_STOP = { type: 3, value: "BUS_STOP" };
      }
      static {
        this.CARRIAGEWAY = { type: 3, value: "CARRIAGEWAY" };
      }
      static {
        this.CENTRALISLAND = { type: 3, value: "CENTRALISLAND" };
      }
      static {
        this.CENTRALRESERVE = { type: 3, value: "CENTRALRESERVE" };
      }
      static {
        this.HARDSHOULDER = { type: 3, value: "HARDSHOULDER" };
      }
      static {
        this.INTERSECTION = { type: 3, value: "INTERSECTION" };
      }
      static {
        this.LAYBY = { type: 3, value: "LAYBY" };
      }
      static {
        this.PARKINGBAY = { type: 3, value: "PARKINGBAY" };
      }
      static {
        this.PASSINGBAY = { type: 3, value: "PASSINGBAY" };
      }
      static {
        this.PEDESTRIAN_CROSSING = { type: 3, value: "PEDESTRIAN_CROSSING" };
      }
      static {
        this.RAILWAYCROSSING = { type: 3, value: "RAILWAYCROSSING" };
      }
      static {
        this.REFUGEISLAND = { type: 3, value: "REFUGEISLAND" };
      }
      static {
        this.ROADSEGMENT = { type: 3, value: "ROADSEGMENT" };
      }
      static {
        this.ROADSIDE = { type: 3, value: "ROADSIDE" };
      }
      static {
        this.ROADSIDEPART = { type: 3, value: "ROADSIDEPART" };
      }
      static {
        this.ROADWAYPLATEAU = { type: 3, value: "ROADWAYPLATEAU" };
      }
      static {
        this.ROUNDABOUT = { type: 3, value: "ROUNDABOUT" };
      }
      static {
        this.SHOULDER = { type: 3, value: "SHOULDER" };
      }
      static {
        this.SIDEWALK = { type: 3, value: "SIDEWALK" };
      }
      static {
        this.SOFTSHOULDER = { type: 3, value: "SOFTSHOULDER" };
      }
      static {
        this.TOLLPLAZA = { type: 3, value: "TOLLPLAZA" };
      }
      static {
        this.TRAFFICISLAND = { type: 3, value: "TRAFFICISLAND" };
      }
      static {
        this.TRAFFICLANE = { type: 3, value: "TRAFFICLANE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcRoadPartTypeEnum = IfcRoadPartTypeEnum;
    class IfcRoadTypeEnum {
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcRoadTypeEnum = IfcRoadTypeEnum;
    class IfcRoleEnum {
      static {
        this.ARCHITECT = { type: 3, value: "ARCHITECT" };
      }
      static {
        this.BUILDINGOPERATOR = { type: 3, value: "BUILDINGOPERATOR" };
      }
      static {
        this.BUILDINGOWNER = { type: 3, value: "BUILDINGOWNER" };
      }
      static {
        this.CIVILENGINEER = { type: 3, value: "CIVILENGINEER" };
      }
      static {
        this.CLIENT = { type: 3, value: "CLIENT" };
      }
      static {
        this.COMMISSIONINGENGINEER = { type: 3, value: "COMMISSIONINGENGINEER" };
      }
      static {
        this.CONSTRUCTIONMANAGER = { type: 3, value: "CONSTRUCTIONMANAGER" };
      }
      static {
        this.CONSULTANT = { type: 3, value: "CONSULTANT" };
      }
      static {
        this.CONTRACTOR = { type: 3, value: "CONTRACTOR" };
      }
      static {
        this.COSTENGINEER = { type: 3, value: "COSTENGINEER" };
      }
      static {
        this.ELECTRICALENGINEER = { type: 3, value: "ELECTRICALENGINEER" };
      }
      static {
        this.ENGINEER = { type: 3, value: "ENGINEER" };
      }
      static {
        this.FACILITIESMANAGER = { type: 3, value: "FACILITIESMANAGER" };
      }
      static {
        this.FIELDCONSTRUCTIONMANAGER = { type: 3, value: "FIELDCONSTRUCTIONMANAGER" };
      }
      static {
        this.MANUFACTURER = { type: 3, value: "MANUFACTURER" };
      }
      static {
        this.MECHANICALENGINEER = { type: 3, value: "MECHANICALENGINEER" };
      }
      static {
        this.OWNER = { type: 3, value: "OWNER" };
      }
      static {
        this.PROJECTMANAGER = { type: 3, value: "PROJECTMANAGER" };
      }
      static {
        this.RESELLER = { type: 3, value: "RESELLER" };
      }
      static {
        this.STRUCTURALENGINEER = { type: 3, value: "STRUCTURALENGINEER" };
      }
      static {
        this.SUBCONTRACTOR = { type: 3, value: "SUBCONTRACTOR" };
      }
      static {
        this.SUPPLIER = { type: 3, value: "SUPPLIER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
    }
    IFC4X32.IfcRoleEnum = IfcRoleEnum;
    class IfcRoofTypeEnum {
      static {
        this.BARREL_ROOF = { type: 3, value: "BARREL_ROOF" };
      }
      static {
        this.BUTTERFLY_ROOF = { type: 3, value: "BUTTERFLY_ROOF" };
      }
      static {
        this.DOME_ROOF = { type: 3, value: "DOME_ROOF" };
      }
      static {
        this.FLAT_ROOF = { type: 3, value: "FLAT_ROOF" };
      }
      static {
        this.FREEFORM = { type: 3, value: "FREEFORM" };
      }
      static {
        this.GABLE_ROOF = { type: 3, value: "GABLE_ROOF" };
      }
      static {
        this.GAMBREL_ROOF = { type: 3, value: "GAMBREL_ROOF" };
      }
      static {
        this.HIPPED_GABLE_ROOF = { type: 3, value: "HIPPED_GABLE_ROOF" };
      }
      static {
        this.HIP_ROOF = { type: 3, value: "HIP_ROOF" };
      }
      static {
        this.MANSARD_ROOF = { type: 3, value: "MANSARD_ROOF" };
      }
      static {
        this.PAVILION_ROOF = { type: 3, value: "PAVILION_ROOF" };
      }
      static {
        this.RAINBOW_ROOF = { type: 3, value: "RAINBOW_ROOF" };
      }
      static {
        this.SHED_ROOF = { type: 3, value: "SHED_ROOF" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcRoofTypeEnum = IfcRoofTypeEnum;
    class IfcSIPrefix {
      static {
        this.ATTO = { type: 3, value: "ATTO" };
      }
      static {
        this.CENTI = { type: 3, value: "CENTI" };
      }
      static {
        this.DECA = { type: 3, value: "DECA" };
      }
      static {
        this.DECI = { type: 3, value: "DECI" };
      }
      static {
        this.EXA = { type: 3, value: "EXA" };
      }
      static {
        this.FEMTO = { type: 3, value: "FEMTO" };
      }
      static {
        this.GIGA = { type: 3, value: "GIGA" };
      }
      static {
        this.HECTO = { type: 3, value: "HECTO" };
      }
      static {
        this.KILO = { type: 3, value: "KILO" };
      }
      static {
        this.MEGA = { type: 3, value: "MEGA" };
      }
      static {
        this.MICRO = { type: 3, value: "MICRO" };
      }
      static {
        this.MILLI = { type: 3, value: "MILLI" };
      }
      static {
        this.NANO = { type: 3, value: "NANO" };
      }
      static {
        this.PETA = { type: 3, value: "PETA" };
      }
      static {
        this.PICO = { type: 3, value: "PICO" };
      }
      static {
        this.TERA = { type: 3, value: "TERA" };
      }
    }
    IFC4X32.IfcSIPrefix = IfcSIPrefix;
    class IfcSIUnitName {
      static {
        this.AMPERE = { type: 3, value: "AMPERE" };
      }
      static {
        this.BECQUEREL = { type: 3, value: "BECQUEREL" };
      }
      static {
        this.CANDELA = { type: 3, value: "CANDELA" };
      }
      static {
        this.COULOMB = { type: 3, value: "COULOMB" };
      }
      static {
        this.CUBIC_METRE = { type: 3, value: "CUBIC_METRE" };
      }
      static {
        this.DEGREE_CELSIUS = { type: 3, value: "DEGREE_CELSIUS" };
      }
      static {
        this.FARAD = { type: 3, value: "FARAD" };
      }
      static {
        this.GRAM = { type: 3, value: "GRAM" };
      }
      static {
        this.GRAY = { type: 3, value: "GRAY" };
      }
      static {
        this.HENRY = { type: 3, value: "HENRY" };
      }
      static {
        this.HERTZ = { type: 3, value: "HERTZ" };
      }
      static {
        this.JOULE = { type: 3, value: "JOULE" };
      }
      static {
        this.KELVIN = { type: 3, value: "KELVIN" };
      }
      static {
        this.LUMEN = { type: 3, value: "LUMEN" };
      }
      static {
        this.LUX = { type: 3, value: "LUX" };
      }
      static {
        this.METRE = { type: 3, value: "METRE" };
      }
      static {
        this.MOLE = { type: 3, value: "MOLE" };
      }
      static {
        this.NEWTON = { type: 3, value: "NEWTON" };
      }
      static {
        this.OHM = { type: 3, value: "OHM" };
      }
      static {
        this.PASCAL = { type: 3, value: "PASCAL" };
      }
      static {
        this.RADIAN = { type: 3, value: "RADIAN" };
      }
      static {
        this.SECOND = { type: 3, value: "SECOND" };
      }
      static {
        this.SIEMENS = { type: 3, value: "SIEMENS" };
      }
      static {
        this.SIEVERT = { type: 3, value: "SIEVERT" };
      }
      static {
        this.SQUARE_METRE = { type: 3, value: "SQUARE_METRE" };
      }
      static {
        this.STERADIAN = { type: 3, value: "STERADIAN" };
      }
      static {
        this.TESLA = { type: 3, value: "TESLA" };
      }
      static {
        this.VOLT = { type: 3, value: "VOLT" };
      }
      static {
        this.WATT = { type: 3, value: "WATT" };
      }
      static {
        this.WEBER = { type: 3, value: "WEBER" };
      }
    }
    IFC4X32.IfcSIUnitName = IfcSIUnitName;
    class IfcSanitaryTerminalTypeEnum {
      static {
        this.BATH = { type: 3, value: "BATH" };
      }
      static {
        this.BIDET = { type: 3, value: "BIDET" };
      }
      static {
        this.CISTERN = { type: 3, value: "CISTERN" };
      }
      static {
        this.SANITARYFOUNTAIN = { type: 3, value: "SANITARYFOUNTAIN" };
      }
      static {
        this.SHOWER = { type: 3, value: "SHOWER" };
      }
      static {
        this.SINK = { type: 3, value: "SINK" };
      }
      static {
        this.TOILETPAN = { type: 3, value: "TOILETPAN" };
      }
      static {
        this.URINAL = { type: 3, value: "URINAL" };
      }
      static {
        this.WASHHANDBASIN = { type: 3, value: "WASHHANDBASIN" };
      }
      static {
        this.WCSEAT = { type: 3, value: "WCSEAT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcSanitaryTerminalTypeEnum = IfcSanitaryTerminalTypeEnum;
    class IfcSectionTypeEnum {
      static {
        this.TAPERED = { type: 3, value: "TAPERED" };
      }
      static {
        this.UNIFORM = { type: 3, value: "UNIFORM" };
      }
    }
    IFC4X32.IfcSectionTypeEnum = IfcSectionTypeEnum;
    class IfcSensorTypeEnum {
      static {
        this.CO2SENSOR = { type: 3, value: "CO2SENSOR" };
      }
      static {
        this.CONDUCTANCESENSOR = { type: 3, value: "CONDUCTANCESENSOR" };
      }
      static {
        this.CONTACTSENSOR = { type: 3, value: "CONTACTSENSOR" };
      }
      static {
        this.COSENSOR = { type: 3, value: "COSENSOR" };
      }
      static {
        this.EARTHQUAKESENSOR = { type: 3, value: "EARTHQUAKESENSOR" };
      }
      static {
        this.FIRESENSOR = { type: 3, value: "FIRESENSOR" };
      }
      static {
        this.FLOWSENSOR = { type: 3, value: "FLOWSENSOR" };
      }
      static {
        this.FOREIGNOBJECTDETECTIONSENSOR = { type: 3, value: "FOREIGNOBJECTDETECTIONSENSOR" };
      }
      static {
        this.FROSTSENSOR = { type: 3, value: "FROSTSENSOR" };
      }
      static {
        this.GASSENSOR = { type: 3, value: "GASSENSOR" };
      }
      static {
        this.HEATSENSOR = { type: 3, value: "HEATSENSOR" };
      }
      static {
        this.HUMIDITYSENSOR = { type: 3, value: "HUMIDITYSENSOR" };
      }
      static {
        this.IDENTIFIERSENSOR = { type: 3, value: "IDENTIFIERSENSOR" };
      }
      static {
        this.IONCONCENTRATIONSENSOR = { type: 3, value: "IONCONCENTRATIONSENSOR" };
      }
      static {
        this.LEVELSENSOR = { type: 3, value: "LEVELSENSOR" };
      }
      static {
        this.LIGHTSENSOR = { type: 3, value: "LIGHTSENSOR" };
      }
      static {
        this.MOISTURESENSOR = { type: 3, value: "MOISTURESENSOR" };
      }
      static {
        this.MOVEMENTSENSOR = { type: 3, value: "MOVEMENTSENSOR" };
      }
      static {
        this.OBSTACLESENSOR = { type: 3, value: "OBSTACLESENSOR" };
      }
      static {
        this.PHSENSOR = { type: 3, value: "PHSENSOR" };
      }
      static {
        this.PRESSURESENSOR = { type: 3, value: "PRESSURESENSOR" };
      }
      static {
        this.RADIATIONSENSOR = { type: 3, value: "RADIATIONSENSOR" };
      }
      static {
        this.RADIOACTIVITYSENSOR = { type: 3, value: "RADIOACTIVITYSENSOR" };
      }
      static {
        this.RAINSENSOR = { type: 3, value: "RAINSENSOR" };
      }
      static {
        this.SMOKESENSOR = { type: 3, value: "SMOKESENSOR" };
      }
      static {
        this.SNOWDEPTHSENSOR = { type: 3, value: "SNOWDEPTHSENSOR" };
      }
      static {
        this.SOUNDSENSOR = { type: 3, value: "SOUNDSENSOR" };
      }
      static {
        this.TEMPERATURESENSOR = { type: 3, value: "TEMPERATURESENSOR" };
      }
      static {
        this.TRAINSENSOR = { type: 3, value: "TRAINSENSOR" };
      }
      static {
        this.TURNOUTCLOSURESENSOR = { type: 3, value: "TURNOUTCLOSURESENSOR" };
      }
      static {
        this.WHEELSENSOR = { type: 3, value: "WHEELSENSOR" };
      }
      static {
        this.WINDSENSOR = { type: 3, value: "WINDSENSOR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcSensorTypeEnum = IfcSensorTypeEnum;
    class IfcSequenceEnum {
      static {
        this.FINISH_FINISH = { type: 3, value: "FINISH_FINISH" };
      }
      static {
        this.FINISH_START = { type: 3, value: "FINISH_START" };
      }
      static {
        this.START_FINISH = { type: 3, value: "START_FINISH" };
      }
      static {
        this.START_START = { type: 3, value: "START_START" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcSequenceEnum = IfcSequenceEnum;
    class IfcShadingDeviceTypeEnum {
      static {
        this.AWNING = { type: 3, value: "AWNING" };
      }
      static {
        this.JALOUSIE = { type: 3, value: "JALOUSIE" };
      }
      static {
        this.SHUTTER = { type: 3, value: "SHUTTER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcShadingDeviceTypeEnum = IfcShadingDeviceTypeEnum;
    class IfcSignTypeEnum {
      static {
        this.MARKER = { type: 3, value: "MARKER" };
      }
      static {
        this.MIRROR = { type: 3, value: "MIRROR" };
      }
      static {
        this.PICTORAL = { type: 3, value: "PICTORAL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcSignTypeEnum = IfcSignTypeEnum;
    class IfcSignalTypeEnum {
      static {
        this.AUDIO = { type: 3, value: "AUDIO" };
      }
      static {
        this.MIXED = { type: 3, value: "MIXED" };
      }
      static {
        this.VISUAL = { type: 3, value: "VISUAL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcSignalTypeEnum = IfcSignalTypeEnum;
    class IfcSimplePropertyTemplateTypeEnum {
      static {
        this.P_BOUNDEDVALUE = { type: 3, value: "P_BOUNDEDVALUE" };
      }
      static {
        this.P_ENUMERATEDVALUE = { type: 3, value: "P_ENUMERATEDVALUE" };
      }
      static {
        this.P_LISTVALUE = { type: 3, value: "P_LISTVALUE" };
      }
      static {
        this.P_REFERENCEVALUE = { type: 3, value: "P_REFERENCEVALUE" };
      }
      static {
        this.P_SINGLEVALUE = { type: 3, value: "P_SINGLEVALUE" };
      }
      static {
        this.P_TABLEVALUE = { type: 3, value: "P_TABLEVALUE" };
      }
      static {
        this.Q_AREA = { type: 3, value: "Q_AREA" };
      }
      static {
        this.Q_COUNT = { type: 3, value: "Q_COUNT" };
      }
      static {
        this.Q_LENGTH = { type: 3, value: "Q_LENGTH" };
      }
      static {
        this.Q_NUMBER = { type: 3, value: "Q_NUMBER" };
      }
      static {
        this.Q_TIME = { type: 3, value: "Q_TIME" };
      }
      static {
        this.Q_VOLUME = { type: 3, value: "Q_VOLUME" };
      }
      static {
        this.Q_WEIGHT = { type: 3, value: "Q_WEIGHT" };
      }
    }
    IFC4X32.IfcSimplePropertyTemplateTypeEnum = IfcSimplePropertyTemplateTypeEnum;
    class IfcSlabTypeEnum {
      static {
        this.APPROACH_SLAB = { type: 3, value: "APPROACH_SLAB" };
      }
      static {
        this.BASESLAB = { type: 3, value: "BASESLAB" };
      }
      static {
        this.FLOOR = { type: 3, value: "FLOOR" };
      }
      static {
        this.LANDING = { type: 3, value: "LANDING" };
      }
      static {
        this.PAVING = { type: 3, value: "PAVING" };
      }
      static {
        this.ROOF = { type: 3, value: "ROOF" };
      }
      static {
        this.SIDEWALK = { type: 3, value: "SIDEWALK" };
      }
      static {
        this.TRACKSLAB = { type: 3, value: "TRACKSLAB" };
      }
      static {
        this.WEARING = { type: 3, value: "WEARING" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcSlabTypeEnum = IfcSlabTypeEnum;
    class IfcSolarDeviceTypeEnum {
      static {
        this.SOLARCOLLECTOR = { type: 3, value: "SOLARCOLLECTOR" };
      }
      static {
        this.SOLARPANEL = { type: 3, value: "SOLARPANEL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcSolarDeviceTypeEnum = IfcSolarDeviceTypeEnum;
    class IfcSpaceHeaterTypeEnum {
      static {
        this.CONVECTOR = { type: 3, value: "CONVECTOR" };
      }
      static {
        this.RADIATOR = { type: 3, value: "RADIATOR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcSpaceHeaterTypeEnum = IfcSpaceHeaterTypeEnum;
    class IfcSpaceTypeEnum {
      static {
        this.BERTH = { type: 3, value: "BERTH" };
      }
      static {
        this.EXTERNAL = { type: 3, value: "EXTERNAL" };
      }
      static {
        this.GFA = { type: 3, value: "GFA" };
      }
      static {
        this.INTERNAL = { type: 3, value: "INTERNAL" };
      }
      static {
        this.PARKING = { type: 3, value: "PARKING" };
      }
      static {
        this.SPACE = { type: 3, value: "SPACE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcSpaceTypeEnum = IfcSpaceTypeEnum;
    class IfcSpatialZoneTypeEnum {
      static {
        this.CONSTRUCTION = { type: 3, value: "CONSTRUCTION" };
      }
      static {
        this.FIRESAFETY = { type: 3, value: "FIRESAFETY" };
      }
      static {
        this.INTERFERENCE = { type: 3, value: "INTERFERENCE" };
      }
      static {
        this.LIGHTING = { type: 3, value: "LIGHTING" };
      }
      static {
        this.OCCUPANCY = { type: 3, value: "OCCUPANCY" };
      }
      static {
        this.RESERVATION = { type: 3, value: "RESERVATION" };
      }
      static {
        this.SECURITY = { type: 3, value: "SECURITY" };
      }
      static {
        this.THERMAL = { type: 3, value: "THERMAL" };
      }
      static {
        this.TRANSPORT = { type: 3, value: "TRANSPORT" };
      }
      static {
        this.VENTILATION = { type: 3, value: "VENTILATION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcSpatialZoneTypeEnum = IfcSpatialZoneTypeEnum;
    class IfcStackTerminalTypeEnum {
      static {
        this.BIRDCAGE = { type: 3, value: "BIRDCAGE" };
      }
      static {
        this.COWL = { type: 3, value: "COWL" };
      }
      static {
        this.RAINWATERHOPPER = { type: 3, value: "RAINWATERHOPPER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcStackTerminalTypeEnum = IfcStackTerminalTypeEnum;
    class IfcStairFlightTypeEnum {
      static {
        this.CURVED = { type: 3, value: "CURVED" };
      }
      static {
        this.FREEFORM = { type: 3, value: "FREEFORM" };
      }
      static {
        this.SPIRAL = { type: 3, value: "SPIRAL" };
      }
      static {
        this.STRAIGHT = { type: 3, value: "STRAIGHT" };
      }
      static {
        this.WINDER = { type: 3, value: "WINDER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcStairFlightTypeEnum = IfcStairFlightTypeEnum;
    class IfcStairTypeEnum {
      static {
        this.CURVED_RUN_STAIR = { type: 3, value: "CURVED_RUN_STAIR" };
      }
      static {
        this.DOUBLE_RETURN_STAIR = { type: 3, value: "DOUBLE_RETURN_STAIR" };
      }
      static {
        this.HALF_TURN_STAIR = { type: 3, value: "HALF_TURN_STAIR" };
      }
      static {
        this.HALF_WINDING_STAIR = { type: 3, value: "HALF_WINDING_STAIR" };
      }
      static {
        this.LADDER = { type: 3, value: "LADDER" };
      }
      static {
        this.QUARTER_TURN_STAIR = { type: 3, value: "QUARTER_TURN_STAIR" };
      }
      static {
        this.QUARTER_WINDING_STAIR = { type: 3, value: "QUARTER_WINDING_STAIR" };
      }
      static {
        this.SPIRAL_STAIR = { type: 3, value: "SPIRAL_STAIR" };
      }
      static {
        this.STRAIGHT_RUN_STAIR = { type: 3, value: "STRAIGHT_RUN_STAIR" };
      }
      static {
        this.THREE_QUARTER_TURN_STAIR = { type: 3, value: "THREE_QUARTER_TURN_STAIR" };
      }
      static {
        this.THREE_QUARTER_WINDING_STAIR = { type: 3, value: "THREE_QUARTER_WINDING_STAIR" };
      }
      static {
        this.TWO_CURVED_RUN_STAIR = { type: 3, value: "TWO_CURVED_RUN_STAIR" };
      }
      static {
        this.TWO_QUARTER_TURN_STAIR = { type: 3, value: "TWO_QUARTER_TURN_STAIR" };
      }
      static {
        this.TWO_QUARTER_WINDING_STAIR = { type: 3, value: "TWO_QUARTER_WINDING_STAIR" };
      }
      static {
        this.TWO_STRAIGHT_RUN_STAIR = { type: 3, value: "TWO_STRAIGHT_RUN_STAIR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcStairTypeEnum = IfcStairTypeEnum;
    class IfcStateEnum {
      static {
        this.LOCKED = { type: 3, value: "LOCKED" };
      }
      static {
        this.READONLY = { type: 3, value: "READONLY" };
      }
      static {
        this.READONLYLOCKED = { type: 3, value: "READONLYLOCKED" };
      }
      static {
        this.READWRITE = { type: 3, value: "READWRITE" };
      }
      static {
        this.READWRITELOCKED = { type: 3, value: "READWRITELOCKED" };
      }
    }
    IFC4X32.IfcStateEnum = IfcStateEnum;
    class IfcStructuralCurveActivityTypeEnum {
      static {
        this.CONST = { type: 3, value: "CONST" };
      }
      static {
        this.DISCRETE = { type: 3, value: "DISCRETE" };
      }
      static {
        this.EQUIDISTANT = { type: 3, value: "EQUIDISTANT" };
      }
      static {
        this.LINEAR = { type: 3, value: "LINEAR" };
      }
      static {
        this.PARABOLA = { type: 3, value: "PARABOLA" };
      }
      static {
        this.POLYGONAL = { type: 3, value: "POLYGONAL" };
      }
      static {
        this.SINUS = { type: 3, value: "SINUS" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcStructuralCurveActivityTypeEnum = IfcStructuralCurveActivityTypeEnum;
    class IfcStructuralCurveMemberTypeEnum {
      static {
        this.CABLE = { type: 3, value: "CABLE" };
      }
      static {
        this.COMPRESSION_MEMBER = { type: 3, value: "COMPRESSION_MEMBER" };
      }
      static {
        this.PIN_JOINED_MEMBER = { type: 3, value: "PIN_JOINED_MEMBER" };
      }
      static {
        this.RIGID_JOINED_MEMBER = { type: 3, value: "RIGID_JOINED_MEMBER" };
      }
      static {
        this.TENSION_MEMBER = { type: 3, value: "TENSION_MEMBER" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcStructuralCurveMemberTypeEnum = IfcStructuralCurveMemberTypeEnum;
    class IfcStructuralSurfaceActivityTypeEnum {
      static {
        this.BILINEAR = { type: 3, value: "BILINEAR" };
      }
      static {
        this.CONST = { type: 3, value: "CONST" };
      }
      static {
        this.DISCRETE = { type: 3, value: "DISCRETE" };
      }
      static {
        this.ISOCONTOUR = { type: 3, value: "ISOCONTOUR" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcStructuralSurfaceActivityTypeEnum = IfcStructuralSurfaceActivityTypeEnum;
    class IfcStructuralSurfaceMemberTypeEnum {
      static {
        this.BENDING_ELEMENT = { type: 3, value: "BENDING_ELEMENT" };
      }
      static {
        this.MEMBRANE_ELEMENT = { type: 3, value: "MEMBRANE_ELEMENT" };
      }
      static {
        this.SHELL = { type: 3, value: "SHELL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcStructuralSurfaceMemberTypeEnum = IfcStructuralSurfaceMemberTypeEnum;
    class IfcSubContractResourceTypeEnum {
      static {
        this.PURCHASE = { type: 3, value: "PURCHASE" };
      }
      static {
        this.WORK = { type: 3, value: "WORK" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcSubContractResourceTypeEnum = IfcSubContractResourceTypeEnum;
    class IfcSurfaceFeatureTypeEnum {
      static {
        this.DEFECT = { type: 3, value: "DEFECT" };
      }
      static {
        this.HATCHMARKING = { type: 3, value: "HATCHMARKING" };
      }
      static {
        this.LINEMARKING = { type: 3, value: "LINEMARKING" };
      }
      static {
        this.MARK = { type: 3, value: "MARK" };
      }
      static {
        this.NONSKIDSURFACING = { type: 3, value: "NONSKIDSURFACING" };
      }
      static {
        this.PAVEMENTSURFACEMARKING = { type: 3, value: "PAVEMENTSURFACEMARKING" };
      }
      static {
        this.RUMBLESTRIP = { type: 3, value: "RUMBLESTRIP" };
      }
      static {
        this.SYMBOLMARKING = { type: 3, value: "SYMBOLMARKING" };
      }
      static {
        this.TAG = { type: 3, value: "TAG" };
      }
      static {
        this.TRANSVERSERUMBLESTRIP = { type: 3, value: "TRANSVERSERUMBLESTRIP" };
      }
      static {
        this.TREATMENT = { type: 3, value: "TREATMENT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcSurfaceFeatureTypeEnum = IfcSurfaceFeatureTypeEnum;
    class IfcSurfaceSide {
      static {
        this.BOTH = { type: 3, value: "BOTH" };
      }
      static {
        this.NEGATIVE = { type: 3, value: "NEGATIVE" };
      }
      static {
        this.POSITIVE = { type: 3, value: "POSITIVE" };
      }
    }
    IFC4X32.IfcSurfaceSide = IfcSurfaceSide;
    class IfcSwitchingDeviceTypeEnum {
      static {
        this.CONTACTOR = { type: 3, value: "CONTACTOR" };
      }
      static {
        this.DIMMERSWITCH = { type: 3, value: "DIMMERSWITCH" };
      }
      static {
        this.EMERGENCYSTOP = { type: 3, value: "EMERGENCYSTOP" };
      }
      static {
        this.KEYPAD = { type: 3, value: "KEYPAD" };
      }
      static {
        this.MOMENTARYSWITCH = { type: 3, value: "MOMENTARYSWITCH" };
      }
      static {
        this.RELAY = { type: 3, value: "RELAY" };
      }
      static {
        this.SELECTORSWITCH = { type: 3, value: "SELECTORSWITCH" };
      }
      static {
        this.STARTER = { type: 3, value: "STARTER" };
      }
      static {
        this.START_AND_STOP_EQUIPMENT = { type: 3, value: "START_AND_STOP_EQUIPMENT" };
      }
      static {
        this.SWITCHDISCONNECTOR = { type: 3, value: "SWITCHDISCONNECTOR" };
      }
      static {
        this.TOGGLESWITCH = { type: 3, value: "TOGGLESWITCH" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcSwitchingDeviceTypeEnum = IfcSwitchingDeviceTypeEnum;
    class IfcSystemFurnitureElementTypeEnum {
      static {
        this.PANEL = { type: 3, value: "PANEL" };
      }
      static {
        this.SUBRACK = { type: 3, value: "SUBRACK" };
      }
      static {
        this.WORKSURFACE = { type: 3, value: "WORKSURFACE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcSystemFurnitureElementTypeEnum = IfcSystemFurnitureElementTypeEnum;
    class IfcTankTypeEnum {
      static {
        this.BASIN = { type: 3, value: "BASIN" };
      }
      static {
        this.BREAKPRESSURE = { type: 3, value: "BREAKPRESSURE" };
      }
      static {
        this.EXPANSION = { type: 3, value: "EXPANSION" };
      }
      static {
        this.FEEDANDEXPANSION = { type: 3, value: "FEEDANDEXPANSION" };
      }
      static {
        this.OILRETENTIONTRAY = { type: 3, value: "OILRETENTIONTRAY" };
      }
      static {
        this.PRESSUREVESSEL = { type: 3, value: "PRESSUREVESSEL" };
      }
      static {
        this.STORAGE = { type: 3, value: "STORAGE" };
      }
      static {
        this.VESSEL = { type: 3, value: "VESSEL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcTankTypeEnum = IfcTankTypeEnum;
    class IfcTaskDurationEnum {
      static {
        this.ELAPSEDTIME = { type: 3, value: "ELAPSEDTIME" };
      }
      static {
        this.WORKTIME = { type: 3, value: "WORKTIME" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcTaskDurationEnum = IfcTaskDurationEnum;
    class IfcTaskTypeEnum {
      static {
        this.ADJUSTMENT = { type: 3, value: "ADJUSTMENT" };
      }
      static {
        this.ATTENDANCE = { type: 3, value: "ATTENDANCE" };
      }
      static {
        this.CALIBRATION = { type: 3, value: "CALIBRATION" };
      }
      static {
        this.CONSTRUCTION = { type: 3, value: "CONSTRUCTION" };
      }
      static {
        this.DEMOLITION = { type: 3, value: "DEMOLITION" };
      }
      static {
        this.DISMANTLE = { type: 3, value: "DISMANTLE" };
      }
      static {
        this.DISPOSAL = { type: 3, value: "DISPOSAL" };
      }
      static {
        this.EMERGENCY = { type: 3, value: "EMERGENCY" };
      }
      static {
        this.INSPECTION = { type: 3, value: "INSPECTION" };
      }
      static {
        this.INSTALLATION = { type: 3, value: "INSTALLATION" };
      }
      static {
        this.LOGISTIC = { type: 3, value: "LOGISTIC" };
      }
      static {
        this.MAINTENANCE = { type: 3, value: "MAINTENANCE" };
      }
      static {
        this.MOVE = { type: 3, value: "MOVE" };
      }
      static {
        this.OPERATION = { type: 3, value: "OPERATION" };
      }
      static {
        this.REMOVAL = { type: 3, value: "REMOVAL" };
      }
      static {
        this.RENOVATION = { type: 3, value: "RENOVATION" };
      }
      static {
        this.SAFETY = { type: 3, value: "SAFETY" };
      }
      static {
        this.SHUTDOWN = { type: 3, value: "SHUTDOWN" };
      }
      static {
        this.STARTUP = { type: 3, value: "STARTUP" };
      }
      static {
        this.TESTING = { type: 3, value: "TESTING" };
      }
      static {
        this.TROUBLESHOOTING = { type: 3, value: "TROUBLESHOOTING" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcTaskTypeEnum = IfcTaskTypeEnum;
    class IfcTendonAnchorTypeEnum {
      static {
        this.COUPLER = { type: 3, value: "COUPLER" };
      }
      static {
        this.FIXED_END = { type: 3, value: "FIXED_END" };
      }
      static {
        this.TENSIONING_END = { type: 3, value: "TENSIONING_END" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcTendonAnchorTypeEnum = IfcTendonAnchorTypeEnum;
    class IfcTendonConduitTypeEnum {
      static {
        this.COUPLER = { type: 3, value: "COUPLER" };
      }
      static {
        this.DIABOLO = { type: 3, value: "DIABOLO" };
      }
      static {
        this.DUCT = { type: 3, value: "DUCT" };
      }
      static {
        this.GROUTING_DUCT = { type: 3, value: "GROUTING_DUCT" };
      }
      static {
        this.TRUMPET = { type: 3, value: "TRUMPET" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcTendonConduitTypeEnum = IfcTendonConduitTypeEnum;
    class IfcTendonTypeEnum {
      static {
        this.BAR = { type: 3, value: "BAR" };
      }
      static {
        this.COATED = { type: 3, value: "COATED" };
      }
      static {
        this.STRAND = { type: 3, value: "STRAND" };
      }
      static {
        this.WIRE = { type: 3, value: "WIRE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcTendonTypeEnum = IfcTendonTypeEnum;
    class IfcTextPath {
      static {
        this.DOWN = { type: 3, value: "DOWN" };
      }
      static {
        this.LEFT = { type: 3, value: "LEFT" };
      }
      static {
        this.RIGHT = { type: 3, value: "RIGHT" };
      }
      static {
        this.UP = { type: 3, value: "UP" };
      }
    }
    IFC4X32.IfcTextPath = IfcTextPath;
    class IfcTimeSeriesDataTypeEnum {
      static {
        this.CONTINUOUS = { type: 3, value: "CONTINUOUS" };
      }
      static {
        this.DISCRETE = { type: 3, value: "DISCRETE" };
      }
      static {
        this.DISCRETEBINARY = { type: 3, value: "DISCRETEBINARY" };
      }
      static {
        this.PIECEWISEBINARY = { type: 3, value: "PIECEWISEBINARY" };
      }
      static {
        this.PIECEWISECONSTANT = { type: 3, value: "PIECEWISECONSTANT" };
      }
      static {
        this.PIECEWISECONTINUOUS = { type: 3, value: "PIECEWISECONTINUOUS" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcTimeSeriesDataTypeEnum = IfcTimeSeriesDataTypeEnum;
    class IfcTrackElementTypeEnum {
      static {
        this.BLOCKINGDEVICE = { type: 3, value: "BLOCKINGDEVICE" };
      }
      static {
        this.DERAILER = { type: 3, value: "DERAILER" };
      }
      static {
        this.FROG = { type: 3, value: "FROG" };
      }
      static {
        this.HALF_SET_OF_BLADES = { type: 3, value: "HALF_SET_OF_BLADES" };
      }
      static {
        this.SLEEPER = { type: 3, value: "SLEEPER" };
      }
      static {
        this.SPEEDREGULATOR = { type: 3, value: "SPEEDREGULATOR" };
      }
      static {
        this.TRACKENDOFALIGNMENT = { type: 3, value: "TRACKENDOFALIGNMENT" };
      }
      static {
        this.VEHICLESTOP = { type: 3, value: "VEHICLESTOP" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcTrackElementTypeEnum = IfcTrackElementTypeEnum;
    class IfcTransformerTypeEnum {
      static {
        this.CHOPPER = { type: 3, value: "CHOPPER" };
      }
      static {
        this.COMBINED = { type: 3, value: "COMBINED" };
      }
      static {
        this.CURRENT = { type: 3, value: "CURRENT" };
      }
      static {
        this.FREQUENCY = { type: 3, value: "FREQUENCY" };
      }
      static {
        this.INVERTER = { type: 3, value: "INVERTER" };
      }
      static {
        this.RECTIFIER = { type: 3, value: "RECTIFIER" };
      }
      static {
        this.VOLTAGE = { type: 3, value: "VOLTAGE" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcTransformerTypeEnum = IfcTransformerTypeEnum;
    class IfcTransitionCode {
      static {
        this.CONTINUOUS = { type: 3, value: "CONTINUOUS" };
      }
      static {
        this.CONTSAMEGRADIENT = { type: 3, value: "CONTSAMEGRADIENT" };
      }
      static {
        this.CONTSAMEGRADIENTSAMECURVATURE = { type: 3, value: "CONTSAMEGRADIENTSAMECURVATURE" };
      }
      static {
        this.DISCONTINUOUS = { type: 3, value: "DISCONTINUOUS" };
      }
    }
    IFC4X32.IfcTransitionCode = IfcTransitionCode;
    class IfcTransportElementTypeEnum {
      static {
        this.CRANEWAY = { type: 3, value: "CRANEWAY" };
      }
      static {
        this.ELEVATOR = { type: 3, value: "ELEVATOR" };
      }
      static {
        this.ESCALATOR = { type: 3, value: "ESCALATOR" };
      }
      static {
        this.HAULINGGEAR = { type: 3, value: "HAULINGGEAR" };
      }
      static {
        this.LIFTINGGEAR = { type: 3, value: "LIFTINGGEAR" };
      }
      static {
        this.MOVINGWALKWAY = { type: 3, value: "MOVINGWALKWAY" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcTransportElementTypeEnum = IfcTransportElementTypeEnum;
    class IfcTrimmingPreference {
      static {
        this.CARTESIAN = { type: 3, value: "CARTESIAN" };
      }
      static {
        this.PARAMETER = { type: 3, value: "PARAMETER" };
      }
      static {
        this.UNSPECIFIED = { type: 3, value: "UNSPECIFIED" };
      }
    }
    IFC4X32.IfcTrimmingPreference = IfcTrimmingPreference;
    class IfcTubeBundleTypeEnum {
      static {
        this.FINNED = { type: 3, value: "FINNED" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcTubeBundleTypeEnum = IfcTubeBundleTypeEnum;
    class IfcUnitEnum {
      static {
        this.ABSORBEDDOSEUNIT = { type: 3, value: "ABSORBEDDOSEUNIT" };
      }
      static {
        this.AMOUNTOFSUBSTANCEUNIT = { type: 3, value: "AMOUNTOFSUBSTANCEUNIT" };
      }
      static {
        this.AREAUNIT = { type: 3, value: "AREAUNIT" };
      }
      static {
        this.DOSEEQUIVALENTUNIT = { type: 3, value: "DOSEEQUIVALENTUNIT" };
      }
      static {
        this.ELECTRICCAPACITANCEUNIT = { type: 3, value: "ELECTRICCAPACITANCEUNIT" };
      }
      static {
        this.ELECTRICCHARGEUNIT = { type: 3, value: "ELECTRICCHARGEUNIT" };
      }
      static {
        this.ELECTRICCONDUCTANCEUNIT = { type: 3, value: "ELECTRICCONDUCTANCEUNIT" };
      }
      static {
        this.ELECTRICCURRENTUNIT = { type: 3, value: "ELECTRICCURRENTUNIT" };
      }
      static {
        this.ELECTRICRESISTANCEUNIT = { type: 3, value: "ELECTRICRESISTANCEUNIT" };
      }
      static {
        this.ELECTRICVOLTAGEUNIT = { type: 3, value: "ELECTRICVOLTAGEUNIT" };
      }
      static {
        this.ENERGYUNIT = { type: 3, value: "ENERGYUNIT" };
      }
      static {
        this.FORCEUNIT = { type: 3, value: "FORCEUNIT" };
      }
      static {
        this.FREQUENCYUNIT = { type: 3, value: "FREQUENCYUNIT" };
      }
      static {
        this.ILLUMINANCEUNIT = { type: 3, value: "ILLUMINANCEUNIT" };
      }
      static {
        this.INDUCTANCEUNIT = { type: 3, value: "INDUCTANCEUNIT" };
      }
      static {
        this.LENGTHUNIT = { type: 3, value: "LENGTHUNIT" };
      }
      static {
        this.LUMINOUSFLUXUNIT = { type: 3, value: "LUMINOUSFLUXUNIT" };
      }
      static {
        this.LUMINOUSINTENSITYUNIT = { type: 3, value: "LUMINOUSINTENSITYUNIT" };
      }
      static {
        this.MAGNETICFLUXDENSITYUNIT = { type: 3, value: "MAGNETICFLUXDENSITYUNIT" };
      }
      static {
        this.MAGNETICFLUXUNIT = { type: 3, value: "MAGNETICFLUXUNIT" };
      }
      static {
        this.MASSUNIT = { type: 3, value: "MASSUNIT" };
      }
      static {
        this.PLANEANGLEUNIT = { type: 3, value: "PLANEANGLEUNIT" };
      }
      static {
        this.POWERUNIT = { type: 3, value: "POWERUNIT" };
      }
      static {
        this.PRESSUREUNIT = { type: 3, value: "PRESSUREUNIT" };
      }
      static {
        this.RADIOACTIVITYUNIT = { type: 3, value: "RADIOACTIVITYUNIT" };
      }
      static {
        this.SOLIDANGLEUNIT = { type: 3, value: "SOLIDANGLEUNIT" };
      }
      static {
        this.THERMODYNAMICTEMPERATUREUNIT = { type: 3, value: "THERMODYNAMICTEMPERATUREUNIT" };
      }
      static {
        this.TIMEUNIT = { type: 3, value: "TIMEUNIT" };
      }
      static {
        this.VOLUMEUNIT = { type: 3, value: "VOLUMEUNIT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
    }
    IFC4X32.IfcUnitEnum = IfcUnitEnum;
    class IfcUnitaryControlElementTypeEnum {
      static {
        this.ALARMPANEL = { type: 3, value: "ALARMPANEL" };
      }
      static {
        this.BASESTATIONCONTROLLER = { type: 3, value: "BASESTATIONCONTROLLER" };
      }
      static {
        this.COMBINED = { type: 3, value: "COMBINED" };
      }
      static {
        this.CONTROLPANEL = { type: 3, value: "CONTROLPANEL" };
      }
      static {
        this.GASDETECTIONPANEL = { type: 3, value: "GASDETECTIONPANEL" };
      }
      static {
        this.HUMIDISTAT = { type: 3, value: "HUMIDISTAT" };
      }
      static {
        this.INDICATORPANEL = { type: 3, value: "INDICATORPANEL" };
      }
      static {
        this.MIMICPANEL = { type: 3, value: "MIMICPANEL" };
      }
      static {
        this.THERMOSTAT = { type: 3, value: "THERMOSTAT" };
      }
      static {
        this.WEATHERSTATION = { type: 3, value: "WEATHERSTATION" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcUnitaryControlElementTypeEnum = IfcUnitaryControlElementTypeEnum;
    class IfcUnitaryEquipmentTypeEnum {
      static {
        this.AIRCONDITIONINGUNIT = { type: 3, value: "AIRCONDITIONINGUNIT" };
      }
      static {
        this.AIRHANDLER = { type: 3, value: "AIRHANDLER" };
      }
      static {
        this.DEHUMIDIFIER = { type: 3, value: "DEHUMIDIFIER" };
      }
      static {
        this.ROOFTOPUNIT = { type: 3, value: "ROOFTOPUNIT" };
      }
      static {
        this.SPLITSYSTEM = { type: 3, value: "SPLITSYSTEM" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcUnitaryEquipmentTypeEnum = IfcUnitaryEquipmentTypeEnum;
    class IfcValveTypeEnum {
      static {
        this.AIRRELEASE = { type: 3, value: "AIRRELEASE" };
      }
      static {
        this.ANTIVACUUM = { type: 3, value: "ANTIVACUUM" };
      }
      static {
        this.CHANGEOVER = { type: 3, value: "CHANGEOVER" };
      }
      static {
        this.CHECK = { type: 3, value: "CHECK" };
      }
      static {
        this.COMMISSIONING = { type: 3, value: "COMMISSIONING" };
      }
      static {
        this.DIVERTING = { type: 3, value: "DIVERTING" };
      }
      static {
        this.DOUBLECHECK = { type: 3, value: "DOUBLECHECK" };
      }
      static {
        this.DOUBLEREGULATING = { type: 3, value: "DOUBLEREGULATING" };
      }
      static {
        this.DRAWOFFCOCK = { type: 3, value: "DRAWOFFCOCK" };
      }
      static {
        this.FAUCET = { type: 3, value: "FAUCET" };
      }
      static {
        this.FLUSHING = { type: 3, value: "FLUSHING" };
      }
      static {
        this.GASCOCK = { type: 3, value: "GASCOCK" };
      }
      static {
        this.GASTAP = { type: 3, value: "GASTAP" };
      }
      static {
        this.ISOLATING = { type: 3, value: "ISOLATING" };
      }
      static {
        this.MIXING = { type: 3, value: "MIXING" };
      }
      static {
        this.PRESSUREREDUCING = { type: 3, value: "PRESSUREREDUCING" };
      }
      static {
        this.PRESSURERELIEF = { type: 3, value: "PRESSURERELIEF" };
      }
      static {
        this.REGULATING = { type: 3, value: "REGULATING" };
      }
      static {
        this.SAFETYCUTOFF = { type: 3, value: "SAFETYCUTOFF" };
      }
      static {
        this.STEAMTRAP = { type: 3, value: "STEAMTRAP" };
      }
      static {
        this.STOPCOCK = { type: 3, value: "STOPCOCK" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcValveTypeEnum = IfcValveTypeEnum;
    class IfcVehicleTypeEnum {
      static {
        this.CARGO = { type: 3, value: "CARGO" };
      }
      static {
        this.ROLLINGSTOCK = { type: 3, value: "ROLLINGSTOCK" };
      }
      static {
        this.VEHICLE = { type: 3, value: "VEHICLE" };
      }
      static {
        this.VEHICLEAIR = { type: 3, value: "VEHICLEAIR" };
      }
      static {
        this.VEHICLEMARINE = { type: 3, value: "VEHICLEMARINE" };
      }
      static {
        this.VEHICLETRACKED = { type: 3, value: "VEHICLETRACKED" };
      }
      static {
        this.VEHICLEWHEELED = { type: 3, value: "VEHICLEWHEELED" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcVehicleTypeEnum = IfcVehicleTypeEnum;
    class IfcVibrationDamperTypeEnum {
      static {
        this.AXIAL_YIELD = { type: 3, value: "AXIAL_YIELD" };
      }
      static {
        this.BENDING_YIELD = { type: 3, value: "BENDING_YIELD" };
      }
      static {
        this.FRICTION = { type: 3, value: "FRICTION" };
      }
      static {
        this.RUBBER = { type: 3, value: "RUBBER" };
      }
      static {
        this.SHEAR_YIELD = { type: 3, value: "SHEAR_YIELD" };
      }
      static {
        this.VISCOUS = { type: 3, value: "VISCOUS" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcVibrationDamperTypeEnum = IfcVibrationDamperTypeEnum;
    class IfcVibrationIsolatorTypeEnum {
      static {
        this.BASE = { type: 3, value: "BASE" };
      }
      static {
        this.COMPRESSION = { type: 3, value: "COMPRESSION" };
      }
      static {
        this.SPRING = { type: 3, value: "SPRING" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcVibrationIsolatorTypeEnum = IfcVibrationIsolatorTypeEnum;
    class IfcVirtualElementTypeEnum {
      static {
        this.BOUNDARY = { type: 3, value: "BOUNDARY" };
      }
      static {
        this.CLEARANCE = { type: 3, value: "CLEARANCE" };
      }
      static {
        this.PROVISIONFORVOID = { type: 3, value: "PROVISIONFORVOID" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcVirtualElementTypeEnum = IfcVirtualElementTypeEnum;
    class IfcVoidingFeatureTypeEnum {
      static {
        this.CHAMFER = { type: 3, value: "CHAMFER" };
      }
      static {
        this.CUTOUT = { type: 3, value: "CUTOUT" };
      }
      static {
        this.EDGE = { type: 3, value: "EDGE" };
      }
      static {
        this.HOLE = { type: 3, value: "HOLE" };
      }
      static {
        this.MITER = { type: 3, value: "MITER" };
      }
      static {
        this.NOTCH = { type: 3, value: "NOTCH" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcVoidingFeatureTypeEnum = IfcVoidingFeatureTypeEnum;
    class IfcWallTypeEnum {
      static {
        this.ELEMENTEDWALL = { type: 3, value: "ELEMENTEDWALL" };
      }
      static {
        this.MOVABLE = { type: 3, value: "MOVABLE" };
      }
      static {
        this.PARAPET = { type: 3, value: "PARAPET" };
      }
      static {
        this.PARTITIONING = { type: 3, value: "PARTITIONING" };
      }
      static {
        this.PLUMBINGWALL = { type: 3, value: "PLUMBINGWALL" };
      }
      static {
        this.POLYGONAL = { type: 3, value: "POLYGONAL" };
      }
      static {
        this.RETAININGWALL = { type: 3, value: "RETAININGWALL" };
      }
      static {
        this.SHEAR = { type: 3, value: "SHEAR" };
      }
      static {
        this.SOLIDWALL = { type: 3, value: "SOLIDWALL" };
      }
      static {
        this.STANDARD = { type: 3, value: "STANDARD" };
      }
      static {
        this.WAVEWALL = { type: 3, value: "WAVEWALL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcWallTypeEnum = IfcWallTypeEnum;
    class IfcWasteTerminalTypeEnum {
      static {
        this.FLOORTRAP = { type: 3, value: "FLOORTRAP" };
      }
      static {
        this.FLOORWASTE = { type: 3, value: "FLOORWASTE" };
      }
      static {
        this.GULLYSUMP = { type: 3, value: "GULLYSUMP" };
      }
      static {
        this.GULLYTRAP = { type: 3, value: "GULLYTRAP" };
      }
      static {
        this.ROOFDRAIN = { type: 3, value: "ROOFDRAIN" };
      }
      static {
        this.WASTEDISPOSALUNIT = { type: 3, value: "WASTEDISPOSALUNIT" };
      }
      static {
        this.WASTETRAP = { type: 3, value: "WASTETRAP" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcWasteTerminalTypeEnum = IfcWasteTerminalTypeEnum;
    class IfcWindowPanelOperationEnum {
      static {
        this.BOTTOMHUNG = { type: 3, value: "BOTTOMHUNG" };
      }
      static {
        this.FIXEDCASEMENT = { type: 3, value: "FIXEDCASEMENT" };
      }
      static {
        this.OTHEROPERATION = { type: 3, value: "OTHEROPERATION" };
      }
      static {
        this.PIVOTHORIZONTAL = { type: 3, value: "PIVOTHORIZONTAL" };
      }
      static {
        this.PIVOTVERTICAL = { type: 3, value: "PIVOTVERTICAL" };
      }
      static {
        this.REMOVABLECASEMENT = { type: 3, value: "REMOVABLECASEMENT" };
      }
      static {
        this.SIDEHUNGLEFTHAND = { type: 3, value: "SIDEHUNGLEFTHAND" };
      }
      static {
        this.SIDEHUNGRIGHTHAND = { type: 3, value: "SIDEHUNGRIGHTHAND" };
      }
      static {
        this.SLIDINGHORIZONTAL = { type: 3, value: "SLIDINGHORIZONTAL" };
      }
      static {
        this.SLIDINGVERTICAL = { type: 3, value: "SLIDINGVERTICAL" };
      }
      static {
        this.TILTANDTURNLEFTHAND = { type: 3, value: "TILTANDTURNLEFTHAND" };
      }
      static {
        this.TILTANDTURNRIGHTHAND = { type: 3, value: "TILTANDTURNRIGHTHAND" };
      }
      static {
        this.TOPHUNG = { type: 3, value: "TOPHUNG" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcWindowPanelOperationEnum = IfcWindowPanelOperationEnum;
    class IfcWindowPanelPositionEnum {
      static {
        this.BOTTOM = { type: 3, value: "BOTTOM" };
      }
      static {
        this.LEFT = { type: 3, value: "LEFT" };
      }
      static {
        this.MIDDLE = { type: 3, value: "MIDDLE" };
      }
      static {
        this.RIGHT = { type: 3, value: "RIGHT" };
      }
      static {
        this.TOP = { type: 3, value: "TOP" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcWindowPanelPositionEnum = IfcWindowPanelPositionEnum;
    class IfcWindowTypeEnum {
      static {
        this.LIGHTDOME = { type: 3, value: "LIGHTDOME" };
      }
      static {
        this.SKYLIGHT = { type: 3, value: "SKYLIGHT" };
      }
      static {
        this.WINDOW = { type: 3, value: "WINDOW" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcWindowTypeEnum = IfcWindowTypeEnum;
    class IfcWindowTypePartitioningEnum {
      static {
        this.DOUBLE_PANEL_HORIZONTAL = { type: 3, value: "DOUBLE_PANEL_HORIZONTAL" };
      }
      static {
        this.DOUBLE_PANEL_VERTICAL = { type: 3, value: "DOUBLE_PANEL_VERTICAL" };
      }
      static {
        this.SINGLE_PANEL = { type: 3, value: "SINGLE_PANEL" };
      }
      static {
        this.TRIPLE_PANEL_BOTTOM = { type: 3, value: "TRIPLE_PANEL_BOTTOM" };
      }
      static {
        this.TRIPLE_PANEL_HORIZONTAL = { type: 3, value: "TRIPLE_PANEL_HORIZONTAL" };
      }
      static {
        this.TRIPLE_PANEL_LEFT = { type: 3, value: "TRIPLE_PANEL_LEFT" };
      }
      static {
        this.TRIPLE_PANEL_RIGHT = { type: 3, value: "TRIPLE_PANEL_RIGHT" };
      }
      static {
        this.TRIPLE_PANEL_TOP = { type: 3, value: "TRIPLE_PANEL_TOP" };
      }
      static {
        this.TRIPLE_PANEL_VERTICAL = { type: 3, value: "TRIPLE_PANEL_VERTICAL" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcWindowTypePartitioningEnum = IfcWindowTypePartitioningEnum;
    class IfcWorkCalendarTypeEnum {
      static {
        this.FIRSTSHIFT = { type: 3, value: "FIRSTSHIFT" };
      }
      static {
        this.SECONDSHIFT = { type: 3, value: "SECONDSHIFT" };
      }
      static {
        this.THIRDSHIFT = { type: 3, value: "THIRDSHIFT" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcWorkCalendarTypeEnum = IfcWorkCalendarTypeEnum;
    class IfcWorkPlanTypeEnum {
      static {
        this.ACTUAL = { type: 3, value: "ACTUAL" };
      }
      static {
        this.BASELINE = { type: 3, value: "BASELINE" };
      }
      static {
        this.PLANNED = { type: 3, value: "PLANNED" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcWorkPlanTypeEnum = IfcWorkPlanTypeEnum;
    class IfcWorkScheduleTypeEnum {
      static {
        this.ACTUAL = { type: 3, value: "ACTUAL" };
      }
      static {
        this.BASELINE = { type: 3, value: "BASELINE" };
      }
      static {
        this.PLANNED = { type: 3, value: "PLANNED" };
      }
      static {
        this.USERDEFINED = { type: 3, value: "USERDEFINED" };
      }
      static {
        this.NOTDEFINED = { type: 3, value: "NOTDEFINED" };
      }
    }
    IFC4X32.IfcWorkScheduleTypeEnum = IfcWorkScheduleTypeEnum;
    class IfcActorRole extends IfcLineObject {
      constructor(Role, UserDefinedRole, Description) {
        super();
        this.Role = Role;
        this.UserDefinedRole = UserDefinedRole;
        this.Description = Description;
        this.type = 3630933823;
      }
    }
    IFC4X32.IfcActorRole = IfcActorRole;
    class IfcAddress extends IfcLineObject {
      constructor(Purpose, Description, UserDefinedPurpose) {
        super();
        this.Purpose = Purpose;
        this.Description = Description;
        this.UserDefinedPurpose = UserDefinedPurpose;
        this.type = 618182010;
      }
    }
    IFC4X32.IfcAddress = IfcAddress;
    class IfcAlignmentParameterSegment extends IfcLineObject {
      constructor(StartTag, EndTag) {
        super();
        this.StartTag = StartTag;
        this.EndTag = EndTag;
        this.type = 2879124712;
      }
    }
    IFC4X32.IfcAlignmentParameterSegment = IfcAlignmentParameterSegment;
    class IfcAlignmentVerticalSegment extends IfcAlignmentParameterSegment {
      constructor(StartTag, EndTag, StartDistAlong, HorizontalLength, StartHeight, StartGradient, EndGradient, RadiusOfCurvature, PredefinedType) {
        super(StartTag, EndTag);
        this.StartTag = StartTag;
        this.EndTag = EndTag;
        this.StartDistAlong = StartDistAlong;
        this.HorizontalLength = HorizontalLength;
        this.StartHeight = StartHeight;
        this.StartGradient = StartGradient;
        this.EndGradient = EndGradient;
        this.RadiusOfCurvature = RadiusOfCurvature;
        this.PredefinedType = PredefinedType;
        this.type = 3633395639;
      }
    }
    IFC4X32.IfcAlignmentVerticalSegment = IfcAlignmentVerticalSegment;
    class IfcApplication extends IfcLineObject {
      constructor(ApplicationDeveloper, Version, ApplicationFullName, ApplicationIdentifier) {
        super();
        this.ApplicationDeveloper = ApplicationDeveloper;
        this.Version = Version;
        this.ApplicationFullName = ApplicationFullName;
        this.ApplicationIdentifier = ApplicationIdentifier;
        this.type = 639542469;
      }
    }
    IFC4X32.IfcApplication = IfcApplication;
    class IfcAppliedValue extends IfcLineObject {
      constructor(Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, Category, Condition, ArithmeticOperator, Components) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.AppliedValue = AppliedValue;
        this.UnitBasis = UnitBasis;
        this.ApplicableDate = ApplicableDate;
        this.FixedUntilDate = FixedUntilDate;
        this.Category = Category;
        this.Condition = Condition;
        this.ArithmeticOperator = ArithmeticOperator;
        this.Components = Components;
        this.type = 411424972;
      }
    }
    IFC4X32.IfcAppliedValue = IfcAppliedValue;
    class IfcApproval extends IfcLineObject {
      constructor(Identifier, Name, Description, TimeOfApproval, Status, Level, Qualifier, RequestingApproval, GivingApproval) {
        super();
        this.Identifier = Identifier;
        this.Name = Name;
        this.Description = Description;
        this.TimeOfApproval = TimeOfApproval;
        this.Status = Status;
        this.Level = Level;
        this.Qualifier = Qualifier;
        this.RequestingApproval = RequestingApproval;
        this.GivingApproval = GivingApproval;
        this.type = 130549933;
      }
    }
    IFC4X32.IfcApproval = IfcApproval;
    class IfcBoundaryCondition extends IfcLineObject {
      constructor(Name) {
        super();
        this.Name = Name;
        this.type = 4037036970;
      }
    }
    IFC4X32.IfcBoundaryCondition = IfcBoundaryCondition;
    class IfcBoundaryEdgeCondition extends IfcBoundaryCondition {
      constructor(Name, TranslationalStiffnessByLengthX, TranslationalStiffnessByLengthY, TranslationalStiffnessByLengthZ, RotationalStiffnessByLengthX, RotationalStiffnessByLengthY, RotationalStiffnessByLengthZ) {
        super(Name);
        this.Name = Name;
        this.TranslationalStiffnessByLengthX = TranslationalStiffnessByLengthX;
        this.TranslationalStiffnessByLengthY = TranslationalStiffnessByLengthY;
        this.TranslationalStiffnessByLengthZ = TranslationalStiffnessByLengthZ;
        this.RotationalStiffnessByLengthX = RotationalStiffnessByLengthX;
        this.RotationalStiffnessByLengthY = RotationalStiffnessByLengthY;
        this.RotationalStiffnessByLengthZ = RotationalStiffnessByLengthZ;
        this.type = 1560379544;
      }
    }
    IFC4X32.IfcBoundaryEdgeCondition = IfcBoundaryEdgeCondition;
    class IfcBoundaryFaceCondition extends IfcBoundaryCondition {
      constructor(Name, TranslationalStiffnessByAreaX, TranslationalStiffnessByAreaY, TranslationalStiffnessByAreaZ) {
        super(Name);
        this.Name = Name;
        this.TranslationalStiffnessByAreaX = TranslationalStiffnessByAreaX;
        this.TranslationalStiffnessByAreaY = TranslationalStiffnessByAreaY;
        this.TranslationalStiffnessByAreaZ = TranslationalStiffnessByAreaZ;
        this.type = 3367102660;
      }
    }
    IFC4X32.IfcBoundaryFaceCondition = IfcBoundaryFaceCondition;
    class IfcBoundaryNodeCondition extends IfcBoundaryCondition {
      constructor(Name, TranslationalStiffnessX, TranslationalStiffnessY, TranslationalStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ) {
        super(Name);
        this.Name = Name;
        this.TranslationalStiffnessX = TranslationalStiffnessX;
        this.TranslationalStiffnessY = TranslationalStiffnessY;
        this.TranslationalStiffnessZ = TranslationalStiffnessZ;
        this.RotationalStiffnessX = RotationalStiffnessX;
        this.RotationalStiffnessY = RotationalStiffnessY;
        this.RotationalStiffnessZ = RotationalStiffnessZ;
        this.type = 1387855156;
      }
    }
    IFC4X32.IfcBoundaryNodeCondition = IfcBoundaryNodeCondition;
    class IfcBoundaryNodeConditionWarping extends IfcBoundaryNodeCondition {
      constructor(Name, TranslationalStiffnessX, TranslationalStiffnessY, TranslationalStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ, WarpingStiffness) {
        super(Name, TranslationalStiffnessX, TranslationalStiffnessY, TranslationalStiffnessZ, RotationalStiffnessX, RotationalStiffnessY, RotationalStiffnessZ);
        this.Name = Name;
        this.TranslationalStiffnessX = TranslationalStiffnessX;
        this.TranslationalStiffnessY = TranslationalStiffnessY;
        this.TranslationalStiffnessZ = TranslationalStiffnessZ;
        this.RotationalStiffnessX = RotationalStiffnessX;
        this.RotationalStiffnessY = RotationalStiffnessY;
        this.RotationalStiffnessZ = RotationalStiffnessZ;
        this.WarpingStiffness = WarpingStiffness;
        this.type = 2069777674;
      }
    }
    IFC4X32.IfcBoundaryNodeConditionWarping = IfcBoundaryNodeConditionWarping;
    class IfcConnectionGeometry extends IfcLineObject {
      constructor() {
        super();
        this.type = 2859738748;
      }
    }
    IFC4X32.IfcConnectionGeometry = IfcConnectionGeometry;
    class IfcConnectionPointGeometry extends IfcConnectionGeometry {
      constructor(PointOnRelatingElement, PointOnRelatedElement) {
        super();
        this.PointOnRelatingElement = PointOnRelatingElement;
        this.PointOnRelatedElement = PointOnRelatedElement;
        this.type = 2614616156;
      }
    }
    IFC4X32.IfcConnectionPointGeometry = IfcConnectionPointGeometry;
    class IfcConnectionSurfaceGeometry extends IfcConnectionGeometry {
      constructor(SurfaceOnRelatingElement, SurfaceOnRelatedElement) {
        super();
        this.SurfaceOnRelatingElement = SurfaceOnRelatingElement;
        this.SurfaceOnRelatedElement = SurfaceOnRelatedElement;
        this.type = 2732653382;
      }
    }
    IFC4X32.IfcConnectionSurfaceGeometry = IfcConnectionSurfaceGeometry;
    class IfcConnectionVolumeGeometry extends IfcConnectionGeometry {
      constructor(VolumeOnRelatingElement, VolumeOnRelatedElement) {
        super();
        this.VolumeOnRelatingElement = VolumeOnRelatingElement;
        this.VolumeOnRelatedElement = VolumeOnRelatedElement;
        this.type = 775493141;
      }
    }
    IFC4X32.IfcConnectionVolumeGeometry = IfcConnectionVolumeGeometry;
    class IfcConstraint extends IfcLineObject {
      constructor(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.ConstraintGrade = ConstraintGrade;
        this.ConstraintSource = ConstraintSource;
        this.CreatingActor = CreatingActor;
        this.CreationTime = CreationTime;
        this.UserDefinedGrade = UserDefinedGrade;
        this.type = 1959218052;
      }
    }
    IFC4X32.IfcConstraint = IfcConstraint;
    class IfcCoordinateOperation extends IfcLineObject {
      constructor(SourceCRS, TargetCRS) {
        super();
        this.SourceCRS = SourceCRS;
        this.TargetCRS = TargetCRS;
        this.type = 1785450214;
      }
    }
    IFC4X32.IfcCoordinateOperation = IfcCoordinateOperation;
    class IfcCoordinateReferenceSystem extends IfcLineObject {
      constructor(Name, Description, GeodeticDatum) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.GeodeticDatum = GeodeticDatum;
        this.type = 1466758467;
      }
    }
    IFC4X32.IfcCoordinateReferenceSystem = IfcCoordinateReferenceSystem;
    class IfcCostValue extends IfcAppliedValue {
      constructor(Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, Category, Condition, ArithmeticOperator, Components) {
        super(Name, Description, AppliedValue, UnitBasis, ApplicableDate, FixedUntilDate, Category, Condition, ArithmeticOperator, Components);
        this.Name = Name;
        this.Description = Description;
        this.AppliedValue = AppliedValue;
        this.UnitBasis = UnitBasis;
        this.ApplicableDate = ApplicableDate;
        this.FixedUntilDate = FixedUntilDate;
        this.Category = Category;
        this.Condition = Condition;
        this.ArithmeticOperator = ArithmeticOperator;
        this.Components = Components;
        this.type = 602808272;
      }
    }
    IFC4X32.IfcCostValue = IfcCostValue;
    class IfcDerivedUnit extends IfcLineObject {
      constructor(Elements, UnitType, UserDefinedType, Name) {
        super();
        this.Elements = Elements;
        this.UnitType = UnitType;
        this.UserDefinedType = UserDefinedType;
        this.Name = Name;
        this.type = 1765591967;
      }
    }
    IFC4X32.IfcDerivedUnit = IfcDerivedUnit;
    class IfcDerivedUnitElement extends IfcLineObject {
      constructor(Unit, Exponent) {
        super();
        this.Unit = Unit;
        this.Exponent = Exponent;
        this.type = 1045800335;
      }
    }
    IFC4X32.IfcDerivedUnitElement = IfcDerivedUnitElement;
    class IfcDimensionalExponents extends IfcLineObject {
      constructor(LengthExponent, MassExponent, TimeExponent, ElectricCurrentExponent, ThermodynamicTemperatureExponent, AmountOfSubstanceExponent, LuminousIntensityExponent) {
        super();
        this.LengthExponent = LengthExponent;
        this.MassExponent = MassExponent;
        this.TimeExponent = TimeExponent;
        this.ElectricCurrentExponent = ElectricCurrentExponent;
        this.ThermodynamicTemperatureExponent = ThermodynamicTemperatureExponent;
        this.AmountOfSubstanceExponent = AmountOfSubstanceExponent;
        this.LuminousIntensityExponent = LuminousIntensityExponent;
        this.type = 2949456006;
      }
    }
    IFC4X32.IfcDimensionalExponents = IfcDimensionalExponents;
    class IfcExternalInformation extends IfcLineObject {
      constructor() {
        super();
        this.type = 4294318154;
      }
    }
    IFC4X32.IfcExternalInformation = IfcExternalInformation;
    class IfcExternalReference extends IfcLineObject {
      constructor(Location, Identification, Name) {
        super();
        this.Location = Location;
        this.Identification = Identification;
        this.Name = Name;
        this.type = 3200245327;
      }
    }
    IFC4X32.IfcExternalReference = IfcExternalReference;
    class IfcExternallyDefinedHatchStyle extends IfcExternalReference {
      constructor(Location, Identification, Name) {
        super(Location, Identification, Name);
        this.Location = Location;
        this.Identification = Identification;
        this.Name = Name;
        this.type = 2242383968;
      }
    }
    IFC4X32.IfcExternallyDefinedHatchStyle = IfcExternallyDefinedHatchStyle;
    class IfcExternallyDefinedSurfaceStyle extends IfcExternalReference {
      constructor(Location, Identification, Name) {
        super(Location, Identification, Name);
        this.Location = Location;
        this.Identification = Identification;
        this.Name = Name;
        this.type = 1040185647;
      }
    }
    IFC4X32.IfcExternallyDefinedSurfaceStyle = IfcExternallyDefinedSurfaceStyle;
    class IfcExternallyDefinedTextFont extends IfcExternalReference {
      constructor(Location, Identification, Name) {
        super(Location, Identification, Name);
        this.Location = Location;
        this.Identification = Identification;
        this.Name = Name;
        this.type = 3548104201;
      }
    }
    IFC4X32.IfcExternallyDefinedTextFont = IfcExternallyDefinedTextFont;
    class IfcGeographicCRS extends IfcCoordinateReferenceSystem {
      constructor(Name, Description, GeodeticDatum, PrimeMeridian, AngleUnit, HeightUnit) {
        super(Name, Description, GeodeticDatum);
        this.Name = Name;
        this.Description = Description;
        this.GeodeticDatum = GeodeticDatum;
        this.PrimeMeridian = PrimeMeridian;
        this.AngleUnit = AngleUnit;
        this.HeightUnit = HeightUnit;
        this.type = 917726184;
      }
    }
    IFC4X32.IfcGeographicCRS = IfcGeographicCRS;
    class IfcGridAxis extends IfcLineObject {
      constructor(AxisTag, AxisCurve, SameSense) {
        super();
        this.AxisTag = AxisTag;
        this.AxisCurve = AxisCurve;
        this.SameSense = SameSense;
        this.type = 852622518;
      }
    }
    IFC4X32.IfcGridAxis = IfcGridAxis;
    class IfcIrregularTimeSeriesValue extends IfcLineObject {
      constructor(TimeStamp, ListValues) {
        super();
        this.TimeStamp = TimeStamp;
        this.ListValues = ListValues;
        this.type = 3020489413;
      }
    }
    IFC4X32.IfcIrregularTimeSeriesValue = IfcIrregularTimeSeriesValue;
    class IfcLibraryInformation extends IfcExternalInformation {
      constructor(Name, Version, Publisher, VersionDate, Location, Description) {
        super();
        this.Name = Name;
        this.Version = Version;
        this.Publisher = Publisher;
        this.VersionDate = VersionDate;
        this.Location = Location;
        this.Description = Description;
        this.type = 2655187982;
      }
    }
    IFC4X32.IfcLibraryInformation = IfcLibraryInformation;
    class IfcLibraryReference extends IfcExternalReference {
      constructor(Location, Identification, Name, Description, Language, ReferencedLibrary) {
        super(Location, Identification, Name);
        this.Location = Location;
        this.Identification = Identification;
        this.Name = Name;
        this.Description = Description;
        this.Language = Language;
        this.ReferencedLibrary = ReferencedLibrary;
        this.type = 3452421091;
      }
    }
    IFC4X32.IfcLibraryReference = IfcLibraryReference;
    class IfcLightDistributionData extends IfcLineObject {
      constructor(MainPlaneAngle, SecondaryPlaneAngle, LuminousIntensity) {
        super();
        this.MainPlaneAngle = MainPlaneAngle;
        this.SecondaryPlaneAngle = SecondaryPlaneAngle;
        this.LuminousIntensity = LuminousIntensity;
        this.type = 4162380809;
      }
    }
    IFC4X32.IfcLightDistributionData = IfcLightDistributionData;
    class IfcLightIntensityDistribution extends IfcLineObject {
      constructor(LightDistributionCurve, DistributionData) {
        super();
        this.LightDistributionCurve = LightDistributionCurve;
        this.DistributionData = DistributionData;
        this.type = 1566485204;
      }
    }
    IFC4X32.IfcLightIntensityDistribution = IfcLightIntensityDistribution;
    class IfcMapConversion extends IfcCoordinateOperation {
      constructor(SourceCRS, TargetCRS, Eastings, Northings, OrthogonalHeight, XAxisAbscissa, XAxisOrdinate, Scale) {
        super(SourceCRS, TargetCRS);
        this.SourceCRS = SourceCRS;
        this.TargetCRS = TargetCRS;
        this.Eastings = Eastings;
        this.Northings = Northings;
        this.OrthogonalHeight = OrthogonalHeight;
        this.XAxisAbscissa = XAxisAbscissa;
        this.XAxisOrdinate = XAxisOrdinate;
        this.Scale = Scale;
        this.type = 3057273783;
      }
    }
    IFC4X32.IfcMapConversion = IfcMapConversion;
    class IfcMapConversionScaled extends IfcMapConversion {
      constructor(SourceCRS, TargetCRS, Eastings, Northings, OrthogonalHeight, XAxisAbscissa, XAxisOrdinate, Scale, FactorX, FactorY, FactorZ) {
        super(SourceCRS, TargetCRS, Eastings, Northings, OrthogonalHeight, XAxisAbscissa, XAxisOrdinate, Scale);
        this.SourceCRS = SourceCRS;
        this.TargetCRS = TargetCRS;
        this.Eastings = Eastings;
        this.Northings = Northings;
        this.OrthogonalHeight = OrthogonalHeight;
        this.XAxisAbscissa = XAxisAbscissa;
        this.XAxisOrdinate = XAxisOrdinate;
        this.Scale = Scale;
        this.FactorX = FactorX;
        this.FactorY = FactorY;
        this.FactorZ = FactorZ;
        this.type = 4105526436;
      }
    }
    IFC4X32.IfcMapConversionScaled = IfcMapConversionScaled;
    class IfcMaterialClassificationRelationship extends IfcLineObject {
      constructor(MaterialClassifications, ClassifiedMaterial) {
        super();
        this.MaterialClassifications = MaterialClassifications;
        this.ClassifiedMaterial = ClassifiedMaterial;
        this.type = 1847130766;
      }
    }
    IFC4X32.IfcMaterialClassificationRelationship = IfcMaterialClassificationRelationship;
    class IfcMaterialDefinition extends IfcLineObject {
      constructor() {
        super();
        this.type = 760658860;
      }
    }
    IFC4X32.IfcMaterialDefinition = IfcMaterialDefinition;
    class IfcMaterialLayer extends IfcMaterialDefinition {
      constructor(Material, LayerThickness, IsVentilated, Name, Description, Category, Priority) {
        super();
        this.Material = Material;
        this.LayerThickness = LayerThickness;
        this.IsVentilated = IsVentilated;
        this.Name = Name;
        this.Description = Description;
        this.Category = Category;
        this.Priority = Priority;
        this.type = 248100487;
      }
    }
    IFC4X32.IfcMaterialLayer = IfcMaterialLayer;
    class IfcMaterialLayerSet extends IfcMaterialDefinition {
      constructor(MaterialLayers, LayerSetName, Description) {
        super();
        this.MaterialLayers = MaterialLayers;
        this.LayerSetName = LayerSetName;
        this.Description = Description;
        this.type = 3303938423;
      }
    }
    IFC4X32.IfcMaterialLayerSet = IfcMaterialLayerSet;
    class IfcMaterialLayerWithOffsets extends IfcMaterialLayer {
      constructor(Material, LayerThickness, IsVentilated, Name, Description, Category, Priority, OffsetDirection, OffsetValues) {
        super(Material, LayerThickness, IsVentilated, Name, Description, Category, Priority);
        this.Material = Material;
        this.LayerThickness = LayerThickness;
        this.IsVentilated = IsVentilated;
        this.Name = Name;
        this.Description = Description;
        this.Category = Category;
        this.Priority = Priority;
        this.OffsetDirection = OffsetDirection;
        this.OffsetValues = OffsetValues;
        this.type = 1847252529;
      }
    }
    IFC4X32.IfcMaterialLayerWithOffsets = IfcMaterialLayerWithOffsets;
    class IfcMaterialList extends IfcLineObject {
      constructor(Materials) {
        super();
        this.Materials = Materials;
        this.type = 2199411900;
      }
    }
    IFC4X32.IfcMaterialList = IfcMaterialList;
    class IfcMaterialProfile extends IfcMaterialDefinition {
      constructor(Name, Description, Material, Profile, Priority, Category) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.Material = Material;
        this.Profile = Profile;
        this.Priority = Priority;
        this.Category = Category;
        this.type = 2235152071;
      }
    }
    IFC4X32.IfcMaterialProfile = IfcMaterialProfile;
    class IfcMaterialProfileSet extends IfcMaterialDefinition {
      constructor(Name, Description, MaterialProfiles, CompositeProfile) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.MaterialProfiles = MaterialProfiles;
        this.CompositeProfile = CompositeProfile;
        this.type = 164193824;
      }
    }
    IFC4X32.IfcMaterialProfileSet = IfcMaterialProfileSet;
    class IfcMaterialProfileWithOffsets extends IfcMaterialProfile {
      constructor(Name, Description, Material, Profile, Priority, Category, OffsetValues) {
        super(Name, Description, Material, Profile, Priority, Category);
        this.Name = Name;
        this.Description = Description;
        this.Material = Material;
        this.Profile = Profile;
        this.Priority = Priority;
        this.Category = Category;
        this.OffsetValues = OffsetValues;
        this.type = 552965576;
      }
    }
    IFC4X32.IfcMaterialProfileWithOffsets = IfcMaterialProfileWithOffsets;
    class IfcMaterialUsageDefinition extends IfcLineObject {
      constructor() {
        super();
        this.type = 1507914824;
      }
    }
    IFC4X32.IfcMaterialUsageDefinition = IfcMaterialUsageDefinition;
    class IfcMeasureWithUnit extends IfcLineObject {
      constructor(ValueComponent, UnitComponent) {
        super();
        this.ValueComponent = ValueComponent;
        this.UnitComponent = UnitComponent;
        this.type = 2597039031;
      }
    }
    IFC4X32.IfcMeasureWithUnit = IfcMeasureWithUnit;
    class IfcMetric extends IfcConstraint {
      constructor(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade, Benchmark, ValueSource, DataValue, ReferencePath) {
        super(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade);
        this.Name = Name;
        this.Description = Description;
        this.ConstraintGrade = ConstraintGrade;
        this.ConstraintSource = ConstraintSource;
        this.CreatingActor = CreatingActor;
        this.CreationTime = CreationTime;
        this.UserDefinedGrade = UserDefinedGrade;
        this.Benchmark = Benchmark;
        this.ValueSource = ValueSource;
        this.DataValue = DataValue;
        this.ReferencePath = ReferencePath;
        this.type = 3368373690;
      }
    }
    IFC4X32.IfcMetric = IfcMetric;
    class IfcMonetaryUnit extends IfcLineObject {
      constructor(Currency) {
        super();
        this.Currency = Currency;
        this.type = 2706619895;
      }
    }
    IFC4X32.IfcMonetaryUnit = IfcMonetaryUnit;
    class IfcNamedUnit extends IfcLineObject {
      constructor(Dimensions, UnitType) {
        super();
        this.Dimensions = Dimensions;
        this.UnitType = UnitType;
        this.type = 1918398963;
      }
    }
    IFC4X32.IfcNamedUnit = IfcNamedUnit;
    class IfcObjectPlacement extends IfcLineObject {
      constructor(PlacementRelTo) {
        super();
        this.PlacementRelTo = PlacementRelTo;
        this.type = 3701648758;
      }
    }
    IFC4X32.IfcObjectPlacement = IfcObjectPlacement;
    class IfcObjective extends IfcConstraint {
      constructor(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade, BenchmarkValues, LogicalAggregator, ObjectiveQualifier, UserDefinedQualifier) {
        super(Name, Description, ConstraintGrade, ConstraintSource, CreatingActor, CreationTime, UserDefinedGrade);
        this.Name = Name;
        this.Description = Description;
        this.ConstraintGrade = ConstraintGrade;
        this.ConstraintSource = ConstraintSource;
        this.CreatingActor = CreatingActor;
        this.CreationTime = CreationTime;
        this.UserDefinedGrade = UserDefinedGrade;
        this.BenchmarkValues = BenchmarkValues;
        this.LogicalAggregator = LogicalAggregator;
        this.ObjectiveQualifier = ObjectiveQualifier;
        this.UserDefinedQualifier = UserDefinedQualifier;
        this.type = 2251480897;
      }
    }
    IFC4X32.IfcObjective = IfcObjective;
    class IfcOrganization extends IfcLineObject {
      constructor(Identification, Name, Description, Roles, Addresses) {
        super();
        this.Identification = Identification;
        this.Name = Name;
        this.Description = Description;
        this.Roles = Roles;
        this.Addresses = Addresses;
        this.type = 4251960020;
      }
    }
    IFC4X32.IfcOrganization = IfcOrganization;
    class IfcOwnerHistory extends IfcLineObject {
      constructor(OwningUser, OwningApplication, State, ChangeAction, LastModifiedDate, LastModifyingUser, LastModifyingApplication, CreationDate) {
        super();
        this.OwningUser = OwningUser;
        this.OwningApplication = OwningApplication;
        this.State = State;
        this.ChangeAction = ChangeAction;
        this.LastModifiedDate = LastModifiedDate;
        this.LastModifyingUser = LastModifyingUser;
        this.LastModifyingApplication = LastModifyingApplication;
        this.CreationDate = CreationDate;
        this.type = 1207048766;
      }
    }
    IFC4X32.IfcOwnerHistory = IfcOwnerHistory;
    class IfcPerson extends IfcLineObject {
      constructor(Identification, FamilyName, GivenName, MiddleNames, PrefixTitles, SuffixTitles, Roles, Addresses) {
        super();
        this.Identification = Identification;
        this.FamilyName = FamilyName;
        this.GivenName = GivenName;
        this.MiddleNames = MiddleNames;
        this.PrefixTitles = PrefixTitles;
        this.SuffixTitles = SuffixTitles;
        this.Roles = Roles;
        this.Addresses = Addresses;
        this.type = 2077209135;
      }
    }
    IFC4X32.IfcPerson = IfcPerson;
    class IfcPersonAndOrganization extends IfcLineObject {
      constructor(ThePerson, TheOrganization, Roles) {
        super();
        this.ThePerson = ThePerson;
        this.TheOrganization = TheOrganization;
        this.Roles = Roles;
        this.type = 101040310;
      }
    }
    IFC4X32.IfcPersonAndOrganization = IfcPersonAndOrganization;
    class IfcPhysicalQuantity extends IfcLineObject {
      constructor(Name, Description) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.type = 2483315170;
      }
    }
    IFC4X32.IfcPhysicalQuantity = IfcPhysicalQuantity;
    class IfcPhysicalSimpleQuantity extends IfcPhysicalQuantity {
      constructor(Name, Description, Unit) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.type = 2226359599;
      }
    }
    IFC4X32.IfcPhysicalSimpleQuantity = IfcPhysicalSimpleQuantity;
    class IfcPostalAddress extends IfcAddress {
      constructor(Purpose, Description, UserDefinedPurpose, InternalLocation, AddressLines, PostalBox, Town, Region, PostalCode, Country) {
        super(Purpose, Description, UserDefinedPurpose);
        this.Purpose = Purpose;
        this.Description = Description;
        this.UserDefinedPurpose = UserDefinedPurpose;
        this.InternalLocation = InternalLocation;
        this.AddressLines = AddressLines;
        this.PostalBox = PostalBox;
        this.Town = Town;
        this.Region = Region;
        this.PostalCode = PostalCode;
        this.Country = Country;
        this.type = 3355820592;
      }
    }
    IFC4X32.IfcPostalAddress = IfcPostalAddress;
    class IfcPresentationItem extends IfcLineObject {
      constructor() {
        super();
        this.type = 677532197;
      }
    }
    IFC4X32.IfcPresentationItem = IfcPresentationItem;
    class IfcPresentationLayerAssignment extends IfcLineObject {
      constructor(Name, Description, AssignedItems, Identifier) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.AssignedItems = AssignedItems;
        this.Identifier = Identifier;
        this.type = 2022622350;
      }
    }
    IFC4X32.IfcPresentationLayerAssignment = IfcPresentationLayerAssignment;
    class IfcPresentationLayerWithStyle extends IfcPresentationLayerAssignment {
      constructor(Name, Description, AssignedItems, Identifier, LayerOn, LayerFrozen, LayerBlocked, LayerStyles) {
        super(Name, Description, AssignedItems, Identifier);
        this.Name = Name;
        this.Description = Description;
        this.AssignedItems = AssignedItems;
        this.Identifier = Identifier;
        this.LayerOn = LayerOn;
        this.LayerFrozen = LayerFrozen;
        this.LayerBlocked = LayerBlocked;
        this.LayerStyles = LayerStyles;
        this.type = 1304840413;
      }
    }
    IFC4X32.IfcPresentationLayerWithStyle = IfcPresentationLayerWithStyle;
    class IfcPresentationStyle extends IfcLineObject {
      constructor(Name) {
        super();
        this.Name = Name;
        this.type = 3119450353;
      }
    }
    IFC4X32.IfcPresentationStyle = IfcPresentationStyle;
    class IfcProductRepresentation extends IfcLineObject {
      constructor(Name, Description, Representations) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.Representations = Representations;
        this.type = 2095639259;
      }
    }
    IFC4X32.IfcProductRepresentation = IfcProductRepresentation;
    class IfcProfileDef extends IfcLineObject {
      constructor(ProfileType, ProfileName) {
        super();
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.type = 3958567839;
      }
    }
    IFC4X32.IfcProfileDef = IfcProfileDef;
    class IfcProjectedCRS extends IfcCoordinateReferenceSystem {
      constructor(Name, Description, GeodeticDatum, VerticalDatum, MapProjection, MapZone, MapUnit) {
        super(Name, Description, GeodeticDatum);
        this.Name = Name;
        this.Description = Description;
        this.GeodeticDatum = GeodeticDatum;
        this.VerticalDatum = VerticalDatum;
        this.MapProjection = MapProjection;
        this.MapZone = MapZone;
        this.MapUnit = MapUnit;
        this.type = 3843373140;
      }
    }
    IFC4X32.IfcProjectedCRS = IfcProjectedCRS;
    class IfcPropertyAbstraction extends IfcLineObject {
      constructor() {
        super();
        this.type = 986844984;
      }
    }
    IFC4X32.IfcPropertyAbstraction = IfcPropertyAbstraction;
    class IfcPropertyEnumeration extends IfcPropertyAbstraction {
      constructor(Name, EnumerationValues, Unit) {
        super();
        this.Name = Name;
        this.EnumerationValues = EnumerationValues;
        this.Unit = Unit;
        this.type = 3710013099;
      }
    }
    IFC4X32.IfcPropertyEnumeration = IfcPropertyEnumeration;
    class IfcQuantityArea extends IfcPhysicalSimpleQuantity {
      constructor(Name, Description, Unit, AreaValue, Formula) {
        super(Name, Description, Unit);
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.AreaValue = AreaValue;
        this.Formula = Formula;
        this.type = 2044713172;
      }
    }
    IFC4X32.IfcQuantityArea = IfcQuantityArea;
    class IfcQuantityCount extends IfcPhysicalSimpleQuantity {
      constructor(Name, Description, Unit, CountValue, Formula) {
        super(Name, Description, Unit);
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.CountValue = CountValue;
        this.Formula = Formula;
        this.type = 2093928680;
      }
    }
    IFC4X32.IfcQuantityCount = IfcQuantityCount;
    class IfcQuantityLength extends IfcPhysicalSimpleQuantity {
      constructor(Name, Description, Unit, LengthValue, Formula) {
        super(Name, Description, Unit);
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.LengthValue = LengthValue;
        this.Formula = Formula;
        this.type = 931644368;
      }
    }
    IFC4X32.IfcQuantityLength = IfcQuantityLength;
    class IfcQuantityNumber extends IfcPhysicalSimpleQuantity {
      constructor(Name, Description, Unit, NumberValue, Formula) {
        super(Name, Description, Unit);
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.NumberValue = NumberValue;
        this.Formula = Formula;
        this.type = 2691318326;
      }
    }
    IFC4X32.IfcQuantityNumber = IfcQuantityNumber;
    class IfcQuantityTime extends IfcPhysicalSimpleQuantity {
      constructor(Name, Description, Unit, TimeValue, Formula) {
        super(Name, Description, Unit);
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.TimeValue = TimeValue;
        this.Formula = Formula;
        this.type = 3252649465;
      }
    }
    IFC4X32.IfcQuantityTime = IfcQuantityTime;
    class IfcQuantityVolume extends IfcPhysicalSimpleQuantity {
      constructor(Name, Description, Unit, VolumeValue, Formula) {
        super(Name, Description, Unit);
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.VolumeValue = VolumeValue;
        this.Formula = Formula;
        this.type = 2405470396;
      }
    }
    IFC4X32.IfcQuantityVolume = IfcQuantityVolume;
    class IfcQuantityWeight extends IfcPhysicalSimpleQuantity {
      constructor(Name, Description, Unit, WeightValue, Formula) {
        super(Name, Description, Unit);
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.WeightValue = WeightValue;
        this.Formula = Formula;
        this.type = 825690147;
      }
    }
    IFC4X32.IfcQuantityWeight = IfcQuantityWeight;
    class IfcRecurrencePattern extends IfcLineObject {
      constructor(RecurrenceType, DayComponent, WeekdayComponent, MonthComponent, Position, Interval, Occurrences, TimePeriods) {
        super();
        this.RecurrenceType = RecurrenceType;
        this.DayComponent = DayComponent;
        this.WeekdayComponent = WeekdayComponent;
        this.MonthComponent = MonthComponent;
        this.Position = Position;
        this.Interval = Interval;
        this.Occurrences = Occurrences;
        this.TimePeriods = TimePeriods;
        this.type = 3915482550;
      }
    }
    IFC4X32.IfcRecurrencePattern = IfcRecurrencePattern;
    class IfcReference extends IfcLineObject {
      constructor(TypeIdentifier, AttributeIdentifier, InstanceName, ListPositions, InnerReference) {
        super();
        this.TypeIdentifier = TypeIdentifier;
        this.AttributeIdentifier = AttributeIdentifier;
        this.InstanceName = InstanceName;
        this.ListPositions = ListPositions;
        this.InnerReference = InnerReference;
        this.type = 2433181523;
      }
    }
    IFC4X32.IfcReference = IfcReference;
    class IfcRepresentation extends IfcLineObject {
      constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
        super();
        this.ContextOfItems = ContextOfItems;
        this.RepresentationIdentifier = RepresentationIdentifier;
        this.RepresentationType = RepresentationType;
        this.Items = Items;
        this.type = 1076942058;
      }
    }
    IFC4X32.IfcRepresentation = IfcRepresentation;
    class IfcRepresentationContext extends IfcLineObject {
      constructor(ContextIdentifier, ContextType) {
        super();
        this.ContextIdentifier = ContextIdentifier;
        this.ContextType = ContextType;
        this.type = 3377609919;
      }
    }
    IFC4X32.IfcRepresentationContext = IfcRepresentationContext;
    class IfcRepresentationItem extends IfcLineObject {
      constructor() {
        super();
        this.type = 3008791417;
      }
    }
    IFC4X32.IfcRepresentationItem = IfcRepresentationItem;
    class IfcRepresentationMap extends IfcLineObject {
      constructor(MappingOrigin, MappedRepresentation) {
        super();
        this.MappingOrigin = MappingOrigin;
        this.MappedRepresentation = MappedRepresentation;
        this.type = 1660063152;
      }
    }
    IFC4X32.IfcRepresentationMap = IfcRepresentationMap;
    class IfcResourceLevelRelationship extends IfcLineObject {
      constructor(Name, Description) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.type = 2439245199;
      }
    }
    IFC4X32.IfcResourceLevelRelationship = IfcResourceLevelRelationship;
    class IfcRigidOperation extends IfcCoordinateOperation {
      constructor(SourceCRS, TargetCRS, FirstCoordinate, SecondCoordinate, Height) {
        super(SourceCRS, TargetCRS);
        this.SourceCRS = SourceCRS;
        this.TargetCRS = TargetCRS;
        this.FirstCoordinate = FirstCoordinate;
        this.SecondCoordinate = SecondCoordinate;
        this.Height = Height;
        this.type = 1794013214;
      }
    }
    IFC4X32.IfcRigidOperation = IfcRigidOperation;
    class IfcRoot extends IfcLineObject {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super();
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 2341007311;
      }
    }
    IFC4X32.IfcRoot = IfcRoot;
    class IfcSIUnit extends IfcNamedUnit {
      constructor(UnitType, Prefix, Name) {
        super(new Handle(0), UnitType);
        this.UnitType = UnitType;
        this.Prefix = Prefix;
        this.Name = Name;
        this.type = 448429030;
      }
    }
    IFC4X32.IfcSIUnit = IfcSIUnit;
    class IfcSchedulingTime extends IfcLineObject {
      constructor(Name, DataOrigin, UserDefinedDataOrigin) {
        super();
        this.Name = Name;
        this.DataOrigin = DataOrigin;
        this.UserDefinedDataOrigin = UserDefinedDataOrigin;
        this.type = 1054537805;
      }
    }
    IFC4X32.IfcSchedulingTime = IfcSchedulingTime;
    class IfcShapeAspect extends IfcLineObject {
      constructor(ShapeRepresentations, Name, Description, ProductDefinitional, PartOfProductDefinitionShape) {
        super();
        this.ShapeRepresentations = ShapeRepresentations;
        this.Name = Name;
        this.Description = Description;
        this.ProductDefinitional = ProductDefinitional;
        this.PartOfProductDefinitionShape = PartOfProductDefinitionShape;
        this.type = 867548509;
      }
    }
    IFC4X32.IfcShapeAspect = IfcShapeAspect;
    class IfcShapeModel extends IfcRepresentation {
      constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
        super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items);
        this.ContextOfItems = ContextOfItems;
        this.RepresentationIdentifier = RepresentationIdentifier;
        this.RepresentationType = RepresentationType;
        this.Items = Items;
        this.type = 3982875396;
      }
    }
    IFC4X32.IfcShapeModel = IfcShapeModel;
    class IfcShapeRepresentation extends IfcShapeModel {
      constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
        super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items);
        this.ContextOfItems = ContextOfItems;
        this.RepresentationIdentifier = RepresentationIdentifier;
        this.RepresentationType = RepresentationType;
        this.Items = Items;
        this.type = 4240577450;
      }
    }
    IFC4X32.IfcShapeRepresentation = IfcShapeRepresentation;
    class IfcStructuralConnectionCondition extends IfcLineObject {
      constructor(Name) {
        super();
        this.Name = Name;
        this.type = 2273995522;
      }
    }
    IFC4X32.IfcStructuralConnectionCondition = IfcStructuralConnectionCondition;
    class IfcStructuralLoad extends IfcLineObject {
      constructor(Name) {
        super();
        this.Name = Name;
        this.type = 2162789131;
      }
    }
    IFC4X32.IfcStructuralLoad = IfcStructuralLoad;
    class IfcStructuralLoadConfiguration extends IfcStructuralLoad {
      constructor(Name, Values, Locations) {
        super(Name);
        this.Name = Name;
        this.Values = Values;
        this.Locations = Locations;
        this.type = 3478079324;
      }
    }
    IFC4X32.IfcStructuralLoadConfiguration = IfcStructuralLoadConfiguration;
    class IfcStructuralLoadOrResult extends IfcStructuralLoad {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 609421318;
      }
    }
    IFC4X32.IfcStructuralLoadOrResult = IfcStructuralLoadOrResult;
    class IfcStructuralLoadStatic extends IfcStructuralLoadOrResult {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 2525727697;
      }
    }
    IFC4X32.IfcStructuralLoadStatic = IfcStructuralLoadStatic;
    class IfcStructuralLoadTemperature extends IfcStructuralLoadStatic {
      constructor(Name, DeltaTConstant, DeltaTY, DeltaTZ) {
        super(Name);
        this.Name = Name;
        this.DeltaTConstant = DeltaTConstant;
        this.DeltaTY = DeltaTY;
        this.DeltaTZ = DeltaTZ;
        this.type = 3408363356;
      }
    }
    IFC4X32.IfcStructuralLoadTemperature = IfcStructuralLoadTemperature;
    class IfcStyleModel extends IfcRepresentation {
      constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
        super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items);
        this.ContextOfItems = ContextOfItems;
        this.RepresentationIdentifier = RepresentationIdentifier;
        this.RepresentationType = RepresentationType;
        this.Items = Items;
        this.type = 2830218821;
      }
    }
    IFC4X32.IfcStyleModel = IfcStyleModel;
    class IfcStyledItem extends IfcRepresentationItem {
      constructor(Item, Styles, Name) {
        super();
        this.Item = Item;
        this.Styles = Styles;
        this.Name = Name;
        this.type = 3958052878;
      }
    }
    IFC4X32.IfcStyledItem = IfcStyledItem;
    class IfcStyledRepresentation extends IfcStyleModel {
      constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
        super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items);
        this.ContextOfItems = ContextOfItems;
        this.RepresentationIdentifier = RepresentationIdentifier;
        this.RepresentationType = RepresentationType;
        this.Items = Items;
        this.type = 3049322572;
      }
    }
    IFC4X32.IfcStyledRepresentation = IfcStyledRepresentation;
    class IfcSurfaceReinforcementArea extends IfcStructuralLoadOrResult {
      constructor(Name, SurfaceReinforcement1, SurfaceReinforcement2, ShearReinforcement) {
        super(Name);
        this.Name = Name;
        this.SurfaceReinforcement1 = SurfaceReinforcement1;
        this.SurfaceReinforcement2 = SurfaceReinforcement2;
        this.ShearReinforcement = ShearReinforcement;
        this.type = 2934153892;
      }
    }
    IFC4X32.IfcSurfaceReinforcementArea = IfcSurfaceReinforcementArea;
    class IfcSurfaceStyle extends IfcPresentationStyle {
      constructor(Name, Side, Styles) {
        super(Name);
        this.Name = Name;
        this.Side = Side;
        this.Styles = Styles;
        this.type = 1300840506;
      }
    }
    IFC4X32.IfcSurfaceStyle = IfcSurfaceStyle;
    class IfcSurfaceStyleLighting extends IfcPresentationItem {
      constructor(DiffuseTransmissionColour, DiffuseReflectionColour, TransmissionColour, ReflectanceColour) {
        super();
        this.DiffuseTransmissionColour = DiffuseTransmissionColour;
        this.DiffuseReflectionColour = DiffuseReflectionColour;
        this.TransmissionColour = TransmissionColour;
        this.ReflectanceColour = ReflectanceColour;
        this.type = 3303107099;
      }
    }
    IFC4X32.IfcSurfaceStyleLighting = IfcSurfaceStyleLighting;
    class IfcSurfaceStyleRefraction extends IfcPresentationItem {
      constructor(RefractionIndex, DispersionFactor) {
        super();
        this.RefractionIndex = RefractionIndex;
        this.DispersionFactor = DispersionFactor;
        this.type = 1607154358;
      }
    }
    IFC4X32.IfcSurfaceStyleRefraction = IfcSurfaceStyleRefraction;
    class IfcSurfaceStyleShading extends IfcPresentationItem {
      constructor(SurfaceColour, Transparency) {
        super();
        this.SurfaceColour = SurfaceColour;
        this.Transparency = Transparency;
        this.type = 846575682;
      }
    }
    IFC4X32.IfcSurfaceStyleShading = IfcSurfaceStyleShading;
    class IfcSurfaceStyleWithTextures extends IfcPresentationItem {
      constructor(Textures) {
        super();
        this.Textures = Textures;
        this.type = 1351298697;
      }
    }
    IFC4X32.IfcSurfaceStyleWithTextures = IfcSurfaceStyleWithTextures;
    class IfcSurfaceTexture extends IfcPresentationItem {
      constructor(RepeatS, RepeatT, Mode, TextureTransform, Parameter) {
        super();
        this.RepeatS = RepeatS;
        this.RepeatT = RepeatT;
        this.Mode = Mode;
        this.TextureTransform = TextureTransform;
        this.Parameter = Parameter;
        this.type = 626085974;
      }
    }
    IFC4X32.IfcSurfaceTexture = IfcSurfaceTexture;
    class IfcTable extends IfcLineObject {
      constructor(Name, Rows, Columns) {
        super();
        this.Name = Name;
        this.Rows = Rows;
        this.Columns = Columns;
        this.type = 985171141;
      }
    }
    IFC4X32.IfcTable = IfcTable;
    class IfcTableColumn extends IfcLineObject {
      constructor(Identifier, Name, Description, Unit, ReferencePath) {
        super();
        this.Identifier = Identifier;
        this.Name = Name;
        this.Description = Description;
        this.Unit = Unit;
        this.ReferencePath = ReferencePath;
        this.type = 2043862942;
      }
    }
    IFC4X32.IfcTableColumn = IfcTableColumn;
    class IfcTableRow extends IfcLineObject {
      constructor(RowCells, IsHeading) {
        super();
        this.RowCells = RowCells;
        this.IsHeading = IsHeading;
        this.type = 531007025;
      }
    }
    IFC4X32.IfcTableRow = IfcTableRow;
    class IfcTaskTime extends IfcSchedulingTime {
      constructor(Name, DataOrigin, UserDefinedDataOrigin, DurationType, ScheduleDuration, ScheduleStart, ScheduleFinish, EarlyStart, EarlyFinish, LateStart, LateFinish, FreeFloat, TotalFloat, IsCritical, StatusTime, ActualDuration, ActualStart, ActualFinish, RemainingTime, Completion) {
        super(Name, DataOrigin, UserDefinedDataOrigin);
        this.Name = Name;
        this.DataOrigin = DataOrigin;
        this.UserDefinedDataOrigin = UserDefinedDataOrigin;
        this.DurationType = DurationType;
        this.ScheduleDuration = ScheduleDuration;
        this.ScheduleStart = ScheduleStart;
        this.ScheduleFinish = ScheduleFinish;
        this.EarlyStart = EarlyStart;
        this.EarlyFinish = EarlyFinish;
        this.LateStart = LateStart;
        this.LateFinish = LateFinish;
        this.FreeFloat = FreeFloat;
        this.TotalFloat = TotalFloat;
        this.IsCritical = IsCritical;
        this.StatusTime = StatusTime;
        this.ActualDuration = ActualDuration;
        this.ActualStart = ActualStart;
        this.ActualFinish = ActualFinish;
        this.RemainingTime = RemainingTime;
        this.Completion = Completion;
        this.type = 1549132990;
      }
    }
    IFC4X32.IfcTaskTime = IfcTaskTime;
    class IfcTaskTimeRecurring extends IfcTaskTime {
      constructor(Name, DataOrigin, UserDefinedDataOrigin, DurationType, ScheduleDuration, ScheduleStart, ScheduleFinish, EarlyStart, EarlyFinish, LateStart, LateFinish, FreeFloat, TotalFloat, IsCritical, StatusTime, ActualDuration, ActualStart, ActualFinish, RemainingTime, Completion, Recurrence) {
        super(Name, DataOrigin, UserDefinedDataOrigin, DurationType, ScheduleDuration, ScheduleStart, ScheduleFinish, EarlyStart, EarlyFinish, LateStart, LateFinish, FreeFloat, TotalFloat, IsCritical, StatusTime, ActualDuration, ActualStart, ActualFinish, RemainingTime, Completion);
        this.Name = Name;
        this.DataOrigin = DataOrigin;
        this.UserDefinedDataOrigin = UserDefinedDataOrigin;
        this.DurationType = DurationType;
        this.ScheduleDuration = ScheduleDuration;
        this.ScheduleStart = ScheduleStart;
        this.ScheduleFinish = ScheduleFinish;
        this.EarlyStart = EarlyStart;
        this.EarlyFinish = EarlyFinish;
        this.LateStart = LateStart;
        this.LateFinish = LateFinish;
        this.FreeFloat = FreeFloat;
        this.TotalFloat = TotalFloat;
        this.IsCritical = IsCritical;
        this.StatusTime = StatusTime;
        this.ActualDuration = ActualDuration;
        this.ActualStart = ActualStart;
        this.ActualFinish = ActualFinish;
        this.RemainingTime = RemainingTime;
        this.Completion = Completion;
        this.Recurrence = Recurrence;
        this.type = 2771591690;
      }
    }
    IFC4X32.IfcTaskTimeRecurring = IfcTaskTimeRecurring;
    class IfcTelecomAddress extends IfcAddress {
      constructor(Purpose, Description, UserDefinedPurpose, TelephoneNumbers, FacsimileNumbers, PagerNumber, ElectronicMailAddresses, WWWHomePageURL, MessagingIDs) {
        super(Purpose, Description, UserDefinedPurpose);
        this.Purpose = Purpose;
        this.Description = Description;
        this.UserDefinedPurpose = UserDefinedPurpose;
        this.TelephoneNumbers = TelephoneNumbers;
        this.FacsimileNumbers = FacsimileNumbers;
        this.PagerNumber = PagerNumber;
        this.ElectronicMailAddresses = ElectronicMailAddresses;
        this.WWWHomePageURL = WWWHomePageURL;
        this.MessagingIDs = MessagingIDs;
        this.type = 912023232;
      }
    }
    IFC4X32.IfcTelecomAddress = IfcTelecomAddress;
    class IfcTextStyle extends IfcPresentationStyle {
      constructor(Name, TextCharacterAppearance, TextStyle, TextFontStyle, ModelOrDraughting) {
        super(Name);
        this.Name = Name;
        this.TextCharacterAppearance = TextCharacterAppearance;
        this.TextStyle = TextStyle;
        this.TextFontStyle = TextFontStyle;
        this.ModelOrDraughting = ModelOrDraughting;
        this.type = 1447204868;
      }
    }
    IFC4X32.IfcTextStyle = IfcTextStyle;
    class IfcTextStyleForDefinedFont extends IfcPresentationItem {
      constructor(Colour, BackgroundColour) {
        super();
        this.Colour = Colour;
        this.BackgroundColour = BackgroundColour;
        this.type = 2636378356;
      }
    }
    IFC4X32.IfcTextStyleForDefinedFont = IfcTextStyleForDefinedFont;
    class IfcTextStyleTextModel extends IfcPresentationItem {
      constructor(TextIndent, TextAlign, TextDecoration, LetterSpacing, WordSpacing, TextTransform, LineHeight) {
        super();
        this.TextIndent = TextIndent;
        this.TextAlign = TextAlign;
        this.TextDecoration = TextDecoration;
        this.LetterSpacing = LetterSpacing;
        this.WordSpacing = WordSpacing;
        this.TextTransform = TextTransform;
        this.LineHeight = LineHeight;
        this.type = 1640371178;
      }
    }
    IFC4X32.IfcTextStyleTextModel = IfcTextStyleTextModel;
    class IfcTextureCoordinate extends IfcPresentationItem {
      constructor(Maps) {
        super();
        this.Maps = Maps;
        this.type = 280115917;
      }
    }
    IFC4X32.IfcTextureCoordinate = IfcTextureCoordinate;
    class IfcTextureCoordinateGenerator extends IfcTextureCoordinate {
      constructor(Maps, Mode, Parameter) {
        super(Maps);
        this.Maps = Maps;
        this.Mode = Mode;
        this.Parameter = Parameter;
        this.type = 1742049831;
      }
    }
    IFC4X32.IfcTextureCoordinateGenerator = IfcTextureCoordinateGenerator;
    class IfcTextureCoordinateIndices extends IfcLineObject {
      constructor(TexCoordIndex, TexCoordsOf) {
        super();
        this.TexCoordIndex = TexCoordIndex;
        this.TexCoordsOf = TexCoordsOf;
        this.type = 222769930;
      }
    }
    IFC4X32.IfcTextureCoordinateIndices = IfcTextureCoordinateIndices;
    class IfcTextureCoordinateIndicesWithVoids extends IfcTextureCoordinateIndices {
      constructor(TexCoordIndex, TexCoordsOf, InnerTexCoordIndices) {
        super(TexCoordIndex, TexCoordsOf);
        this.TexCoordIndex = TexCoordIndex;
        this.TexCoordsOf = TexCoordsOf;
        this.InnerTexCoordIndices = InnerTexCoordIndices;
        this.type = 1010789467;
      }
    }
    IFC4X32.IfcTextureCoordinateIndicesWithVoids = IfcTextureCoordinateIndicesWithVoids;
    class IfcTextureMap extends IfcTextureCoordinate {
      constructor(Maps, Vertices, MappedTo) {
        super(Maps);
        this.Maps = Maps;
        this.Vertices = Vertices;
        this.MappedTo = MappedTo;
        this.type = 2552916305;
      }
    }
    IFC4X32.IfcTextureMap = IfcTextureMap;
    class IfcTextureVertex extends IfcPresentationItem {
      constructor(Coordinates) {
        super();
        this.Coordinates = Coordinates;
        this.type = 1210645708;
      }
    }
    IFC4X32.IfcTextureVertex = IfcTextureVertex;
    class IfcTextureVertexList extends IfcPresentationItem {
      constructor(TexCoordsList) {
        super();
        this.TexCoordsList = TexCoordsList;
        this.type = 3611470254;
      }
    }
    IFC4X32.IfcTextureVertexList = IfcTextureVertexList;
    class IfcTimePeriod extends IfcLineObject {
      constructor(StartTime, EndTime) {
        super();
        this.StartTime = StartTime;
        this.EndTime = EndTime;
        this.type = 1199560280;
      }
    }
    IFC4X32.IfcTimePeriod = IfcTimePeriod;
    class IfcTimeSeries extends IfcLineObject {
      constructor(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.StartTime = StartTime;
        this.EndTime = EndTime;
        this.TimeSeriesDataType = TimeSeriesDataType;
        this.DataOrigin = DataOrigin;
        this.UserDefinedDataOrigin = UserDefinedDataOrigin;
        this.Unit = Unit;
        this.type = 3101149627;
      }
    }
    IFC4X32.IfcTimeSeries = IfcTimeSeries;
    class IfcTimeSeriesValue extends IfcLineObject {
      constructor(ListValues) {
        super();
        this.ListValues = ListValues;
        this.type = 581633288;
      }
    }
    IFC4X32.IfcTimeSeriesValue = IfcTimeSeriesValue;
    class IfcTopologicalRepresentationItem extends IfcRepresentationItem {
      constructor() {
        super();
        this.type = 1377556343;
      }
    }
    IFC4X32.IfcTopologicalRepresentationItem = IfcTopologicalRepresentationItem;
    class IfcTopologyRepresentation extends IfcShapeModel {
      constructor(ContextOfItems, RepresentationIdentifier, RepresentationType, Items) {
        super(ContextOfItems, RepresentationIdentifier, RepresentationType, Items);
        this.ContextOfItems = ContextOfItems;
        this.RepresentationIdentifier = RepresentationIdentifier;
        this.RepresentationType = RepresentationType;
        this.Items = Items;
        this.type = 1735638870;
      }
    }
    IFC4X32.IfcTopologyRepresentation = IfcTopologyRepresentation;
    class IfcUnitAssignment extends IfcLineObject {
      constructor(Units) {
        super();
        this.Units = Units;
        this.type = 180925521;
      }
    }
    IFC4X32.IfcUnitAssignment = IfcUnitAssignment;
    class IfcVertex extends IfcTopologicalRepresentationItem {
      constructor() {
        super();
        this.type = 2799835756;
      }
    }
    IFC4X32.IfcVertex = IfcVertex;
    class IfcVertexPoint extends IfcVertex {
      constructor(VertexGeometry) {
        super();
        this.VertexGeometry = VertexGeometry;
        this.type = 1907098498;
      }
    }
    IFC4X32.IfcVertexPoint = IfcVertexPoint;
    class IfcVirtualGridIntersection extends IfcLineObject {
      constructor(IntersectingAxes, OffsetDistances) {
        super();
        this.IntersectingAxes = IntersectingAxes;
        this.OffsetDistances = OffsetDistances;
        this.type = 891718957;
      }
    }
    IFC4X32.IfcVirtualGridIntersection = IfcVirtualGridIntersection;
    class IfcWellKnownText extends IfcLineObject {
      constructor(WellKnownText, CoordinateReferenceSystem) {
        super();
        this.WellKnownText = WellKnownText;
        this.CoordinateReferenceSystem = CoordinateReferenceSystem;
        this.type = 1175146630;
      }
    }
    IFC4X32.IfcWellKnownText = IfcWellKnownText;
    class IfcWorkTime extends IfcSchedulingTime {
      constructor(Name, DataOrigin, UserDefinedDataOrigin, RecurrencePattern, StartDate, FinishDate) {
        super(Name, DataOrigin, UserDefinedDataOrigin);
        this.Name = Name;
        this.DataOrigin = DataOrigin;
        this.UserDefinedDataOrigin = UserDefinedDataOrigin;
        this.RecurrencePattern = RecurrencePattern;
        this.StartDate = StartDate;
        this.FinishDate = FinishDate;
        this.type = 1236880293;
      }
    }
    IFC4X32.IfcWorkTime = IfcWorkTime;
    class IfcAlignmentCantSegment extends IfcAlignmentParameterSegment {
      constructor(StartTag, EndTag, StartDistAlong, HorizontalLength, StartCantLeft, EndCantLeft, StartCantRight, EndCantRight, PredefinedType) {
        super(StartTag, EndTag);
        this.StartTag = StartTag;
        this.EndTag = EndTag;
        this.StartDistAlong = StartDistAlong;
        this.HorizontalLength = HorizontalLength;
        this.StartCantLeft = StartCantLeft;
        this.EndCantLeft = EndCantLeft;
        this.StartCantRight = StartCantRight;
        this.EndCantRight = EndCantRight;
        this.PredefinedType = PredefinedType;
        this.type = 3752311538;
      }
    }
    IFC4X32.IfcAlignmentCantSegment = IfcAlignmentCantSegment;
    class IfcAlignmentHorizontalSegment extends IfcAlignmentParameterSegment {
      constructor(StartTag, EndTag, StartPoint, StartDirection, StartRadiusOfCurvature, EndRadiusOfCurvature, SegmentLength, GravityCenterLineHeight, PredefinedType) {
        super(StartTag, EndTag);
        this.StartTag = StartTag;
        this.EndTag = EndTag;
        this.StartPoint = StartPoint;
        this.StartDirection = StartDirection;
        this.StartRadiusOfCurvature = StartRadiusOfCurvature;
        this.EndRadiusOfCurvature = EndRadiusOfCurvature;
        this.SegmentLength = SegmentLength;
        this.GravityCenterLineHeight = GravityCenterLineHeight;
        this.PredefinedType = PredefinedType;
        this.type = 536804194;
      }
    }
    IFC4X32.IfcAlignmentHorizontalSegment = IfcAlignmentHorizontalSegment;
    class IfcApprovalRelationship extends IfcResourceLevelRelationship {
      constructor(Name, Description, RelatingApproval, RelatedApprovals) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.RelatingApproval = RelatingApproval;
        this.RelatedApprovals = RelatedApprovals;
        this.type = 3869604511;
      }
    }
    IFC4X32.IfcApprovalRelationship = IfcApprovalRelationship;
    class IfcArbitraryClosedProfileDef extends IfcProfileDef {
      constructor(ProfileType, ProfileName, OuterCurve) {
        super(ProfileType, ProfileName);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.OuterCurve = OuterCurve;
        this.type = 3798115385;
      }
    }
    IFC4X32.IfcArbitraryClosedProfileDef = IfcArbitraryClosedProfileDef;
    class IfcArbitraryOpenProfileDef extends IfcProfileDef {
      constructor(ProfileType, ProfileName, Curve) {
        super(ProfileType, ProfileName);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Curve = Curve;
        this.type = 1310608509;
      }
    }
    IFC4X32.IfcArbitraryOpenProfileDef = IfcArbitraryOpenProfileDef;
    class IfcArbitraryProfileDefWithVoids extends IfcArbitraryClosedProfileDef {
      constructor(ProfileType, ProfileName, OuterCurve, InnerCurves) {
        super(ProfileType, ProfileName, OuterCurve);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.OuterCurve = OuterCurve;
        this.InnerCurves = InnerCurves;
        this.type = 2705031697;
      }
    }
    IFC4X32.IfcArbitraryProfileDefWithVoids = IfcArbitraryProfileDefWithVoids;
    class IfcBlobTexture extends IfcSurfaceTexture {
      constructor(RepeatS, RepeatT, Mode, TextureTransform, Parameter, RasterFormat, RasterCode) {
        super(RepeatS, RepeatT, Mode, TextureTransform, Parameter);
        this.RepeatS = RepeatS;
        this.RepeatT = RepeatT;
        this.Mode = Mode;
        this.TextureTransform = TextureTransform;
        this.Parameter = Parameter;
        this.RasterFormat = RasterFormat;
        this.RasterCode = RasterCode;
        this.type = 616511568;
      }
    }
    IFC4X32.IfcBlobTexture = IfcBlobTexture;
    class IfcCenterLineProfileDef extends IfcArbitraryOpenProfileDef {
      constructor(ProfileType, ProfileName, Curve, Thickness) {
        super(ProfileType, ProfileName, Curve);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Curve = Curve;
        this.Thickness = Thickness;
        this.type = 3150382593;
      }
    }
    IFC4X32.IfcCenterLineProfileDef = IfcCenterLineProfileDef;
    class IfcClassification extends IfcExternalInformation {
      constructor(Source, Edition, EditionDate, Name, Description, Specification, ReferenceTokens) {
        super();
        this.Source = Source;
        this.Edition = Edition;
        this.EditionDate = EditionDate;
        this.Name = Name;
        this.Description = Description;
        this.Specification = Specification;
        this.ReferenceTokens = ReferenceTokens;
        this.type = 747523909;
      }
    }
    IFC4X32.IfcClassification = IfcClassification;
    class IfcClassificationReference extends IfcExternalReference {
      constructor(Location, Identification, Name, ReferencedSource, Description, Sort) {
        super(Location, Identification, Name);
        this.Location = Location;
        this.Identification = Identification;
        this.Name = Name;
        this.ReferencedSource = ReferencedSource;
        this.Description = Description;
        this.Sort = Sort;
        this.type = 647927063;
      }
    }
    IFC4X32.IfcClassificationReference = IfcClassificationReference;
    class IfcColourRgbList extends IfcPresentationItem {
      constructor(ColourList) {
        super();
        this.ColourList = ColourList;
        this.type = 3285139300;
      }
    }
    IFC4X32.IfcColourRgbList = IfcColourRgbList;
    class IfcColourSpecification extends IfcPresentationItem {
      constructor(Name) {
        super();
        this.Name = Name;
        this.type = 3264961684;
      }
    }
    IFC4X32.IfcColourSpecification = IfcColourSpecification;
    class IfcCompositeProfileDef extends IfcProfileDef {
      constructor(ProfileType, ProfileName, Profiles, Label) {
        super(ProfileType, ProfileName);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Profiles = Profiles;
        this.Label = Label;
        this.type = 1485152156;
      }
    }
    IFC4X32.IfcCompositeProfileDef = IfcCompositeProfileDef;
    class IfcConnectedFaceSet extends IfcTopologicalRepresentationItem {
      constructor(CfsFaces) {
        super();
        this.CfsFaces = CfsFaces;
        this.type = 370225590;
      }
    }
    IFC4X32.IfcConnectedFaceSet = IfcConnectedFaceSet;
    class IfcConnectionCurveGeometry extends IfcConnectionGeometry {
      constructor(CurveOnRelatingElement, CurveOnRelatedElement) {
        super();
        this.CurveOnRelatingElement = CurveOnRelatingElement;
        this.CurveOnRelatedElement = CurveOnRelatedElement;
        this.type = 1981873012;
      }
    }
    IFC4X32.IfcConnectionCurveGeometry = IfcConnectionCurveGeometry;
    class IfcConnectionPointEccentricity extends IfcConnectionPointGeometry {
      constructor(PointOnRelatingElement, PointOnRelatedElement, EccentricityInX, EccentricityInY, EccentricityInZ) {
        super(PointOnRelatingElement, PointOnRelatedElement);
        this.PointOnRelatingElement = PointOnRelatingElement;
        this.PointOnRelatedElement = PointOnRelatedElement;
        this.EccentricityInX = EccentricityInX;
        this.EccentricityInY = EccentricityInY;
        this.EccentricityInZ = EccentricityInZ;
        this.type = 45288368;
      }
    }
    IFC4X32.IfcConnectionPointEccentricity = IfcConnectionPointEccentricity;
    class IfcContextDependentUnit extends IfcNamedUnit {
      constructor(Dimensions, UnitType, Name) {
        super(Dimensions, UnitType);
        this.Dimensions = Dimensions;
        this.UnitType = UnitType;
        this.Name = Name;
        this.type = 3050246964;
      }
    }
    IFC4X32.IfcContextDependentUnit = IfcContextDependentUnit;
    class IfcConversionBasedUnit extends IfcNamedUnit {
      constructor(Dimensions, UnitType, Name, ConversionFactor) {
        super(Dimensions, UnitType);
        this.Dimensions = Dimensions;
        this.UnitType = UnitType;
        this.Name = Name;
        this.ConversionFactor = ConversionFactor;
        this.type = 2889183280;
      }
    }
    IFC4X32.IfcConversionBasedUnit = IfcConversionBasedUnit;
    class IfcConversionBasedUnitWithOffset extends IfcConversionBasedUnit {
      constructor(Dimensions, UnitType, Name, ConversionFactor, ConversionOffset) {
        super(Dimensions, UnitType, Name, ConversionFactor);
        this.Dimensions = Dimensions;
        this.UnitType = UnitType;
        this.Name = Name;
        this.ConversionFactor = ConversionFactor;
        this.ConversionOffset = ConversionOffset;
        this.type = 2713554722;
      }
    }
    IFC4X32.IfcConversionBasedUnitWithOffset = IfcConversionBasedUnitWithOffset;
    class IfcCurrencyRelationship extends IfcResourceLevelRelationship {
      constructor(Name, Description, RelatingMonetaryUnit, RelatedMonetaryUnit, ExchangeRate, RateDateTime, RateSource) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.RelatingMonetaryUnit = RelatingMonetaryUnit;
        this.RelatedMonetaryUnit = RelatedMonetaryUnit;
        this.ExchangeRate = ExchangeRate;
        this.RateDateTime = RateDateTime;
        this.RateSource = RateSource;
        this.type = 539742890;
      }
    }
    IFC4X32.IfcCurrencyRelationship = IfcCurrencyRelationship;
    class IfcCurveStyle extends IfcPresentationStyle {
      constructor(Name, CurveFont, CurveWidth, CurveColour, ModelOrDraughting) {
        super(Name);
        this.Name = Name;
        this.CurveFont = CurveFont;
        this.CurveWidth = CurveWidth;
        this.CurveColour = CurveColour;
        this.ModelOrDraughting = ModelOrDraughting;
        this.type = 3800577675;
      }
    }
    IFC4X32.IfcCurveStyle = IfcCurveStyle;
    class IfcCurveStyleFont extends IfcPresentationItem {
      constructor(Name, PatternList) {
        super();
        this.Name = Name;
        this.PatternList = PatternList;
        this.type = 1105321065;
      }
    }
    IFC4X32.IfcCurveStyleFont = IfcCurveStyleFont;
    class IfcCurveStyleFontAndScaling extends IfcPresentationItem {
      constructor(Name, CurveStyleFont, CurveFontScaling) {
        super();
        this.Name = Name;
        this.CurveStyleFont = CurveStyleFont;
        this.CurveFontScaling = CurveFontScaling;
        this.type = 2367409068;
      }
    }
    IFC4X32.IfcCurveStyleFontAndScaling = IfcCurveStyleFontAndScaling;
    class IfcCurveStyleFontPattern extends IfcPresentationItem {
      constructor(VisibleSegmentLength, InvisibleSegmentLength) {
        super();
        this.VisibleSegmentLength = VisibleSegmentLength;
        this.InvisibleSegmentLength = InvisibleSegmentLength;
        this.type = 3510044353;
      }
    }
    IFC4X32.IfcCurveStyleFontPattern = IfcCurveStyleFontPattern;
    class IfcDerivedProfileDef extends IfcProfileDef {
      constructor(ProfileType, ProfileName, ParentProfile, Operator, Label) {
        super(ProfileType, ProfileName);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.ParentProfile = ParentProfile;
        this.Operator = Operator;
        this.Label = Label;
        this.type = 3632507154;
      }
    }
    IFC4X32.IfcDerivedProfileDef = IfcDerivedProfileDef;
    class IfcDocumentInformation extends IfcExternalInformation {
      constructor(Identification, Name, Description, Location, Purpose, IntendedUse, Scope, Revision, DocumentOwner, Editors, CreationTime, LastRevisionTime, ElectronicFormat, ValidFrom, ValidUntil, Confidentiality, Status) {
        super();
        this.Identification = Identification;
        this.Name = Name;
        this.Description = Description;
        this.Location = Location;
        this.Purpose = Purpose;
        this.IntendedUse = IntendedUse;
        this.Scope = Scope;
        this.Revision = Revision;
        this.DocumentOwner = DocumentOwner;
        this.Editors = Editors;
        this.CreationTime = CreationTime;
        this.LastRevisionTime = LastRevisionTime;
        this.ElectronicFormat = ElectronicFormat;
        this.ValidFrom = ValidFrom;
        this.ValidUntil = ValidUntil;
        this.Confidentiality = Confidentiality;
        this.Status = Status;
        this.type = 1154170062;
      }
    }
    IFC4X32.IfcDocumentInformation = IfcDocumentInformation;
    class IfcDocumentInformationRelationship extends IfcResourceLevelRelationship {
      constructor(Name, Description, RelatingDocument, RelatedDocuments, RelationshipType) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.RelatingDocument = RelatingDocument;
        this.RelatedDocuments = RelatedDocuments;
        this.RelationshipType = RelationshipType;
        this.type = 770865208;
      }
    }
    IFC4X32.IfcDocumentInformationRelationship = IfcDocumentInformationRelationship;
    class IfcDocumentReference extends IfcExternalReference {
      constructor(Location, Identification, Name, Description, ReferencedDocument) {
        super(Location, Identification, Name);
        this.Location = Location;
        this.Identification = Identification;
        this.Name = Name;
        this.Description = Description;
        this.ReferencedDocument = ReferencedDocument;
        this.type = 3732053477;
      }
    }
    IFC4X32.IfcDocumentReference = IfcDocumentReference;
    class IfcEdge extends IfcTopologicalRepresentationItem {
      constructor(EdgeStart, EdgeEnd) {
        super();
        this.EdgeStart = EdgeStart;
        this.EdgeEnd = EdgeEnd;
        this.type = 3900360178;
      }
    }
    IFC4X32.IfcEdge = IfcEdge;
    class IfcEdgeCurve extends IfcEdge {
      constructor(EdgeStart, EdgeEnd, EdgeGeometry, SameSense) {
        super(EdgeStart, EdgeEnd);
        this.EdgeStart = EdgeStart;
        this.EdgeEnd = EdgeEnd;
        this.EdgeGeometry = EdgeGeometry;
        this.SameSense = SameSense;
        this.type = 476780140;
      }
    }
    IFC4X32.IfcEdgeCurve = IfcEdgeCurve;
    class IfcEventTime extends IfcSchedulingTime {
      constructor(Name, DataOrigin, UserDefinedDataOrigin, ActualDate, EarlyDate, LateDate, ScheduleDate) {
        super(Name, DataOrigin, UserDefinedDataOrigin);
        this.Name = Name;
        this.DataOrigin = DataOrigin;
        this.UserDefinedDataOrigin = UserDefinedDataOrigin;
        this.ActualDate = ActualDate;
        this.EarlyDate = EarlyDate;
        this.LateDate = LateDate;
        this.ScheduleDate = ScheduleDate;
        this.type = 211053100;
      }
    }
    IFC4X32.IfcEventTime = IfcEventTime;
    class IfcExtendedProperties extends IfcPropertyAbstraction {
      constructor(Name, Description, Properties2) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.Properties = Properties2;
        this.type = 297599258;
      }
    }
    IFC4X32.IfcExtendedProperties = IfcExtendedProperties;
    class IfcExternalReferenceRelationship extends IfcResourceLevelRelationship {
      constructor(Name, Description, RelatingReference, RelatedResourceObjects) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.RelatingReference = RelatingReference;
        this.RelatedResourceObjects = RelatedResourceObjects;
        this.type = 1437805879;
      }
    }
    IFC4X32.IfcExternalReferenceRelationship = IfcExternalReferenceRelationship;
    class IfcFace extends IfcTopologicalRepresentationItem {
      constructor(Bounds) {
        super();
        this.Bounds = Bounds;
        this.type = 2556980723;
      }
    }
    IFC4X32.IfcFace = IfcFace;
    class IfcFaceBound extends IfcTopologicalRepresentationItem {
      constructor(Bound, Orientation) {
        super();
        this.Bound = Bound;
        this.Orientation = Orientation;
        this.type = 1809719519;
      }
    }
    IFC4X32.IfcFaceBound = IfcFaceBound;
    class IfcFaceOuterBound extends IfcFaceBound {
      constructor(Bound, Orientation) {
        super(Bound, Orientation);
        this.Bound = Bound;
        this.Orientation = Orientation;
        this.type = 803316827;
      }
    }
    IFC4X32.IfcFaceOuterBound = IfcFaceOuterBound;
    class IfcFaceSurface extends IfcFace {
      constructor(Bounds, FaceSurface, SameSense) {
        super(Bounds);
        this.Bounds = Bounds;
        this.FaceSurface = FaceSurface;
        this.SameSense = SameSense;
        this.type = 3008276851;
      }
    }
    IFC4X32.IfcFaceSurface = IfcFaceSurface;
    class IfcFailureConnectionCondition extends IfcStructuralConnectionCondition {
      constructor(Name, TensionFailureX, TensionFailureY, TensionFailureZ, CompressionFailureX, CompressionFailureY, CompressionFailureZ) {
        super(Name);
        this.Name = Name;
        this.TensionFailureX = TensionFailureX;
        this.TensionFailureY = TensionFailureY;
        this.TensionFailureZ = TensionFailureZ;
        this.CompressionFailureX = CompressionFailureX;
        this.CompressionFailureY = CompressionFailureY;
        this.CompressionFailureZ = CompressionFailureZ;
        this.type = 4219587988;
      }
    }
    IFC4X32.IfcFailureConnectionCondition = IfcFailureConnectionCondition;
    class IfcFillAreaStyle extends IfcPresentationStyle {
      constructor(Name, FillStyles, ModelOrDraughting) {
        super(Name);
        this.Name = Name;
        this.FillStyles = FillStyles;
        this.ModelOrDraughting = ModelOrDraughting;
        this.type = 738692330;
      }
    }
    IFC4X32.IfcFillAreaStyle = IfcFillAreaStyle;
    class IfcGeometricRepresentationContext extends IfcRepresentationContext {
      constructor(ContextIdentifier, ContextType, CoordinateSpaceDimension, Precision, WorldCoordinateSystem, TrueNorth) {
        super(ContextIdentifier, ContextType);
        this.ContextIdentifier = ContextIdentifier;
        this.ContextType = ContextType;
        this.CoordinateSpaceDimension = CoordinateSpaceDimension;
        this.Precision = Precision;
        this.WorldCoordinateSystem = WorldCoordinateSystem;
        this.TrueNorth = TrueNorth;
        this.type = 3448662350;
      }
    }
    IFC4X32.IfcGeometricRepresentationContext = IfcGeometricRepresentationContext;
    class IfcGeometricRepresentationItem extends IfcRepresentationItem {
      constructor() {
        super();
        this.type = 2453401579;
      }
    }
    IFC4X32.IfcGeometricRepresentationItem = IfcGeometricRepresentationItem;
    class IfcGeometricRepresentationSubContext extends IfcGeometricRepresentationContext {
      constructor(ContextIdentifier, ContextType, ParentContext, TargetScale, TargetView, UserDefinedTargetView) {
        super(ContextIdentifier, ContextType, new IfcDimensionCount(0), null, new Handle(0), null);
        this.ContextIdentifier = ContextIdentifier;
        this.ContextType = ContextType;
        this.ParentContext = ParentContext;
        this.TargetScale = TargetScale;
        this.TargetView = TargetView;
        this.UserDefinedTargetView = UserDefinedTargetView;
        this.type = 4142052618;
      }
    }
    IFC4X32.IfcGeometricRepresentationSubContext = IfcGeometricRepresentationSubContext;
    class IfcGeometricSet extends IfcGeometricRepresentationItem {
      constructor(Elements) {
        super();
        this.Elements = Elements;
        this.type = 3590301190;
      }
    }
    IFC4X32.IfcGeometricSet = IfcGeometricSet;
    class IfcGridPlacement extends IfcObjectPlacement {
      constructor(PlacementRelTo, PlacementLocation, PlacementRefDirection) {
        super(PlacementRelTo);
        this.PlacementRelTo = PlacementRelTo;
        this.PlacementLocation = PlacementLocation;
        this.PlacementRefDirection = PlacementRefDirection;
        this.type = 178086475;
      }
    }
    IFC4X32.IfcGridPlacement = IfcGridPlacement;
    class IfcHalfSpaceSolid extends IfcGeometricRepresentationItem {
      constructor(BaseSurface, AgreementFlag) {
        super();
        this.BaseSurface = BaseSurface;
        this.AgreementFlag = AgreementFlag;
        this.type = 812098782;
      }
    }
    IFC4X32.IfcHalfSpaceSolid = IfcHalfSpaceSolid;
    class IfcImageTexture extends IfcSurfaceTexture {
      constructor(RepeatS, RepeatT, Mode, TextureTransform, Parameter, URLReference) {
        super(RepeatS, RepeatT, Mode, TextureTransform, Parameter);
        this.RepeatS = RepeatS;
        this.RepeatT = RepeatT;
        this.Mode = Mode;
        this.TextureTransform = TextureTransform;
        this.Parameter = Parameter;
        this.URLReference = URLReference;
        this.type = 3905492369;
      }
    }
    IFC4X32.IfcImageTexture = IfcImageTexture;
    class IfcIndexedColourMap extends IfcPresentationItem {
      constructor(MappedTo, Opacity, Colours, ColourIndex) {
        super();
        this.MappedTo = MappedTo;
        this.Opacity = Opacity;
        this.Colours = Colours;
        this.ColourIndex = ColourIndex;
        this.type = 3570813810;
      }
    }
    IFC4X32.IfcIndexedColourMap = IfcIndexedColourMap;
    class IfcIndexedTextureMap extends IfcTextureCoordinate {
      constructor(Maps, MappedTo, TexCoords) {
        super(Maps);
        this.Maps = Maps;
        this.MappedTo = MappedTo;
        this.TexCoords = TexCoords;
        this.type = 1437953363;
      }
    }
    IFC4X32.IfcIndexedTextureMap = IfcIndexedTextureMap;
    class IfcIndexedTriangleTextureMap extends IfcIndexedTextureMap {
      constructor(Maps, MappedTo, TexCoords, TexCoordIndex) {
        super(Maps, MappedTo, TexCoords);
        this.Maps = Maps;
        this.MappedTo = MappedTo;
        this.TexCoords = TexCoords;
        this.TexCoordIndex = TexCoordIndex;
        this.type = 2133299955;
      }
    }
    IFC4X32.IfcIndexedTriangleTextureMap = IfcIndexedTriangleTextureMap;
    class IfcIrregularTimeSeries extends IfcTimeSeries {
      constructor(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit, Values) {
        super(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit);
        this.Name = Name;
        this.Description = Description;
        this.StartTime = StartTime;
        this.EndTime = EndTime;
        this.TimeSeriesDataType = TimeSeriesDataType;
        this.DataOrigin = DataOrigin;
        this.UserDefinedDataOrigin = UserDefinedDataOrigin;
        this.Unit = Unit;
        this.Values = Values;
        this.type = 3741457305;
      }
    }
    IFC4X32.IfcIrregularTimeSeries = IfcIrregularTimeSeries;
    class IfcLagTime extends IfcSchedulingTime {
      constructor(Name, DataOrigin, UserDefinedDataOrigin, LagValue, DurationType) {
        super(Name, DataOrigin, UserDefinedDataOrigin);
        this.Name = Name;
        this.DataOrigin = DataOrigin;
        this.UserDefinedDataOrigin = UserDefinedDataOrigin;
        this.LagValue = LagValue;
        this.DurationType = DurationType;
        this.type = 1585845231;
      }
    }
    IFC4X32.IfcLagTime = IfcLagTime;
    class IfcLightSource extends IfcGeometricRepresentationItem {
      constructor(Name, LightColour, AmbientIntensity, Intensity) {
        super();
        this.Name = Name;
        this.LightColour = LightColour;
        this.AmbientIntensity = AmbientIntensity;
        this.Intensity = Intensity;
        this.type = 1402838566;
      }
    }
    IFC4X32.IfcLightSource = IfcLightSource;
    class IfcLightSourceAmbient extends IfcLightSource {
      constructor(Name, LightColour, AmbientIntensity, Intensity) {
        super(Name, LightColour, AmbientIntensity, Intensity);
        this.Name = Name;
        this.LightColour = LightColour;
        this.AmbientIntensity = AmbientIntensity;
        this.Intensity = Intensity;
        this.type = 125510826;
      }
    }
    IFC4X32.IfcLightSourceAmbient = IfcLightSourceAmbient;
    class IfcLightSourceDirectional extends IfcLightSource {
      constructor(Name, LightColour, AmbientIntensity, Intensity, Orientation) {
        super(Name, LightColour, AmbientIntensity, Intensity);
        this.Name = Name;
        this.LightColour = LightColour;
        this.AmbientIntensity = AmbientIntensity;
        this.Intensity = Intensity;
        this.Orientation = Orientation;
        this.type = 2604431987;
      }
    }
    IFC4X32.IfcLightSourceDirectional = IfcLightSourceDirectional;
    class IfcLightSourceGoniometric extends IfcLightSource {
      constructor(Name, LightColour, AmbientIntensity, Intensity, Position, ColourAppearance, ColourTemperature, LuminousFlux, LightEmissionSource, LightDistributionDataSource) {
        super(Name, LightColour, AmbientIntensity, Intensity);
        this.Name = Name;
        this.LightColour = LightColour;
        this.AmbientIntensity = AmbientIntensity;
        this.Intensity = Intensity;
        this.Position = Position;
        this.ColourAppearance = ColourAppearance;
        this.ColourTemperature = ColourTemperature;
        this.LuminousFlux = LuminousFlux;
        this.LightEmissionSource = LightEmissionSource;
        this.LightDistributionDataSource = LightDistributionDataSource;
        this.type = 4266656042;
      }
    }
    IFC4X32.IfcLightSourceGoniometric = IfcLightSourceGoniometric;
    class IfcLightSourcePositional extends IfcLightSource {
      constructor(Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation) {
        super(Name, LightColour, AmbientIntensity, Intensity);
        this.Name = Name;
        this.LightColour = LightColour;
        this.AmbientIntensity = AmbientIntensity;
        this.Intensity = Intensity;
        this.Position = Position;
        this.Radius = Radius;
        this.ConstantAttenuation = ConstantAttenuation;
        this.DistanceAttenuation = DistanceAttenuation;
        this.QuadricAttenuation = QuadricAttenuation;
        this.type = 1520743889;
      }
    }
    IFC4X32.IfcLightSourcePositional = IfcLightSourcePositional;
    class IfcLightSourceSpot extends IfcLightSourcePositional {
      constructor(Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation, Orientation, ConcentrationExponent, SpreadAngle, BeamWidthAngle) {
        super(Name, LightColour, AmbientIntensity, Intensity, Position, Radius, ConstantAttenuation, DistanceAttenuation, QuadricAttenuation);
        this.Name = Name;
        this.LightColour = LightColour;
        this.AmbientIntensity = AmbientIntensity;
        this.Intensity = Intensity;
        this.Position = Position;
        this.Radius = Radius;
        this.ConstantAttenuation = ConstantAttenuation;
        this.DistanceAttenuation = DistanceAttenuation;
        this.QuadricAttenuation = QuadricAttenuation;
        this.Orientation = Orientation;
        this.ConcentrationExponent = ConcentrationExponent;
        this.SpreadAngle = SpreadAngle;
        this.BeamWidthAngle = BeamWidthAngle;
        this.type = 3422422726;
      }
    }
    IFC4X32.IfcLightSourceSpot = IfcLightSourceSpot;
    class IfcLinearPlacement extends IfcObjectPlacement {
      constructor(PlacementRelTo, RelativePlacement, CartesianPosition) {
        super(PlacementRelTo);
        this.PlacementRelTo = PlacementRelTo;
        this.RelativePlacement = RelativePlacement;
        this.CartesianPosition = CartesianPosition;
        this.type = 388784114;
      }
    }
    IFC4X32.IfcLinearPlacement = IfcLinearPlacement;
    class IfcLocalPlacement extends IfcObjectPlacement {
      constructor(PlacementRelTo, RelativePlacement) {
        super(PlacementRelTo);
        this.PlacementRelTo = PlacementRelTo;
        this.RelativePlacement = RelativePlacement;
        this.type = 2624227202;
      }
    }
    IFC4X32.IfcLocalPlacement = IfcLocalPlacement;
    class IfcLoop extends IfcTopologicalRepresentationItem {
      constructor() {
        super();
        this.type = 1008929658;
      }
    }
    IFC4X32.IfcLoop = IfcLoop;
    class IfcMappedItem extends IfcRepresentationItem {
      constructor(MappingSource, MappingTarget) {
        super();
        this.MappingSource = MappingSource;
        this.MappingTarget = MappingTarget;
        this.type = 2347385850;
      }
    }
    IFC4X32.IfcMappedItem = IfcMappedItem;
    class IfcMaterial extends IfcMaterialDefinition {
      constructor(Name, Description, Category) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.Category = Category;
        this.type = 1838606355;
      }
    }
    IFC4X32.IfcMaterial = IfcMaterial;
    class IfcMaterialConstituent extends IfcMaterialDefinition {
      constructor(Name, Description, Material, Fraction, Category) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.Material = Material;
        this.Fraction = Fraction;
        this.Category = Category;
        this.type = 3708119e3;
      }
    }
    IFC4X32.IfcMaterialConstituent = IfcMaterialConstituent;
    class IfcMaterialConstituentSet extends IfcMaterialDefinition {
      constructor(Name, Description, MaterialConstituents) {
        super();
        this.Name = Name;
        this.Description = Description;
        this.MaterialConstituents = MaterialConstituents;
        this.type = 2852063980;
      }
    }
    IFC4X32.IfcMaterialConstituentSet = IfcMaterialConstituentSet;
    class IfcMaterialDefinitionRepresentation extends IfcProductRepresentation {
      constructor(Name, Description, Representations, RepresentedMaterial) {
        super(Name, Description, Representations);
        this.Name = Name;
        this.Description = Description;
        this.Representations = Representations;
        this.RepresentedMaterial = RepresentedMaterial;
        this.type = 2022407955;
      }
    }
    IFC4X32.IfcMaterialDefinitionRepresentation = IfcMaterialDefinitionRepresentation;
    class IfcMaterialLayerSetUsage extends IfcMaterialUsageDefinition {
      constructor(ForLayerSet, LayerSetDirection, DirectionSense, OffsetFromReferenceLine, ReferenceExtent) {
        super();
        this.ForLayerSet = ForLayerSet;
        this.LayerSetDirection = LayerSetDirection;
        this.DirectionSense = DirectionSense;
        this.OffsetFromReferenceLine = OffsetFromReferenceLine;
        this.ReferenceExtent = ReferenceExtent;
        this.type = 1303795690;
      }
    }
    IFC4X32.IfcMaterialLayerSetUsage = IfcMaterialLayerSetUsage;
    class IfcMaterialProfileSetUsage extends IfcMaterialUsageDefinition {
      constructor(ForProfileSet, CardinalPoint, ReferenceExtent) {
        super();
        this.ForProfileSet = ForProfileSet;
        this.CardinalPoint = CardinalPoint;
        this.ReferenceExtent = ReferenceExtent;
        this.type = 3079605661;
      }
    }
    IFC4X32.IfcMaterialProfileSetUsage = IfcMaterialProfileSetUsage;
    class IfcMaterialProfileSetUsageTapering extends IfcMaterialProfileSetUsage {
      constructor(ForProfileSet, CardinalPoint, ReferenceExtent, ForProfileEndSet, CardinalEndPoint) {
        super(ForProfileSet, CardinalPoint, ReferenceExtent);
        this.ForProfileSet = ForProfileSet;
        this.CardinalPoint = CardinalPoint;
        this.ReferenceExtent = ReferenceExtent;
        this.ForProfileEndSet = ForProfileEndSet;
        this.CardinalEndPoint = CardinalEndPoint;
        this.type = 3404854881;
      }
    }
    IFC4X32.IfcMaterialProfileSetUsageTapering = IfcMaterialProfileSetUsageTapering;
    class IfcMaterialProperties extends IfcExtendedProperties {
      constructor(Name, Description, Properties2, Material) {
        super(Name, Description, Properties2);
        this.Name = Name;
        this.Description = Description;
        this.Properties = Properties2;
        this.Material = Material;
        this.type = 3265635763;
      }
    }
    IFC4X32.IfcMaterialProperties = IfcMaterialProperties;
    class IfcMaterialRelationship extends IfcResourceLevelRelationship {
      constructor(Name, Description, RelatingMaterial, RelatedMaterials, MaterialExpression) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.RelatingMaterial = RelatingMaterial;
        this.RelatedMaterials = RelatedMaterials;
        this.MaterialExpression = MaterialExpression;
        this.type = 853536259;
      }
    }
    IFC4X32.IfcMaterialRelationship = IfcMaterialRelationship;
    class IfcMirroredProfileDef extends IfcDerivedProfileDef {
      constructor(ProfileType, ProfileName, ParentProfile, Label) {
        super(ProfileType, ProfileName, ParentProfile, new Handle(0), Label);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.ParentProfile = ParentProfile;
        this.Label = Label;
        this.type = 2998442950;
      }
    }
    IFC4X32.IfcMirroredProfileDef = IfcMirroredProfileDef;
    class IfcObjectDefinition extends IfcRoot {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 219451334;
      }
    }
    IFC4X32.IfcObjectDefinition = IfcObjectDefinition;
    class IfcOpenCrossProfileDef extends IfcProfileDef {
      constructor(ProfileType, ProfileName, HorizontalWidths, Widths, Slopes, Tags, OffsetPoint) {
        super(ProfileType, ProfileName);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.HorizontalWidths = HorizontalWidths;
        this.Widths = Widths;
        this.Slopes = Slopes;
        this.Tags = Tags;
        this.OffsetPoint = OffsetPoint;
        this.type = 182550632;
      }
    }
    IFC4X32.IfcOpenCrossProfileDef = IfcOpenCrossProfileDef;
    class IfcOpenShell extends IfcConnectedFaceSet {
      constructor(CfsFaces) {
        super(CfsFaces);
        this.CfsFaces = CfsFaces;
        this.type = 2665983363;
      }
    }
    IFC4X32.IfcOpenShell = IfcOpenShell;
    class IfcOrganizationRelationship extends IfcResourceLevelRelationship {
      constructor(Name, Description, RelatingOrganization, RelatedOrganizations) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.RelatingOrganization = RelatingOrganization;
        this.RelatedOrganizations = RelatedOrganizations;
        this.type = 1411181986;
      }
    }
    IFC4X32.IfcOrganizationRelationship = IfcOrganizationRelationship;
    class IfcOrientedEdge extends IfcEdge {
      constructor(EdgeElement, Orientation) {
        super(new Handle(0), new Handle(0));
        this.EdgeElement = EdgeElement;
        this.Orientation = Orientation;
        this.type = 1029017970;
      }
    }
    IFC4X32.IfcOrientedEdge = IfcOrientedEdge;
    class IfcParameterizedProfileDef extends IfcProfileDef {
      constructor(ProfileType, ProfileName, Position) {
        super(ProfileType, ProfileName);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.type = 2529465313;
      }
    }
    IFC4X32.IfcParameterizedProfileDef = IfcParameterizedProfileDef;
    class IfcPath extends IfcTopologicalRepresentationItem {
      constructor(EdgeList) {
        super();
        this.EdgeList = EdgeList;
        this.type = 2519244187;
      }
    }
    IFC4X32.IfcPath = IfcPath;
    class IfcPhysicalComplexQuantity extends IfcPhysicalQuantity {
      constructor(Name, Description, HasQuantities, Discrimination, Quality, Usage) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.HasQuantities = HasQuantities;
        this.Discrimination = Discrimination;
        this.Quality = Quality;
        this.Usage = Usage;
        this.type = 3021840470;
      }
    }
    IFC4X32.IfcPhysicalComplexQuantity = IfcPhysicalComplexQuantity;
    class IfcPixelTexture extends IfcSurfaceTexture {
      constructor(RepeatS, RepeatT, Mode, TextureTransform, Parameter, Width, Height, ColourComponents, Pixel) {
        super(RepeatS, RepeatT, Mode, TextureTransform, Parameter);
        this.RepeatS = RepeatS;
        this.RepeatT = RepeatT;
        this.Mode = Mode;
        this.TextureTransform = TextureTransform;
        this.Parameter = Parameter;
        this.Width = Width;
        this.Height = Height;
        this.ColourComponents = ColourComponents;
        this.Pixel = Pixel;
        this.type = 597895409;
      }
    }
    IFC4X32.IfcPixelTexture = IfcPixelTexture;
    class IfcPlacement extends IfcGeometricRepresentationItem {
      constructor(Location) {
        super();
        this.Location = Location;
        this.type = 2004835150;
      }
    }
    IFC4X32.IfcPlacement = IfcPlacement;
    class IfcPlanarExtent extends IfcGeometricRepresentationItem {
      constructor(SizeInX, SizeInY) {
        super();
        this.SizeInX = SizeInX;
        this.SizeInY = SizeInY;
        this.type = 1663979128;
      }
    }
    IFC4X32.IfcPlanarExtent = IfcPlanarExtent;
    class IfcPoint extends IfcGeometricRepresentationItem {
      constructor() {
        super();
        this.type = 2067069095;
      }
    }
    IFC4X32.IfcPoint = IfcPoint;
    class IfcPointByDistanceExpression extends IfcPoint {
      constructor(DistanceAlong, OffsetLateral, OffsetVertical, OffsetLongitudinal, BasisCurve) {
        super();
        this.DistanceAlong = DistanceAlong;
        this.OffsetLateral = OffsetLateral;
        this.OffsetVertical = OffsetVertical;
        this.OffsetLongitudinal = OffsetLongitudinal;
        this.BasisCurve = BasisCurve;
        this.type = 2165702409;
      }
    }
    IFC4X32.IfcPointByDistanceExpression = IfcPointByDistanceExpression;
    class IfcPointOnCurve extends IfcPoint {
      constructor(BasisCurve, PointParameter) {
        super();
        this.BasisCurve = BasisCurve;
        this.PointParameter = PointParameter;
        this.type = 4022376103;
      }
    }
    IFC4X32.IfcPointOnCurve = IfcPointOnCurve;
    class IfcPointOnSurface extends IfcPoint {
      constructor(BasisSurface, PointParameterU, PointParameterV) {
        super();
        this.BasisSurface = BasisSurface;
        this.PointParameterU = PointParameterU;
        this.PointParameterV = PointParameterV;
        this.type = 1423911732;
      }
    }
    IFC4X32.IfcPointOnSurface = IfcPointOnSurface;
    class IfcPolyLoop extends IfcLoop {
      constructor(Polygon) {
        super();
        this.Polygon = Polygon;
        this.type = 2924175390;
      }
    }
    IFC4X32.IfcPolyLoop = IfcPolyLoop;
    class IfcPolygonalBoundedHalfSpace extends IfcHalfSpaceSolid {
      constructor(BaseSurface, AgreementFlag, Position, PolygonalBoundary) {
        super(BaseSurface, AgreementFlag);
        this.BaseSurface = BaseSurface;
        this.AgreementFlag = AgreementFlag;
        this.Position = Position;
        this.PolygonalBoundary = PolygonalBoundary;
        this.type = 2775532180;
      }
    }
    IFC4X32.IfcPolygonalBoundedHalfSpace = IfcPolygonalBoundedHalfSpace;
    class IfcPreDefinedItem extends IfcPresentationItem {
      constructor(Name) {
        super();
        this.Name = Name;
        this.type = 3727388367;
      }
    }
    IFC4X32.IfcPreDefinedItem = IfcPreDefinedItem;
    class IfcPreDefinedProperties extends IfcPropertyAbstraction {
      constructor() {
        super();
        this.type = 3778827333;
      }
    }
    IFC4X32.IfcPreDefinedProperties = IfcPreDefinedProperties;
    class IfcPreDefinedTextFont extends IfcPreDefinedItem {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 1775413392;
      }
    }
    IFC4X32.IfcPreDefinedTextFont = IfcPreDefinedTextFont;
    class IfcProductDefinitionShape extends IfcProductRepresentation {
      constructor(Name, Description, Representations) {
        super(Name, Description, Representations);
        this.Name = Name;
        this.Description = Description;
        this.Representations = Representations;
        this.type = 673634403;
      }
    }
    IFC4X32.IfcProductDefinitionShape = IfcProductDefinitionShape;
    class IfcProfileProperties extends IfcExtendedProperties {
      constructor(Name, Description, Properties2, ProfileDefinition) {
        super(Name, Description, Properties2);
        this.Name = Name;
        this.Description = Description;
        this.Properties = Properties2;
        this.ProfileDefinition = ProfileDefinition;
        this.type = 2802850158;
      }
    }
    IFC4X32.IfcProfileProperties = IfcProfileProperties;
    class IfcProperty extends IfcPropertyAbstraction {
      constructor(Name, Specification) {
        super();
        this.Name = Name;
        this.Specification = Specification;
        this.type = 2598011224;
      }
    }
    IFC4X32.IfcProperty = IfcProperty;
    class IfcPropertyDefinition extends IfcRoot {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 1680319473;
      }
    }
    IFC4X32.IfcPropertyDefinition = IfcPropertyDefinition;
    class IfcPropertyDependencyRelationship extends IfcResourceLevelRelationship {
      constructor(Name, Description, DependingProperty, DependantProperty, Expression) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.DependingProperty = DependingProperty;
        this.DependantProperty = DependantProperty;
        this.Expression = Expression;
        this.type = 148025276;
      }
    }
    IFC4X32.IfcPropertyDependencyRelationship = IfcPropertyDependencyRelationship;
    class IfcPropertySetDefinition extends IfcPropertyDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 3357820518;
      }
    }
    IFC4X32.IfcPropertySetDefinition = IfcPropertySetDefinition;
    class IfcPropertyTemplateDefinition extends IfcPropertyDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 1482703590;
      }
    }
    IFC4X32.IfcPropertyTemplateDefinition = IfcPropertyTemplateDefinition;
    class IfcQuantitySet extends IfcPropertySetDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 2090586900;
      }
    }
    IFC4X32.IfcQuantitySet = IfcQuantitySet;
    class IfcRectangleProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, XDim, YDim) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.XDim = XDim;
        this.YDim = YDim;
        this.type = 3615266464;
      }
    }
    IFC4X32.IfcRectangleProfileDef = IfcRectangleProfileDef;
    class IfcRegularTimeSeries extends IfcTimeSeries {
      constructor(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit, TimeStep, Values) {
        super(Name, Description, StartTime, EndTime, TimeSeriesDataType, DataOrigin, UserDefinedDataOrigin, Unit);
        this.Name = Name;
        this.Description = Description;
        this.StartTime = StartTime;
        this.EndTime = EndTime;
        this.TimeSeriesDataType = TimeSeriesDataType;
        this.DataOrigin = DataOrigin;
        this.UserDefinedDataOrigin = UserDefinedDataOrigin;
        this.Unit = Unit;
        this.TimeStep = TimeStep;
        this.Values = Values;
        this.type = 3413951693;
      }
    }
    IFC4X32.IfcRegularTimeSeries = IfcRegularTimeSeries;
    class IfcReinforcementBarProperties extends IfcPreDefinedProperties {
      constructor(TotalCrossSectionArea, SteelGrade, BarSurface, EffectiveDepth, NominalBarDiameter, BarCount) {
        super();
        this.TotalCrossSectionArea = TotalCrossSectionArea;
        this.SteelGrade = SteelGrade;
        this.BarSurface = BarSurface;
        this.EffectiveDepth = EffectiveDepth;
        this.NominalBarDiameter = NominalBarDiameter;
        this.BarCount = BarCount;
        this.type = 1580146022;
      }
    }
    IFC4X32.IfcReinforcementBarProperties = IfcReinforcementBarProperties;
    class IfcRelationship extends IfcRoot {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 478536968;
      }
    }
    IFC4X32.IfcRelationship = IfcRelationship;
    class IfcResourceApprovalRelationship extends IfcResourceLevelRelationship {
      constructor(Name, Description, RelatedResourceObjects, RelatingApproval) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.RelatedResourceObjects = RelatedResourceObjects;
        this.RelatingApproval = RelatingApproval;
        this.type = 2943643501;
      }
    }
    IFC4X32.IfcResourceApprovalRelationship = IfcResourceApprovalRelationship;
    class IfcResourceConstraintRelationship extends IfcResourceLevelRelationship {
      constructor(Name, Description, RelatingConstraint, RelatedResourceObjects) {
        super(Name, Description);
        this.Name = Name;
        this.Description = Description;
        this.RelatingConstraint = RelatingConstraint;
        this.RelatedResourceObjects = RelatedResourceObjects;
        this.type = 1608871552;
      }
    }
    IFC4X32.IfcResourceConstraintRelationship = IfcResourceConstraintRelationship;
    class IfcResourceTime extends IfcSchedulingTime {
      constructor(Name, DataOrigin, UserDefinedDataOrigin, ScheduleWork, ScheduleUsage, ScheduleStart, ScheduleFinish, ScheduleContour, LevelingDelay, IsOverAllocated, StatusTime, ActualWork, ActualUsage, ActualStart, ActualFinish, RemainingWork, RemainingUsage, Completion) {
        super(Name, DataOrigin, UserDefinedDataOrigin);
        this.Name = Name;
        this.DataOrigin = DataOrigin;
        this.UserDefinedDataOrigin = UserDefinedDataOrigin;
        this.ScheduleWork = ScheduleWork;
        this.ScheduleUsage = ScheduleUsage;
        this.ScheduleStart = ScheduleStart;
        this.ScheduleFinish = ScheduleFinish;
        this.ScheduleContour = ScheduleContour;
        this.LevelingDelay = LevelingDelay;
        this.IsOverAllocated = IsOverAllocated;
        this.StatusTime = StatusTime;
        this.ActualWork = ActualWork;
        this.ActualUsage = ActualUsage;
        this.ActualStart = ActualStart;
        this.ActualFinish = ActualFinish;
        this.RemainingWork = RemainingWork;
        this.RemainingUsage = RemainingUsage;
        this.Completion = Completion;
        this.type = 1042787934;
      }
    }
    IFC4X32.IfcResourceTime = IfcResourceTime;
    class IfcRoundedRectangleProfileDef extends IfcRectangleProfileDef {
      constructor(ProfileType, ProfileName, Position, XDim, YDim, RoundingRadius) {
        super(ProfileType, ProfileName, Position, XDim, YDim);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.XDim = XDim;
        this.YDim = YDim;
        this.RoundingRadius = RoundingRadius;
        this.type = 2778083089;
      }
    }
    IFC4X32.IfcRoundedRectangleProfileDef = IfcRoundedRectangleProfileDef;
    class IfcSectionProperties extends IfcPreDefinedProperties {
      constructor(SectionType, StartProfile, EndProfile) {
        super();
        this.SectionType = SectionType;
        this.StartProfile = StartProfile;
        this.EndProfile = EndProfile;
        this.type = 2042790032;
      }
    }
    IFC4X32.IfcSectionProperties = IfcSectionProperties;
    class IfcSectionReinforcementProperties extends IfcPreDefinedProperties {
      constructor(LongitudinalStartPosition, LongitudinalEndPosition, TransversePosition, ReinforcementRole, SectionDefinition, CrossSectionReinforcementDefinitions) {
        super();
        this.LongitudinalStartPosition = LongitudinalStartPosition;
        this.LongitudinalEndPosition = LongitudinalEndPosition;
        this.TransversePosition = TransversePosition;
        this.ReinforcementRole = ReinforcementRole;
        this.SectionDefinition = SectionDefinition;
        this.CrossSectionReinforcementDefinitions = CrossSectionReinforcementDefinitions;
        this.type = 4165799628;
      }
    }
    IFC4X32.IfcSectionReinforcementProperties = IfcSectionReinforcementProperties;
    class IfcSectionedSpine extends IfcGeometricRepresentationItem {
      constructor(SpineCurve, CrossSections, CrossSectionPositions) {
        super();
        this.SpineCurve = SpineCurve;
        this.CrossSections = CrossSections;
        this.CrossSectionPositions = CrossSectionPositions;
        this.type = 1509187699;
      }
    }
    IFC4X32.IfcSectionedSpine = IfcSectionedSpine;
    class IfcSegment extends IfcGeometricRepresentationItem {
      constructor(Transition) {
        super();
        this.Transition = Transition;
        this.type = 823603102;
      }
    }
    IFC4X32.IfcSegment = IfcSegment;
    class IfcShellBasedSurfaceModel extends IfcGeometricRepresentationItem {
      constructor(SbsmBoundary) {
        super();
        this.SbsmBoundary = SbsmBoundary;
        this.type = 4124623270;
      }
    }
    IFC4X32.IfcShellBasedSurfaceModel = IfcShellBasedSurfaceModel;
    class IfcSimpleProperty extends IfcProperty {
      constructor(Name, Specification) {
        super(Name, Specification);
        this.Name = Name;
        this.Specification = Specification;
        this.type = 3692461612;
      }
    }
    IFC4X32.IfcSimpleProperty = IfcSimpleProperty;
    class IfcSlippageConnectionCondition extends IfcStructuralConnectionCondition {
      constructor(Name, SlippageX, SlippageY, SlippageZ) {
        super(Name);
        this.Name = Name;
        this.SlippageX = SlippageX;
        this.SlippageY = SlippageY;
        this.SlippageZ = SlippageZ;
        this.type = 2609359061;
      }
    }
    IFC4X32.IfcSlippageConnectionCondition = IfcSlippageConnectionCondition;
    class IfcSolidModel extends IfcGeometricRepresentationItem {
      constructor() {
        super();
        this.type = 723233188;
      }
    }
    IFC4X32.IfcSolidModel = IfcSolidModel;
    class IfcStructuralLoadLinearForce extends IfcStructuralLoadStatic {
      constructor(Name, LinearForceX, LinearForceY, LinearForceZ, LinearMomentX, LinearMomentY, LinearMomentZ) {
        super(Name);
        this.Name = Name;
        this.LinearForceX = LinearForceX;
        this.LinearForceY = LinearForceY;
        this.LinearForceZ = LinearForceZ;
        this.LinearMomentX = LinearMomentX;
        this.LinearMomentY = LinearMomentY;
        this.LinearMomentZ = LinearMomentZ;
        this.type = 1595516126;
      }
    }
    IFC4X32.IfcStructuralLoadLinearForce = IfcStructuralLoadLinearForce;
    class IfcStructuralLoadPlanarForce extends IfcStructuralLoadStatic {
      constructor(Name, PlanarForceX, PlanarForceY, PlanarForceZ) {
        super(Name);
        this.Name = Name;
        this.PlanarForceX = PlanarForceX;
        this.PlanarForceY = PlanarForceY;
        this.PlanarForceZ = PlanarForceZ;
        this.type = 2668620305;
      }
    }
    IFC4X32.IfcStructuralLoadPlanarForce = IfcStructuralLoadPlanarForce;
    class IfcStructuralLoadSingleDisplacement extends IfcStructuralLoadStatic {
      constructor(Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ) {
        super(Name);
        this.Name = Name;
        this.DisplacementX = DisplacementX;
        this.DisplacementY = DisplacementY;
        this.DisplacementZ = DisplacementZ;
        this.RotationalDisplacementRX = RotationalDisplacementRX;
        this.RotationalDisplacementRY = RotationalDisplacementRY;
        this.RotationalDisplacementRZ = RotationalDisplacementRZ;
        this.type = 2473145415;
      }
    }
    IFC4X32.IfcStructuralLoadSingleDisplacement = IfcStructuralLoadSingleDisplacement;
    class IfcStructuralLoadSingleDisplacementDistortion extends IfcStructuralLoadSingleDisplacement {
      constructor(Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ, Distortion) {
        super(Name, DisplacementX, DisplacementY, DisplacementZ, RotationalDisplacementRX, RotationalDisplacementRY, RotationalDisplacementRZ);
        this.Name = Name;
        this.DisplacementX = DisplacementX;
        this.DisplacementY = DisplacementY;
        this.DisplacementZ = DisplacementZ;
        this.RotationalDisplacementRX = RotationalDisplacementRX;
        this.RotationalDisplacementRY = RotationalDisplacementRY;
        this.RotationalDisplacementRZ = RotationalDisplacementRZ;
        this.Distortion = Distortion;
        this.type = 1973038258;
      }
    }
    IFC4X32.IfcStructuralLoadSingleDisplacementDistortion = IfcStructuralLoadSingleDisplacementDistortion;
    class IfcStructuralLoadSingleForce extends IfcStructuralLoadStatic {
      constructor(Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ) {
        super(Name);
        this.Name = Name;
        this.ForceX = ForceX;
        this.ForceY = ForceY;
        this.ForceZ = ForceZ;
        this.MomentX = MomentX;
        this.MomentY = MomentY;
        this.MomentZ = MomentZ;
        this.type = 1597423693;
      }
    }
    IFC4X32.IfcStructuralLoadSingleForce = IfcStructuralLoadSingleForce;
    class IfcStructuralLoadSingleForceWarping extends IfcStructuralLoadSingleForce {
      constructor(Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ, WarpingMoment) {
        super(Name, ForceX, ForceY, ForceZ, MomentX, MomentY, MomentZ);
        this.Name = Name;
        this.ForceX = ForceX;
        this.ForceY = ForceY;
        this.ForceZ = ForceZ;
        this.MomentX = MomentX;
        this.MomentY = MomentY;
        this.MomentZ = MomentZ;
        this.WarpingMoment = WarpingMoment;
        this.type = 1190533807;
      }
    }
    IFC4X32.IfcStructuralLoadSingleForceWarping = IfcStructuralLoadSingleForceWarping;
    class IfcSubedge extends IfcEdge {
      constructor(EdgeStart, EdgeEnd, ParentEdge) {
        super(EdgeStart, EdgeEnd);
        this.EdgeStart = EdgeStart;
        this.EdgeEnd = EdgeEnd;
        this.ParentEdge = ParentEdge;
        this.type = 2233826070;
      }
    }
    IFC4X32.IfcSubedge = IfcSubedge;
    class IfcSurface extends IfcGeometricRepresentationItem {
      constructor() {
        super();
        this.type = 2513912981;
      }
    }
    IFC4X32.IfcSurface = IfcSurface;
    class IfcSurfaceStyleRendering extends IfcSurfaceStyleShading {
      constructor(SurfaceColour, Transparency, DiffuseColour, TransmissionColour, DiffuseTransmissionColour, ReflectionColour, SpecularColour, SpecularHighlight, ReflectanceMethod) {
        super(SurfaceColour, Transparency);
        this.SurfaceColour = SurfaceColour;
        this.Transparency = Transparency;
        this.DiffuseColour = DiffuseColour;
        this.TransmissionColour = TransmissionColour;
        this.DiffuseTransmissionColour = DiffuseTransmissionColour;
        this.ReflectionColour = ReflectionColour;
        this.SpecularColour = SpecularColour;
        this.SpecularHighlight = SpecularHighlight;
        this.ReflectanceMethod = ReflectanceMethod;
        this.type = 1878645084;
      }
    }
    IFC4X32.IfcSurfaceStyleRendering = IfcSurfaceStyleRendering;
    class IfcSweptAreaSolid extends IfcSolidModel {
      constructor(SweptArea, Position) {
        super();
        this.SweptArea = SweptArea;
        this.Position = Position;
        this.type = 2247615214;
      }
    }
    IFC4X32.IfcSweptAreaSolid = IfcSweptAreaSolid;
    class IfcSweptDiskSolid extends IfcSolidModel {
      constructor(Directrix, Radius, InnerRadius, StartParam, EndParam) {
        super();
        this.Directrix = Directrix;
        this.Radius = Radius;
        this.InnerRadius = InnerRadius;
        this.StartParam = StartParam;
        this.EndParam = EndParam;
        this.type = 1260650574;
      }
    }
    IFC4X32.IfcSweptDiskSolid = IfcSweptDiskSolid;
    class IfcSweptDiskSolidPolygonal extends IfcSweptDiskSolid {
      constructor(Directrix, Radius, InnerRadius, StartParam, EndParam, FilletRadius) {
        super(Directrix, Radius, InnerRadius, StartParam, EndParam);
        this.Directrix = Directrix;
        this.Radius = Radius;
        this.InnerRadius = InnerRadius;
        this.StartParam = StartParam;
        this.EndParam = EndParam;
        this.FilletRadius = FilletRadius;
        this.type = 1096409881;
      }
    }
    IFC4X32.IfcSweptDiskSolidPolygonal = IfcSweptDiskSolidPolygonal;
    class IfcSweptSurface extends IfcSurface {
      constructor(SweptCurve, Position) {
        super();
        this.SweptCurve = SweptCurve;
        this.Position = Position;
        this.type = 230924584;
      }
    }
    IFC4X32.IfcSweptSurface = IfcSweptSurface;
    class IfcTShapeProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, FlangeEdgeRadius, WebEdgeRadius, WebSlope, FlangeSlope) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.Depth = Depth;
        this.FlangeWidth = FlangeWidth;
        this.WebThickness = WebThickness;
        this.FlangeThickness = FlangeThickness;
        this.FilletRadius = FilletRadius;
        this.FlangeEdgeRadius = FlangeEdgeRadius;
        this.WebEdgeRadius = WebEdgeRadius;
        this.WebSlope = WebSlope;
        this.FlangeSlope = FlangeSlope;
        this.type = 3071757647;
      }
    }
    IFC4X32.IfcTShapeProfileDef = IfcTShapeProfileDef;
    class IfcTessellatedItem extends IfcGeometricRepresentationItem {
      constructor() {
        super();
        this.type = 901063453;
      }
    }
    IFC4X32.IfcTessellatedItem = IfcTessellatedItem;
    class IfcTextLiteral extends IfcGeometricRepresentationItem {
      constructor(Literal, Placement, Path) {
        super();
        this.Literal = Literal;
        this.Placement = Placement;
        this.Path = Path;
        this.type = 4282788508;
      }
    }
    IFC4X32.IfcTextLiteral = IfcTextLiteral;
    class IfcTextLiteralWithExtent extends IfcTextLiteral {
      constructor(Literal, Placement, Path, Extent, BoxAlignment) {
        super(Literal, Placement, Path);
        this.Literal = Literal;
        this.Placement = Placement;
        this.Path = Path;
        this.Extent = Extent;
        this.BoxAlignment = BoxAlignment;
        this.type = 3124975700;
      }
    }
    IFC4X32.IfcTextLiteralWithExtent = IfcTextLiteralWithExtent;
    class IfcTextStyleFontModel extends IfcPreDefinedTextFont {
      constructor(Name, FontFamily, FontStyle, FontVariant, FontWeight, FontSize) {
        super(Name);
        this.Name = Name;
        this.FontFamily = FontFamily;
        this.FontStyle = FontStyle;
        this.FontVariant = FontVariant;
        this.FontWeight = FontWeight;
        this.FontSize = FontSize;
        this.type = 1983826977;
      }
    }
    IFC4X32.IfcTextStyleFontModel = IfcTextStyleFontModel;
    class IfcTrapeziumProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, BottomXDim, TopXDim, YDim, TopXOffset) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.BottomXDim = BottomXDim;
        this.TopXDim = TopXDim;
        this.YDim = YDim;
        this.TopXOffset = TopXOffset;
        this.type = 2715220739;
      }
    }
    IFC4X32.IfcTrapeziumProfileDef = IfcTrapeziumProfileDef;
    class IfcTypeObject extends IfcObjectDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.type = 1628702193;
      }
    }
    IFC4X32.IfcTypeObject = IfcTypeObject;
    class IfcTypeProcess extends IfcTypeObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ProcessType = ProcessType;
        this.type = 3736923433;
      }
    }
    IFC4X32.IfcTypeProcess = IfcTypeProcess;
    class IfcTypeProduct extends IfcTypeObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.type = 2347495698;
      }
    }
    IFC4X32.IfcTypeProduct = IfcTypeProduct;
    class IfcTypeResource extends IfcTypeObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ResourceType = ResourceType;
        this.type = 3698973494;
      }
    }
    IFC4X32.IfcTypeResource = IfcTypeResource;
    class IfcUShapeProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, EdgeRadius, FlangeSlope) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.Depth = Depth;
        this.FlangeWidth = FlangeWidth;
        this.WebThickness = WebThickness;
        this.FlangeThickness = FlangeThickness;
        this.FilletRadius = FilletRadius;
        this.EdgeRadius = EdgeRadius;
        this.FlangeSlope = FlangeSlope;
        this.type = 427810014;
      }
    }
    IFC4X32.IfcUShapeProfileDef = IfcUShapeProfileDef;
    class IfcVector extends IfcGeometricRepresentationItem {
      constructor(Orientation, Magnitude) {
        super();
        this.Orientation = Orientation;
        this.Magnitude = Magnitude;
        this.type = 1417489154;
      }
    }
    IFC4X32.IfcVector = IfcVector;
    class IfcVertexLoop extends IfcLoop {
      constructor(LoopVertex) {
        super();
        this.LoopVertex = LoopVertex;
        this.type = 2759199220;
      }
    }
    IFC4X32.IfcVertexLoop = IfcVertexLoop;
    class IfcZShapeProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, Depth, FlangeWidth, WebThickness, FlangeThickness, FilletRadius, EdgeRadius) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.Depth = Depth;
        this.FlangeWidth = FlangeWidth;
        this.WebThickness = WebThickness;
        this.FlangeThickness = FlangeThickness;
        this.FilletRadius = FilletRadius;
        this.EdgeRadius = EdgeRadius;
        this.type = 2543172580;
      }
    }
    IFC4X32.IfcZShapeProfileDef = IfcZShapeProfileDef;
    class IfcAdvancedFace extends IfcFaceSurface {
      constructor(Bounds, FaceSurface, SameSense) {
        super(Bounds, FaceSurface, SameSense);
        this.Bounds = Bounds;
        this.FaceSurface = FaceSurface;
        this.SameSense = SameSense;
        this.type = 3406155212;
      }
    }
    IFC4X32.IfcAdvancedFace = IfcAdvancedFace;
    class IfcAnnotationFillArea extends IfcGeometricRepresentationItem {
      constructor(OuterBoundary, InnerBoundaries) {
        super();
        this.OuterBoundary = OuterBoundary;
        this.InnerBoundaries = InnerBoundaries;
        this.type = 669184980;
      }
    }
    IFC4X32.IfcAnnotationFillArea = IfcAnnotationFillArea;
    class IfcAsymmetricIShapeProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, BottomFlangeWidth, OverallDepth, WebThickness, BottomFlangeThickness, BottomFlangeFilletRadius, TopFlangeWidth, TopFlangeThickness, TopFlangeFilletRadius, BottomFlangeEdgeRadius, BottomFlangeSlope, TopFlangeEdgeRadius, TopFlangeSlope) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.BottomFlangeWidth = BottomFlangeWidth;
        this.OverallDepth = OverallDepth;
        this.WebThickness = WebThickness;
        this.BottomFlangeThickness = BottomFlangeThickness;
        this.BottomFlangeFilletRadius = BottomFlangeFilletRadius;
        this.TopFlangeWidth = TopFlangeWidth;
        this.TopFlangeThickness = TopFlangeThickness;
        this.TopFlangeFilletRadius = TopFlangeFilletRadius;
        this.BottomFlangeEdgeRadius = BottomFlangeEdgeRadius;
        this.BottomFlangeSlope = BottomFlangeSlope;
        this.TopFlangeEdgeRadius = TopFlangeEdgeRadius;
        this.TopFlangeSlope = TopFlangeSlope;
        this.type = 3207858831;
      }
    }
    IFC4X32.IfcAsymmetricIShapeProfileDef = IfcAsymmetricIShapeProfileDef;
    class IfcAxis1Placement extends IfcPlacement {
      constructor(Location, Axis) {
        super(Location);
        this.Location = Location;
        this.Axis = Axis;
        this.type = 4261334040;
      }
    }
    IFC4X32.IfcAxis1Placement = IfcAxis1Placement;
    class IfcAxis2Placement2D extends IfcPlacement {
      constructor(Location, RefDirection) {
        super(Location);
        this.Location = Location;
        this.RefDirection = RefDirection;
        this.type = 3125803723;
      }
    }
    IFC4X32.IfcAxis2Placement2D = IfcAxis2Placement2D;
    class IfcAxis2Placement3D extends IfcPlacement {
      constructor(Location, Axis, RefDirection) {
        super(Location);
        this.Location = Location;
        this.Axis = Axis;
        this.RefDirection = RefDirection;
        this.type = 2740243338;
      }
    }
    IFC4X32.IfcAxis2Placement3D = IfcAxis2Placement3D;
    class IfcAxis2PlacementLinear extends IfcPlacement {
      constructor(Location, Axis, RefDirection) {
        super(Location);
        this.Location = Location;
        this.Axis = Axis;
        this.RefDirection = RefDirection;
        this.type = 3425423356;
      }
    }
    IFC4X32.IfcAxis2PlacementLinear = IfcAxis2PlacementLinear;
    class IfcBooleanResult extends IfcGeometricRepresentationItem {
      constructor(Operator, FirstOperand, SecondOperand) {
        super();
        this.Operator = Operator;
        this.FirstOperand = FirstOperand;
        this.SecondOperand = SecondOperand;
        this.type = 2736907675;
      }
    }
    IFC4X32.IfcBooleanResult = IfcBooleanResult;
    class IfcBoundedSurface extends IfcSurface {
      constructor() {
        super();
        this.type = 4182860854;
      }
    }
    IFC4X32.IfcBoundedSurface = IfcBoundedSurface;
    class IfcBoundingBox extends IfcGeometricRepresentationItem {
      constructor(Corner, XDim, YDim, ZDim) {
        super();
        this.Corner = Corner;
        this.XDim = XDim;
        this.YDim = YDim;
        this.ZDim = ZDim;
        this.type = 2581212453;
      }
    }
    IFC4X32.IfcBoundingBox = IfcBoundingBox;
    class IfcBoxedHalfSpace extends IfcHalfSpaceSolid {
      constructor(BaseSurface, AgreementFlag, Enclosure) {
        super(BaseSurface, AgreementFlag);
        this.BaseSurface = BaseSurface;
        this.AgreementFlag = AgreementFlag;
        this.Enclosure = Enclosure;
        this.type = 2713105998;
      }
    }
    IFC4X32.IfcBoxedHalfSpace = IfcBoxedHalfSpace;
    class IfcCShapeProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, Depth, Width, WallThickness, Girth, InternalFilletRadius) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.Depth = Depth;
        this.Width = Width;
        this.WallThickness = WallThickness;
        this.Girth = Girth;
        this.InternalFilletRadius = InternalFilletRadius;
        this.type = 2898889636;
      }
    }
    IFC4X32.IfcCShapeProfileDef = IfcCShapeProfileDef;
    class IfcCartesianPoint extends IfcPoint {
      constructor(Coordinates) {
        super();
        this.Coordinates = Coordinates;
        this.type = 1123145078;
      }
    }
    IFC4X32.IfcCartesianPoint = IfcCartesianPoint;
    class IfcCartesianPointList extends IfcGeometricRepresentationItem {
      constructor() {
        super();
        this.type = 574549367;
      }
    }
    IFC4X32.IfcCartesianPointList = IfcCartesianPointList;
    class IfcCartesianPointList2D extends IfcCartesianPointList {
      constructor(CoordList, TagList) {
        super();
        this.CoordList = CoordList;
        this.TagList = TagList;
        this.type = 1675464909;
      }
    }
    IFC4X32.IfcCartesianPointList2D = IfcCartesianPointList2D;
    class IfcCartesianPointList3D extends IfcCartesianPointList {
      constructor(CoordList, TagList) {
        super();
        this.CoordList = CoordList;
        this.TagList = TagList;
        this.type = 2059837836;
      }
    }
    IFC4X32.IfcCartesianPointList3D = IfcCartesianPointList3D;
    class IfcCartesianTransformationOperator extends IfcGeometricRepresentationItem {
      constructor(Axis1, Axis2, LocalOrigin, Scale) {
        super();
        this.Axis1 = Axis1;
        this.Axis2 = Axis2;
        this.LocalOrigin = LocalOrigin;
        this.Scale = Scale;
        this.type = 59481748;
      }
    }
    IFC4X32.IfcCartesianTransformationOperator = IfcCartesianTransformationOperator;
    class IfcCartesianTransformationOperator2D extends IfcCartesianTransformationOperator {
      constructor(Axis1, Axis2, LocalOrigin, Scale) {
        super(Axis1, Axis2, LocalOrigin, Scale);
        this.Axis1 = Axis1;
        this.Axis2 = Axis2;
        this.LocalOrigin = LocalOrigin;
        this.Scale = Scale;
        this.type = 3749851601;
      }
    }
    IFC4X32.IfcCartesianTransformationOperator2D = IfcCartesianTransformationOperator2D;
    class IfcCartesianTransformationOperator2DnonUniform extends IfcCartesianTransformationOperator2D {
      constructor(Axis1, Axis2, LocalOrigin, Scale, Scale2) {
        super(Axis1, Axis2, LocalOrigin, Scale);
        this.Axis1 = Axis1;
        this.Axis2 = Axis2;
        this.LocalOrigin = LocalOrigin;
        this.Scale = Scale;
        this.Scale2 = Scale2;
        this.type = 3486308946;
      }
    }
    IFC4X32.IfcCartesianTransformationOperator2DnonUniform = IfcCartesianTransformationOperator2DnonUniform;
    class IfcCartesianTransformationOperator3D extends IfcCartesianTransformationOperator {
      constructor(Axis1, Axis2, LocalOrigin, Scale, Axis3) {
        super(Axis1, Axis2, LocalOrigin, Scale);
        this.Axis1 = Axis1;
        this.Axis2 = Axis2;
        this.LocalOrigin = LocalOrigin;
        this.Scale = Scale;
        this.Axis3 = Axis3;
        this.type = 3331915920;
      }
    }
    IFC4X32.IfcCartesianTransformationOperator3D = IfcCartesianTransformationOperator3D;
    class IfcCartesianTransformationOperator3DnonUniform extends IfcCartesianTransformationOperator3D {
      constructor(Axis1, Axis2, LocalOrigin, Scale, Axis3, Scale2, Scale3) {
        super(Axis1, Axis2, LocalOrigin, Scale, Axis3);
        this.Axis1 = Axis1;
        this.Axis2 = Axis2;
        this.LocalOrigin = LocalOrigin;
        this.Scale = Scale;
        this.Axis3 = Axis3;
        this.Scale2 = Scale2;
        this.Scale3 = Scale3;
        this.type = 1416205885;
      }
    }
    IFC4X32.IfcCartesianTransformationOperator3DnonUniform = IfcCartesianTransformationOperator3DnonUniform;
    class IfcCircleProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, Radius) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.Radius = Radius;
        this.type = 1383045692;
      }
    }
    IFC4X32.IfcCircleProfileDef = IfcCircleProfileDef;
    class IfcClosedShell extends IfcConnectedFaceSet {
      constructor(CfsFaces) {
        super(CfsFaces);
        this.CfsFaces = CfsFaces;
        this.type = 2205249479;
      }
    }
    IFC4X32.IfcClosedShell = IfcClosedShell;
    class IfcColourRgb extends IfcColourSpecification {
      constructor(Name, Red, Green, Blue) {
        super(Name);
        this.Name = Name;
        this.Red = Red;
        this.Green = Green;
        this.Blue = Blue;
        this.type = 776857604;
      }
    }
    IFC4X32.IfcColourRgb = IfcColourRgb;
    class IfcComplexProperty extends IfcProperty {
      constructor(Name, Specification, UsageName, HasProperties) {
        super(Name, Specification);
        this.Name = Name;
        this.Specification = Specification;
        this.UsageName = UsageName;
        this.HasProperties = HasProperties;
        this.type = 2542286263;
      }
    }
    IFC4X32.IfcComplexProperty = IfcComplexProperty;
    class IfcCompositeCurveSegment extends IfcSegment {
      constructor(Transition, SameSense, ParentCurve) {
        super(Transition);
        this.Transition = Transition;
        this.SameSense = SameSense;
        this.ParentCurve = ParentCurve;
        this.type = 2485617015;
      }
    }
    IFC4X32.IfcCompositeCurveSegment = IfcCompositeCurveSegment;
    class IfcConstructionResourceType extends IfcTypeResource {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ResourceType = ResourceType;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.type = 2574617495;
      }
    }
    IFC4X32.IfcConstructionResourceType = IfcConstructionResourceType;
    class IfcContext extends IfcObjectDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.LongName = LongName;
        this.Phase = Phase;
        this.RepresentationContexts = RepresentationContexts;
        this.UnitsInContext = UnitsInContext;
        this.type = 3419103109;
      }
    }
    IFC4X32.IfcContext = IfcContext;
    class IfcCrewResourceType extends IfcConstructionResourceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ResourceType = ResourceType;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 1815067380;
      }
    }
    IFC4X32.IfcCrewResourceType = IfcCrewResourceType;
    class IfcCsgPrimitive3D extends IfcGeometricRepresentationItem {
      constructor(Position) {
        super();
        this.Position = Position;
        this.type = 2506170314;
      }
    }
    IFC4X32.IfcCsgPrimitive3D = IfcCsgPrimitive3D;
    class IfcCsgSolid extends IfcSolidModel {
      constructor(TreeRootExpression) {
        super();
        this.TreeRootExpression = TreeRootExpression;
        this.type = 2147822146;
      }
    }
    IFC4X32.IfcCsgSolid = IfcCsgSolid;
    class IfcCurve extends IfcGeometricRepresentationItem {
      constructor() {
        super();
        this.type = 2601014836;
      }
    }
    IFC4X32.IfcCurve = IfcCurve;
    class IfcCurveBoundedPlane extends IfcBoundedSurface {
      constructor(BasisSurface, OuterBoundary, InnerBoundaries) {
        super();
        this.BasisSurface = BasisSurface;
        this.OuterBoundary = OuterBoundary;
        this.InnerBoundaries = InnerBoundaries;
        this.type = 2827736869;
      }
    }
    IFC4X32.IfcCurveBoundedPlane = IfcCurveBoundedPlane;
    class IfcCurveBoundedSurface extends IfcBoundedSurface {
      constructor(BasisSurface, Boundaries, ImplicitOuter) {
        super();
        this.BasisSurface = BasisSurface;
        this.Boundaries = Boundaries;
        this.ImplicitOuter = ImplicitOuter;
        this.type = 2629017746;
      }
    }
    IFC4X32.IfcCurveBoundedSurface = IfcCurveBoundedSurface;
    class IfcCurveSegment extends IfcSegment {
      constructor(Transition, Placement, SegmentStart, SegmentLength, ParentCurve) {
        super(Transition);
        this.Transition = Transition;
        this.Placement = Placement;
        this.SegmentStart = SegmentStart;
        this.SegmentLength = SegmentLength;
        this.ParentCurve = ParentCurve;
        this.type = 4212018352;
      }
    }
    IFC4X32.IfcCurveSegment = IfcCurveSegment;
    class IfcDirection extends IfcGeometricRepresentationItem {
      constructor(DirectionRatios) {
        super();
        this.DirectionRatios = DirectionRatios;
        this.type = 32440307;
      }
    }
    IFC4X32.IfcDirection = IfcDirection;
    class IfcDirectrixCurveSweptAreaSolid extends IfcSweptAreaSolid {
      constructor(SweptArea, Position, Directrix, StartParam, EndParam) {
        super(SweptArea, Position);
        this.SweptArea = SweptArea;
        this.Position = Position;
        this.Directrix = Directrix;
        this.StartParam = StartParam;
        this.EndParam = EndParam;
        this.type = 593015953;
      }
    }
    IFC4X32.IfcDirectrixCurveSweptAreaSolid = IfcDirectrixCurveSweptAreaSolid;
    class IfcEdgeLoop extends IfcLoop {
      constructor(EdgeList) {
        super();
        this.EdgeList = EdgeList;
        this.type = 1472233963;
      }
    }
    IFC4X32.IfcEdgeLoop = IfcEdgeLoop;
    class IfcElementQuantity extends IfcQuantitySet {
      constructor(GlobalId, OwnerHistory, Name, Description, MethodOfMeasurement, Quantities) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.MethodOfMeasurement = MethodOfMeasurement;
        this.Quantities = Quantities;
        this.type = 1883228015;
      }
    }
    IFC4X32.IfcElementQuantity = IfcElementQuantity;
    class IfcElementType extends IfcTypeProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 339256511;
      }
    }
    IFC4X32.IfcElementType = IfcElementType;
    class IfcElementarySurface extends IfcSurface {
      constructor(Position) {
        super();
        this.Position = Position;
        this.type = 2777663545;
      }
    }
    IFC4X32.IfcElementarySurface = IfcElementarySurface;
    class IfcEllipseProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, SemiAxis1, SemiAxis2) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.SemiAxis1 = SemiAxis1;
        this.SemiAxis2 = SemiAxis2;
        this.type = 2835456948;
      }
    }
    IFC4X32.IfcEllipseProfileDef = IfcEllipseProfileDef;
    class IfcEventType extends IfcTypeProcess {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType, EventTriggerType, UserDefinedEventTriggerType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ProcessType = ProcessType;
        this.PredefinedType = PredefinedType;
        this.EventTriggerType = EventTriggerType;
        this.UserDefinedEventTriggerType = UserDefinedEventTriggerType;
        this.type = 4024345920;
      }
    }
    IFC4X32.IfcEventType = IfcEventType;
    class IfcExtrudedAreaSolid extends IfcSweptAreaSolid {
      constructor(SweptArea, Position, ExtrudedDirection, Depth) {
        super(SweptArea, Position);
        this.SweptArea = SweptArea;
        this.Position = Position;
        this.ExtrudedDirection = ExtrudedDirection;
        this.Depth = Depth;
        this.type = 477187591;
      }
    }
    IFC4X32.IfcExtrudedAreaSolid = IfcExtrudedAreaSolid;
    class IfcExtrudedAreaSolidTapered extends IfcExtrudedAreaSolid {
      constructor(SweptArea, Position, ExtrudedDirection, Depth, EndSweptArea) {
        super(SweptArea, Position, ExtrudedDirection, Depth);
        this.SweptArea = SweptArea;
        this.Position = Position;
        this.ExtrudedDirection = ExtrudedDirection;
        this.Depth = Depth;
        this.EndSweptArea = EndSweptArea;
        this.type = 2804161546;
      }
    }
    IFC4X32.IfcExtrudedAreaSolidTapered = IfcExtrudedAreaSolidTapered;
    class IfcFaceBasedSurfaceModel extends IfcGeometricRepresentationItem {
      constructor(FbsmFaces) {
        super();
        this.FbsmFaces = FbsmFaces;
        this.type = 2047409740;
      }
    }
    IFC4X32.IfcFaceBasedSurfaceModel = IfcFaceBasedSurfaceModel;
    class IfcFillAreaStyleHatching extends IfcGeometricRepresentationItem {
      constructor(HatchLineAppearance, StartOfNextHatchLine, PointOfReferenceHatchLine, PatternStart, HatchLineAngle) {
        super();
        this.HatchLineAppearance = HatchLineAppearance;
        this.StartOfNextHatchLine = StartOfNextHatchLine;
        this.PointOfReferenceHatchLine = PointOfReferenceHatchLine;
        this.PatternStart = PatternStart;
        this.HatchLineAngle = HatchLineAngle;
        this.type = 374418227;
      }
    }
    IFC4X32.IfcFillAreaStyleHatching = IfcFillAreaStyleHatching;
    class IfcFillAreaStyleTiles extends IfcGeometricRepresentationItem {
      constructor(TilingPattern, Tiles, TilingScale) {
        super();
        this.TilingPattern = TilingPattern;
        this.Tiles = Tiles;
        this.TilingScale = TilingScale;
        this.type = 315944413;
      }
    }
    IFC4X32.IfcFillAreaStyleTiles = IfcFillAreaStyleTiles;
    class IfcFixedReferenceSweptAreaSolid extends IfcDirectrixCurveSweptAreaSolid {
      constructor(SweptArea, Position, Directrix, StartParam, EndParam, FixedReference) {
        super(SweptArea, Position, Directrix, StartParam, EndParam);
        this.SweptArea = SweptArea;
        this.Position = Position;
        this.Directrix = Directrix;
        this.StartParam = StartParam;
        this.EndParam = EndParam;
        this.FixedReference = FixedReference;
        this.type = 2652556860;
      }
    }
    IFC4X32.IfcFixedReferenceSweptAreaSolid = IfcFixedReferenceSweptAreaSolid;
    class IfcFurnishingElementType extends IfcElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 4238390223;
      }
    }
    IFC4X32.IfcFurnishingElementType = IfcFurnishingElementType;
    class IfcFurnitureType extends IfcFurnishingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, AssemblyPlace, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.AssemblyPlace = AssemblyPlace;
        this.PredefinedType = PredefinedType;
        this.type = 1268542332;
      }
    }
    IFC4X32.IfcFurnitureType = IfcFurnitureType;
    class IfcGeographicElementType extends IfcElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 4095422895;
      }
    }
    IFC4X32.IfcGeographicElementType = IfcGeographicElementType;
    class IfcGeometricCurveSet extends IfcGeometricSet {
      constructor(Elements) {
        super(Elements);
        this.Elements = Elements;
        this.type = 987898635;
      }
    }
    IFC4X32.IfcGeometricCurveSet = IfcGeometricCurveSet;
    class IfcIShapeProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, OverallWidth, OverallDepth, WebThickness, FlangeThickness, FilletRadius, FlangeEdgeRadius, FlangeSlope) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.OverallWidth = OverallWidth;
        this.OverallDepth = OverallDepth;
        this.WebThickness = WebThickness;
        this.FlangeThickness = FlangeThickness;
        this.FilletRadius = FilletRadius;
        this.FlangeEdgeRadius = FlangeEdgeRadius;
        this.FlangeSlope = FlangeSlope;
        this.type = 1484403080;
      }
    }
    IFC4X32.IfcIShapeProfileDef = IfcIShapeProfileDef;
    class IfcIndexedPolygonalFace extends IfcTessellatedItem {
      constructor(CoordIndex) {
        super();
        this.CoordIndex = CoordIndex;
        this.type = 178912537;
      }
    }
    IFC4X32.IfcIndexedPolygonalFace = IfcIndexedPolygonalFace;
    class IfcIndexedPolygonalFaceWithVoids extends IfcIndexedPolygonalFace {
      constructor(CoordIndex, InnerCoordIndices) {
        super(CoordIndex);
        this.CoordIndex = CoordIndex;
        this.InnerCoordIndices = InnerCoordIndices;
        this.type = 2294589976;
      }
    }
    IFC4X32.IfcIndexedPolygonalFaceWithVoids = IfcIndexedPolygonalFaceWithVoids;
    class IfcIndexedPolygonalTextureMap extends IfcIndexedTextureMap {
      constructor(Maps, MappedTo, TexCoords, TexCoordIndices) {
        super(Maps, MappedTo, TexCoords);
        this.Maps = Maps;
        this.MappedTo = MappedTo;
        this.TexCoords = TexCoords;
        this.TexCoordIndices = TexCoordIndices;
        this.type = 3465909080;
      }
    }
    IFC4X32.IfcIndexedPolygonalTextureMap = IfcIndexedPolygonalTextureMap;
    class IfcLShapeProfileDef extends IfcParameterizedProfileDef {
      constructor(ProfileType, ProfileName, Position, Depth, Width, Thickness, FilletRadius, EdgeRadius, LegSlope) {
        super(ProfileType, ProfileName, Position);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.Depth = Depth;
        this.Width = Width;
        this.Thickness = Thickness;
        this.FilletRadius = FilletRadius;
        this.EdgeRadius = EdgeRadius;
        this.LegSlope = LegSlope;
        this.type = 572779678;
      }
    }
    IFC4X32.IfcLShapeProfileDef = IfcLShapeProfileDef;
    class IfcLaborResourceType extends IfcConstructionResourceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ResourceType = ResourceType;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 428585644;
      }
    }
    IFC4X32.IfcLaborResourceType = IfcLaborResourceType;
    class IfcLine extends IfcCurve {
      constructor(Pnt, Dir) {
        super();
        this.Pnt = Pnt;
        this.Dir = Dir;
        this.type = 1281925730;
      }
    }
    IFC4X32.IfcLine = IfcLine;
    class IfcManifoldSolidBrep extends IfcSolidModel {
      constructor(Outer) {
        super();
        this.Outer = Outer;
        this.type = 1425443689;
      }
    }
    IFC4X32.IfcManifoldSolidBrep = IfcManifoldSolidBrep;
    class IfcObject extends IfcObjectDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.type = 3888040117;
      }
    }
    IFC4X32.IfcObject = IfcObject;
    class IfcOffsetCurve extends IfcCurve {
      constructor(BasisCurve) {
        super();
        this.BasisCurve = BasisCurve;
        this.type = 590820931;
      }
    }
    IFC4X32.IfcOffsetCurve = IfcOffsetCurve;
    class IfcOffsetCurve2D extends IfcOffsetCurve {
      constructor(BasisCurve, Distance, SelfIntersect) {
        super(BasisCurve);
        this.BasisCurve = BasisCurve;
        this.Distance = Distance;
        this.SelfIntersect = SelfIntersect;
        this.type = 3388369263;
      }
    }
    IFC4X32.IfcOffsetCurve2D = IfcOffsetCurve2D;
    class IfcOffsetCurve3D extends IfcOffsetCurve {
      constructor(BasisCurve, Distance, SelfIntersect, RefDirection) {
        super(BasisCurve);
        this.BasisCurve = BasisCurve;
        this.Distance = Distance;
        this.SelfIntersect = SelfIntersect;
        this.RefDirection = RefDirection;
        this.type = 3505215534;
      }
    }
    IFC4X32.IfcOffsetCurve3D = IfcOffsetCurve3D;
    class IfcOffsetCurveByDistances extends IfcOffsetCurve {
      constructor(BasisCurve, OffsetValues, Tag) {
        super(BasisCurve);
        this.BasisCurve = BasisCurve;
        this.OffsetValues = OffsetValues;
        this.Tag = Tag;
        this.type = 2485787929;
      }
    }
    IFC4X32.IfcOffsetCurveByDistances = IfcOffsetCurveByDistances;
    class IfcPcurve extends IfcCurve {
      constructor(BasisSurface, ReferenceCurve) {
        super();
        this.BasisSurface = BasisSurface;
        this.ReferenceCurve = ReferenceCurve;
        this.type = 1682466193;
      }
    }
    IFC4X32.IfcPcurve = IfcPcurve;
    class IfcPlanarBox extends IfcPlanarExtent {
      constructor(SizeInX, SizeInY, Placement) {
        super(SizeInX, SizeInY);
        this.SizeInX = SizeInX;
        this.SizeInY = SizeInY;
        this.Placement = Placement;
        this.type = 603570806;
      }
    }
    IFC4X32.IfcPlanarBox = IfcPlanarBox;
    class IfcPlane extends IfcElementarySurface {
      constructor(Position) {
        super(Position);
        this.Position = Position;
        this.type = 220341763;
      }
    }
    IFC4X32.IfcPlane = IfcPlane;
    class IfcPolynomialCurve extends IfcCurve {
      constructor(Position, CoefficientsX, CoefficientsY, CoefficientsZ) {
        super();
        this.Position = Position;
        this.CoefficientsX = CoefficientsX;
        this.CoefficientsY = CoefficientsY;
        this.CoefficientsZ = CoefficientsZ;
        this.type = 3381221214;
      }
    }
    IFC4X32.IfcPolynomialCurve = IfcPolynomialCurve;
    class IfcPreDefinedColour extends IfcPreDefinedItem {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 759155922;
      }
    }
    IFC4X32.IfcPreDefinedColour = IfcPreDefinedColour;
    class IfcPreDefinedCurveFont extends IfcPreDefinedItem {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 2559016684;
      }
    }
    IFC4X32.IfcPreDefinedCurveFont = IfcPreDefinedCurveFont;
    class IfcPreDefinedPropertySet extends IfcPropertySetDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 3967405729;
      }
    }
    IFC4X32.IfcPreDefinedPropertySet = IfcPreDefinedPropertySet;
    class IfcProcedureType extends IfcTypeProcess {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ProcessType = ProcessType;
        this.PredefinedType = PredefinedType;
        this.type = 569719735;
      }
    }
    IFC4X32.IfcProcedureType = IfcProcedureType;
    class IfcProcess extends IfcObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.type = 2945172077;
      }
    }
    IFC4X32.IfcProcess = IfcProcess;
    class IfcProduct extends IfcObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.type = 4208778838;
      }
    }
    IFC4X32.IfcProduct = IfcProduct;
    class IfcProject extends IfcContext {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.LongName = LongName;
        this.Phase = Phase;
        this.RepresentationContexts = RepresentationContexts;
        this.UnitsInContext = UnitsInContext;
        this.type = 103090709;
      }
    }
    IFC4X32.IfcProject = IfcProject;
    class IfcProjectLibrary extends IfcContext {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, Phase, RepresentationContexts, UnitsInContext);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.LongName = LongName;
        this.Phase = Phase;
        this.RepresentationContexts = RepresentationContexts;
        this.UnitsInContext = UnitsInContext;
        this.type = 653396225;
      }
    }
    IFC4X32.IfcProjectLibrary = IfcProjectLibrary;
    class IfcPropertyBoundedValue extends IfcSimpleProperty {
      constructor(Name, Specification, UpperBoundValue, LowerBoundValue, Unit, SetPointValue) {
        super(Name, Specification);
        this.Name = Name;
        this.Specification = Specification;
        this.UpperBoundValue = UpperBoundValue;
        this.LowerBoundValue = LowerBoundValue;
        this.Unit = Unit;
        this.SetPointValue = SetPointValue;
        this.type = 871118103;
      }
    }
    IFC4X32.IfcPropertyBoundedValue = IfcPropertyBoundedValue;
    class IfcPropertyEnumeratedValue extends IfcSimpleProperty {
      constructor(Name, Specification, EnumerationValues, EnumerationReference) {
        super(Name, Specification);
        this.Name = Name;
        this.Specification = Specification;
        this.EnumerationValues = EnumerationValues;
        this.EnumerationReference = EnumerationReference;
        this.type = 4166981789;
      }
    }
    IFC4X32.IfcPropertyEnumeratedValue = IfcPropertyEnumeratedValue;
    class IfcPropertyListValue extends IfcSimpleProperty {
      constructor(Name, Specification, ListValues, Unit) {
        super(Name, Specification);
        this.Name = Name;
        this.Specification = Specification;
        this.ListValues = ListValues;
        this.Unit = Unit;
        this.type = 2752243245;
      }
    }
    IFC4X32.IfcPropertyListValue = IfcPropertyListValue;
    class IfcPropertyReferenceValue extends IfcSimpleProperty {
      constructor(Name, Specification, UsageName, PropertyReference) {
        super(Name, Specification);
        this.Name = Name;
        this.Specification = Specification;
        this.UsageName = UsageName;
        this.PropertyReference = PropertyReference;
        this.type = 941946838;
      }
    }
    IFC4X32.IfcPropertyReferenceValue = IfcPropertyReferenceValue;
    class IfcPropertySet extends IfcPropertySetDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, HasProperties) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.HasProperties = HasProperties;
        this.type = 1451395588;
      }
    }
    IFC4X32.IfcPropertySet = IfcPropertySet;
    class IfcPropertySetTemplate extends IfcPropertyTemplateDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description, TemplateType, ApplicableEntity, HasPropertyTemplates) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.TemplateType = TemplateType;
        this.ApplicableEntity = ApplicableEntity;
        this.HasPropertyTemplates = HasPropertyTemplates;
        this.type = 492091185;
      }
    }
    IFC4X32.IfcPropertySetTemplate = IfcPropertySetTemplate;
    class IfcPropertySingleValue extends IfcSimpleProperty {
      constructor(Name, Specification, NominalValue, Unit) {
        super(Name, Specification);
        this.Name = Name;
        this.Specification = Specification;
        this.NominalValue = NominalValue;
        this.Unit = Unit;
        this.type = 3650150729;
      }
    }
    IFC4X32.IfcPropertySingleValue = IfcPropertySingleValue;
    class IfcPropertyTableValue extends IfcSimpleProperty {
      constructor(Name, Specification, DefiningValues, DefinedValues, Expression, DefiningUnit, DefinedUnit, CurveInterpolation) {
        super(Name, Specification);
        this.Name = Name;
        this.Specification = Specification;
        this.DefiningValues = DefiningValues;
        this.DefinedValues = DefinedValues;
        this.Expression = Expression;
        this.DefiningUnit = DefiningUnit;
        this.DefinedUnit = DefinedUnit;
        this.CurveInterpolation = CurveInterpolation;
        this.type = 110355661;
      }
    }
    IFC4X32.IfcPropertyTableValue = IfcPropertyTableValue;
    class IfcPropertyTemplate extends IfcPropertyTemplateDefinition {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 3521284610;
      }
    }
    IFC4X32.IfcPropertyTemplate = IfcPropertyTemplate;
    class IfcRectangleHollowProfileDef extends IfcRectangleProfileDef {
      constructor(ProfileType, ProfileName, Position, XDim, YDim, WallThickness, InnerFilletRadius, OuterFilletRadius) {
        super(ProfileType, ProfileName, Position, XDim, YDim);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.XDim = XDim;
        this.YDim = YDim;
        this.WallThickness = WallThickness;
        this.InnerFilletRadius = InnerFilletRadius;
        this.OuterFilletRadius = OuterFilletRadius;
        this.type = 2770003689;
      }
    }
    IFC4X32.IfcRectangleHollowProfileDef = IfcRectangleHollowProfileDef;
    class IfcRectangularPyramid extends IfcCsgPrimitive3D {
      constructor(Position, XLength, YLength, Height) {
        super(Position);
        this.Position = Position;
        this.XLength = XLength;
        this.YLength = YLength;
        this.Height = Height;
        this.type = 2798486643;
      }
    }
    IFC4X32.IfcRectangularPyramid = IfcRectangularPyramid;
    class IfcRectangularTrimmedSurface extends IfcBoundedSurface {
      constructor(BasisSurface, U1, V1, U2, V2, Usense, Vsense) {
        super();
        this.BasisSurface = BasisSurface;
        this.U1 = U1;
        this.V1 = V1;
        this.U2 = U2;
        this.V2 = V2;
        this.Usense = Usense;
        this.Vsense = Vsense;
        this.type = 3454111270;
      }
    }
    IFC4X32.IfcRectangularTrimmedSurface = IfcRectangularTrimmedSurface;
    class IfcReinforcementDefinitionProperties extends IfcPreDefinedPropertySet {
      constructor(GlobalId, OwnerHistory, Name, Description, DefinitionType, ReinforcementSectionDefinitions) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.DefinitionType = DefinitionType;
        this.ReinforcementSectionDefinitions = ReinforcementSectionDefinitions;
        this.type = 3765753017;
      }
    }
    IFC4X32.IfcReinforcementDefinitionProperties = IfcReinforcementDefinitionProperties;
    class IfcRelAssigns extends IfcRelationship {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.type = 3939117080;
      }
    }
    IFC4X32.IfcRelAssigns = IfcRelAssigns;
    class IfcRelAssignsToActor extends IfcRelAssigns {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingActor, ActingRole) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingActor = RelatingActor;
        this.ActingRole = ActingRole;
        this.type = 1683148259;
      }
    }
    IFC4X32.IfcRelAssignsToActor = IfcRelAssignsToActor;
    class IfcRelAssignsToControl extends IfcRelAssigns {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingControl) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingControl = RelatingControl;
        this.type = 2495723537;
      }
    }
    IFC4X32.IfcRelAssignsToControl = IfcRelAssignsToControl;
    class IfcRelAssignsToGroup extends IfcRelAssigns {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingGroup = RelatingGroup;
        this.type = 1307041759;
      }
    }
    IFC4X32.IfcRelAssignsToGroup = IfcRelAssignsToGroup;
    class IfcRelAssignsToGroupByFactor extends IfcRelAssignsToGroup {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup, Factor) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingGroup);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingGroup = RelatingGroup;
        this.Factor = Factor;
        this.type = 1027710054;
      }
    }
    IFC4X32.IfcRelAssignsToGroupByFactor = IfcRelAssignsToGroupByFactor;
    class IfcRelAssignsToProcess extends IfcRelAssigns {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingProcess, QuantityInProcess) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingProcess = RelatingProcess;
        this.QuantityInProcess = QuantityInProcess;
        this.type = 4278684876;
      }
    }
    IFC4X32.IfcRelAssignsToProcess = IfcRelAssignsToProcess;
    class IfcRelAssignsToProduct extends IfcRelAssigns {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingProduct) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingProduct = RelatingProduct;
        this.type = 2857406711;
      }
    }
    IFC4X32.IfcRelAssignsToProduct = IfcRelAssignsToProduct;
    class IfcRelAssignsToResource extends IfcRelAssigns {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType, RelatingResource) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatedObjectsType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatedObjectsType = RelatedObjectsType;
        this.RelatingResource = RelatingResource;
        this.type = 205026976;
      }
    }
    IFC4X32.IfcRelAssignsToResource = IfcRelAssignsToResource;
    class IfcRelAssociates extends IfcRelationship {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.type = 1865459582;
      }
    }
    IFC4X32.IfcRelAssociates = IfcRelAssociates;
    class IfcRelAssociatesApproval extends IfcRelAssociates {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingApproval) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingApproval = RelatingApproval;
        this.type = 4095574036;
      }
    }
    IFC4X32.IfcRelAssociatesApproval = IfcRelAssociatesApproval;
    class IfcRelAssociatesClassification extends IfcRelAssociates {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingClassification) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingClassification = RelatingClassification;
        this.type = 919958153;
      }
    }
    IFC4X32.IfcRelAssociatesClassification = IfcRelAssociatesClassification;
    class IfcRelAssociatesConstraint extends IfcRelAssociates {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, Intent, RelatingConstraint) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.Intent = Intent;
        this.RelatingConstraint = RelatingConstraint;
        this.type = 2728634034;
      }
    }
    IFC4X32.IfcRelAssociatesConstraint = IfcRelAssociatesConstraint;
    class IfcRelAssociatesDocument extends IfcRelAssociates {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingDocument) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingDocument = RelatingDocument;
        this.type = 982818633;
      }
    }
    IFC4X32.IfcRelAssociatesDocument = IfcRelAssociatesDocument;
    class IfcRelAssociatesLibrary extends IfcRelAssociates {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingLibrary) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingLibrary = RelatingLibrary;
        this.type = 3840914261;
      }
    }
    IFC4X32.IfcRelAssociatesLibrary = IfcRelAssociatesLibrary;
    class IfcRelAssociatesMaterial extends IfcRelAssociates {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingMaterial) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingMaterial = RelatingMaterial;
        this.type = 2655215786;
      }
    }
    IFC4X32.IfcRelAssociatesMaterial = IfcRelAssociatesMaterial;
    class IfcRelAssociatesProfileDef extends IfcRelAssociates {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingProfileDef) {
        super(GlobalId, OwnerHistory, Name, Description, RelatedObjects);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingProfileDef = RelatingProfileDef;
        this.type = 1033248425;
      }
    }
    IFC4X32.IfcRelAssociatesProfileDef = IfcRelAssociatesProfileDef;
    class IfcRelConnects extends IfcRelationship {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 826625072;
      }
    }
    IFC4X32.IfcRelConnects = IfcRelConnects;
    class IfcRelConnectsElements extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ConnectionGeometry = ConnectionGeometry;
        this.RelatingElement = RelatingElement;
        this.RelatedElement = RelatedElement;
        this.type = 1204542856;
      }
    }
    IFC4X32.IfcRelConnectsElements = IfcRelConnectsElements;
    class IfcRelConnectsPathElements extends IfcRelConnectsElements {
      constructor(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement, RelatingPriorities, RelatedPriorities, RelatedConnectionType, RelatingConnectionType) {
        super(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ConnectionGeometry = ConnectionGeometry;
        this.RelatingElement = RelatingElement;
        this.RelatedElement = RelatedElement;
        this.RelatingPriorities = RelatingPriorities;
        this.RelatedPriorities = RelatedPriorities;
        this.RelatedConnectionType = RelatedConnectionType;
        this.RelatingConnectionType = RelatingConnectionType;
        this.type = 3945020480;
      }
    }
    IFC4X32.IfcRelConnectsPathElements = IfcRelConnectsPathElements;
    class IfcRelConnectsPortToElement extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingPort, RelatedElement) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingPort = RelatingPort;
        this.RelatedElement = RelatedElement;
        this.type = 4201705270;
      }
    }
    IFC4X32.IfcRelConnectsPortToElement = IfcRelConnectsPortToElement;
    class IfcRelConnectsPorts extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingPort, RelatedPort, RealizingElement) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingPort = RelatingPort;
        this.RelatedPort = RelatedPort;
        this.RealizingElement = RealizingElement;
        this.type = 3190031847;
      }
    }
    IFC4X32.IfcRelConnectsPorts = IfcRelConnectsPorts;
    class IfcRelConnectsStructuralActivity extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedStructuralActivity) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingElement = RelatingElement;
        this.RelatedStructuralActivity = RelatedStructuralActivity;
        this.type = 2127690289;
      }
    }
    IFC4X32.IfcRelConnectsStructuralActivity = IfcRelConnectsStructuralActivity;
    class IfcRelConnectsStructuralMember extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingStructuralMember = RelatingStructuralMember;
        this.RelatedStructuralConnection = RelatedStructuralConnection;
        this.AppliedCondition = AppliedCondition;
        this.AdditionalConditions = AdditionalConditions;
        this.SupportedLength = SupportedLength;
        this.ConditionCoordinateSystem = ConditionCoordinateSystem;
        this.type = 1638771189;
      }
    }
    IFC4X32.IfcRelConnectsStructuralMember = IfcRelConnectsStructuralMember;
    class IfcRelConnectsWithEccentricity extends IfcRelConnectsStructuralMember {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem, ConnectionConstraint) {
        super(GlobalId, OwnerHistory, Name, Description, RelatingStructuralMember, RelatedStructuralConnection, AppliedCondition, AdditionalConditions, SupportedLength, ConditionCoordinateSystem);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingStructuralMember = RelatingStructuralMember;
        this.RelatedStructuralConnection = RelatedStructuralConnection;
        this.AppliedCondition = AppliedCondition;
        this.AdditionalConditions = AdditionalConditions;
        this.SupportedLength = SupportedLength;
        this.ConditionCoordinateSystem = ConditionCoordinateSystem;
        this.ConnectionConstraint = ConnectionConstraint;
        this.type = 504942748;
      }
    }
    IFC4X32.IfcRelConnectsWithEccentricity = IfcRelConnectsWithEccentricity;
    class IfcRelConnectsWithRealizingElements extends IfcRelConnectsElements {
      constructor(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement, RealizingElements, ConnectionType) {
        super(GlobalId, OwnerHistory, Name, Description, ConnectionGeometry, RelatingElement, RelatedElement);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ConnectionGeometry = ConnectionGeometry;
        this.RelatingElement = RelatingElement;
        this.RelatedElement = RelatedElement;
        this.RealizingElements = RealizingElements;
        this.ConnectionType = ConnectionType;
        this.type = 3678494232;
      }
    }
    IFC4X32.IfcRelConnectsWithRealizingElements = IfcRelConnectsWithRealizingElements;
    class IfcRelContainedInSpatialStructure extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedElements, RelatingStructure) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedElements = RelatedElements;
        this.RelatingStructure = RelatingStructure;
        this.type = 3242617779;
      }
    }
    IFC4X32.IfcRelContainedInSpatialStructure = IfcRelContainedInSpatialStructure;
    class IfcRelCoversBldgElements extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingBuildingElement, RelatedCoverings) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingBuildingElement = RelatingBuildingElement;
        this.RelatedCoverings = RelatedCoverings;
        this.type = 886880790;
      }
    }
    IFC4X32.IfcRelCoversBldgElements = IfcRelCoversBldgElements;
    class IfcRelCoversSpaces extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedCoverings) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingSpace = RelatingSpace;
        this.RelatedCoverings = RelatedCoverings;
        this.type = 2802773753;
      }
    }
    IFC4X32.IfcRelCoversSpaces = IfcRelCoversSpaces;
    class IfcRelDeclares extends IfcRelationship {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingContext, RelatedDefinitions) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingContext = RelatingContext;
        this.RelatedDefinitions = RelatedDefinitions;
        this.type = 2565941209;
      }
    }
    IFC4X32.IfcRelDeclares = IfcRelDeclares;
    class IfcRelDecomposes extends IfcRelationship {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 2551354335;
      }
    }
    IFC4X32.IfcRelDecomposes = IfcRelDecomposes;
    class IfcRelDefines extends IfcRelationship {
      constructor(GlobalId, OwnerHistory, Name, Description) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.type = 693640335;
      }
    }
    IFC4X32.IfcRelDefines = IfcRelDefines;
    class IfcRelDefinesByObject extends IfcRelDefines {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingObject) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingObject = RelatingObject;
        this.type = 1462361463;
      }
    }
    IFC4X32.IfcRelDefinesByObject = IfcRelDefinesByObject;
    class IfcRelDefinesByProperties extends IfcRelDefines {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingPropertyDefinition) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingPropertyDefinition = RelatingPropertyDefinition;
        this.type = 4186316022;
      }
    }
    IFC4X32.IfcRelDefinesByProperties = IfcRelDefinesByProperties;
    class IfcRelDefinesByTemplate extends IfcRelDefines {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedPropertySets, RelatingTemplate) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedPropertySets = RelatedPropertySets;
        this.RelatingTemplate = RelatingTemplate;
        this.type = 307848117;
      }
    }
    IFC4X32.IfcRelDefinesByTemplate = IfcRelDefinesByTemplate;
    class IfcRelDefinesByType extends IfcRelDefines {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedObjects, RelatingType) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedObjects = RelatedObjects;
        this.RelatingType = RelatingType;
        this.type = 781010003;
      }
    }
    IFC4X32.IfcRelDefinesByType = IfcRelDefinesByType;
    class IfcRelFillsElement extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingOpeningElement, RelatedBuildingElement) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingOpeningElement = RelatingOpeningElement;
        this.RelatedBuildingElement = RelatedBuildingElement;
        this.type = 3940055652;
      }
    }
    IFC4X32.IfcRelFillsElement = IfcRelFillsElement;
    class IfcRelFlowControlElements extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedControlElements, RelatingFlowElement) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedControlElements = RelatedControlElements;
        this.RelatingFlowElement = RelatingFlowElement;
        this.type = 279856033;
      }
    }
    IFC4X32.IfcRelFlowControlElements = IfcRelFlowControlElements;
    class IfcRelInterferesElements extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedElement, InterferenceGeometry, InterferenceType, ImpliedOrder, InterferenceSpace) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingElement = RelatingElement;
        this.RelatedElement = RelatedElement;
        this.InterferenceGeometry = InterferenceGeometry;
        this.InterferenceType = InterferenceType;
        this.ImpliedOrder = ImpliedOrder;
        this.InterferenceSpace = InterferenceSpace;
        this.type = 427948657;
      }
    }
    IFC4X32.IfcRelInterferesElements = IfcRelInterferesElements;
    class IfcRelNests extends IfcRelDecomposes {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingObject = RelatingObject;
        this.RelatedObjects = RelatedObjects;
        this.type = 3268803585;
      }
    }
    IFC4X32.IfcRelNests = IfcRelNests;
    class IfcRelPositions extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingPositioningElement, RelatedProducts) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingPositioningElement = RelatingPositioningElement;
        this.RelatedProducts = RelatedProducts;
        this.type = 1441486842;
      }
    }
    IFC4X32.IfcRelPositions = IfcRelPositions;
    class IfcRelProjectsElement extends IfcRelDecomposes {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedFeatureElement) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingElement = RelatingElement;
        this.RelatedFeatureElement = RelatedFeatureElement;
        this.type = 750771296;
      }
    }
    IFC4X32.IfcRelProjectsElement = IfcRelProjectsElement;
    class IfcRelReferencedInSpatialStructure extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatedElements, RelatingStructure) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatedElements = RelatedElements;
        this.RelatingStructure = RelatingStructure;
        this.type = 1245217292;
      }
    }
    IFC4X32.IfcRelReferencedInSpatialStructure = IfcRelReferencedInSpatialStructure;
    class IfcRelSequence extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingProcess, RelatedProcess, TimeLag, SequenceType, UserDefinedSequenceType) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingProcess = RelatingProcess;
        this.RelatedProcess = RelatedProcess;
        this.TimeLag = TimeLag;
        this.SequenceType = SequenceType;
        this.UserDefinedSequenceType = UserDefinedSequenceType;
        this.type = 4122056220;
      }
    }
    IFC4X32.IfcRelSequence = IfcRelSequence;
    class IfcRelServicesBuildings extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingSystem, RelatedBuildings) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingSystem = RelatingSystem;
        this.RelatedBuildings = RelatedBuildings;
        this.type = 366585022;
      }
    }
    IFC4X32.IfcRelServicesBuildings = IfcRelServicesBuildings;
    class IfcRelSpaceBoundary extends IfcRelConnects {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingSpace = RelatingSpace;
        this.RelatedBuildingElement = RelatedBuildingElement;
        this.ConnectionGeometry = ConnectionGeometry;
        this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary;
        this.InternalOrExternalBoundary = InternalOrExternalBoundary;
        this.type = 3451746338;
      }
    }
    IFC4X32.IfcRelSpaceBoundary = IfcRelSpaceBoundary;
    class IfcRelSpaceBoundary1stLevel extends IfcRelSpaceBoundary {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, ParentBoundary) {
        super(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingSpace = RelatingSpace;
        this.RelatedBuildingElement = RelatedBuildingElement;
        this.ConnectionGeometry = ConnectionGeometry;
        this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary;
        this.InternalOrExternalBoundary = InternalOrExternalBoundary;
        this.ParentBoundary = ParentBoundary;
        this.type = 3523091289;
      }
    }
    IFC4X32.IfcRelSpaceBoundary1stLevel = IfcRelSpaceBoundary1stLevel;
    class IfcRelSpaceBoundary2ndLevel extends IfcRelSpaceBoundary1stLevel {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, ParentBoundary, CorrespondingBoundary) {
        super(GlobalId, OwnerHistory, Name, Description, RelatingSpace, RelatedBuildingElement, ConnectionGeometry, PhysicalOrVirtualBoundary, InternalOrExternalBoundary, ParentBoundary);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingSpace = RelatingSpace;
        this.RelatedBuildingElement = RelatedBuildingElement;
        this.ConnectionGeometry = ConnectionGeometry;
        this.PhysicalOrVirtualBoundary = PhysicalOrVirtualBoundary;
        this.InternalOrExternalBoundary = InternalOrExternalBoundary;
        this.ParentBoundary = ParentBoundary;
        this.CorrespondingBoundary = CorrespondingBoundary;
        this.type = 1521410863;
      }
    }
    IFC4X32.IfcRelSpaceBoundary2ndLevel = IfcRelSpaceBoundary2ndLevel;
    class IfcRelVoidsElement extends IfcRelDecomposes {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingBuildingElement, RelatedOpeningElement) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingBuildingElement = RelatingBuildingElement;
        this.RelatedOpeningElement = RelatedOpeningElement;
        this.type = 1401173127;
      }
    }
    IFC4X32.IfcRelVoidsElement = IfcRelVoidsElement;
    class IfcReparametrisedCompositeCurveSegment extends IfcCompositeCurveSegment {
      constructor(Transition, SameSense, ParentCurve, ParamLength) {
        super(Transition, SameSense, ParentCurve);
        this.Transition = Transition;
        this.SameSense = SameSense;
        this.ParentCurve = ParentCurve;
        this.ParamLength = ParamLength;
        this.type = 816062949;
      }
    }
    IFC4X32.IfcReparametrisedCompositeCurveSegment = IfcReparametrisedCompositeCurveSegment;
    class IfcResource extends IfcObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.type = 2914609552;
      }
    }
    IFC4X32.IfcResource = IfcResource;
    class IfcRevolvedAreaSolid extends IfcSweptAreaSolid {
      constructor(SweptArea, Position, Axis, Angle) {
        super(SweptArea, Position);
        this.SweptArea = SweptArea;
        this.Position = Position;
        this.Axis = Axis;
        this.Angle = Angle;
        this.type = 1856042241;
      }
    }
    IFC4X32.IfcRevolvedAreaSolid = IfcRevolvedAreaSolid;
    class IfcRevolvedAreaSolidTapered extends IfcRevolvedAreaSolid {
      constructor(SweptArea, Position, Axis, Angle, EndSweptArea) {
        super(SweptArea, Position, Axis, Angle);
        this.SweptArea = SweptArea;
        this.Position = Position;
        this.Axis = Axis;
        this.Angle = Angle;
        this.EndSweptArea = EndSweptArea;
        this.type = 3243963512;
      }
    }
    IFC4X32.IfcRevolvedAreaSolidTapered = IfcRevolvedAreaSolidTapered;
    class IfcRightCircularCone extends IfcCsgPrimitive3D {
      constructor(Position, Height, BottomRadius) {
        super(Position);
        this.Position = Position;
        this.Height = Height;
        this.BottomRadius = BottomRadius;
        this.type = 4158566097;
      }
    }
    IFC4X32.IfcRightCircularCone = IfcRightCircularCone;
    class IfcRightCircularCylinder extends IfcCsgPrimitive3D {
      constructor(Position, Height, Radius) {
        super(Position);
        this.Position = Position;
        this.Height = Height;
        this.Radius = Radius;
        this.type = 3626867408;
      }
    }
    IFC4X32.IfcRightCircularCylinder = IfcRightCircularCylinder;
    class IfcSectionedSolid extends IfcSolidModel {
      constructor(Directrix, CrossSections) {
        super();
        this.Directrix = Directrix;
        this.CrossSections = CrossSections;
        this.type = 1862484736;
      }
    }
    IFC4X32.IfcSectionedSolid = IfcSectionedSolid;
    class IfcSectionedSolidHorizontal extends IfcSectionedSolid {
      constructor(Directrix, CrossSections, CrossSectionPositions) {
        super(Directrix, CrossSections);
        this.Directrix = Directrix;
        this.CrossSections = CrossSections;
        this.CrossSectionPositions = CrossSectionPositions;
        this.type = 1290935644;
      }
    }
    IFC4X32.IfcSectionedSolidHorizontal = IfcSectionedSolidHorizontal;
    class IfcSectionedSurface extends IfcSurface {
      constructor(Directrix, CrossSectionPositions, CrossSections) {
        super();
        this.Directrix = Directrix;
        this.CrossSectionPositions = CrossSectionPositions;
        this.CrossSections = CrossSections;
        this.type = 1356537516;
      }
    }
    IFC4X32.IfcSectionedSurface = IfcSectionedSurface;
    class IfcSimplePropertyTemplate extends IfcPropertyTemplate {
      constructor(GlobalId, OwnerHistory, Name, Description, TemplateType, PrimaryMeasureType, SecondaryMeasureType, Enumerators, PrimaryUnit, SecondaryUnit, Expression, AccessState) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.TemplateType = TemplateType;
        this.PrimaryMeasureType = PrimaryMeasureType;
        this.SecondaryMeasureType = SecondaryMeasureType;
        this.Enumerators = Enumerators;
        this.PrimaryUnit = PrimaryUnit;
        this.SecondaryUnit = SecondaryUnit;
        this.Expression = Expression;
        this.AccessState = AccessState;
        this.type = 3663146110;
      }
    }
    IFC4X32.IfcSimplePropertyTemplate = IfcSimplePropertyTemplate;
    class IfcSpatialElement extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.type = 1412071761;
      }
    }
    IFC4X32.IfcSpatialElement = IfcSpatialElement;
    class IfcSpatialElementType extends IfcTypeProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 710998568;
      }
    }
    IFC4X32.IfcSpatialElementType = IfcSpatialElementType;
    class IfcSpatialStructureElement extends IfcSpatialElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.type = 2706606064;
      }
    }
    IFC4X32.IfcSpatialStructureElement = IfcSpatialStructureElement;
    class IfcSpatialStructureElementType extends IfcSpatialElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 3893378262;
      }
    }
    IFC4X32.IfcSpatialStructureElementType = IfcSpatialStructureElementType;
    class IfcSpatialZone extends IfcSpatialElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.PredefinedType = PredefinedType;
        this.type = 463610769;
      }
    }
    IFC4X32.IfcSpatialZone = IfcSpatialZone;
    class IfcSpatialZoneType extends IfcSpatialElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, LongName) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.LongName = LongName;
        this.type = 2481509218;
      }
    }
    IFC4X32.IfcSpatialZoneType = IfcSpatialZoneType;
    class IfcSphere extends IfcCsgPrimitive3D {
      constructor(Position, Radius) {
        super(Position);
        this.Position = Position;
        this.Radius = Radius;
        this.type = 451544542;
      }
    }
    IFC4X32.IfcSphere = IfcSphere;
    class IfcSphericalSurface extends IfcElementarySurface {
      constructor(Position, Radius) {
        super(Position);
        this.Position = Position;
        this.Radius = Radius;
        this.type = 4015995234;
      }
    }
    IFC4X32.IfcSphericalSurface = IfcSphericalSurface;
    class IfcSpiral extends IfcCurve {
      constructor(Position) {
        super();
        this.Position = Position;
        this.type = 2735484536;
      }
    }
    IFC4X32.IfcSpiral = IfcSpiral;
    class IfcStructuralActivity extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.type = 3544373492;
      }
    }
    IFC4X32.IfcStructuralActivity = IfcStructuralActivity;
    class IfcStructuralItem extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.type = 3136571912;
      }
    }
    IFC4X32.IfcStructuralItem = IfcStructuralItem;
    class IfcStructuralMember extends IfcStructuralItem {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.type = 530289379;
      }
    }
    IFC4X32.IfcStructuralMember = IfcStructuralMember;
    class IfcStructuralReaction extends IfcStructuralActivity {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.type = 3689010777;
      }
    }
    IFC4X32.IfcStructuralReaction = IfcStructuralReaction;
    class IfcStructuralSurfaceMember extends IfcStructuralMember {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.PredefinedType = PredefinedType;
        this.Thickness = Thickness;
        this.type = 3979015343;
      }
    }
    IFC4X32.IfcStructuralSurfaceMember = IfcStructuralSurfaceMember;
    class IfcStructuralSurfaceMemberVarying extends IfcStructuralSurfaceMember {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Thickness);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.PredefinedType = PredefinedType;
        this.Thickness = Thickness;
        this.type = 2218152070;
      }
    }
    IFC4X32.IfcStructuralSurfaceMemberVarying = IfcStructuralSurfaceMemberVarying;
    class IfcStructuralSurfaceReaction extends IfcStructuralReaction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.PredefinedType = PredefinedType;
        this.type = 603775116;
      }
    }
    IFC4X32.IfcStructuralSurfaceReaction = IfcStructuralSurfaceReaction;
    class IfcSubContractResourceType extends IfcConstructionResourceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ResourceType = ResourceType;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 4095615324;
      }
    }
    IFC4X32.IfcSubContractResourceType = IfcSubContractResourceType;
    class IfcSurfaceCurve extends IfcCurve {
      constructor(Curve3D, AssociatedGeometry, MasterRepresentation) {
        super();
        this.Curve3D = Curve3D;
        this.AssociatedGeometry = AssociatedGeometry;
        this.MasterRepresentation = MasterRepresentation;
        this.type = 699246055;
      }
    }
    IFC4X32.IfcSurfaceCurve = IfcSurfaceCurve;
    class IfcSurfaceCurveSweptAreaSolid extends IfcDirectrixCurveSweptAreaSolid {
      constructor(SweptArea, Position, Directrix, StartParam, EndParam, ReferenceSurface) {
        super(SweptArea, Position, Directrix, StartParam, EndParam);
        this.SweptArea = SweptArea;
        this.Position = Position;
        this.Directrix = Directrix;
        this.StartParam = StartParam;
        this.EndParam = EndParam;
        this.ReferenceSurface = ReferenceSurface;
        this.type = 2028607225;
      }
    }
    IFC4X32.IfcSurfaceCurveSweptAreaSolid = IfcSurfaceCurveSweptAreaSolid;
    class IfcSurfaceOfLinearExtrusion extends IfcSweptSurface {
      constructor(SweptCurve, Position, ExtrudedDirection, Depth) {
        super(SweptCurve, Position);
        this.SweptCurve = SweptCurve;
        this.Position = Position;
        this.ExtrudedDirection = ExtrudedDirection;
        this.Depth = Depth;
        this.type = 2809605785;
      }
    }
    IFC4X32.IfcSurfaceOfLinearExtrusion = IfcSurfaceOfLinearExtrusion;
    class IfcSurfaceOfRevolution extends IfcSweptSurface {
      constructor(SweptCurve, Position, AxisPosition) {
        super(SweptCurve, Position);
        this.SweptCurve = SweptCurve;
        this.Position = Position;
        this.AxisPosition = AxisPosition;
        this.type = 4124788165;
      }
    }
    IFC4X32.IfcSurfaceOfRevolution = IfcSurfaceOfRevolution;
    class IfcSystemFurnitureElementType extends IfcFurnishingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1580310250;
      }
    }
    IFC4X32.IfcSystemFurnitureElementType = IfcSystemFurnitureElementType;
    class IfcTask extends IfcProcess {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Status, WorkMethod, IsMilestone, Priority, TaskTime, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.Status = Status;
        this.WorkMethod = WorkMethod;
        this.IsMilestone = IsMilestone;
        this.Priority = Priority;
        this.TaskTime = TaskTime;
        this.PredefinedType = PredefinedType;
        this.type = 3473067441;
      }
    }
    IFC4X32.IfcTask = IfcTask;
    class IfcTaskType extends IfcTypeProcess {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType, PredefinedType, WorkMethod) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ProcessType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ProcessType = ProcessType;
        this.PredefinedType = PredefinedType;
        this.WorkMethod = WorkMethod;
        this.type = 3206491090;
      }
    }
    IFC4X32.IfcTaskType = IfcTaskType;
    class IfcTessellatedFaceSet extends IfcTessellatedItem {
      constructor(Coordinates) {
        super();
        this.Coordinates = Coordinates;
        this.type = 2387106220;
      }
    }
    IFC4X32.IfcTessellatedFaceSet = IfcTessellatedFaceSet;
    class IfcThirdOrderPolynomialSpiral extends IfcSpiral {
      constructor(Position, CubicTerm, QuadraticTerm, LinearTerm, ConstantTerm) {
        super(Position);
        this.Position = Position;
        this.CubicTerm = CubicTerm;
        this.QuadraticTerm = QuadraticTerm;
        this.LinearTerm = LinearTerm;
        this.ConstantTerm = ConstantTerm;
        this.type = 782932809;
      }
    }
    IFC4X32.IfcThirdOrderPolynomialSpiral = IfcThirdOrderPolynomialSpiral;
    class IfcToroidalSurface extends IfcElementarySurface {
      constructor(Position, MajorRadius, MinorRadius) {
        super(Position);
        this.Position = Position;
        this.MajorRadius = MajorRadius;
        this.MinorRadius = MinorRadius;
        this.type = 1935646853;
      }
    }
    IFC4X32.IfcToroidalSurface = IfcToroidalSurface;
    class IfcTransportationDeviceType extends IfcElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 3665877780;
      }
    }
    IFC4X32.IfcTransportationDeviceType = IfcTransportationDeviceType;
    class IfcTriangulatedFaceSet extends IfcTessellatedFaceSet {
      constructor(Coordinates, Normals, Closed, CoordIndex, PnIndex) {
        super(Coordinates);
        this.Coordinates = Coordinates;
        this.Normals = Normals;
        this.Closed = Closed;
        this.CoordIndex = CoordIndex;
        this.PnIndex = PnIndex;
        this.type = 2916149573;
      }
    }
    IFC4X32.IfcTriangulatedFaceSet = IfcTriangulatedFaceSet;
    class IfcTriangulatedIrregularNetwork extends IfcTriangulatedFaceSet {
      constructor(Coordinates, Normals, Closed, CoordIndex, PnIndex, Flags) {
        super(Coordinates, Normals, Closed, CoordIndex, PnIndex);
        this.Coordinates = Coordinates;
        this.Normals = Normals;
        this.Closed = Closed;
        this.CoordIndex = CoordIndex;
        this.PnIndex = PnIndex;
        this.Flags = Flags;
        this.type = 1229763772;
      }
    }
    IFC4X32.IfcTriangulatedIrregularNetwork = IfcTriangulatedIrregularNetwork;
    class IfcVehicleType extends IfcTransportationDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3651464721;
      }
    }
    IFC4X32.IfcVehicleType = IfcVehicleType;
    class IfcWindowLiningProperties extends IfcPreDefinedPropertySet {
      constructor(GlobalId, OwnerHistory, Name, Description, LiningDepth, LiningThickness, TransomThickness, MullionThickness, FirstTransomOffset, SecondTransomOffset, FirstMullionOffset, SecondMullionOffset, ShapeAspectStyle, LiningOffset, LiningToPanelOffsetX, LiningToPanelOffsetY) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.LiningDepth = LiningDepth;
        this.LiningThickness = LiningThickness;
        this.TransomThickness = TransomThickness;
        this.MullionThickness = MullionThickness;
        this.FirstTransomOffset = FirstTransomOffset;
        this.SecondTransomOffset = SecondTransomOffset;
        this.FirstMullionOffset = FirstMullionOffset;
        this.SecondMullionOffset = SecondMullionOffset;
        this.ShapeAspectStyle = ShapeAspectStyle;
        this.LiningOffset = LiningOffset;
        this.LiningToPanelOffsetX = LiningToPanelOffsetX;
        this.LiningToPanelOffsetY = LiningToPanelOffsetY;
        this.type = 336235671;
      }
    }
    IFC4X32.IfcWindowLiningProperties = IfcWindowLiningProperties;
    class IfcWindowPanelProperties extends IfcPreDefinedPropertySet {
      constructor(GlobalId, OwnerHistory, Name, Description, OperationType, PanelPosition, FrameDepth, FrameThickness, ShapeAspectStyle) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.OperationType = OperationType;
        this.PanelPosition = PanelPosition;
        this.FrameDepth = FrameDepth;
        this.FrameThickness = FrameThickness;
        this.ShapeAspectStyle = ShapeAspectStyle;
        this.type = 512836454;
      }
    }
    IFC4X32.IfcWindowPanelProperties = IfcWindowPanelProperties;
    class IfcActor extends IfcObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.TheActor = TheActor;
        this.type = 2296667514;
      }
    }
    IFC4X32.IfcActor = IfcActor;
    class IfcAdvancedBrep extends IfcManifoldSolidBrep {
      constructor(Outer) {
        super(Outer);
        this.Outer = Outer;
        this.type = 1635779807;
      }
    }
    IFC4X32.IfcAdvancedBrep = IfcAdvancedBrep;
    class IfcAdvancedBrepWithVoids extends IfcAdvancedBrep {
      constructor(Outer, Voids) {
        super(Outer);
        this.Outer = Outer;
        this.Voids = Voids;
        this.type = 2603310189;
      }
    }
    IFC4X32.IfcAdvancedBrepWithVoids = IfcAdvancedBrepWithVoids;
    class IfcAnnotation extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.PredefinedType = PredefinedType;
        this.type = 1674181508;
      }
    }
    IFC4X32.IfcAnnotation = IfcAnnotation;
    class IfcBSplineSurface extends IfcBoundedSurface {
      constructor(UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect) {
        super();
        this.UDegree = UDegree;
        this.VDegree = VDegree;
        this.ControlPointsList = ControlPointsList;
        this.SurfaceForm = SurfaceForm;
        this.UClosed = UClosed;
        this.VClosed = VClosed;
        this.SelfIntersect = SelfIntersect;
        this.type = 2887950389;
      }
    }
    IFC4X32.IfcBSplineSurface = IfcBSplineSurface;
    class IfcBSplineSurfaceWithKnots extends IfcBSplineSurface {
      constructor(UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect, UMultiplicities, VMultiplicities, UKnots, VKnots, KnotSpec) {
        super(UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect);
        this.UDegree = UDegree;
        this.VDegree = VDegree;
        this.ControlPointsList = ControlPointsList;
        this.SurfaceForm = SurfaceForm;
        this.UClosed = UClosed;
        this.VClosed = VClosed;
        this.SelfIntersect = SelfIntersect;
        this.UMultiplicities = UMultiplicities;
        this.VMultiplicities = VMultiplicities;
        this.UKnots = UKnots;
        this.VKnots = VKnots;
        this.KnotSpec = KnotSpec;
        this.type = 167062518;
      }
    }
    IFC4X32.IfcBSplineSurfaceWithKnots = IfcBSplineSurfaceWithKnots;
    class IfcBlock extends IfcCsgPrimitive3D {
      constructor(Position, XLength, YLength, ZLength) {
        super(Position);
        this.Position = Position;
        this.XLength = XLength;
        this.YLength = YLength;
        this.ZLength = ZLength;
        this.type = 1334484129;
      }
    }
    IFC4X32.IfcBlock = IfcBlock;
    class IfcBooleanClippingResult extends IfcBooleanResult {
      constructor(Operator, FirstOperand, SecondOperand) {
        super(Operator, FirstOperand, SecondOperand);
        this.Operator = Operator;
        this.FirstOperand = FirstOperand;
        this.SecondOperand = SecondOperand;
        this.type = 3649129432;
      }
    }
    IFC4X32.IfcBooleanClippingResult = IfcBooleanClippingResult;
    class IfcBoundedCurve extends IfcCurve {
      constructor() {
        super();
        this.type = 1260505505;
      }
    }
    IFC4X32.IfcBoundedCurve = IfcBoundedCurve;
    class IfcBuildingStorey extends IfcSpatialStructureElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, Elevation) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.Elevation = Elevation;
        this.type = 3124254112;
      }
    }
    IFC4X32.IfcBuildingStorey = IfcBuildingStorey;
    class IfcBuiltElementType extends IfcElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 1626504194;
      }
    }
    IFC4X32.IfcBuiltElementType = IfcBuiltElementType;
    class IfcChimneyType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2197970202;
      }
    }
    IFC4X32.IfcChimneyType = IfcChimneyType;
    class IfcCircleHollowProfileDef extends IfcCircleProfileDef {
      constructor(ProfileType, ProfileName, Position, Radius, WallThickness) {
        super(ProfileType, ProfileName, Position, Radius);
        this.ProfileType = ProfileType;
        this.ProfileName = ProfileName;
        this.Position = Position;
        this.Radius = Radius;
        this.WallThickness = WallThickness;
        this.type = 2937912522;
      }
    }
    IFC4X32.IfcCircleHollowProfileDef = IfcCircleHollowProfileDef;
    class IfcCivilElementType extends IfcElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 3893394355;
      }
    }
    IFC4X32.IfcCivilElementType = IfcCivilElementType;
    class IfcClothoid extends IfcSpiral {
      constructor(Position, ClothoidConstant) {
        super(Position);
        this.Position = Position;
        this.ClothoidConstant = ClothoidConstant;
        this.type = 3497074424;
      }
    }
    IFC4X32.IfcClothoid = IfcClothoid;
    class IfcColumnType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 300633059;
      }
    }
    IFC4X32.IfcColumnType = IfcColumnType;
    class IfcComplexPropertyTemplate extends IfcPropertyTemplate {
      constructor(GlobalId, OwnerHistory, Name, Description, UsageName, TemplateType, HasPropertyTemplates) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.UsageName = UsageName;
        this.TemplateType = TemplateType;
        this.HasPropertyTemplates = HasPropertyTemplates;
        this.type = 3875453745;
      }
    }
    IFC4X32.IfcComplexPropertyTemplate = IfcComplexPropertyTemplate;
    class IfcCompositeCurve extends IfcBoundedCurve {
      constructor(Segments, SelfIntersect) {
        super();
        this.Segments = Segments;
        this.SelfIntersect = SelfIntersect;
        this.type = 3732776249;
      }
    }
    IFC4X32.IfcCompositeCurve = IfcCompositeCurve;
    class IfcCompositeCurveOnSurface extends IfcCompositeCurve {
      constructor(Segments, SelfIntersect) {
        super(Segments, SelfIntersect);
        this.Segments = Segments;
        this.SelfIntersect = SelfIntersect;
        this.type = 15328376;
      }
    }
    IFC4X32.IfcCompositeCurveOnSurface = IfcCompositeCurveOnSurface;
    class IfcConic extends IfcCurve {
      constructor(Position) {
        super();
        this.Position = Position;
        this.type = 2510884976;
      }
    }
    IFC4X32.IfcConic = IfcConic;
    class IfcConstructionEquipmentResourceType extends IfcConstructionResourceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ResourceType = ResourceType;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 2185764099;
      }
    }
    IFC4X32.IfcConstructionEquipmentResourceType = IfcConstructionEquipmentResourceType;
    class IfcConstructionMaterialResourceType extends IfcConstructionResourceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ResourceType = ResourceType;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 4105962743;
      }
    }
    IFC4X32.IfcConstructionMaterialResourceType = IfcConstructionMaterialResourceType;
    class IfcConstructionProductResourceType extends IfcConstructionResourceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, Identification, LongDescription, ResourceType, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.ResourceType = ResourceType;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 1525564444;
      }
    }
    IFC4X32.IfcConstructionProductResourceType = IfcConstructionProductResourceType;
    class IfcConstructionResource extends IfcResource {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.Usage = Usage;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.type = 2559216714;
      }
    }
    IFC4X32.IfcConstructionResource = IfcConstructionResource;
    class IfcControl extends IfcObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.type = 3293443760;
      }
    }
    IFC4X32.IfcControl = IfcControl;
    class IfcCosineSpiral extends IfcSpiral {
      constructor(Position, CosineTerm, ConstantTerm) {
        super(Position);
        this.Position = Position;
        this.CosineTerm = CosineTerm;
        this.ConstantTerm = ConstantTerm;
        this.type = 2000195564;
      }
    }
    IFC4X32.IfcCosineSpiral = IfcCosineSpiral;
    class IfcCostItem extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, CostValues, CostQuantities) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.PredefinedType = PredefinedType;
        this.CostValues = CostValues;
        this.CostQuantities = CostQuantities;
        this.type = 3895139033;
      }
    }
    IFC4X32.IfcCostItem = IfcCostItem;
    class IfcCostSchedule extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, SubmittedOn, UpdateDate) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.PredefinedType = PredefinedType;
        this.Status = Status;
        this.SubmittedOn = SubmittedOn;
        this.UpdateDate = UpdateDate;
        this.type = 1419761937;
      }
    }
    IFC4X32.IfcCostSchedule = IfcCostSchedule;
    class IfcCourseType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 4189326743;
      }
    }
    IFC4X32.IfcCourseType = IfcCourseType;
    class IfcCoveringType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1916426348;
      }
    }
    IFC4X32.IfcCoveringType = IfcCoveringType;
    class IfcCrewResource extends IfcConstructionResource {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.Usage = Usage;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 3295246426;
      }
    }
    IFC4X32.IfcCrewResource = IfcCrewResource;
    class IfcCurtainWallType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1457835157;
      }
    }
    IFC4X32.IfcCurtainWallType = IfcCurtainWallType;
    class IfcCylindricalSurface extends IfcElementarySurface {
      constructor(Position, Radius) {
        super(Position);
        this.Position = Position;
        this.Radius = Radius;
        this.type = 1213902940;
      }
    }
    IFC4X32.IfcCylindricalSurface = IfcCylindricalSurface;
    class IfcDeepFoundationType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 1306400036;
      }
    }
    IFC4X32.IfcDeepFoundationType = IfcDeepFoundationType;
    class IfcDirectrixDerivedReferenceSweptAreaSolid extends IfcFixedReferenceSweptAreaSolid {
      constructor(SweptArea, Position, Directrix, StartParam, EndParam, FixedReference) {
        super(SweptArea, Position, Directrix, StartParam, EndParam, FixedReference);
        this.SweptArea = SweptArea;
        this.Position = Position;
        this.Directrix = Directrix;
        this.StartParam = StartParam;
        this.EndParam = EndParam;
        this.FixedReference = FixedReference;
        this.type = 4234616927;
      }
    }
    IFC4X32.IfcDirectrixDerivedReferenceSweptAreaSolid = IfcDirectrixDerivedReferenceSweptAreaSolid;
    class IfcDistributionElementType extends IfcElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 3256556792;
      }
    }
    IFC4X32.IfcDistributionElementType = IfcDistributionElementType;
    class IfcDistributionFlowElementType extends IfcDistributionElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 3849074793;
      }
    }
    IFC4X32.IfcDistributionFlowElementType = IfcDistributionFlowElementType;
    class IfcDoorLiningProperties extends IfcPreDefinedPropertySet {
      constructor(GlobalId, OwnerHistory, Name, Description, LiningDepth, LiningThickness, ThresholdDepth, ThresholdThickness, TransomThickness, TransomOffset, LiningOffset, ThresholdOffset, CasingThickness, CasingDepth, ShapeAspectStyle, LiningToPanelOffsetX, LiningToPanelOffsetY) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.LiningDepth = LiningDepth;
        this.LiningThickness = LiningThickness;
        this.ThresholdDepth = ThresholdDepth;
        this.ThresholdThickness = ThresholdThickness;
        this.TransomThickness = TransomThickness;
        this.TransomOffset = TransomOffset;
        this.LiningOffset = LiningOffset;
        this.ThresholdOffset = ThresholdOffset;
        this.CasingThickness = CasingThickness;
        this.CasingDepth = CasingDepth;
        this.ShapeAspectStyle = ShapeAspectStyle;
        this.LiningToPanelOffsetX = LiningToPanelOffsetX;
        this.LiningToPanelOffsetY = LiningToPanelOffsetY;
        this.type = 2963535650;
      }
    }
    IFC4X32.IfcDoorLiningProperties = IfcDoorLiningProperties;
    class IfcDoorPanelProperties extends IfcPreDefinedPropertySet {
      constructor(GlobalId, OwnerHistory, Name, Description, PanelDepth, PanelOperation, PanelWidth, PanelPosition, ShapeAspectStyle) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.PanelDepth = PanelDepth;
        this.PanelOperation = PanelOperation;
        this.PanelWidth = PanelWidth;
        this.PanelPosition = PanelPosition;
        this.ShapeAspectStyle = ShapeAspectStyle;
        this.type = 1714330368;
      }
    }
    IFC4X32.IfcDoorPanelProperties = IfcDoorPanelProperties;
    class IfcDoorType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, OperationType, ParameterTakesPrecedence, UserDefinedOperationType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.OperationType = OperationType;
        this.ParameterTakesPrecedence = ParameterTakesPrecedence;
        this.UserDefinedOperationType = UserDefinedOperationType;
        this.type = 2323601079;
      }
    }
    IFC4X32.IfcDoorType = IfcDoorType;
    class IfcDraughtingPreDefinedColour extends IfcPreDefinedColour {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 445594917;
      }
    }
    IFC4X32.IfcDraughtingPreDefinedColour = IfcDraughtingPreDefinedColour;
    class IfcDraughtingPreDefinedCurveFont extends IfcPreDefinedCurveFont {
      constructor(Name) {
        super(Name);
        this.Name = Name;
        this.type = 4006246654;
      }
    }
    IFC4X32.IfcDraughtingPreDefinedCurveFont = IfcDraughtingPreDefinedCurveFont;
    class IfcElement extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1758889154;
      }
    }
    IFC4X32.IfcElement = IfcElement;
    class IfcElementAssembly extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, AssemblyPlace, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.AssemblyPlace = AssemblyPlace;
        this.PredefinedType = PredefinedType;
        this.type = 4123344466;
      }
    }
    IFC4X32.IfcElementAssembly = IfcElementAssembly;
    class IfcElementAssemblyType extends IfcElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2397081782;
      }
    }
    IFC4X32.IfcElementAssemblyType = IfcElementAssemblyType;
    class IfcElementComponent extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1623761950;
      }
    }
    IFC4X32.IfcElementComponent = IfcElementComponent;
    class IfcElementComponentType extends IfcElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 2590856083;
      }
    }
    IFC4X32.IfcElementComponentType = IfcElementComponentType;
    class IfcEllipse extends IfcConic {
      constructor(Position, SemiAxis1, SemiAxis2) {
        super(Position);
        this.Position = Position;
        this.SemiAxis1 = SemiAxis1;
        this.SemiAxis2 = SemiAxis2;
        this.type = 1704287377;
      }
    }
    IFC4X32.IfcEllipse = IfcEllipse;
    class IfcEnergyConversionDeviceType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 2107101300;
      }
    }
    IFC4X32.IfcEnergyConversionDeviceType = IfcEnergyConversionDeviceType;
    class IfcEngineType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 132023988;
      }
    }
    IFC4X32.IfcEngineType = IfcEngineType;
    class IfcEvaporativeCoolerType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3174744832;
      }
    }
    IFC4X32.IfcEvaporativeCoolerType = IfcEvaporativeCoolerType;
    class IfcEvaporatorType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3390157468;
      }
    }
    IFC4X32.IfcEvaporatorType = IfcEvaporatorType;
    class IfcEvent extends IfcProcess {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, PredefinedType, EventTriggerType, UserDefinedEventTriggerType, EventOccurenceTime) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.PredefinedType = PredefinedType;
        this.EventTriggerType = EventTriggerType;
        this.UserDefinedEventTriggerType = UserDefinedEventTriggerType;
        this.EventOccurenceTime = EventOccurenceTime;
        this.type = 4148101412;
      }
    }
    IFC4X32.IfcEvent = IfcEvent;
    class IfcExternalSpatialStructureElement extends IfcSpatialElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.type = 2853485674;
      }
    }
    IFC4X32.IfcExternalSpatialStructureElement = IfcExternalSpatialStructureElement;
    class IfcFacetedBrep extends IfcManifoldSolidBrep {
      constructor(Outer) {
        super(Outer);
        this.Outer = Outer;
        this.type = 807026263;
      }
    }
    IFC4X32.IfcFacetedBrep = IfcFacetedBrep;
    class IfcFacetedBrepWithVoids extends IfcFacetedBrep {
      constructor(Outer, Voids) {
        super(Outer);
        this.Outer = Outer;
        this.Voids = Voids;
        this.type = 3737207727;
      }
    }
    IFC4X32.IfcFacetedBrepWithVoids = IfcFacetedBrepWithVoids;
    class IfcFacility extends IfcSpatialStructureElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.type = 24185140;
      }
    }
    IFC4X32.IfcFacility = IfcFacility;
    class IfcFacilityPart extends IfcSpatialStructureElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.UsageType = UsageType;
        this.type = 1310830890;
      }
    }
    IFC4X32.IfcFacilityPart = IfcFacilityPart;
    class IfcFacilityPartCommon extends IfcFacilityPart {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.UsageType = UsageType;
        this.PredefinedType = PredefinedType;
        this.type = 4228831410;
      }
    }
    IFC4X32.IfcFacilityPartCommon = IfcFacilityPartCommon;
    class IfcFastener extends IfcElementComponent {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 647756555;
      }
    }
    IFC4X32.IfcFastener = IfcFastener;
    class IfcFastenerType extends IfcElementComponentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2489546625;
      }
    }
    IFC4X32.IfcFastenerType = IfcFastenerType;
    class IfcFeatureElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 2827207264;
      }
    }
    IFC4X32.IfcFeatureElement = IfcFeatureElement;
    class IfcFeatureElementAddition extends IfcFeatureElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 2143335405;
      }
    }
    IFC4X32.IfcFeatureElementAddition = IfcFeatureElementAddition;
    class IfcFeatureElementSubtraction extends IfcFeatureElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1287392070;
      }
    }
    IFC4X32.IfcFeatureElementSubtraction = IfcFeatureElementSubtraction;
    class IfcFlowControllerType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 3907093117;
      }
    }
    IFC4X32.IfcFlowControllerType = IfcFlowControllerType;
    class IfcFlowFittingType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 3198132628;
      }
    }
    IFC4X32.IfcFlowFittingType = IfcFlowFittingType;
    class IfcFlowMeterType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3815607619;
      }
    }
    IFC4X32.IfcFlowMeterType = IfcFlowMeterType;
    class IfcFlowMovingDeviceType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 1482959167;
      }
    }
    IFC4X32.IfcFlowMovingDeviceType = IfcFlowMovingDeviceType;
    class IfcFlowSegmentType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 1834744321;
      }
    }
    IFC4X32.IfcFlowSegmentType = IfcFlowSegmentType;
    class IfcFlowStorageDeviceType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 1339347760;
      }
    }
    IFC4X32.IfcFlowStorageDeviceType = IfcFlowStorageDeviceType;
    class IfcFlowTerminalType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 2297155007;
      }
    }
    IFC4X32.IfcFlowTerminalType = IfcFlowTerminalType;
    class IfcFlowTreatmentDeviceType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 3009222698;
      }
    }
    IFC4X32.IfcFlowTreatmentDeviceType = IfcFlowTreatmentDeviceType;
    class IfcFootingType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1893162501;
      }
    }
    IFC4X32.IfcFootingType = IfcFootingType;
    class IfcFurnishingElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 263784265;
      }
    }
    IFC4X32.IfcFurnishingElement = IfcFurnishingElement;
    class IfcFurniture extends IfcFurnishingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1509553395;
      }
    }
    IFC4X32.IfcFurniture = IfcFurniture;
    class IfcGeographicElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3493046030;
      }
    }
    IFC4X32.IfcGeographicElement = IfcGeographicElement;
    class IfcGeotechnicalElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 4230923436;
      }
    }
    IFC4X32.IfcGeotechnicalElement = IfcGeotechnicalElement;
    class IfcGeotechnicalStratum extends IfcGeotechnicalElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1594536857;
      }
    }
    IFC4X32.IfcGeotechnicalStratum = IfcGeotechnicalStratum;
    class IfcGradientCurve extends IfcCompositeCurve {
      constructor(Segments, SelfIntersect, BaseCurve, EndPoint) {
        super(Segments, SelfIntersect);
        this.Segments = Segments;
        this.SelfIntersect = SelfIntersect;
        this.BaseCurve = BaseCurve;
        this.EndPoint = EndPoint;
        this.type = 2898700619;
      }
    }
    IFC4X32.IfcGradientCurve = IfcGradientCurve;
    class IfcGroup extends IfcObject {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.type = 2706460486;
      }
    }
    IFC4X32.IfcGroup = IfcGroup;
    class IfcHeatExchangerType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1251058090;
      }
    }
    IFC4X32.IfcHeatExchangerType = IfcHeatExchangerType;
    class IfcHumidifierType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1806887404;
      }
    }
    IFC4X32.IfcHumidifierType = IfcHumidifierType;
    class IfcImpactProtectionDevice extends IfcElementComponent {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2568555532;
      }
    }
    IFC4X32.IfcImpactProtectionDevice = IfcImpactProtectionDevice;
    class IfcImpactProtectionDeviceType extends IfcElementComponentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3948183225;
      }
    }
    IFC4X32.IfcImpactProtectionDeviceType = IfcImpactProtectionDeviceType;
    class IfcIndexedPolyCurve extends IfcBoundedCurve {
      constructor(Points, Segments, SelfIntersect) {
        super();
        this.Points = Points;
        this.Segments = Segments;
        this.SelfIntersect = SelfIntersect;
        this.type = 2571569899;
      }
    }
    IFC4X32.IfcIndexedPolyCurve = IfcIndexedPolyCurve;
    class IfcInterceptorType extends IfcFlowTreatmentDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3946677679;
      }
    }
    IFC4X32.IfcInterceptorType = IfcInterceptorType;
    class IfcIntersectionCurve extends IfcSurfaceCurve {
      constructor(Curve3D, AssociatedGeometry, MasterRepresentation) {
        super(Curve3D, AssociatedGeometry, MasterRepresentation);
        this.Curve3D = Curve3D;
        this.AssociatedGeometry = AssociatedGeometry;
        this.MasterRepresentation = MasterRepresentation;
        this.type = 3113134337;
      }
    }
    IFC4X32.IfcIntersectionCurve = IfcIntersectionCurve;
    class IfcInventory extends IfcGroup {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, Jurisdiction, ResponsiblePersons, LastUpdateDate, CurrentValue, OriginalValue) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.PredefinedType = PredefinedType;
        this.Jurisdiction = Jurisdiction;
        this.ResponsiblePersons = ResponsiblePersons;
        this.LastUpdateDate = LastUpdateDate;
        this.CurrentValue = CurrentValue;
        this.OriginalValue = OriginalValue;
        this.type = 2391368822;
      }
    }
    IFC4X32.IfcInventory = IfcInventory;
    class IfcJunctionBoxType extends IfcFlowFittingType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 4288270099;
      }
    }
    IFC4X32.IfcJunctionBoxType = IfcJunctionBoxType;
    class IfcKerbType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 679976338;
      }
    }
    IFC4X32.IfcKerbType = IfcKerbType;
    class IfcLaborResource extends IfcConstructionResource {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.Usage = Usage;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 3827777499;
      }
    }
    IFC4X32.IfcLaborResource = IfcLaborResource;
    class IfcLampType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1051575348;
      }
    }
    IFC4X32.IfcLampType = IfcLampType;
    class IfcLightFixtureType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1161773419;
      }
    }
    IFC4X32.IfcLightFixtureType = IfcLightFixtureType;
    class IfcLinearElement extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.type = 2176059722;
      }
    }
    IFC4X32.IfcLinearElement = IfcLinearElement;
    class IfcLiquidTerminalType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1770583370;
      }
    }
    IFC4X32.IfcLiquidTerminalType = IfcLiquidTerminalType;
    class IfcMarineFacility extends IfcFacility {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.PredefinedType = PredefinedType;
        this.type = 525669439;
      }
    }
    IFC4X32.IfcMarineFacility = IfcMarineFacility;
    class IfcMarinePart extends IfcFacilityPart {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.UsageType = UsageType;
        this.PredefinedType = PredefinedType;
        this.type = 976884017;
      }
    }
    IFC4X32.IfcMarinePart = IfcMarinePart;
    class IfcMechanicalFastener extends IfcElementComponent {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, NominalDiameter, NominalLength, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.NominalDiameter = NominalDiameter;
        this.NominalLength = NominalLength;
        this.PredefinedType = PredefinedType;
        this.type = 377706215;
      }
    }
    IFC4X32.IfcMechanicalFastener = IfcMechanicalFastener;
    class IfcMechanicalFastenerType extends IfcElementComponentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, NominalLength) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.NominalDiameter = NominalDiameter;
        this.NominalLength = NominalLength;
        this.type = 2108223431;
      }
    }
    IFC4X32.IfcMechanicalFastenerType = IfcMechanicalFastenerType;
    class IfcMedicalDeviceType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1114901282;
      }
    }
    IFC4X32.IfcMedicalDeviceType = IfcMedicalDeviceType;
    class IfcMemberType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3181161470;
      }
    }
    IFC4X32.IfcMemberType = IfcMemberType;
    class IfcMobileTelecommunicationsApplianceType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1950438474;
      }
    }
    IFC4X32.IfcMobileTelecommunicationsApplianceType = IfcMobileTelecommunicationsApplianceType;
    class IfcMooringDeviceType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 710110818;
      }
    }
    IFC4X32.IfcMooringDeviceType = IfcMooringDeviceType;
    class IfcMotorConnectionType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 977012517;
      }
    }
    IFC4X32.IfcMotorConnectionType = IfcMotorConnectionType;
    class IfcNavigationElementType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 506776471;
      }
    }
    IFC4X32.IfcNavigationElementType = IfcNavigationElementType;
    class IfcOccupant extends IfcActor {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, TheActor);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.TheActor = TheActor;
        this.PredefinedType = PredefinedType;
        this.type = 4143007308;
      }
    }
    IFC4X32.IfcOccupant = IfcOccupant;
    class IfcOpeningElement extends IfcFeatureElementSubtraction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3588315303;
      }
    }
    IFC4X32.IfcOpeningElement = IfcOpeningElement;
    class IfcOutletType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2837617999;
      }
    }
    IFC4X32.IfcOutletType = IfcOutletType;
    class IfcPavementType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 514975943;
      }
    }
    IFC4X32.IfcPavementType = IfcPavementType;
    class IfcPerformanceHistory extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LifeCyclePhase, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LifeCyclePhase = LifeCyclePhase;
        this.PredefinedType = PredefinedType;
        this.type = 2382730787;
      }
    }
    IFC4X32.IfcPerformanceHistory = IfcPerformanceHistory;
    class IfcPermeableCoveringProperties extends IfcPreDefinedPropertySet {
      constructor(GlobalId, OwnerHistory, Name, Description, OperationType, PanelPosition, FrameDepth, FrameThickness, ShapeAspectStyle) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.OperationType = OperationType;
        this.PanelPosition = PanelPosition;
        this.FrameDepth = FrameDepth;
        this.FrameThickness = FrameThickness;
        this.ShapeAspectStyle = ShapeAspectStyle;
        this.type = 3566463478;
      }
    }
    IFC4X32.IfcPermeableCoveringProperties = IfcPermeableCoveringProperties;
    class IfcPermit extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.PredefinedType = PredefinedType;
        this.Status = Status;
        this.LongDescription = LongDescription;
        this.type = 3327091369;
      }
    }
    IFC4X32.IfcPermit = IfcPermit;
    class IfcPileType extends IfcDeepFoundationType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1158309216;
      }
    }
    IFC4X32.IfcPileType = IfcPileType;
    class IfcPipeFittingType extends IfcFlowFittingType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 804291784;
      }
    }
    IFC4X32.IfcPipeFittingType = IfcPipeFittingType;
    class IfcPipeSegmentType extends IfcFlowSegmentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 4231323485;
      }
    }
    IFC4X32.IfcPipeSegmentType = IfcPipeSegmentType;
    class IfcPlateType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 4017108033;
      }
    }
    IFC4X32.IfcPlateType = IfcPlateType;
    class IfcPolygonalFaceSet extends IfcTessellatedFaceSet {
      constructor(Coordinates, Closed, Faces, PnIndex) {
        super(Coordinates);
        this.Coordinates = Coordinates;
        this.Closed = Closed;
        this.Faces = Faces;
        this.PnIndex = PnIndex;
        this.type = 2839578677;
      }
    }
    IFC4X32.IfcPolygonalFaceSet = IfcPolygonalFaceSet;
    class IfcPolyline extends IfcBoundedCurve {
      constructor(Points) {
        super();
        this.Points = Points;
        this.type = 3724593414;
      }
    }
    IFC4X32.IfcPolyline = IfcPolyline;
    class IfcPort extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.type = 3740093272;
      }
    }
    IFC4X32.IfcPort = IfcPort;
    class IfcPositioningElement extends IfcProduct {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.type = 1946335990;
      }
    }
    IFC4X32.IfcPositioningElement = IfcPositioningElement;
    class IfcProcedure extends IfcProcess {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.PredefinedType = PredefinedType;
        this.type = 2744685151;
      }
    }
    IFC4X32.IfcProcedure = IfcProcedure;
    class IfcProjectOrder extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.PredefinedType = PredefinedType;
        this.Status = Status;
        this.LongDescription = LongDescription;
        this.type = 2904328755;
      }
    }
    IFC4X32.IfcProjectOrder = IfcProjectOrder;
    class IfcProjectionElement extends IfcFeatureElementAddition {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3651124850;
      }
    }
    IFC4X32.IfcProjectionElement = IfcProjectionElement;
    class IfcProtectiveDeviceType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1842657554;
      }
    }
    IFC4X32.IfcProtectiveDeviceType = IfcProtectiveDeviceType;
    class IfcPumpType extends IfcFlowMovingDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2250791053;
      }
    }
    IFC4X32.IfcPumpType = IfcPumpType;
    class IfcRailType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1763565496;
      }
    }
    IFC4X32.IfcRailType = IfcRailType;
    class IfcRailingType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2893384427;
      }
    }
    IFC4X32.IfcRailingType = IfcRailingType;
    class IfcRailway extends IfcFacility {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.PredefinedType = PredefinedType;
        this.type = 3992365140;
      }
    }
    IFC4X32.IfcRailway = IfcRailway;
    class IfcRailwayPart extends IfcFacilityPart {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.UsageType = UsageType;
        this.PredefinedType = PredefinedType;
        this.type = 1891881377;
      }
    }
    IFC4X32.IfcRailwayPart = IfcRailwayPart;
    class IfcRampFlightType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2324767716;
      }
    }
    IFC4X32.IfcRampFlightType = IfcRampFlightType;
    class IfcRampType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1469900589;
      }
    }
    IFC4X32.IfcRampType = IfcRampType;
    class IfcRationalBSplineSurfaceWithKnots extends IfcBSplineSurfaceWithKnots {
      constructor(UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect, UMultiplicities, VMultiplicities, UKnots, VKnots, KnotSpec, WeightsData) {
        super(UDegree, VDegree, ControlPointsList, SurfaceForm, UClosed, VClosed, SelfIntersect, UMultiplicities, VMultiplicities, UKnots, VKnots, KnotSpec);
        this.UDegree = UDegree;
        this.VDegree = VDegree;
        this.ControlPointsList = ControlPointsList;
        this.SurfaceForm = SurfaceForm;
        this.UClosed = UClosed;
        this.VClosed = VClosed;
        this.SelfIntersect = SelfIntersect;
        this.UMultiplicities = UMultiplicities;
        this.VMultiplicities = VMultiplicities;
        this.UKnots = UKnots;
        this.VKnots = VKnots;
        this.KnotSpec = KnotSpec;
        this.WeightsData = WeightsData;
        this.type = 683857671;
      }
    }
    IFC4X32.IfcRationalBSplineSurfaceWithKnots = IfcRationalBSplineSurfaceWithKnots;
    class IfcReferent extends IfcPositioningElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.PredefinedType = PredefinedType;
        this.type = 4021432810;
      }
    }
    IFC4X32.IfcReferent = IfcReferent;
    class IfcReinforcingElement extends IfcElementComponent {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.SteelGrade = SteelGrade;
        this.type = 3027567501;
      }
    }
    IFC4X32.IfcReinforcingElement = IfcReinforcingElement;
    class IfcReinforcingElementType extends IfcElementComponentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 964333572;
      }
    }
    IFC4X32.IfcReinforcingElementType = IfcReinforcingElementType;
    class IfcReinforcingMesh extends IfcReinforcingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, MeshLength, MeshWidth, LongitudinalBarNominalDiameter, TransverseBarNominalDiameter, LongitudinalBarCrossSectionArea, TransverseBarCrossSectionArea, LongitudinalBarSpacing, TransverseBarSpacing, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.SteelGrade = SteelGrade;
        this.MeshLength = MeshLength;
        this.MeshWidth = MeshWidth;
        this.LongitudinalBarNominalDiameter = LongitudinalBarNominalDiameter;
        this.TransverseBarNominalDiameter = TransverseBarNominalDiameter;
        this.LongitudinalBarCrossSectionArea = LongitudinalBarCrossSectionArea;
        this.TransverseBarCrossSectionArea = TransverseBarCrossSectionArea;
        this.LongitudinalBarSpacing = LongitudinalBarSpacing;
        this.TransverseBarSpacing = TransverseBarSpacing;
        this.PredefinedType = PredefinedType;
        this.type = 2320036040;
      }
    }
    IFC4X32.IfcReinforcingMesh = IfcReinforcingMesh;
    class IfcReinforcingMeshType extends IfcReinforcingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, MeshLength, MeshWidth, LongitudinalBarNominalDiameter, TransverseBarNominalDiameter, LongitudinalBarCrossSectionArea, TransverseBarCrossSectionArea, LongitudinalBarSpacing, TransverseBarSpacing, BendingShapeCode, BendingParameters) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.MeshLength = MeshLength;
        this.MeshWidth = MeshWidth;
        this.LongitudinalBarNominalDiameter = LongitudinalBarNominalDiameter;
        this.TransverseBarNominalDiameter = TransverseBarNominalDiameter;
        this.LongitudinalBarCrossSectionArea = LongitudinalBarCrossSectionArea;
        this.TransverseBarCrossSectionArea = TransverseBarCrossSectionArea;
        this.LongitudinalBarSpacing = LongitudinalBarSpacing;
        this.TransverseBarSpacing = TransverseBarSpacing;
        this.BendingShapeCode = BendingShapeCode;
        this.BendingParameters = BendingParameters;
        this.type = 2310774935;
      }
    }
    IFC4X32.IfcReinforcingMeshType = IfcReinforcingMeshType;
    class IfcRelAdheresToElement extends IfcRelDecomposes {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingElement, RelatedSurfaceFeatures) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingElement = RelatingElement;
        this.RelatedSurfaceFeatures = RelatedSurfaceFeatures;
        this.type = 3818125796;
      }
    }
    IFC4X32.IfcRelAdheresToElement = IfcRelAdheresToElement;
    class IfcRelAggregates extends IfcRelDecomposes {
      constructor(GlobalId, OwnerHistory, Name, Description, RelatingObject, RelatedObjects) {
        super(GlobalId, OwnerHistory, Name, Description);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.RelatingObject = RelatingObject;
        this.RelatedObjects = RelatedObjects;
        this.type = 160246688;
      }
    }
    IFC4X32.IfcRelAggregates = IfcRelAggregates;
    class IfcRoad extends IfcFacility {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.PredefinedType = PredefinedType;
        this.type = 146592293;
      }
    }
    IFC4X32.IfcRoad = IfcRoad;
    class IfcRoadPart extends IfcFacilityPart {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.UsageType = UsageType;
        this.PredefinedType = PredefinedType;
        this.type = 550521510;
      }
    }
    IFC4X32.IfcRoadPart = IfcRoadPart;
    class IfcRoofType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2781568857;
      }
    }
    IFC4X32.IfcRoofType = IfcRoofType;
    class IfcSanitaryTerminalType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1768891740;
      }
    }
    IFC4X32.IfcSanitaryTerminalType = IfcSanitaryTerminalType;
    class IfcSeamCurve extends IfcSurfaceCurve {
      constructor(Curve3D, AssociatedGeometry, MasterRepresentation) {
        super(Curve3D, AssociatedGeometry, MasterRepresentation);
        this.Curve3D = Curve3D;
        this.AssociatedGeometry = AssociatedGeometry;
        this.MasterRepresentation = MasterRepresentation;
        this.type = 2157484638;
      }
    }
    IFC4X32.IfcSeamCurve = IfcSeamCurve;
    class IfcSecondOrderPolynomialSpiral extends IfcSpiral {
      constructor(Position, QuadraticTerm, LinearTerm, ConstantTerm) {
        super(Position);
        this.Position = Position;
        this.QuadraticTerm = QuadraticTerm;
        this.LinearTerm = LinearTerm;
        this.ConstantTerm = ConstantTerm;
        this.type = 3649235739;
      }
    }
    IFC4X32.IfcSecondOrderPolynomialSpiral = IfcSecondOrderPolynomialSpiral;
    class IfcSegmentedReferenceCurve extends IfcCompositeCurve {
      constructor(Segments, SelfIntersect, BaseCurve, EndPoint) {
        super(Segments, SelfIntersect);
        this.Segments = Segments;
        this.SelfIntersect = SelfIntersect;
        this.BaseCurve = BaseCurve;
        this.EndPoint = EndPoint;
        this.type = 544395925;
      }
    }
    IFC4X32.IfcSegmentedReferenceCurve = IfcSegmentedReferenceCurve;
    class IfcSeventhOrderPolynomialSpiral extends IfcSpiral {
      constructor(Position, SepticTerm, SexticTerm, QuinticTerm, QuarticTerm, CubicTerm, QuadraticTerm, LinearTerm, ConstantTerm) {
        super(Position);
        this.Position = Position;
        this.SepticTerm = SepticTerm;
        this.SexticTerm = SexticTerm;
        this.QuinticTerm = QuinticTerm;
        this.QuarticTerm = QuarticTerm;
        this.CubicTerm = CubicTerm;
        this.QuadraticTerm = QuadraticTerm;
        this.LinearTerm = LinearTerm;
        this.ConstantTerm = ConstantTerm;
        this.type = 1027922057;
      }
    }
    IFC4X32.IfcSeventhOrderPolynomialSpiral = IfcSeventhOrderPolynomialSpiral;
    class IfcShadingDeviceType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 4074543187;
      }
    }
    IFC4X32.IfcShadingDeviceType = IfcShadingDeviceType;
    class IfcSign extends IfcElementComponent {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 33720170;
      }
    }
    IFC4X32.IfcSign = IfcSign;
    class IfcSignType extends IfcElementComponentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3599934289;
      }
    }
    IFC4X32.IfcSignType = IfcSignType;
    class IfcSignalType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1894708472;
      }
    }
    IFC4X32.IfcSignalType = IfcSignalType;
    class IfcSineSpiral extends IfcSpiral {
      constructor(Position, SineTerm, LinearTerm, ConstantTerm) {
        super(Position);
        this.Position = Position;
        this.SineTerm = SineTerm;
        this.LinearTerm = LinearTerm;
        this.ConstantTerm = ConstantTerm;
        this.type = 42703149;
      }
    }
    IFC4X32.IfcSineSpiral = IfcSineSpiral;
    class IfcSite extends IfcSpatialStructureElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, RefLatitude, RefLongitude, RefElevation, LandTitleNumber, SiteAddress) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.RefLatitude = RefLatitude;
        this.RefLongitude = RefLongitude;
        this.RefElevation = RefElevation;
        this.LandTitleNumber = LandTitleNumber;
        this.SiteAddress = SiteAddress;
        this.type = 4097777520;
      }
    }
    IFC4X32.IfcSite = IfcSite;
    class IfcSlabType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2533589738;
      }
    }
    IFC4X32.IfcSlabType = IfcSlabType;
    class IfcSolarDeviceType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1072016465;
      }
    }
    IFC4X32.IfcSolarDeviceType = IfcSolarDeviceType;
    class IfcSpace extends IfcSpatialStructureElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType, ElevationWithFlooring) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.PredefinedType = PredefinedType;
        this.ElevationWithFlooring = ElevationWithFlooring;
        this.type = 3856911033;
      }
    }
    IFC4X32.IfcSpace = IfcSpace;
    class IfcSpaceHeaterType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1305183839;
      }
    }
    IFC4X32.IfcSpaceHeaterType = IfcSpaceHeaterType;
    class IfcSpaceType extends IfcSpatialStructureElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, LongName) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.LongName = LongName;
        this.type = 3812236995;
      }
    }
    IFC4X32.IfcSpaceType = IfcSpaceType;
    class IfcStackTerminalType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3112655638;
      }
    }
    IFC4X32.IfcStackTerminalType = IfcStackTerminalType;
    class IfcStairFlightType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1039846685;
      }
    }
    IFC4X32.IfcStairFlightType = IfcStairFlightType;
    class IfcStairType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 338393293;
      }
    }
    IFC4X32.IfcStairType = IfcStairType;
    class IfcStructuralAction extends IfcStructuralActivity {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.DestabilizingLoad = DestabilizingLoad;
        this.type = 682877961;
      }
    }
    IFC4X32.IfcStructuralAction = IfcStructuralAction;
    class IfcStructuralConnection extends IfcStructuralItem {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedCondition = AppliedCondition;
        this.type = 1179482911;
      }
    }
    IFC4X32.IfcStructuralConnection = IfcStructuralConnection;
    class IfcStructuralCurveAction extends IfcStructuralAction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.DestabilizingLoad = DestabilizingLoad;
        this.ProjectedOrTrue = ProjectedOrTrue;
        this.PredefinedType = PredefinedType;
        this.type = 1004757350;
      }
    }
    IFC4X32.IfcStructuralCurveAction = IfcStructuralCurveAction;
    class IfcStructuralCurveConnection extends IfcStructuralConnection {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition, AxisDirection) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedCondition = AppliedCondition;
        this.AxisDirection = AxisDirection;
        this.type = 4243806635;
      }
    }
    IFC4X32.IfcStructuralCurveConnection = IfcStructuralCurveConnection;
    class IfcStructuralCurveMember extends IfcStructuralMember {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Axis) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.PredefinedType = PredefinedType;
        this.Axis = Axis;
        this.type = 214636428;
      }
    }
    IFC4X32.IfcStructuralCurveMember = IfcStructuralCurveMember;
    class IfcStructuralCurveMemberVarying extends IfcStructuralCurveMember {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Axis) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType, Axis);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.PredefinedType = PredefinedType;
        this.Axis = Axis;
        this.type = 2445595289;
      }
    }
    IFC4X32.IfcStructuralCurveMemberVarying = IfcStructuralCurveMemberVarying;
    class IfcStructuralCurveReaction extends IfcStructuralReaction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.PredefinedType = PredefinedType;
        this.type = 2757150158;
      }
    }
    IFC4X32.IfcStructuralCurveReaction = IfcStructuralCurveReaction;
    class IfcStructuralLinearAction extends IfcStructuralCurveAction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.DestabilizingLoad = DestabilizingLoad;
        this.ProjectedOrTrue = ProjectedOrTrue;
        this.PredefinedType = PredefinedType;
        this.type = 1807405624;
      }
    }
    IFC4X32.IfcStructuralLinearAction = IfcStructuralLinearAction;
    class IfcStructuralLoadGroup extends IfcGroup {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.PredefinedType = PredefinedType;
        this.ActionType = ActionType;
        this.ActionSource = ActionSource;
        this.Coefficient = Coefficient;
        this.Purpose = Purpose;
        this.type = 1252848954;
      }
    }
    IFC4X32.IfcStructuralLoadGroup = IfcStructuralLoadGroup;
    class IfcStructuralPointAction extends IfcStructuralAction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.DestabilizingLoad = DestabilizingLoad;
        this.type = 2082059205;
      }
    }
    IFC4X32.IfcStructuralPointAction = IfcStructuralPointAction;
    class IfcStructuralPointConnection extends IfcStructuralConnection {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition, ConditionCoordinateSystem) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedCondition = AppliedCondition;
        this.ConditionCoordinateSystem = ConditionCoordinateSystem;
        this.type = 734778138;
      }
    }
    IFC4X32.IfcStructuralPointConnection = IfcStructuralPointConnection;
    class IfcStructuralPointReaction extends IfcStructuralReaction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.type = 1235345126;
      }
    }
    IFC4X32.IfcStructuralPointReaction = IfcStructuralPointReaction;
    class IfcStructuralResultGroup extends IfcGroup {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, TheoryType, ResultForLoadGroup, IsLinear) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.TheoryType = TheoryType;
        this.ResultForLoadGroup = ResultForLoadGroup;
        this.IsLinear = IsLinear;
        this.type = 2986769608;
      }
    }
    IFC4X32.IfcStructuralResultGroup = IfcStructuralResultGroup;
    class IfcStructuralSurfaceAction extends IfcStructuralAction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.DestabilizingLoad = DestabilizingLoad;
        this.ProjectedOrTrue = ProjectedOrTrue;
        this.PredefinedType = PredefinedType;
        this.type = 3657597509;
      }
    }
    IFC4X32.IfcStructuralSurfaceAction = IfcStructuralSurfaceAction;
    class IfcStructuralSurfaceConnection extends IfcStructuralConnection {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedCondition);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedCondition = AppliedCondition;
        this.type = 1975003073;
      }
    }
    IFC4X32.IfcStructuralSurfaceConnection = IfcStructuralSurfaceConnection;
    class IfcSubContractResource extends IfcConstructionResource {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.Usage = Usage;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 148013059;
      }
    }
    IFC4X32.IfcSubContractResource = IfcSubContractResource;
    class IfcSurfaceFeature extends IfcFeatureElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3101698114;
      }
    }
    IFC4X32.IfcSurfaceFeature = IfcSurfaceFeature;
    class IfcSwitchingDeviceType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2315554128;
      }
    }
    IFC4X32.IfcSwitchingDeviceType = IfcSwitchingDeviceType;
    class IfcSystem extends IfcGroup {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.type = 2254336722;
      }
    }
    IFC4X32.IfcSystem = IfcSystem;
    class IfcSystemFurnitureElement extends IfcFurnishingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 413509423;
      }
    }
    IFC4X32.IfcSystemFurnitureElement = IfcSystemFurnitureElement;
    class IfcTankType extends IfcFlowStorageDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 5716631;
      }
    }
    IFC4X32.IfcTankType = IfcTankType;
    class IfcTendon extends IfcReinforcingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType, NominalDiameter, CrossSectionArea, TensionForce, PreStress, FrictionCoefficient, AnchorageSlip, MinCurvatureRadius) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.SteelGrade = SteelGrade;
        this.PredefinedType = PredefinedType;
        this.NominalDiameter = NominalDiameter;
        this.CrossSectionArea = CrossSectionArea;
        this.TensionForce = TensionForce;
        this.PreStress = PreStress;
        this.FrictionCoefficient = FrictionCoefficient;
        this.AnchorageSlip = AnchorageSlip;
        this.MinCurvatureRadius = MinCurvatureRadius;
        this.type = 3824725483;
      }
    }
    IFC4X32.IfcTendon = IfcTendon;
    class IfcTendonAnchor extends IfcReinforcingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.SteelGrade = SteelGrade;
        this.PredefinedType = PredefinedType;
        this.type = 2347447852;
      }
    }
    IFC4X32.IfcTendonAnchor = IfcTendonAnchor;
    class IfcTendonAnchorType extends IfcReinforcingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3081323446;
      }
    }
    IFC4X32.IfcTendonAnchorType = IfcTendonAnchorType;
    class IfcTendonConduit extends IfcReinforcingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.SteelGrade = SteelGrade;
        this.PredefinedType = PredefinedType;
        this.type = 3663046924;
      }
    }
    IFC4X32.IfcTendonConduit = IfcTendonConduit;
    class IfcTendonConduitType extends IfcReinforcingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2281632017;
      }
    }
    IFC4X32.IfcTendonConduitType = IfcTendonConduitType;
    class IfcTendonType extends IfcReinforcingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, CrossSectionArea, SheathDiameter) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.NominalDiameter = NominalDiameter;
        this.CrossSectionArea = CrossSectionArea;
        this.SheathDiameter = SheathDiameter;
        this.type = 2415094496;
      }
    }
    IFC4X32.IfcTendonType = IfcTendonType;
    class IfcTrackElementType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 618700268;
      }
    }
    IFC4X32.IfcTrackElementType = IfcTrackElementType;
    class IfcTransformerType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1692211062;
      }
    }
    IFC4X32.IfcTransformerType = IfcTransformerType;
    class IfcTransportElementType extends IfcTransportationDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2097647324;
      }
    }
    IFC4X32.IfcTransportElementType = IfcTransportElementType;
    class IfcTransportationDevice extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1953115116;
      }
    }
    IFC4X32.IfcTransportationDevice = IfcTransportationDevice;
    class IfcTrimmedCurve extends IfcBoundedCurve {
      constructor(BasisCurve, Trim1, Trim2, SenseAgreement, MasterRepresentation) {
        super();
        this.BasisCurve = BasisCurve;
        this.Trim1 = Trim1;
        this.Trim2 = Trim2;
        this.SenseAgreement = SenseAgreement;
        this.MasterRepresentation = MasterRepresentation;
        this.type = 3593883385;
      }
    }
    IFC4X32.IfcTrimmedCurve = IfcTrimmedCurve;
    class IfcTubeBundleType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1600972822;
      }
    }
    IFC4X32.IfcTubeBundleType = IfcTubeBundleType;
    class IfcUnitaryEquipmentType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1911125066;
      }
    }
    IFC4X32.IfcUnitaryEquipmentType = IfcUnitaryEquipmentType;
    class IfcValveType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 728799441;
      }
    }
    IFC4X32.IfcValveType = IfcValveType;
    class IfcVehicle extends IfcTransportationDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 840318589;
      }
    }
    IFC4X32.IfcVehicle = IfcVehicle;
    class IfcVibrationDamper extends IfcElementComponent {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1530820697;
      }
    }
    IFC4X32.IfcVibrationDamper = IfcVibrationDamper;
    class IfcVibrationDamperType extends IfcElementComponentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3956297820;
      }
    }
    IFC4X32.IfcVibrationDamperType = IfcVibrationDamperType;
    class IfcVibrationIsolator extends IfcElementComponent {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2391383451;
      }
    }
    IFC4X32.IfcVibrationIsolator = IfcVibrationIsolator;
    class IfcVibrationIsolatorType extends IfcElementComponentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3313531582;
      }
    }
    IFC4X32.IfcVibrationIsolatorType = IfcVibrationIsolatorType;
    class IfcVirtualElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2769231204;
      }
    }
    IFC4X32.IfcVirtualElement = IfcVirtualElement;
    class IfcVoidingFeature extends IfcFeatureElementSubtraction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 926996030;
      }
    }
    IFC4X32.IfcVoidingFeature = IfcVoidingFeature;
    class IfcWallType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1898987631;
      }
    }
    IFC4X32.IfcWallType = IfcWallType;
    class IfcWasteTerminalType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1133259667;
      }
    }
    IFC4X32.IfcWasteTerminalType = IfcWasteTerminalType;
    class IfcWindowType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, PartitioningType, ParameterTakesPrecedence, UserDefinedPartitioningType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.PartitioningType = PartitioningType;
        this.ParameterTakesPrecedence = ParameterTakesPrecedence;
        this.UserDefinedPartitioningType = UserDefinedPartitioningType;
        this.type = 4009809668;
      }
    }
    IFC4X32.IfcWindowType = IfcWindowType;
    class IfcWorkCalendar extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, WorkingTimes, ExceptionTimes, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.WorkingTimes = WorkingTimes;
        this.ExceptionTimes = ExceptionTimes;
        this.PredefinedType = PredefinedType;
        this.type = 4088093105;
      }
    }
    IFC4X32.IfcWorkCalendar = IfcWorkCalendar;
    class IfcWorkControl extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.CreationDate = CreationDate;
        this.Creators = Creators;
        this.Purpose = Purpose;
        this.Duration = Duration;
        this.TotalFloat = TotalFloat;
        this.StartTime = StartTime;
        this.FinishTime = FinishTime;
        this.type = 1028945134;
      }
    }
    IFC4X32.IfcWorkControl = IfcWorkControl;
    class IfcWorkPlan extends IfcWorkControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.CreationDate = CreationDate;
        this.Creators = Creators;
        this.Purpose = Purpose;
        this.Duration = Duration;
        this.TotalFloat = TotalFloat;
        this.StartTime = StartTime;
        this.FinishTime = FinishTime;
        this.PredefinedType = PredefinedType;
        this.type = 4218914973;
      }
    }
    IFC4X32.IfcWorkPlan = IfcWorkPlan;
    class IfcWorkSchedule extends IfcWorkControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, CreationDate, Creators, Purpose, Duration, TotalFloat, StartTime, FinishTime);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.CreationDate = CreationDate;
        this.Creators = Creators;
        this.Purpose = Purpose;
        this.Duration = Duration;
        this.TotalFloat = TotalFloat;
        this.StartTime = StartTime;
        this.FinishTime = FinishTime;
        this.PredefinedType = PredefinedType;
        this.type = 3342526732;
      }
    }
    IFC4X32.IfcWorkSchedule = IfcWorkSchedule;
    class IfcZone extends IfcSystem {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.LongName = LongName;
        this.type = 1033361043;
      }
    }
    IFC4X32.IfcZone = IfcZone;
    class IfcActionRequest extends IfcControl {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, PredefinedType, Status, LongDescription) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.PredefinedType = PredefinedType;
        this.Status = Status;
        this.LongDescription = LongDescription;
        this.type = 3821786052;
      }
    }
    IFC4X32.IfcActionRequest = IfcActionRequest;
    class IfcAirTerminalBoxType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1411407467;
      }
    }
    IFC4X32.IfcAirTerminalBoxType = IfcAirTerminalBoxType;
    class IfcAirTerminalType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3352864051;
      }
    }
    IFC4X32.IfcAirTerminalType = IfcAirTerminalType;
    class IfcAirToAirHeatRecoveryType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1871374353;
      }
    }
    IFC4X32.IfcAirToAirHeatRecoveryType = IfcAirToAirHeatRecoveryType;
    class IfcAlignmentCant extends IfcLinearElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, RailHeadDistance) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.RailHeadDistance = RailHeadDistance;
        this.type = 4266260250;
      }
    }
    IFC4X32.IfcAlignmentCant = IfcAlignmentCant;
    class IfcAlignmentHorizontal extends IfcLinearElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.type = 1545765605;
      }
    }
    IFC4X32.IfcAlignmentHorizontal = IfcAlignmentHorizontal;
    class IfcAlignmentSegment extends IfcLinearElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, DesignParameters) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.DesignParameters = DesignParameters;
        this.type = 317615605;
      }
    }
    IFC4X32.IfcAlignmentSegment = IfcAlignmentSegment;
    class IfcAlignmentVertical extends IfcLinearElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.type = 1662888072;
      }
    }
    IFC4X32.IfcAlignmentVertical = IfcAlignmentVertical;
    class IfcAsset extends IfcGroup {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, OriginalValue, CurrentValue, TotalReplacementCost, Owner, User, ResponsiblePerson, IncorporationDate, DepreciatedValue) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.OriginalValue = OriginalValue;
        this.CurrentValue = CurrentValue;
        this.TotalReplacementCost = TotalReplacementCost;
        this.Owner = Owner;
        this.User = User;
        this.ResponsiblePerson = ResponsiblePerson;
        this.IncorporationDate = IncorporationDate;
        this.DepreciatedValue = DepreciatedValue;
        this.type = 3460190687;
      }
    }
    IFC4X32.IfcAsset = IfcAsset;
    class IfcAudioVisualApplianceType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1532957894;
      }
    }
    IFC4X32.IfcAudioVisualApplianceType = IfcAudioVisualApplianceType;
    class IfcBSplineCurve extends IfcBoundedCurve {
      constructor(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect) {
        super();
        this.Degree = Degree;
        this.ControlPointsList = ControlPointsList;
        this.CurveForm = CurveForm;
        this.ClosedCurve = ClosedCurve;
        this.SelfIntersect = SelfIntersect;
        this.type = 1967976161;
      }
    }
    IFC4X32.IfcBSplineCurve = IfcBSplineCurve;
    class IfcBSplineCurveWithKnots extends IfcBSplineCurve {
      constructor(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, KnotMultiplicities, Knots, KnotSpec) {
        super(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect);
        this.Degree = Degree;
        this.ControlPointsList = ControlPointsList;
        this.CurveForm = CurveForm;
        this.ClosedCurve = ClosedCurve;
        this.SelfIntersect = SelfIntersect;
        this.KnotMultiplicities = KnotMultiplicities;
        this.Knots = Knots;
        this.KnotSpec = KnotSpec;
        this.type = 2461110595;
      }
    }
    IFC4X32.IfcBSplineCurveWithKnots = IfcBSplineCurveWithKnots;
    class IfcBeamType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 819618141;
      }
    }
    IFC4X32.IfcBeamType = IfcBeamType;
    class IfcBearingType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3649138523;
      }
    }
    IFC4X32.IfcBearingType = IfcBearingType;
    class IfcBoilerType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 231477066;
      }
    }
    IFC4X32.IfcBoilerType = IfcBoilerType;
    class IfcBoundaryCurve extends IfcCompositeCurveOnSurface {
      constructor(Segments, SelfIntersect) {
        super(Segments, SelfIntersect);
        this.Segments = Segments;
        this.SelfIntersect = SelfIntersect;
        this.type = 1136057603;
      }
    }
    IFC4X32.IfcBoundaryCurve = IfcBoundaryCurve;
    class IfcBridge extends IfcFacility {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.PredefinedType = PredefinedType;
        this.type = 644574406;
      }
    }
    IFC4X32.IfcBridge = IfcBridge;
    class IfcBridgePart extends IfcFacilityPart {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, UsageType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.UsageType = UsageType;
        this.PredefinedType = PredefinedType;
        this.type = 963979645;
      }
    }
    IFC4X32.IfcBridgePart = IfcBridgePart;
    class IfcBuilding extends IfcFacility {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType, ElevationOfRefHeight, ElevationOfTerrain, BuildingAddress) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, CompositionType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.CompositionType = CompositionType;
        this.ElevationOfRefHeight = ElevationOfRefHeight;
        this.ElevationOfTerrain = ElevationOfTerrain;
        this.BuildingAddress = BuildingAddress;
        this.type = 4031249490;
      }
    }
    IFC4X32.IfcBuilding = IfcBuilding;
    class IfcBuildingElementPart extends IfcElementComponent {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2979338954;
      }
    }
    IFC4X32.IfcBuildingElementPart = IfcBuildingElementPart;
    class IfcBuildingElementPartType extends IfcElementComponentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 39481116;
      }
    }
    IFC4X32.IfcBuildingElementPartType = IfcBuildingElementPartType;
    class IfcBuildingElementProxyType extends IfcBuiltElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1909888760;
      }
    }
    IFC4X32.IfcBuildingElementProxyType = IfcBuildingElementProxyType;
    class IfcBuildingSystem extends IfcSystem {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, LongName) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.PredefinedType = PredefinedType;
        this.LongName = LongName;
        this.type = 1177604601;
      }
    }
    IFC4X32.IfcBuildingSystem = IfcBuildingSystem;
    class IfcBuiltElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1876633798;
      }
    }
    IFC4X32.IfcBuiltElement = IfcBuiltElement;
    class IfcBuiltSystem extends IfcSystem {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, LongName) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.PredefinedType = PredefinedType;
        this.LongName = LongName;
        this.type = 3862327254;
      }
    }
    IFC4X32.IfcBuiltSystem = IfcBuiltSystem;
    class IfcBurnerType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2188180465;
      }
    }
    IFC4X32.IfcBurnerType = IfcBurnerType;
    class IfcCableCarrierFittingType extends IfcFlowFittingType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 395041908;
      }
    }
    IFC4X32.IfcCableCarrierFittingType = IfcCableCarrierFittingType;
    class IfcCableCarrierSegmentType extends IfcFlowSegmentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3293546465;
      }
    }
    IFC4X32.IfcCableCarrierSegmentType = IfcCableCarrierSegmentType;
    class IfcCableFittingType extends IfcFlowFittingType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2674252688;
      }
    }
    IFC4X32.IfcCableFittingType = IfcCableFittingType;
    class IfcCableSegmentType extends IfcFlowSegmentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1285652485;
      }
    }
    IFC4X32.IfcCableSegmentType = IfcCableSegmentType;
    class IfcCaissonFoundationType extends IfcDeepFoundationType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3203706013;
      }
    }
    IFC4X32.IfcCaissonFoundationType = IfcCaissonFoundationType;
    class IfcChillerType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2951183804;
      }
    }
    IFC4X32.IfcChillerType = IfcChillerType;
    class IfcChimney extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3296154744;
      }
    }
    IFC4X32.IfcChimney = IfcChimney;
    class IfcCircle extends IfcConic {
      constructor(Position, Radius) {
        super(Position);
        this.Position = Position;
        this.Radius = Radius;
        this.type = 2611217952;
      }
    }
    IFC4X32.IfcCircle = IfcCircle;
    class IfcCivilElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1677625105;
      }
    }
    IFC4X32.IfcCivilElement = IfcCivilElement;
    class IfcCoilType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2301859152;
      }
    }
    IFC4X32.IfcCoilType = IfcCoilType;
    class IfcColumn extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 843113511;
      }
    }
    IFC4X32.IfcColumn = IfcColumn;
    class IfcCommunicationsApplianceType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 400855858;
      }
    }
    IFC4X32.IfcCommunicationsApplianceType = IfcCommunicationsApplianceType;
    class IfcCompressorType extends IfcFlowMovingDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3850581409;
      }
    }
    IFC4X32.IfcCompressorType = IfcCompressorType;
    class IfcCondenserType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2816379211;
      }
    }
    IFC4X32.IfcCondenserType = IfcCondenserType;
    class IfcConstructionEquipmentResource extends IfcConstructionResource {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.Usage = Usage;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 3898045240;
      }
    }
    IFC4X32.IfcConstructionEquipmentResource = IfcConstructionEquipmentResource;
    class IfcConstructionMaterialResource extends IfcConstructionResource {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.Usage = Usage;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 1060000209;
      }
    }
    IFC4X32.IfcConstructionMaterialResource = IfcConstructionMaterialResource;
    class IfcConstructionProductResource extends IfcConstructionResource {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, Identification, LongDescription, Usage, BaseCosts, BaseQuantity);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.Identification = Identification;
        this.LongDescription = LongDescription;
        this.Usage = Usage;
        this.BaseCosts = BaseCosts;
        this.BaseQuantity = BaseQuantity;
        this.PredefinedType = PredefinedType;
        this.type = 488727124;
      }
    }
    IFC4X32.IfcConstructionProductResource = IfcConstructionProductResource;
    class IfcConveyorSegmentType extends IfcFlowSegmentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2940368186;
      }
    }
    IFC4X32.IfcConveyorSegmentType = IfcConveyorSegmentType;
    class IfcCooledBeamType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 335055490;
      }
    }
    IFC4X32.IfcCooledBeamType = IfcCooledBeamType;
    class IfcCoolingTowerType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2954562838;
      }
    }
    IFC4X32.IfcCoolingTowerType = IfcCoolingTowerType;
    class IfcCourse extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1502416096;
      }
    }
    IFC4X32.IfcCourse = IfcCourse;
    class IfcCovering extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1973544240;
      }
    }
    IFC4X32.IfcCovering = IfcCovering;
    class IfcCurtainWall extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3495092785;
      }
    }
    IFC4X32.IfcCurtainWall = IfcCurtainWall;
    class IfcDamperType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3961806047;
      }
    }
    IFC4X32.IfcDamperType = IfcDamperType;
    class IfcDeepFoundation extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 3426335179;
      }
    }
    IFC4X32.IfcDeepFoundation = IfcDeepFoundation;
    class IfcDiscreteAccessory extends IfcElementComponent {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1335981549;
      }
    }
    IFC4X32.IfcDiscreteAccessory = IfcDiscreteAccessory;
    class IfcDiscreteAccessoryType extends IfcElementComponentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2635815018;
      }
    }
    IFC4X32.IfcDiscreteAccessoryType = IfcDiscreteAccessoryType;
    class IfcDistributionBoardType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 479945903;
      }
    }
    IFC4X32.IfcDistributionBoardType = IfcDistributionBoardType;
    class IfcDistributionChamberElementType extends IfcDistributionFlowElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1599208980;
      }
    }
    IFC4X32.IfcDistributionChamberElementType = IfcDistributionChamberElementType;
    class IfcDistributionControlElementType extends IfcDistributionElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.type = 2063403501;
      }
    }
    IFC4X32.IfcDistributionControlElementType = IfcDistributionControlElementType;
    class IfcDistributionElement extends IfcElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1945004755;
      }
    }
    IFC4X32.IfcDistributionElement = IfcDistributionElement;
    class IfcDistributionFlowElement extends IfcDistributionElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 3040386961;
      }
    }
    IFC4X32.IfcDistributionFlowElement = IfcDistributionFlowElement;
    class IfcDistributionPort extends IfcPort {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, FlowDirection, PredefinedType, SystemType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.FlowDirection = FlowDirection;
        this.PredefinedType = PredefinedType;
        this.SystemType = SystemType;
        this.type = 3041715199;
      }
    }
    IFC4X32.IfcDistributionPort = IfcDistributionPort;
    class IfcDistributionSystem extends IfcSystem {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.LongName = LongName;
        this.PredefinedType = PredefinedType;
        this.type = 3205830791;
      }
    }
    IFC4X32.IfcDistributionSystem = IfcDistributionSystem;
    class IfcDoor extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, OperationType, UserDefinedOperationType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.OverallHeight = OverallHeight;
        this.OverallWidth = OverallWidth;
        this.PredefinedType = PredefinedType;
        this.OperationType = OperationType;
        this.UserDefinedOperationType = UserDefinedOperationType;
        this.type = 395920057;
      }
    }
    IFC4X32.IfcDoor = IfcDoor;
    class IfcDuctFittingType extends IfcFlowFittingType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 869906466;
      }
    }
    IFC4X32.IfcDuctFittingType = IfcDuctFittingType;
    class IfcDuctSegmentType extends IfcFlowSegmentType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3760055223;
      }
    }
    IFC4X32.IfcDuctSegmentType = IfcDuctSegmentType;
    class IfcDuctSilencerType extends IfcFlowTreatmentDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2030761528;
      }
    }
    IFC4X32.IfcDuctSilencerType = IfcDuctSilencerType;
    class IfcEarthworksCut extends IfcFeatureElementSubtraction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3071239417;
      }
    }
    IFC4X32.IfcEarthworksCut = IfcEarthworksCut;
    class IfcEarthworksElement extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1077100507;
      }
    }
    IFC4X32.IfcEarthworksElement = IfcEarthworksElement;
    class IfcEarthworksFill extends IfcEarthworksElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3376911765;
      }
    }
    IFC4X32.IfcEarthworksFill = IfcEarthworksFill;
    class IfcElectricApplianceType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 663422040;
      }
    }
    IFC4X32.IfcElectricApplianceType = IfcElectricApplianceType;
    class IfcElectricDistributionBoardType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2417008758;
      }
    }
    IFC4X32.IfcElectricDistributionBoardType = IfcElectricDistributionBoardType;
    class IfcElectricFlowStorageDeviceType extends IfcFlowStorageDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3277789161;
      }
    }
    IFC4X32.IfcElectricFlowStorageDeviceType = IfcElectricFlowStorageDeviceType;
    class IfcElectricFlowTreatmentDeviceType extends IfcFlowTreatmentDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2142170206;
      }
    }
    IFC4X32.IfcElectricFlowTreatmentDeviceType = IfcElectricFlowTreatmentDeviceType;
    class IfcElectricGeneratorType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1534661035;
      }
    }
    IFC4X32.IfcElectricGeneratorType = IfcElectricGeneratorType;
    class IfcElectricMotorType extends IfcEnergyConversionDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1217240411;
      }
    }
    IFC4X32.IfcElectricMotorType = IfcElectricMotorType;
    class IfcElectricTimeControlType extends IfcFlowControllerType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 712377611;
      }
    }
    IFC4X32.IfcElectricTimeControlType = IfcElectricTimeControlType;
    class IfcEnergyConversionDevice extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1658829314;
      }
    }
    IFC4X32.IfcEnergyConversionDevice = IfcEnergyConversionDevice;
    class IfcEngine extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2814081492;
      }
    }
    IFC4X32.IfcEngine = IfcEngine;
    class IfcEvaporativeCooler extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3747195512;
      }
    }
    IFC4X32.IfcEvaporativeCooler = IfcEvaporativeCooler;
    class IfcEvaporator extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 484807127;
      }
    }
    IFC4X32.IfcEvaporator = IfcEvaporator;
    class IfcExternalSpatialElement extends IfcExternalSpatialStructureElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, LongName);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.LongName = LongName;
        this.PredefinedType = PredefinedType;
        this.type = 1209101575;
      }
    }
    IFC4X32.IfcExternalSpatialElement = IfcExternalSpatialElement;
    class IfcFanType extends IfcFlowMovingDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 346874300;
      }
    }
    IFC4X32.IfcFanType = IfcFanType;
    class IfcFilterType extends IfcFlowTreatmentDeviceType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1810631287;
      }
    }
    IFC4X32.IfcFilterType = IfcFilterType;
    class IfcFireSuppressionTerminalType extends IfcFlowTerminalType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 4222183408;
      }
    }
    IFC4X32.IfcFireSuppressionTerminalType = IfcFireSuppressionTerminalType;
    class IfcFlowController extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 2058353004;
      }
    }
    IFC4X32.IfcFlowController = IfcFlowController;
    class IfcFlowFitting extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 4278956645;
      }
    }
    IFC4X32.IfcFlowFitting = IfcFlowFitting;
    class IfcFlowInstrumentType extends IfcDistributionControlElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 4037862832;
      }
    }
    IFC4X32.IfcFlowInstrumentType = IfcFlowInstrumentType;
    class IfcFlowMeter extends IfcFlowController {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2188021234;
      }
    }
    IFC4X32.IfcFlowMeter = IfcFlowMeter;
    class IfcFlowMovingDevice extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 3132237377;
      }
    }
    IFC4X32.IfcFlowMovingDevice = IfcFlowMovingDevice;
    class IfcFlowSegment extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 987401354;
      }
    }
    IFC4X32.IfcFlowSegment = IfcFlowSegment;
    class IfcFlowStorageDevice extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 707683696;
      }
    }
    IFC4X32.IfcFlowStorageDevice = IfcFlowStorageDevice;
    class IfcFlowTerminal extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 2223149337;
      }
    }
    IFC4X32.IfcFlowTerminal = IfcFlowTerminal;
    class IfcFlowTreatmentDevice extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 3508470533;
      }
    }
    IFC4X32.IfcFlowTreatmentDevice = IfcFlowTreatmentDevice;
    class IfcFooting extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 900683007;
      }
    }
    IFC4X32.IfcFooting = IfcFooting;
    class IfcGeotechnicalAssembly extends IfcGeotechnicalElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 2713699986;
      }
    }
    IFC4X32.IfcGeotechnicalAssembly = IfcGeotechnicalAssembly;
    class IfcGrid extends IfcPositioningElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, UAxes, VAxes, WAxes, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.UAxes = UAxes;
        this.VAxes = VAxes;
        this.WAxes = WAxes;
        this.PredefinedType = PredefinedType;
        this.type = 3009204131;
      }
    }
    IFC4X32.IfcGrid = IfcGrid;
    class IfcHeatExchanger extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3319311131;
      }
    }
    IFC4X32.IfcHeatExchanger = IfcHeatExchanger;
    class IfcHumidifier extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2068733104;
      }
    }
    IFC4X32.IfcHumidifier = IfcHumidifier;
    class IfcInterceptor extends IfcFlowTreatmentDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 4175244083;
      }
    }
    IFC4X32.IfcInterceptor = IfcInterceptor;
    class IfcJunctionBox extends IfcFlowFitting {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2176052936;
      }
    }
    IFC4X32.IfcJunctionBox = IfcJunctionBox;
    class IfcKerb extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2696325953;
      }
    }
    IFC4X32.IfcKerb = IfcKerb;
    class IfcLamp extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 76236018;
      }
    }
    IFC4X32.IfcLamp = IfcLamp;
    class IfcLightFixture extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 629592764;
      }
    }
    IFC4X32.IfcLightFixture = IfcLightFixture;
    class IfcLinearPositioningElement extends IfcPositioningElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.type = 1154579445;
      }
    }
    IFC4X32.IfcLinearPositioningElement = IfcLinearPositioningElement;
    class IfcLiquidTerminal extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1638804497;
      }
    }
    IFC4X32.IfcLiquidTerminal = IfcLiquidTerminal;
    class IfcMedicalDevice extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1437502449;
      }
    }
    IFC4X32.IfcMedicalDevice = IfcMedicalDevice;
    class IfcMember extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1073191201;
      }
    }
    IFC4X32.IfcMember = IfcMember;
    class IfcMobileTelecommunicationsAppliance extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2078563270;
      }
    }
    IFC4X32.IfcMobileTelecommunicationsAppliance = IfcMobileTelecommunicationsAppliance;
    class IfcMooringDevice extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 234836483;
      }
    }
    IFC4X32.IfcMooringDevice = IfcMooringDevice;
    class IfcMotorConnection extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2474470126;
      }
    }
    IFC4X32.IfcMotorConnection = IfcMotorConnection;
    class IfcNavigationElement extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2182337498;
      }
    }
    IFC4X32.IfcNavigationElement = IfcNavigationElement;
    class IfcOuterBoundaryCurve extends IfcBoundaryCurve {
      constructor(Segments, SelfIntersect) {
        super(Segments, SelfIntersect);
        this.Segments = Segments;
        this.SelfIntersect = SelfIntersect;
        this.type = 144952367;
      }
    }
    IFC4X32.IfcOuterBoundaryCurve = IfcOuterBoundaryCurve;
    class IfcOutlet extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3694346114;
      }
    }
    IFC4X32.IfcOutlet = IfcOutlet;
    class IfcPavement extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1383356374;
      }
    }
    IFC4X32.IfcPavement = IfcPavement;
    class IfcPile extends IfcDeepFoundation {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType, ConstructionType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.ConstructionType = ConstructionType;
        this.type = 1687234759;
      }
    }
    IFC4X32.IfcPile = IfcPile;
    class IfcPipeFitting extends IfcFlowFitting {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 310824031;
      }
    }
    IFC4X32.IfcPipeFitting = IfcPipeFitting;
    class IfcPipeSegment extends IfcFlowSegment {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3612865200;
      }
    }
    IFC4X32.IfcPipeSegment = IfcPipeSegment;
    class IfcPlate extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3171933400;
      }
    }
    IFC4X32.IfcPlate = IfcPlate;
    class IfcProtectiveDevice extends IfcFlowController {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 738039164;
      }
    }
    IFC4X32.IfcProtectiveDevice = IfcProtectiveDevice;
    class IfcProtectiveDeviceTrippingUnitType extends IfcDistributionControlElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 655969474;
      }
    }
    IFC4X32.IfcProtectiveDeviceTrippingUnitType = IfcProtectiveDeviceTrippingUnitType;
    class IfcPump extends IfcFlowMovingDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 90941305;
      }
    }
    IFC4X32.IfcPump = IfcPump;
    class IfcRail extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3290496277;
      }
    }
    IFC4X32.IfcRail = IfcRail;
    class IfcRailing extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2262370178;
      }
    }
    IFC4X32.IfcRailing = IfcRailing;
    class IfcRamp extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3024970846;
      }
    }
    IFC4X32.IfcRamp = IfcRamp;
    class IfcRampFlight extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3283111854;
      }
    }
    IFC4X32.IfcRampFlight = IfcRampFlight;
    class IfcRationalBSplineCurveWithKnots extends IfcBSplineCurveWithKnots {
      constructor(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, KnotMultiplicities, Knots, KnotSpec, WeightsData) {
        super(Degree, ControlPointsList, CurveForm, ClosedCurve, SelfIntersect, KnotMultiplicities, Knots, KnotSpec);
        this.Degree = Degree;
        this.ControlPointsList = ControlPointsList;
        this.CurveForm = CurveForm;
        this.ClosedCurve = ClosedCurve;
        this.SelfIntersect = SelfIntersect;
        this.KnotMultiplicities = KnotMultiplicities;
        this.Knots = Knots;
        this.KnotSpec = KnotSpec;
        this.WeightsData = WeightsData;
        this.type = 1232101972;
      }
    }
    IFC4X32.IfcRationalBSplineCurveWithKnots = IfcRationalBSplineCurveWithKnots;
    class IfcReinforcedSoil extends IfcEarthworksElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3798194928;
      }
    }
    IFC4X32.IfcReinforcedSoil = IfcReinforcedSoil;
    class IfcReinforcingBar extends IfcReinforcingElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade, NominalDiameter, CrossSectionArea, BarLength, PredefinedType, BarSurface) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, SteelGrade);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.SteelGrade = SteelGrade;
        this.NominalDiameter = NominalDiameter;
        this.CrossSectionArea = CrossSectionArea;
        this.BarLength = BarLength;
        this.PredefinedType = PredefinedType;
        this.BarSurface = BarSurface;
        this.type = 979691226;
      }
    }
    IFC4X32.IfcReinforcingBar = IfcReinforcingBar;
    class IfcReinforcingBarType extends IfcReinforcingElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType, NominalDiameter, CrossSectionArea, BarLength, BarSurface, BendingShapeCode, BendingParameters) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.NominalDiameter = NominalDiameter;
        this.CrossSectionArea = CrossSectionArea;
        this.BarLength = BarLength;
        this.BarSurface = BarSurface;
        this.BendingShapeCode = BendingShapeCode;
        this.BendingParameters = BendingParameters;
        this.type = 2572171363;
      }
    }
    IFC4X32.IfcReinforcingBarType = IfcReinforcingBarType;
    class IfcRoof extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2016517767;
      }
    }
    IFC4X32.IfcRoof = IfcRoof;
    class IfcSanitaryTerminal extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3053780830;
      }
    }
    IFC4X32.IfcSanitaryTerminal = IfcSanitaryTerminal;
    class IfcSensorType extends IfcDistributionControlElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 1783015770;
      }
    }
    IFC4X32.IfcSensorType = IfcSensorType;
    class IfcShadingDevice extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1329646415;
      }
    }
    IFC4X32.IfcShadingDevice = IfcShadingDevice;
    class IfcSignal extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 991950508;
      }
    }
    IFC4X32.IfcSignal = IfcSignal;
    class IfcSlab extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1529196076;
      }
    }
    IFC4X32.IfcSlab = IfcSlab;
    class IfcSolarDevice extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3420628829;
      }
    }
    IFC4X32.IfcSolarDevice = IfcSolarDevice;
    class IfcSpaceHeater extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1999602285;
      }
    }
    IFC4X32.IfcSpaceHeater = IfcSpaceHeater;
    class IfcStackTerminal extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1404847402;
      }
    }
    IFC4X32.IfcStackTerminal = IfcStackTerminal;
    class IfcStair extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 331165859;
      }
    }
    IFC4X32.IfcStair = IfcStair;
    class IfcStairFlight extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, NumberOfRisers, NumberOfTreads, RiserHeight, TreadLength, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.NumberOfRisers = NumberOfRisers;
        this.NumberOfTreads = NumberOfTreads;
        this.RiserHeight = RiserHeight;
        this.TreadLength = TreadLength;
        this.PredefinedType = PredefinedType;
        this.type = 4252922144;
      }
    }
    IFC4X32.IfcStairFlight = IfcStairFlight;
    class IfcStructuralAnalysisModel extends IfcSystem {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, OrientationOf2DPlane, LoadedBy, HasResults, SharedPlacement) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.PredefinedType = PredefinedType;
        this.OrientationOf2DPlane = OrientationOf2DPlane;
        this.LoadedBy = LoadedBy;
        this.HasResults = HasResults;
        this.SharedPlacement = SharedPlacement;
        this.type = 2515109513;
      }
    }
    IFC4X32.IfcStructuralAnalysisModel = IfcStructuralAnalysisModel;
    class IfcStructuralLoadCase extends IfcStructuralLoadGroup {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose, SelfWeightCoefficients) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, PredefinedType, ActionType, ActionSource, Coefficient, Purpose);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.PredefinedType = PredefinedType;
        this.ActionType = ActionType;
        this.ActionSource = ActionSource;
        this.Coefficient = Coefficient;
        this.Purpose = Purpose;
        this.SelfWeightCoefficients = SelfWeightCoefficients;
        this.type = 385403989;
      }
    }
    IFC4X32.IfcStructuralLoadCase = IfcStructuralLoadCase;
    class IfcStructuralPlanarAction extends IfcStructuralSurfaceAction {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, AppliedLoad, GlobalOrLocal, DestabilizingLoad, ProjectedOrTrue, PredefinedType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.AppliedLoad = AppliedLoad;
        this.GlobalOrLocal = GlobalOrLocal;
        this.DestabilizingLoad = DestabilizingLoad;
        this.ProjectedOrTrue = ProjectedOrTrue;
        this.PredefinedType = PredefinedType;
        this.type = 1621171031;
      }
    }
    IFC4X32.IfcStructuralPlanarAction = IfcStructuralPlanarAction;
    class IfcSwitchingDevice extends IfcFlowController {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1162798199;
      }
    }
    IFC4X32.IfcSwitchingDevice = IfcSwitchingDevice;
    class IfcTank extends IfcFlowStorageDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 812556717;
      }
    }
    IFC4X32.IfcTank = IfcTank;
    class IfcTrackElement extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3425753595;
      }
    }
    IFC4X32.IfcTrackElement = IfcTrackElement;
    class IfcTransformer extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3825984169;
      }
    }
    IFC4X32.IfcTransformer = IfcTransformer;
    class IfcTransportElement extends IfcTransportationDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1620046519;
      }
    }
    IFC4X32.IfcTransportElement = IfcTransportElement;
    class IfcTubeBundle extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3026737570;
      }
    }
    IFC4X32.IfcTubeBundle = IfcTubeBundle;
    class IfcUnitaryControlElementType extends IfcDistributionControlElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3179687236;
      }
    }
    IFC4X32.IfcUnitaryControlElementType = IfcUnitaryControlElementType;
    class IfcUnitaryEquipment extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 4292641817;
      }
    }
    IFC4X32.IfcUnitaryEquipment = IfcUnitaryEquipment;
    class IfcValve extends IfcFlowController {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 4207607924;
      }
    }
    IFC4X32.IfcValve = IfcValve;
    class IfcWall extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2391406946;
      }
    }
    IFC4X32.IfcWall = IfcWall;
    class IfcWallStandardCase extends IfcWall {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3512223829;
      }
    }
    IFC4X32.IfcWallStandardCase = IfcWallStandardCase;
    class IfcWasteTerminal extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 4237592921;
      }
    }
    IFC4X32.IfcWasteTerminal = IfcWasteTerminal;
    class IfcWindow extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, OverallHeight, OverallWidth, PredefinedType, PartitioningType, UserDefinedPartitioningType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.OverallHeight = OverallHeight;
        this.OverallWidth = OverallWidth;
        this.PredefinedType = PredefinedType;
        this.PartitioningType = PartitioningType;
        this.UserDefinedPartitioningType = UserDefinedPartitioningType;
        this.type = 3304561284;
      }
    }
    IFC4X32.IfcWindow = IfcWindow;
    class IfcActuatorType extends IfcDistributionControlElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 2874132201;
      }
    }
    IFC4X32.IfcActuatorType = IfcActuatorType;
    class IfcAirTerminal extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1634111441;
      }
    }
    IFC4X32.IfcAirTerminal = IfcAirTerminal;
    class IfcAirTerminalBox extends IfcFlowController {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 177149247;
      }
    }
    IFC4X32.IfcAirTerminalBox = IfcAirTerminalBox;
    class IfcAirToAirHeatRecovery extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2056796094;
      }
    }
    IFC4X32.IfcAirToAirHeatRecovery = IfcAirToAirHeatRecovery;
    class IfcAlarmType extends IfcDistributionControlElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 3001207471;
      }
    }
    IFC4X32.IfcAlarmType = IfcAlarmType;
    class IfcAlignment extends IfcLinearPositioningElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.PredefinedType = PredefinedType;
        this.type = 325726236;
      }
    }
    IFC4X32.IfcAlignment = IfcAlignment;
    class IfcAudioVisualAppliance extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 277319702;
      }
    }
    IFC4X32.IfcAudioVisualAppliance = IfcAudioVisualAppliance;
    class IfcBeam extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 753842376;
      }
    }
    IFC4X32.IfcBeam = IfcBeam;
    class IfcBearing extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 4196446775;
      }
    }
    IFC4X32.IfcBearing = IfcBearing;
    class IfcBoiler extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 32344328;
      }
    }
    IFC4X32.IfcBoiler = IfcBoiler;
    class IfcBorehole extends IfcGeotechnicalAssembly {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 3314249567;
      }
    }
    IFC4X32.IfcBorehole = IfcBorehole;
    class IfcBuildingElementProxy extends IfcBuiltElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1095909175;
      }
    }
    IFC4X32.IfcBuildingElementProxy = IfcBuildingElementProxy;
    class IfcBurner extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2938176219;
      }
    }
    IFC4X32.IfcBurner = IfcBurner;
    class IfcCableCarrierFitting extends IfcFlowFitting {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 635142910;
      }
    }
    IFC4X32.IfcCableCarrierFitting = IfcCableCarrierFitting;
    class IfcCableCarrierSegment extends IfcFlowSegment {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3758799889;
      }
    }
    IFC4X32.IfcCableCarrierSegment = IfcCableCarrierSegment;
    class IfcCableFitting extends IfcFlowFitting {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1051757585;
      }
    }
    IFC4X32.IfcCableFitting = IfcCableFitting;
    class IfcCableSegment extends IfcFlowSegment {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 4217484030;
      }
    }
    IFC4X32.IfcCableSegment = IfcCableSegment;
    class IfcCaissonFoundation extends IfcDeepFoundation {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3999819293;
      }
    }
    IFC4X32.IfcCaissonFoundation = IfcCaissonFoundation;
    class IfcChiller extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3902619387;
      }
    }
    IFC4X32.IfcChiller = IfcChiller;
    class IfcCoil extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 639361253;
      }
    }
    IFC4X32.IfcCoil = IfcCoil;
    class IfcCommunicationsAppliance extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3221913625;
      }
    }
    IFC4X32.IfcCommunicationsAppliance = IfcCommunicationsAppliance;
    class IfcCompressor extends IfcFlowMovingDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3571504051;
      }
    }
    IFC4X32.IfcCompressor = IfcCompressor;
    class IfcCondenser extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2272882330;
      }
    }
    IFC4X32.IfcCondenser = IfcCondenser;
    class IfcControllerType extends IfcDistributionControlElementType {
      constructor(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ApplicableOccurrence, HasPropertySets, RepresentationMaps, Tag, ElementType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ApplicableOccurrence = ApplicableOccurrence;
        this.HasPropertySets = HasPropertySets;
        this.RepresentationMaps = RepresentationMaps;
        this.Tag = Tag;
        this.ElementType = ElementType;
        this.PredefinedType = PredefinedType;
        this.type = 578613899;
      }
    }
    IFC4X32.IfcControllerType = IfcControllerType;
    class IfcConveyorSegment extends IfcFlowSegment {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3460952963;
      }
    }
    IFC4X32.IfcConveyorSegment = IfcConveyorSegment;
    class IfcCooledBeam extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 4136498852;
      }
    }
    IFC4X32.IfcCooledBeam = IfcCooledBeam;
    class IfcCoolingTower extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3640358203;
      }
    }
    IFC4X32.IfcCoolingTower = IfcCoolingTower;
    class IfcDamper extends IfcFlowController {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 4074379575;
      }
    }
    IFC4X32.IfcDamper = IfcDamper;
    class IfcDistributionBoard extends IfcFlowController {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3693000487;
      }
    }
    IFC4X32.IfcDistributionBoard = IfcDistributionBoard;
    class IfcDistributionChamberElement extends IfcDistributionFlowElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1052013943;
      }
    }
    IFC4X32.IfcDistributionChamberElement = IfcDistributionChamberElement;
    class IfcDistributionCircuit extends IfcDistributionSystem {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, LongName, PredefinedType);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.LongName = LongName;
        this.PredefinedType = PredefinedType;
        this.type = 562808652;
      }
    }
    IFC4X32.IfcDistributionCircuit = IfcDistributionCircuit;
    class IfcDistributionControlElement extends IfcDistributionElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1062813311;
      }
    }
    IFC4X32.IfcDistributionControlElement = IfcDistributionControlElement;
    class IfcDuctFitting extends IfcFlowFitting {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 342316401;
      }
    }
    IFC4X32.IfcDuctFitting = IfcDuctFitting;
    class IfcDuctSegment extends IfcFlowSegment {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3518393246;
      }
    }
    IFC4X32.IfcDuctSegment = IfcDuctSegment;
    class IfcDuctSilencer extends IfcFlowTreatmentDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1360408905;
      }
    }
    IFC4X32.IfcDuctSilencer = IfcDuctSilencer;
    class IfcElectricAppliance extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1904799276;
      }
    }
    IFC4X32.IfcElectricAppliance = IfcElectricAppliance;
    class IfcElectricDistributionBoard extends IfcFlowController {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 862014818;
      }
    }
    IFC4X32.IfcElectricDistributionBoard = IfcElectricDistributionBoard;
    class IfcElectricFlowStorageDevice extends IfcFlowStorageDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3310460725;
      }
    }
    IFC4X32.IfcElectricFlowStorageDevice = IfcElectricFlowStorageDevice;
    class IfcElectricFlowTreatmentDevice extends IfcFlowTreatmentDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 24726584;
      }
    }
    IFC4X32.IfcElectricFlowTreatmentDevice = IfcElectricFlowTreatmentDevice;
    class IfcElectricGenerator extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 264262732;
      }
    }
    IFC4X32.IfcElectricGenerator = IfcElectricGenerator;
    class IfcElectricMotor extends IfcEnergyConversionDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 402227799;
      }
    }
    IFC4X32.IfcElectricMotor = IfcElectricMotor;
    class IfcElectricTimeControl extends IfcFlowController {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1003880860;
      }
    }
    IFC4X32.IfcElectricTimeControl = IfcElectricTimeControl;
    class IfcFan extends IfcFlowMovingDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3415622556;
      }
    }
    IFC4X32.IfcFan = IfcFan;
    class IfcFilter extends IfcFlowTreatmentDevice {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 819412036;
      }
    }
    IFC4X32.IfcFilter = IfcFilter;
    class IfcFireSuppressionTerminal extends IfcFlowTerminal {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 1426591983;
      }
    }
    IFC4X32.IfcFireSuppressionTerminal = IfcFireSuppressionTerminal;
    class IfcFlowInstrument extends IfcDistributionControlElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 182646315;
      }
    }
    IFC4X32.IfcFlowInstrument = IfcFlowInstrument;
    class IfcGeomodel extends IfcGeotechnicalAssembly {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 2680139844;
      }
    }
    IFC4X32.IfcGeomodel = IfcGeomodel;
    class IfcGeoslice extends IfcGeotechnicalAssembly {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.type = 1971632696;
      }
    }
    IFC4X32.IfcGeoslice = IfcGeoslice;
    class IfcProtectiveDeviceTrippingUnit extends IfcDistributionControlElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 2295281155;
      }
    }
    IFC4X32.IfcProtectiveDeviceTrippingUnit = IfcProtectiveDeviceTrippingUnit;
    class IfcSensor extends IfcDistributionControlElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 4086658281;
      }
    }
    IFC4X32.IfcSensor = IfcSensor;
    class IfcUnitaryControlElement extends IfcDistributionControlElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 630975310;
      }
    }
    IFC4X32.IfcUnitaryControlElement = IfcUnitaryControlElement;
    class IfcActuator extends IfcDistributionControlElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 4288193352;
      }
    }
    IFC4X32.IfcActuator = IfcActuator;
    class IfcAlarm extends IfcDistributionControlElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 3087945054;
      }
    }
    IFC4X32.IfcAlarm = IfcAlarm;
    class IfcController extends IfcDistributionControlElement {
      constructor(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag, PredefinedType) {
        super(GlobalId, OwnerHistory, Name, Description, ObjectType, ObjectPlacement, Representation, Tag);
        this.GlobalId = GlobalId;
        this.OwnerHistory = OwnerHistory;
        this.Name = Name;
        this.Description = Description;
        this.ObjectType = ObjectType;
        this.ObjectPlacement = ObjectPlacement;
        this.Representation = Representation;
        this.Tag = Tag;
        this.PredefinedType = PredefinedType;
        this.type = 25142252;
      }
    }
    IFC4X32.IfcController = IfcController;
  })(IFC4X3 || (IFC4X3 = {}));

  // dist/helpers/properties.ts
  var PropsNames = {
    aggregates: {
      name: IFCRELAGGREGATES,
      relating: "RelatingObject",
      related: "RelatedObjects",
      key: "children"
    },
    spatial: {
      name: IFCRELCONTAINEDINSPATIALSTRUCTURE,
      relating: "RelatingStructure",
      related: "RelatedElements",
      key: "children"
    },
    psets: {
      name: IFCRELDEFINESBYPROPERTIES,
      relating: "RelatingPropertyDefinition",
      related: "RelatedObjects",
      key: "IsDefinedBy"
    },
    materials: {
      name: IFCRELASSOCIATESMATERIAL,
      relating: "RelatingMaterial",
      related: "RelatedObjects",
      key: "HasAssociations"
    },
    type: {
      name: IFCRELDEFINESBYTYPE,
      relating: "RelatingType",
      related: "RelatedObjects",
      key: "IsDefinedBy"
    }
  };
  var Properties = class _Properties {
    /** @ignore */
    constructor(api) {
      this.api = api;
    }
    /**
     * 
     * @param modelID model handle
     * @param id  expressID of IfcElement
     * @param recursive default false, if true get all nested properties recursively
     * @param inverse default false, if true get all inverse properties recursively
     * @returns IfcElement
     */
    async getItemProperties(modelID, id, recursive = false, inverse = false) {
      return this.api.GetLine(modelID, id, recursive, inverse);
    }
    /**
     * Get IfcPropertySets of IfcElements
     * @param modelID model handle
     * @param elementID expressID of IfcElement, default 0 (all psets in model)
     * @param recursive default false, if true get all nested properties recursively
     * @returns array of IfcElements inheriting from IfcPropertySetDefinition
     */
    async getPropertySets(modelID, elementID = 0, recursive = false, includeTypeProperties = false) {
      if (includeTypeProperties) {
        let types = await this.getTypeProperties(modelID, elementID, false);
        let results = [];
        for (let t of types) {
          for (let p of t.HasPropertySets) {
            results.push(await this.api.GetLine(modelID, p.value, recursive));
          }
        }
        return results;
      } else return await this.getRelatedProperties(modelID, elementID, PropsNames.psets, recursive);
    }
    /**
     * Set IfcRelDefinesByProperties relations of IfcElements and IfcPropertySets
     * @param modelID model handle
     * @param elementID expressID or array of expressIDs of IfcElements
     * @param psetID expressID or array of expressIDs of IfcPropertySets
     * @returns true if success or false if error
     */
    async setPropertySets(modelID, elementID, psetID) {
      return this.setItemProperties(modelID, elementID, psetID, PropsNames.psets);
    }
    /**
     * Get TypeObject of IfcElements
     * @param modelID model handle
     * @param elementID expressID of IfcElement, default 0 (all type objects in model)
     * @param recursive default false, if true get all nested properties of the type object recursively
     * @returns array of objects inheriting from IfcTypeObject
     */
    async getTypeProperties(modelID, elementID = 0, recursive = false) {
      if (this.api.GetModelSchema(modelID) == "IFC2X3") {
        return await this.getRelatedProperties(modelID, elementID, PropsNames.type, recursive);
      } else {
        return await this.getRelatedProperties(modelID, elementID, { ...PropsNames.type, key: "IsTypedBy" }, recursive);
      }
    }
    /**
     * Get materials of IfcElement
     * @param modelID model handle
     * @param elementID expressID of IfcElement, default 0 (all materials in model)
     * @param recursive default false, if true get all nested properties recursively
     * @returns array of IfcElements inheriting from IfcMaterialDefinition
     */
    async getMaterialsProperties(modelID, elementID = 0, recursive = false, includeTypeMaterials = false) {
      if (includeTypeMaterials) {
        let types = await this.getTypeProperties(modelID, elementID, false);
        let results = [];
        for (let t of types) results.push(...await this.getMaterialsProperties(modelID, t.expressID, recursive));
        return results;
      } else return await this.getRelatedProperties(modelID, elementID, PropsNames.materials, recursive);
    }
    /**
     * Set IfcRelAssociatesMaterial relations of IfcElements and IfcMaterialDefinitions
     * @param modelID model handle
     * @param elementID expressID or array of expressIDs of IfcElements
     * @param materialID expressID or array of expressIDs of IfcMaterialDefinitions
     * @returns true if success or false if error
     */
    async setMaterialsProperties(modelID, elementID, materialID) {
      return this.setItemProperties(modelID, elementID, materialID, PropsNames.materials);
    }
    /**
     * Get Spatial Structure of IfcProject
     * @param modelID model handle
     * @param includeProperties default false
     * @returns IfcProject as Node
     */
    async getSpatialStructure(modelID, includeProperties = false) {
      const chunks = await this.getSpatialTreeChunks(modelID);
      const allLines = await this.api.GetLineIDsWithType(modelID, IFCPROJECT);
      const projectID = allLines.get(0);
      const project = _Properties.newIfcProject(projectID);
      await this.getSpatialNode(modelID, project, chunks, includeProperties);
      return project;
    }
    async getRelatedProperties(modelID, elementID, propsName, recursive = false) {
      const result = [];
      let rels = null;
      if (elementID !== 0)
        rels = await this.api.GetLine(modelID, elementID, false, true, propsName.key)[propsName.key];
      else {
        let vec = this.api.GetLineIDsWithType(modelID, propsName.name);
        rels = [];
        for (let i = 0; i < vec.size(); ++i)
          rels.push({ value: vec.get(i) });
      }
      if (rels == null) return result;
      if (!Array.isArray(rels)) rels = [rels];
      for (let i = 0; i < rels.length; i++) {
        let propSetIds = await this.api.GetLine(modelID, rels[i].value, false, false)[propsName.relating];
        if (propSetIds == null) continue;
        if (!Array.isArray(propSetIds)) propSetIds = [propSetIds];
        for (let x = 0; x < propSetIds.length; x++) {
          result.push(await this.api.GetLine(modelID, propSetIds[x].value, recursive));
        }
      }
      return result;
    }
    async getChunks(modelID, chunks, propNames) {
      const relation = await this.api.GetLineIDsWithType(modelID, propNames.name, true);
      for (let i = 0; i < relation.size(); i++) {
        const rel = await this.api.GetLine(modelID, relation.get(i), false);
        this.saveChunk(chunks, propNames, rel);
      }
    }
    static newIfcProject(id) {
      return {
        expressID: id,
        type: "IFCPROJECT",
        children: []
      };
    }
    async getSpatialNode(modelID, node, treeChunks, includeProperties) {
      await this.getChildren(modelID, node, treeChunks, PropsNames.aggregates, includeProperties);
      await this.getChildren(modelID, node, treeChunks, PropsNames.spatial, includeProperties);
    }
    async getChildren(modelID, node, treeChunks, propNames, includeProperties) {
      const children = treeChunks[node.expressID];
      if (children == void 0) return;
      const prop = propNames.key;
      const nodes = [];
      for (let i = 0; i < children.length; i++) {
        const child = children[i];
        let node2 = this.newNode(child, this.api.GetLineType(modelID, child));
        if (includeProperties) {
          const properties = await this.getItemProperties(modelID, node2.expressID);
          node2 = { ...properties, ...node2 };
        }
        await this.getSpatialNode(modelID, node2, treeChunks, includeProperties);
        nodes.push(node2);
      }
      node[prop] = nodes;
    }
    newNode(id, type) {
      return {
        expressID: id,
        type: this.api.GetNameFromTypeCode(type),
        children: []
      };
    }
    async getSpatialTreeChunks(modelID) {
      const treeChunks = {};
      await this.getChunks(modelID, treeChunks, PropsNames.aggregates);
      await this.getChunks(modelID, treeChunks, PropsNames.spatial);
      return treeChunks;
    }
    saveChunk(chunks, propNames, rel) {
      const relating = rel[propNames.relating].value;
      const related = rel[propNames.related].map((r) => r.value);
      if (chunks[relating] == void 0) {
        chunks[relating] = related;
      } else {
        chunks[relating] = chunks[relating].concat(related);
      }
    }
    async setItemProperties(modelID, elementID, propID, propsName) {
      if (!Array.isArray(elementID)) elementID = [elementID];
      if (!Array.isArray(propID)) propID = [propID];
      let foundRel = 0;
      const rels = [];
      const elements = [];
      for (const elID of elementID) {
        const element = await this.api.GetLine(modelID, elID, false, true);
        if (!element[propsName.key]) continue;
        elements.push(element);
      }
      if (elements.length < 1) return false;
      const relations = this.api.GetLineIDsWithType(modelID, propsName.name);
      for (let i = 0; i < relations.size(); ++i) {
        const rel = await this.api.GetLine(modelID, relations.get(i));
        if (propID.includes(Number(rel[propsName.relating].value))) {
          rels.push(rel);
          foundRel++;
        }
        if (foundRel == propID.length) break;
      }
      for (const element of elements) {
        for (const rel of rels) {
          if (!element[propsName.key].some((e) => e.value === rel.expressID))
            element[propsName.key].push({ type: 5, value: rel.expressID });
          if (!rel[propsName.related].some((e) => e.value === element.expressID)) {
            rel[propsName.related].push({ type: 5, value: element.expressID });
            this.api.WriteLine(modelID, rel);
          }
        }
        this.api.WriteLine(modelID, element);
      }
      return true;
    }
  };

  // dist/helpers/log.ts
  var LogLevel = /* @__PURE__ */ ((LogLevel2) => {
    LogLevel2[LogLevel2["LOG_LEVEL_DEBUG"] = 1] = "LOG_LEVEL_DEBUG";
    LogLevel2[LogLevel2["LOG_LEVEL_WARN"] = 3] = "LOG_LEVEL_WARN";
    LogLevel2[LogLevel2["LOG_LEVEL_ERROR"] = 4] = "LOG_LEVEL_ERROR";
    LogLevel2[LogLevel2["LOG_LEVEL_OFF"] = 6] = "LOG_LEVEL_OFF";
    return LogLevel2;
  })(LogLevel || {});
  var Log = class {
    static {
      this.logLevel = 4 /* LOG_LEVEL_ERROR */;
    }
    static setLogLevel(level) {
      this.logLevel = level;
    }
    static log(msg, ...args) {
      if (this.logLevel <= 4 /* LOG_LEVEL_ERROR */) {
        console.log(msg, ...args);
      }
    }
    static debug(msg, ...args) {
      if (this.logLevel <= 1 /* LOG_LEVEL_DEBUG */) {
        console.trace("DEBUG: ", msg, ...args);
      }
    }
    static warn(msg, ...args) {
      if (this.logLevel <= 3 /* LOG_LEVEL_WARN */) {
        console.warn("WARN: ", msg, ...args);
      }
    }
    static error(msg, ...args) {
      if (this.logLevel <= 4 /* LOG_LEVEL_ERROR */) {
        console.error("ERROR: ", msg, ...args);
      }
    }
  };

  // dist/web-ifc-api.ts
  var WebIFCWasm;
  var currentScriptPath;
  if (typeof document !== "undefined") {
    const currentScriptData = document.currentScript;
    if (currentScriptData?.src !== void 0)
      currentScriptPath = currentScriptData.src.substring(
        0,
        currentScriptData.src.lastIndexOf("/") + 1
      );
  }
  var UNKNOWN = 0;
  var STRING = 1;
  var LABEL = 2;
  var ENUM = 3;
  var REAL = 4;
  var REF = 5;
  var EMPTY = 6;
  var SET_BEGIN = 7;
  var SET_END = 8;
  var LINE_END = 9;
  var INTEGER = 10;
  function ms() {
    return (/* @__PURE__ */ new Date()).getTime();
  }
  var IfcAPI2 = class {
    constructor() {
      /** @ignore */
      this.wasmModule = void 0;
      this.wasmPath = "";
      this.isWasmPathAbsolute = false;
      this.modelSchemaList = [];
      this.modelSchemaNameList = [];
      /** @ignore */
      this.ifcGuidMap = /* @__PURE__ */ new Map();
      this.deletedLines = /* @__PURE__ */ new Map();
      /**
       * Contains all the logic and methods regarding properties, psets, qsets, etc.
       */
      this.properties = new Properties(this);
    }
    /**
     * Initializes the WASM module (WebIFCWasm), required before using any other functionality.
     *
     * @param customLocateFileHandler An optional locateFile function that let's
     * you override the path from which the wasm module is loaded.
     */
    async Init(customLocateFileHandler, forceSingleThread = false) {
      if (!WebIFCWasm) {
        if (typeof self !== "undefined" && self.crossOriginIsolated && !forceSingleThread) {
          try {
            WebIFCWasm = require_web_ifc_mt();
          } catch (ex) {
            WebIFCWasm = require_web_ifc();
          }
        } else WebIFCWasm = require_web_ifc();
      }
      if (WebIFCWasm && this.wasmModule == void 0) {
        let locateFileHandler = (path, prefix) => {
          if (this.isWasmPathAbsolute) {
            return this.wasmPath + path;
          }
          return (currentScriptPath !== void 0 ? currentScriptPath : prefix) + this.wasmPath + path;
        };
        this.wasmModule = await WebIFCWasm({
          noInitialRun: true,
          locateFile: customLocateFileHandler || locateFileHandler
        });
        this.SetLogLevel(4 /* LOG_LEVEL_ERROR */);
      } else {
        Log.error(
          `Could not find wasm module at './web-ifc' from web-ifc-api.ts`
        );
      }
    }
    /**
     * Opens a set of models and returns model IDs
     * @param dataSets Array of Buffers containing IFC data (bytes)
     * @param settings Settings for loading the model @see LoaderSettings
     * @returns Array of model IDs
     */
    OpenModels(dataSets, settings) {
      let s = {
        MEMORY_LIMIT: 2147483648,
        ...settings
      };
      s.MEMORY_LIMIT = s.MEMORY_LIMIT / dataSets.length;
      let modelIDs = [];
      for (let dataSet of dataSets) modelIDs.push(this.OpenModel(dataSet, s));
      return modelIDs;
    }
    CreateSettings(settings) {
      let s = {
        COORDINATE_TO_ORIGIN: false,
        CIRCLE_SEGMENTS: 12,
        TAPE_SIZE: 67108864,
        MEMORY_LIMIT: 2147483648,
        LINEWRITER_BUFFER: 1e4,
        TOLERANCE_PLANE_INTERSECTION: 1e-4,
        TOLERANCE_PLANE_DEVIATION: 1e-4,
        TOLERANCE_BACK_DEVIATION_DISTANCE: 1e-4,
        TOLERANCE_INSIDE_OUTSIDE_PERIMETER: 1e-10,
        TOLERANCE_SCALAR_EQUALITY: 1e-4,
        PLANE_REFIT_ITERATIONS: 1,
        BOOLEAN_UNION_THRESHOLD: 150,
        ...settings
      };
      return s;
    }
    LookupSchemaId(schemaName) {
      for (var i = 0; i < SchemaNames.length; i++) {
        if (typeof SchemaNames[i] !== "undefined") {
          for (var j = 0; j < SchemaNames[i].length; j++) {
            if (SchemaNames[i][j] == schemaName.toUpperCase()) return i;
          }
        }
      }
      return -1;
    }
    /**
     * Opens a model and returns a modelID number
     * @param data Buffer containing IFC data (bytes)
     * @param settings Settings for loading the model @see LoaderSettings
     * @returns ModelID or -1 if model fails to open
     */
    OpenModel(data, settings) {
      let s = this.CreateSettings(settings);
      let result = this.wasmModule.OpenModel(
        s,
        (destPtr, offsetInSrc, destSize) => {
          let srcSize = Math.min(data.byteLength - offsetInSrc, destSize);
          let dest = this.wasmModule.HEAPU8.subarray(destPtr, destPtr + srcSize);
          let src = data.subarray(offsetInSrc, offsetInSrc + srcSize);
          dest.set(src);
          return srcSize;
        }
      );
      this.deletedLines.set(result, /* @__PURE__ */ new Set());
      var schemaName = this.GetHeaderLine(result, FILE_SCHEMA).arguments[0][0].value;
      let id = this.LookupSchemaId(schemaName);
      if (id == -1) {
        Log.error("Unsupported Schema:" + schemaName);
        this.CloseModel(result);
        return -1;
      }
      this.modelSchemaList[result] = id;
      this.modelSchemaNameList[result] = schemaName;
      Log.debug("Parsing Model using " + schemaName + " Schema");
      return result;
    }
    /**
     * Opens a model and returns a modelID number
     * @param callback a function of signature (offset:number, size: number) => Uint8Array that will retrieve the IFC data
     * @param settings Settings for loading the model @see LoaderSettings
     * @returns ModelID or -1 if model fails to open
     */
    OpenModelFromCallback(callback, settings) {
      let s = this.CreateSettings(settings);
      let result = this.wasmModule.OpenModel(
        s,
        (destPtr, offsetInSrc, destSize) => {
          let data = callback(offsetInSrc, destSize);
          let srcSize = Math.min(data.byteLength, destSize);
          let dest = this.wasmModule.HEAPU8.subarray(destPtr, destPtr + srcSize);
          dest.set(data);
          return srcSize;
        }
      );
      this.deletedLines.set(result, /* @__PURE__ */ new Set());
      var schemaName = this.GetHeaderLine(result, FILE_SCHEMA).arguments[0][0].value;
      this.modelSchemaList[result] = this.LookupSchemaId(schemaName);
      this.modelSchemaNameList[result] = schemaName;
      if (this.modelSchemaList[result] == -1) {
        Log.error("Unsupported Schema:" + schemaName);
        this.CloseModel(result);
        return -1;
      }
      Log.debug("Parsing Model using " + schemaName + " Schema");
      return result;
    }
    /**
     * Fetches the ifc schema version of a given model
     * @param modelID Model ID
     * @returns IFC Schema version
     */
    GetModelSchema(modelID) {
      return this.modelSchemaNameList[modelID];
    }
    /**
     * Creates a new model and returns a modelID number
     * @param schema ifc schema version
     * @returns ModelID
     */
    CreateModel(model, settings) {
      let s = this.CreateSettings(settings);
      let result = this.wasmModule.CreateModel(s);
      let id = this.LookupSchemaId(model.schema);
      if (id == -1) {
        Log.error("Unsupported Schema:" + model.schema);
        this.CloseModel(result);
        return -1;
      }
      this.modelSchemaList[result] = id;
      this.modelSchemaNameList[result] = model.schema;
      this.deletedLines.set(result, /* @__PURE__ */ new Set());
      const modelName = model.name || "web-ifc-model-" + result + ".ifc";
      const timestamp = (/* @__PURE__ */ new Date()).toISOString().slice(0, 19);
      const description = model.description?.map((d) => ({
        type: STRING,
        value: d
      })) || [{ type: STRING, value: "ViewDefinition [CoordinationView]" }];
      const authors = model.authors?.map((a) => ({ type: STRING, value: a })) || [
        null
      ];
      const orgs = model.organizations?.map((o) => ({
        type: STRING,
        value: o
      })) || [null];
      const auth = model.authorization ? { type: STRING, value: model.authorization } : null;
      this.wasmModule.WriteHeaderLine(result, FILE_DESCRIPTION, [
        description,
        { type: STRING, value: "2;1" }
      ]);
      this.wasmModule.WriteHeaderLine(result, FILE_NAME, [
        { type: STRING, value: modelName },
        { type: STRING, value: timestamp },
        authors,
        orgs,
        { type: STRING, value: "thatopen/web-ifc-api" },
        { type: STRING, value: "thatopen/web-ifc-api" },
        auth
      ]);
      this.wasmModule.WriteHeaderLine(result, FILE_SCHEMA, [
        [{ type: STRING, value: model.schema }]
      ]);
      return result;
    }
    /**
     * Saves a model to a Buffer
     * @param modelID Model ID
     * @returns Buffer containing the model data
     */
    SaveModel(modelID) {
      let dataBuffer = new Uint8Array(0);
      this.wasmModule.SaveModel(modelID, (srcPtr, srcSize) => {
        let origSize = dataBuffer.byteLength;
        let src = this.wasmModule.HEAPU8.subarray(srcPtr, srcPtr + srcSize);
        let newBuffer = new Uint8Array(origSize + srcSize);
        newBuffer.set(dataBuffer);
        newBuffer.set(src, origSize);
        dataBuffer = newBuffer;
      });
      return dataBuffer;
    }
    /**
     * Saves a model to a Buffer
     * @param modelID Model ID
     * @returns Buffer containing the model data
     */
    SaveModelToCallback(modelID, callback) {
      this.wasmModule.SaveModel(modelID, (srcPtr, srcSize) => {
        let src = this.wasmModule.HEAPU8.subarray(srcPtr, srcPtr + srcSize);
        let newBuffer = new Uint8Array(srcSize);
        newBuffer.set(src);
        callback(newBuffer);
      });
    }
    /**
     * Retrieves the geometry of an element
     * @param modelID Model handle retrieved by OpenModel
     * @param geometryExpressID express ID of the element
     * @returns Geometry of the element as a list of vertices and indices
     */
    GetGeometry(modelID, geometryExpressID) {
      return this.wasmModule.GetGeometry(modelID, geometryExpressID);
    }
    CreateAABB() {
      return this.wasmModule.CreateAABB();
    }
    CreateExtrusion() {
      return this.wasmModule.CreateExtrusion();
    }
    CreateSweep() {
      return this.wasmModule.CreateSweep();
    }
    CreateCircularSweep() {
      return this.wasmModule.CreateCircularSweep();
    }
    CreateRevolution() {
      return this.wasmModule.CreateRevolution();
    }
    CreateCylindricalRevolution() {
      return this.wasmModule.CreateCylindricalRevolution();
    }
    CreateParabola() {
      return this.wasmModule.CreateParabola();
    }
    CreateClothoid() {
      return this.wasmModule.CreateClothoid();
    }
    CreateArc() {
      return this.wasmModule.CreateArc();
    }
    CreateAlignment() {
      return this.wasmModule.CreateAlignment();
    }
    CreateBooleanOperator() {
      return this.wasmModule.CreateBoolean();
    }
    CreateProfile() {
      return this.wasmModule.CreateProfile();
    }
    /**
     * Gets the header information required by the user
     * @param modelID Model handle retrieved by OpenModel
     * @param headerType Type of header data you want to retrieve
     * ifc.FILE_NAME, ifc.FILE_DESCRIPTION or ifc.FILE_SCHEMA
     * @returns An object with parameters ID, type and arguments
     */
    GetHeaderLine(modelID, headerType) {
      return this.wasmModule.GetHeaderLine(modelID, headerType);
    }
    /**
     * Gets the list of all ifcTypes contained in the model
     * @param modelID Model handle retrieved by OpenModel
     * @returns Array of objects containing typeID and typeName
     */
    GetAllTypesOfModel(modelID) {
      let typesNames = [];
      const elements = Object.keys(
        FromRawLineData[this.modelSchemaList[modelID]]
      ).map((e) => parseInt(e));
      for (let i = 0; i < elements.length; i++) {
        const lines = this.GetLineIDsWithType(modelID, elements[i]);
        if (lines.size() > 0)
          typesNames.push({
            typeID: elements[i],
            typeName: this.wasmModule.GetNameFromTypeCode(elements[i])
          });
      }
      return typesNames;
    }
    /**
     * Gets the ifc line data for a given express ID
     * @param modelID Model handle retrieved by OpenModel
     * @param expressID express ID of the line
     * @param flatten recursively flatten the line, default false
     * @param inverse get the inverse properties of the line, default false
     * @param inversePropKey filters out all other properties from a inverse search, for a increase in performance. Default null
     * @returns lineObject
     */
    GetLine(modelID, expressID, flatten = false, inverse = false, inversePropKey = null) {
      return this.GetLines(
        modelID,
        [expressID],
        flatten,
        inverse,
        inversePropKey
      )[0];
    }
    /**
     * Gets the ifc line data for a given express ID
     * @param modelID Model handle retrieved by OpenModel
     * @param a list of expressID express ID of the line
     * @param flatten recursively flatten the line, default false
     * @param inverse get the inverse properties of the line, default false
     * @param inversePropKey filters out all other properties from a inverse search, for a increase in performance. Default null
     * @returns lineObject
     */
    GetLines(modelID, expressIDs, flatten = false, inverse = false, inversePropKey = null) {
      let outputLineData = [];
      let rawLineDatas = this.GetRawLinesData(modelID, expressIDs);
      let i = 0;
      for (const rawLineData of rawLineDatas) {
        let lineData;
        try {
          lineData = FromRawLineData[this.modelSchemaList[modelID]][rawLineData.type](rawLineData.arguments);
          lineData.expressID = rawLineData.ID;
        } catch (e) {
          Log.error("Invalid IFC Line:" + expressIDs[i]);
          if (rawLineData.ID) {
            throw e;
          } else {
            continue;
          }
        }
        if (flatten) {
          this.FlattenLine(modelID, lineData);
        }
        let inverseData = InversePropertyDef[this.modelSchemaList[modelID]][rawLineData.type];
        if (inverse && inverseData != null) {
          for (let inverseProp of inverseData) {
            if (inversePropKey && inverseProp[0] !== inversePropKey) continue;
            if (!inverseProp[3]) lineData[inverseProp[0]] = null;
            else lineData[inverseProp[0]] = [];
            let targetTypes = [inverseProp[1]];
            if (typeof InheritanceDef[this.modelSchemaList[modelID]][inverseProp[1]] != "undefined") {
              targetTypes = targetTypes.concat(
                InheritanceDef[this.modelSchemaList[modelID]][inverseProp[1]]
              );
            }
            let inverseIDs = this.wasmModule.GetInversePropertyForItem(
              modelID,
              rawLineData.ID,
              targetTypes,
              inverseProp[2],
              inverseProp[3]
            );
            if (!inverseProp[3] && inverseIDs.size() > 0) {
              if (!flatten)
                lineData[inverseProp[0]] = { type: 5, value: inverseIDs.get(0) };
              else
                lineData[inverseProp[0]] = this.GetLine(
                  modelID,
                  inverseIDs.get(0)
                );
            } else {
              for (let x = 0; x < inverseIDs.size(); x++) {
                if (!flatten)
                  lineData[inverseProp[0]].push({
                    type: 5,
                    value: inverseIDs.get(x)
                  });
                else
                  lineData[inverseProp[0]].push(
                    this.GetLine(modelID, inverseIDs.get(x))
                  );
              }
            }
          }
        }
        outputLineData.push(lineData);
        i++;
      }
      return outputLineData;
    }
    /**
     * Gets the next unused expressID
     * @param modelID Model handle retrieved by OpenModel
     * @param expressID Starting expressID value
     * @returns The next unused expressID starting from the value provided
     */
    GetNextExpressID(modelID, expressID) {
      return this.wasmModule.GetNextExpressID(modelID, expressID);
    }
    /**
     * Creates a new ifc entity
     * @param modelID Model handle retrieved by OpenModel
     * @param type Type code
     * @param args Arguments required by the entity
     * @returns An object contining the parameters of the new entity
     */
    CreateIfcEntity(modelID, type, ...args) {
      return Constructors[this.modelSchemaList[modelID]][type](args);
    }
    /**
     * Creates a new ifc globally unqiue ID
     * @param modelID Model handle retrieved by OpenModel
     * @returns An randomly generated globally unique ID
     */
    CreateIFCGloballyUniqueId(modelID) {
      const guid = this.wasmModule.GenerateGuid(modelID);
      return TypeInitialisers[this.modelSchemaList[modelID]][IFCGLOBALLYUNIQUEID](
        guid
      );
    }
    /**
     * Creates a new ifc type i.e. IfcLabel, IfcReal, ...
     * @param modelID Model handle retrieved by OpenModel
     * @param type Type code
     * @param value Type value
     * @returns An object with the parameters of the type
     */
    CreateIfcType(modelID, type, value) {
      return TypeInitialisers[this.modelSchemaList[modelID]][type](value);
    }
    /**
     * Gets the name from a type code
     * @param type Code
     * @returns Name
     */
    GetNameFromTypeCode(type) {
      return this.wasmModule.GetNameFromTypeCode(type);
    }
    /**
     * Gets the type code  from a name code
     * @param name
     * @returns type code
     */
    GetTypeCodeFromName(typeName) {
      return this.wasmModule.GetTypeCodeFromName(typeName);
    }
    /**
     * Evaluates if a type is subtype of IfcElement
     * @param type Type code
     * @returns True if subtype of Ifcelement, False if it is not subtype
     */
    IsIfcElement(type) {
      return this.wasmModule.IsIfcElement(type);
    }
    /**
     * Returns a list with all entity types that are present in the current schema
     * @param modelID Model handle retrieved by OpenModel
     * @returns Array of type codes
     */
    GetIfcEntityList(modelID) {
      return Object.keys(FromRawLineData[this.modelSchemaList[modelID]]).map(
        (x) => parseInt(x)
      );
    }
    /**
     * Deletes an IFC line from the model
     * @param modelID Model handle retrieved by OpenModel
     * @param expressID express ID of the line to remove
     */
    DeleteLine(modelID, expressID) {
      this.wasmModule.RemoveLine(modelID, expressID);
      this.deletedLines.get(modelID).add(expressID);
    }
    /**
     * Writes a line to the model, can be used to write new lines or to update existing lines
     * @param modelID Model handle retrieved by OpenModel
     * @param lineObject array of line object to write
     */
    WriteLines(modelID, lineObjects) {
      for (let lineObject of lineObjects) this.WriteLine(modelID, lineObject);
    }
    /**
     * Writes a set of line to the model, can be used to write new lines or to update existing lines
     * @param modelID Model handle retrieved by OpenModel
     * @param lineObject line object to write
     */
    WriteLine(modelID, lineObject) {
      if (lineObject.expressID != -1 && this.deletedLines.get(modelID).has(lineObject.expressID)) {
        Log.error(`Cannot re-use deleted express ID`);
        return;
      }
      if (lineObject.expressID != -1 && lineObject.expressID <= this.GetMaxExpressID(modelID) && this.GetLineType(modelID, lineObject.expressID) != lineObject.type && this.GetLineType(modelID, lineObject.expressID) != 0) {
        Log.error(`Cannot change type of existing IFC Line`);
        return;
      }
      let property;
      for (property in lineObject) {
        const lineProperty = lineObject[property];
        if (lineProperty && lineProperty.expressID !== void 0) {
          this.WriteLine(modelID, lineProperty);
          lineObject[property] = new Handle(
            lineProperty.expressID
          );
        } else if (Array.isArray(lineProperty) && lineProperty.length > 0) {
          for (let i = 0; i < lineProperty.length; i++) {
            if (lineProperty[i].expressID !== void 0) {
              this.WriteLine(modelID, lineProperty[i]);
              lineObject[property][i] = new Handle(
                lineProperty[i].expressID
              );
            }
          }
        }
      }
      if (lineObject.expressID === void 0 || lineObject.expressID < 0) {
        lineObject.expressID = this.GetMaxExpressID(modelID) + 1;
      }
      let rawLineData = {
        ID: lineObject.expressID,
        type: lineObject.type,
        arguments: ToRawLineData[this.modelSchemaList[modelID]][lineObject.type](
          lineObject
        )
      };
      this.WriteRawLineData(modelID, rawLineData);
    }
    /** @ignore */
    FlattenLine(modelID, line) {
      Object.keys(line).forEach((propertyName) => {
        let property = line[propertyName];
        if (property && property.type === 5) {
          if (property.value)
            line[propertyName] = this.GetLine(modelID, property.value, true);
        } else if (Array.isArray(property) && property.length > 0 && property[0] && property[0].type === 5) {
          for (let i = 0; i < property.length; i++) {
            if (property[i].value)
              line[propertyName][i] = this.GetLine(
                modelID,
                property[i].value,
                true
              );
          }
        }
      });
    }
    /** @ignore */
    GetRawLinesData(modelID, expressIDs) {
      return this.wasmModule.GetLines(modelID, expressIDs);
    }
    /** @ignore */
    GetRawLineData(modelID, expressID) {
      return this.GetRawLinesData(modelID, [expressID])[0];
    }
    /** @ignore */
    WriteRawLineData(modelID, data) {
      this.wasmModule.WriteLine(modelID, data.ID, data.type, data.arguments);
    }
    /** @ignore */
    WriteRawLinesData(modelID, data) {
      for (let rawLine of data)
        this.wasmModule.WriteLine(
          modelID,
          rawLine.ID,
          rawLine.type,
          rawLine.arguments
        );
    }
    /**
     * Get all line IDs of a specific ifc type
     * @param modelID model ID
     * @param type ifc type, @see IfcEntities
     * @param includeInherited if true, also returns all inherited types
     * @returns vector of line IDs
     */
    GetLineIDsWithType(modelID, type, includeInherited = false) {
      let types = [];
      types.push(type);
      if (includeInherited && typeof InheritanceDef[this.modelSchemaList[modelID]][type] != "undefined") {
        types = types.concat(InheritanceDef[this.modelSchemaList[modelID]][type]);
      }
      let lineIds = this.wasmModule.GetLineIDsWithType(modelID, types);
      lineIds[Symbol.iterator] = function* () {
        for (let i = 0; i < lineIds.size(); i++) yield lineIds.get(i);
      };
      return lineIds;
    }
    /**
     * Get all line IDs of a model
     * @param modelID model ID
     * @returns vector of all line IDs
     */
    GetAllLines(modelID) {
      let lineIds = this.wasmModule.GetAllLines(modelID);
      lineIds[Symbol.iterator] = function* () {
        for (let i = 0; i < lineIds.size(); i++) yield lineIds.get(i);
      };
      return lineIds;
    }
    /**
     * Returns all crossSections in 2D contained in IFCSECTIONEDSOLID, IFCSECTIONEDSURFACE, IFCSECTIONEDSOLIDHORIZONTAL (IFC4x3 or superior)
     * @param modelID model ID
     * @returns Lists with the cross sections curves as sets of points
     */
    GetAllCrossSections2D(modelID) {
      const crossSections = this.wasmModule.GetAllCrossSections(modelID, 2);
      const crossSectionList = [];
      for (let i = 0; i < crossSections.size(); i++) {
        const alignment = crossSections.get(i);
        const curveList = [];
        const expressList = [];
        for (let j = 0; j < alignment.curves.size(); j++) {
          const curve = alignment.curves.get(j);
          const ptList = [];
          for (let p = 0; p < curve.points.size(); p++) {
            const pt = curve.points.get(p);
            const newPoint = { x: pt.x, y: pt.y, z: pt.z };
            ptList.push(newPoint);
          }
          const newCurve = {
            points: ptList,
            userData: [],
            arcSegments: []
          };
          curveList.push(newCurve);
          expressList.push(alignment.expressID.get(j));
        }
        const align = {
          FlatCoordinationMatrix: this.GetCoordinationMatrix(modelID),
          curves: curveList,
          expressID: expressList
        };
        crossSectionList.push(align);
      }
      return crossSectionList;
    }
    /**
     * Returns all crossSections in 3D contained in IFCSECTIONEDSOLID, IFCSECTIONEDSURFACE, IFCSECTIONEDSOLIDHORIZONTAL (IFC4x3 or superior)
     * @param modelID model ID
     * @returns Lists with the cross sections curves as sets of points
     */
    GetAllCrossSections3D(modelID) {
      const crossSections = this.wasmModule.GetAllCrossSections(modelID, 3);
      const crossSectionList = [];
      for (let i = 0; i < crossSections.size(); i++) {
        const alignment = crossSections.get(i);
        const curveList = [];
        const expressList = [];
        for (let j = 0; j < alignment.curves.size(); j++) {
          const curve = alignment.curves.get(j);
          const ptList = [];
          for (let p = 0; p < curve.points.size(); p++) {
            const pt = curve.points.get(p);
            const newPoint = { x: pt.x, y: pt.y, z: pt.z };
            ptList.push(newPoint);
          }
          const newCurve = {
            points: ptList,
            userData: [],
            arcSegments: []
          };
          curveList.push(newCurve);
          expressList.push(alignment.expressID.get(j));
        }
        const align = {
          FlatCoordinationMatrix: this.GetCoordinationMatrix(modelID),
          curves: curveList,
          expressID: expressList
        };
        crossSectionList.push(align);
      }
      return crossSectionList;
    }
    /**
     * Returns all alignments contained in the IFC model (IFC4x3 or superior)
     * @param modelID model ID
     * @returns Lists with horizontal and vertical curves as sets of points
     */
    GetAllAlignments(modelID) {
      const alignments = this.wasmModule.GetAllAlignments(modelID);
      const alignmentList = [];
      for (let i = 0; i < alignments.size(); i++) {
        const alignment = alignments.get(i);
        const horList = [];
        for (let j = 0; j < alignment.Horizontal.curves.size(); j++) {
          const curve = alignment.Horizontal.curves.get(j);
          const ptList = [];
          for (let p = 0; p < curve.points.size(); p++) {
            const pt = curve.points.get(p);
            const newPoint = { x: pt.x, y: pt.y };
            ptList.push(newPoint);
          }
          const dtList = [];
          for (let p = 0; p < curve.userData.size(); p++) {
            const dt = curve.userData.get(p);
            dtList.push(dt);
          }
          const newCurve = { points: ptList, data: dtList };
          horList.push(newCurve);
        }
        const verList = [];
        for (let j = 0; j < alignment.Vertical.curves.size(); j++) {
          const curve = alignment.Vertical.curves.get(j);
          const ptList = [];
          for (let p = 0; p < curve.points.size(); p++) {
            const pt = curve.points.get(p);
            const newPoint = { x: pt.x, y: pt.y };
            ptList.push(newPoint);
          }
          const dtList = [];
          for (let p = 0; p < curve.userData.size(); p++) {
            const dt = curve.userData.get(p);
            dtList.push(dt);
          }
          const newCurve = { points: ptList, data: dtList };
          verList.push(newCurve);
        }
        const curve3DList = [];
        for (let j = 0; j < alignment.Absolute.curves.size(); j++) {
          const curve = alignment.Absolute.curves.get(j);
          const ptList = [];
          for (let p = 0; p < curve.points.size(); p++) {
            const pt = curve.points.get(p);
            const newPoint = { x: pt.x, y: pt.y, z: pt.z };
            ptList.push(newPoint);
          }
          const dtList = [];
          for (let p = 0; p < curve.userData.size(); p++) {
            const dt = curve.userData.get(p);
            dtList.push(dt);
          }
          const newCurve = { points: ptList, data: dtList };
          curve3DList.push(newCurve);
        }
        const align = {
          FlatCoordinationMatrix: this.GetCoordinationMatrix(modelID),
          horizontal: horList,
          vertical: verList,
          curve3D: curve3DList,
          FlattenedWorldTransformMatrix: this.GetWorldTransformMatrix(
            modelID,
            alignment.PlacementExpressId
          )
        };
        alignmentList.push(align);
      }
      return alignmentList;
    }
    /**
     * Set the transformation matrix
     * @param modelID model ID
     * @param transformationMatrix transformation matrix, flat 4x4 matrix as array[16]
     */
    SetGeometryTransformation(modelID, transformationMatrix) {
      if (transformationMatrix.length != 16) {
        throw new Error(`invalid matrix size: ${transformationMatrix.length}`);
      }
      this.wasmModule.SetGeometryTransformation(modelID, transformationMatrix);
    }
    /**
     * Get the coordination matrix
     * @param modelID model ID
     * @returns flat 4x4 matrix as array[16]
     */
    GetCoordinationMatrix(modelID) {
      return this.wasmModule.GetCoordinationMatrix(modelID);
    }
    GetWorldTransformMatrix(modelID, placementExpressId) {
      return this.wasmModule.GetWorldTransformMatrix(
        modelID,
        placementExpressId
      );
    }
    GetVertexArray(ptr, size) {
      return this.getSubArray(this.wasmModule.HEAPF32, ptr, size);
    }
    GetIndexArray(ptr, size) {
      return this.getSubArray(this.wasmModule.HEAPU32, ptr, size);
    }
    getSubArray(heap, startPtr, sizeBytes) {
      return heap.subarray(startPtr / 4, startPtr / 4 + sizeBytes).slice(0);
    }
    /**
     * Closes a model and frees all related memory
     * @param modelID Model handle retrieved by OpenModel, model must be closed after use
     */
    CloseModel(modelID) {
      this.ifcGuidMap.delete(modelID);
      this.wasmModule.CloseModel(modelID);
    }
    /**
     * Closes all models and frees all related memory. Please note that after calling this you must call Init() again to ensure web-ifc is in a working state.
     */
    Dispose() {
      this.ifcGuidMap.clear();
      this.wasmModule.CloseAllModels();
      this.wasmModule = void 0;
    }
    /**
     * Streams meshes of a model with specific express id
     * @param modelID Model handle retrieved by OpenModel
     * @param expressIDs expressIDs of elements to stream
     * @param meshCallback callback function that is called for each mesh
     */
    StreamMeshes(modelID, expressIDs, meshCallback) {
      this.wasmModule.StreamMeshes(modelID, expressIDs, meshCallback);
    }
    /**
     * Streams all meshes of a model
     * @param modelID Model handle retrieved by OpenModel
     * @param meshCallback callback function that is called for each mesh
     */
    StreamAllMeshes(modelID, meshCallback) {
      this.wasmModule.StreamAllMeshes(modelID, meshCallback);
    }
    /**
     * Streams all meshes of a model with a specific ifc type
     * @param modelID Model handle retrieved by OpenModel
     * @param types types of elements to stream
     * @param meshCallback callback function that is called for each mesh
     */
    StreamAllMeshesWithTypes(modelID, types, meshCallback) {
      this.wasmModule.StreamAllMeshesWithTypes(modelID, types, meshCallback);
    }
    /**
     * Checks if a specific model ID is open or closed
     * @param modelID Model handle retrieved by OpenModel
     * @returns true if model is open, false if model is closed
     */
    IsModelOpen(modelID) {
      return this.wasmModule.IsModelOpen(modelID);
    }
    /**
     * Load all geometry in a model
     * @param modelID Model handle retrieved by OpenModel
     * @returns Vector of FlatMesh objects
     */
    LoadAllGeometry(modelID) {
      let flatMeshes = this.wasmModule.LoadAllGeometry(modelID);
      flatMeshes[Symbol.iterator] = function* () {
        for (let i = 0; i < flatMeshes.size(); i++) yield flatMeshes.get(i);
      };
      return flatMeshes;
    }
    /**
     * Load geometry for a single element
     * @param modelID Model handle retrieved by OpenModel
     * @param expressID ExpressID of the element
     * @returns FlatMesh object
     */
    GetFlatMesh(modelID, expressID) {
      return this.wasmModule.GetFlatMesh(modelID, expressID);
    }
    /**
     * Returns the maximum ExpressID value in the IFC file, ex.- #9999999
     * @param modelID Model handle retrieved by OpenModel
     * @returns Express numerical value
     */
    GetMaxExpressID(modelID) {
      return this.wasmModule.GetMaxExpressID(modelID);
    }
    /**
     * Returns the type of a given ifc entity in the fiule.
     * @param modelID Model handle retrieved by OpenModel
     * @param expressID Line Number
     * @returns IFC Type Code
     */
    GetLineType(modelID, expressID) {
      return this.wasmModule.GetLineType(modelID, expressID);
    }
    /**
     * Returns the version number of web-ifc
     * @returns The current version number as a string
     */
    GetVersion() {
      return this.wasmModule.GetVersion();
    }
    /**
     * Looks up an entities express ID from its GlobalID.
     * @param modelID Model handle retrieved by OpenModel
     * @param guid GobalID to be looked up
     * @returns expressID numerical value
     */
    GetExpressIdFromGuid(modelID, guid) {
      if (!this.ifcGuidMap.has(modelID))
        this.CreateIfcGuidToExpressIdMapping(modelID);
      return this.ifcGuidMap.get(modelID)?.get(guid);
    }
    /**
     * Looks up an entities GlobalID from its ExpressID.
     * @param modelID Model handle retrieved by OpenModel
     * @param expressID express ID to be looked up
     * @returns globalID string value
     */
    GetGuidFromExpressId(modelID, expressID) {
      if (!this.ifcGuidMap.has(modelID))
        this.CreateIfcGuidToExpressIdMapping(modelID);
      return this.ifcGuidMap.get(modelID)?.get(expressID);
    }
    /** @ignore */
    CreateIfcGuidToExpressIdMapping(modelID) {
      const map = /* @__PURE__ */ new Map();
      let entities = this.GetIfcEntityList(modelID);
      for (const typeId of entities) {
        if (!this.IsIfcElement(typeId)) continue;
        const lines = this.GetLineIDsWithType(modelID, typeId);
        const size = lines.size();
        for (let y = 0; y < size; y++) {
          const expressID = lines.get(y);
          const info = this.GetLine(modelID, expressID);
          try {
            if ("GlobalId" in info) {
              const globalID = info.GlobalId.value;
              map.set(expressID, globalID);
              map.set(globalID, expressID);
            }
          } catch (e) {
            continue;
          }
        }
      }
      this.ifcGuidMap.set(modelID, map);
    }
    /**
     * Sets the path to the wasm file
     * @param path path to the wasm file
     * @param absolute if true, path is absolute, otherwise it is relative to executing script
     */
    SetWasmPath(path, absolute = false) {
      this.wasmPath = path;
      this.isWasmPathAbsolute = absolute;
    }
    /**
     * Sets the log level
     * @param level Log level to set
     */
    SetLogLevel(level) {
      Log.setLogLevel(level);
      this.wasmModule.SetLogLevel(level);
    }
    /**
     * Encodes test using IFC Encoding
     * @text the text to encode
     * @returns the text encoded
     */
    EncodeText(text) {
      return this.wasmModule.EncodeText(text);
    }
    /**
     * Decodes test using IFC Encoding
     * @text the text to decode
     * @returns the text decoded
     */
    DecodeText(text) {
      return this.wasmModule.DecodeText(text);
    }
    /**
     * Resets the Cached IFC Data - useful when changing the geometry of a model
     * @param modelID Model handle retrieved by OpenModel
     */
    ResetCache(modelID) {
      return this.wasmModule.ResetCache(modelID);
    }
  };
  return __toCommonJS(web_ifc_api_exports);
})();
