System.register([], function (_export, _context) {
  "use strict";

  return {
    setters: [],
    execute: function () {
      const __SystemJSRewritingHack = {};
      _recorder_._src_babylonian_programming_editor_utils_collections_js = _recorder_._src_babylonian_programming_editor_utils_collections_js || {};
      class DefaultMap extends Map {
        constructor(defaultInit, iterable) {
          super(iterable);
          this._defaultInit = defaultInit;
        }

        static builder(defaultInit) {
          return DefaultMap.bind(null, defaultInit);
        }

        get(key) {
          if (!this.has(key)) {
            const defaultValue = typeof this._defaultInit === 'function' ? new this._defaultInit() : this._defaultInit;
            this.set(key, defaultValue);
          }
          return super.get(key);
        }
      }

      _export('DefaultMap', DefaultMap);

      Object.defineProperty(_recorder_._src_babylonian_programming_editor_utils_collections_js, 'DefaultMap', {
        get() {
          return DefaultMap;
        },

        set(thisIsVererySecretVariableName) {
          _export('DefaultMap', DefaultMap = thisIsVererySecretVariableName);

          return true;
        },

        enumerable: true,
        configurable: true
      });
    }
  };
});