System.register(["src/client/poid.js", "./bibliography-scheme.js"], function (_export, _context) {
  "use strict";

  var PolymorphicIdentifier, BibliographyScheme, KeywordScheme, __SystemJSRewritingHack;
  _export("KeywordScheme", void 0);
  return {
    setters: [function (_srcClientPoidJs) {
      PolymorphicIdentifier = _srcClientPoidJs.default;
    }, function (_bibliographySchemeJs) {
      BibliographyScheme = _bibliographySchemeJs.default;
    }],
    execute: function () {
      __SystemJSRewritingHack = {};
      _recorder_._https__lively_kernel_org_lively4_lively4_ansgar_src_client_protocols_keyword_js = _recorder_._https__lively_kernel_org_lively4_lively4_ansgar_src_client_protocols_keyword_js || {};
      Object.defineProperty(_recorder_._https__lively_kernel_org_lively4_lively4_ansgar_src_client_protocols_keyword_js, "PolymorphicIdentifier", {
        get() {
          return PolymorphicIdentifier;
        },
        set(thisIsVererySecretVariableName) {
          PolymorphicIdentifier = thisIsVererySecretVariableName;
          return true;
        },
        enumerable: true,
        configurable: true
      });
      Object.defineProperty(_recorder_._https__lively_kernel_org_lively4_lively4_ansgar_src_client_protocols_keyword_js, "BibliographyScheme", {
        get() {
          return BibliographyScheme;
        },
        set(thisIsVererySecretVariableName) {
          BibliographyScheme = thisIsVererySecretVariableName;
          return true;
        },
        enumerable: true,
        configurable: true
      });
      _export("KeywordScheme", KeywordScheme = class KeywordScheme extends BibliographyScheme {
        get scheme() {
          return "keyword";
        }
        searchEntries(entries, query) {
          var keyword = query;
          return entries.filter(entry => entry.keywords && entry.keywords.find(ea => ea.match(keyword)));
        }
      });
      Object.defineProperty(_recorder_._https__lively_kernel_org_lively4_lively4_ansgar_src_client_protocols_keyword_js, "KeywordScheme", {
        get() {
          return KeywordScheme;
        },
        set(thisIsVererySecretVariableName) {
          _export("KeywordScheme", KeywordScheme = thisIsVererySecretVariableName);
          return true;
        },
        enumerable: true,
        configurable: true
      });
      PolymorphicIdentifier.register(KeywordScheme);
    }
  };
});