highmark-markdown 0.0.301 → 0.0.303

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -104,41 +104,45 @@ var second = _necessary.arrayUtilities.second;
104
104
  var SubDivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
105
105
  _inherits(SubDivisionMarkdownNode, MarkdownNode);
106
106
  var _super = _create_super(SubDivisionMarkdownNode);
107
- function SubDivisionMarkdownNode(ruleName, childNodes, opacity, precedence, domElement, domElements) {
107
+ function SubDivisionMarkdownNode() {
108
108
  _class_call_check(this, SubDivisionMarkdownNode);
109
- var _this;
110
- _this = _super.call(this, ruleName, childNodes, opacity, precedence, domElement);
111
- _this.domElements = domElements;
112
- return _this;
109
+ return _super.apply(this, arguments);
113
110
  }
114
111
  _create_class(SubDivisionMarkdownNode, [
115
112
  {
116
113
  key: "getDOMElements",
117
114
  value: function getDOMElements() {
118
- return this.domElements;
115
+ var markdownNode = this.getMarkdownNode(), domElements = markdownNode.getDOMElements();
116
+ return domElements;
119
117
  }
120
118
  },
121
119
  {
122
120
  key: "asHTML",
123
121
  value: function asHTML(indent, context) {
124
- var childNodes = this.getChildNodes(), secondChildNode = second(childNodes), secondChildNodeHTML = secondChildNode.asHTML(indent, context), html = secondChildNodeHTML; ///
122
+ var markdownNode = this.getMarkdownNode(), markdownNodeHTML = markdownNode.asHTML(indent, context), html = markdownNodeHTML; ///
125
123
  return html;
126
124
  }
127
125
  },
128
126
  {
129
127
  key: "createDOMElement",
130
128
  value: function createDOMElement(context) {
131
- var domElement = null, childNodes = this.getChildNodes(), secondChildNode = second(childNodes);
132
- secondChildNode.createDOMElement(context);
133
- this.domElements = secondChildNode.getDOMElements();
129
+ var domElement = null, markdownNode = this.getMarkdownNode();
130
+ markdownNode.createDOMElement(context);
134
131
  return domElement;
135
132
  }
133
+ },
134
+ {
135
+ key: "getMarkdownNode",
136
+ value: function getMarkdownNode() {
137
+ var childNodes = this.getChildNodes(), secondChildNode = second(childNodes), markdownNode = secondChildNode; ///
138
+ return markdownNode;
139
+ }
136
140
  }
137
141
  ], [
138
142
  {
139
143
  key: "fromRuleNameChildNodesAndOpacity",
140
144
  value: function fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) {
141
- var domElements = [], subDivisionMarkdownNode = _markdown.default.fromRuleNameChildNodesAndOpacity(SubDivisionMarkdownNode, ruleName, childNodes, opacity, domElements);
145
+ var subDivisionMarkdownNode = _markdown.default.fromRuleNameChildNodesAndOpacity(SubDivisionMarkdownNode, ruleName, childNodes, opacity);
142
146
  return subDivisionMarkdownNode;
143
147
  }
144
148
  }
@@ -146,4 +150,4 @@ var SubDivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
146
150
  return SubDivisionMarkdownNode;
147
151
  }(_markdown.default);
148
152
 
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL21hcmtkb3duL3N1YkRpdmlzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IE1hcmtkb3duTm9kZSBmcm9tIFwiLi4vLi4vbm9kZS9tYXJrZG93blwiO1xuXG5jb25zdCB7IHNlY29uZCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlIGV4dGVuZHMgTWFya2Rvd25Ob2RlIHtcbiAgY29uc3RydWN0b3IocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UsIGRvbUVsZW1lbnQsIGRvbUVsZW1lbnRzKSB7XG4gICAgc3VwZXIocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UsIGRvbUVsZW1lbnQpO1xuXG4gICAgdGhpcy5kb21FbGVtZW50cyA9IGRvbUVsZW1lbnRzO1xuICB9XG5cbiAgZ2V0RE9NRWxlbWVudHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZG9tRWxlbWVudHM7XG4gIH1cblxuICBhc0hUTUwoaW5kZW50LCBjb250ZXh0KSB7XG4gICAgY29uc3QgY2hpbGROb2RlcyA9IHRoaXMuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIHNlY29uZENoaWxkTm9kZSA9IHNlY29uZChjaGlsZE5vZGVzKSxcbiAgICAgICAgICBzZWNvbmRDaGlsZE5vZGVIVE1MID0gc2Vjb25kQ2hpbGROb2RlLmFzSFRNTChpbmRlbnQsIGNvbnRleHQpLFxuICAgICAgICAgIGh0bWwgPSBzZWNvbmRDaGlsZE5vZGVIVE1MOyAgLy8vXG5cbiAgICByZXR1cm4gaHRtbDtcbiAgfVxuXG4gIGNyZWF0ZURPTUVsZW1lbnQoY29udGV4dCkge1xuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSBudWxsLFxuICAgICAgICAgIGNoaWxkTm9kZXMgPSB0aGlzLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBzZWNvbmRDaGlsZE5vZGUgPSBzZWNvbmQoY2hpbGROb2Rlcyk7XG5cbiAgICBzZWNvbmRDaGlsZE5vZGUuY3JlYXRlRE9NRWxlbWVudChjb250ZXh0KTtcblxuICAgIHRoaXMuZG9tRWxlbWVudHMgPSBzZWNvbmRDaGlsZE5vZGUuZ2V0RE9NRWxlbWVudHMoKTtcblxuICAgIHJldHVybiBkb21FbGVtZW50O1xuICB9XG5cbiAgc3RhdGljIGZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5KHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5KSB7XG4gICAgY29uc3QgZG9tRWxlbWVudHMgPSBbXSxcbiAgICAgICAgICBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSA9IE1hcmtkb3duTm9kZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzQW5kT3BhY2l0eShTdWJEaXZpc2lvbk1hcmtkb3duTm9kZSwgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIGRvbUVsZW1lbnRzKTtcblxuICAgIHJldHVybiBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlIiwic2Vjb25kIiwiYXJyYXlVdGlsaXRpZXMiLCJydWxlTmFtZSIsImNoaWxkTm9kZXMiLCJvcGFjaXR5IiwicHJlY2VkZW5jZSIsImRvbUVsZW1lbnQiLCJkb21FbGVtZW50cyIsImdldERPTUVsZW1lbnRzIiwiYXNIVE1MIiwiaW5kZW50IiwiY29udGV4dCIsImdldENoaWxkTm9kZXMiLCJzZWNvbmRDaGlsZE5vZGUiLCJzZWNvbmRDaGlsZE5vZGVIVE1MIiwiaHRtbCIsImNyZWF0ZURPTUVsZW1lbnQiLCJmcm9tUnVsZU5hbWVDaGlsZE5vZGVzQW5kT3BhY2l0eSIsInN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlIiwiTWFya2Rvd25Ob2RlIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVFxQkE7Ozt5QkFOVTsrREFFTjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV6QixJQUFNLEFBQUVDLFNBQVdDLHlCQUFjLENBQXpCRDtBQUVPLElBQUEsQUFBTUQsd0NBQUQsQUFBTDtjQUFNQTsrQkFBQUE7YUFBQUEsd0JBQ1BHLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsVUFBVSxFQUFFQyxXQUFXO2dDQUQzRFI7O2tDQUVYRyxVQUFVQyxZQUFZQyxTQUFTQyxZQUFZQztRQUVqRCxNQUFLQyxXQUFXLEdBQUdBOzs7a0JBSkZSOztZQU9uQlMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRCxXQUFXO1lBQ3pCOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLE9BQU9DLE1BQU0sRUFBRUMsT0FBTztnQkFDcEIsSUFBTVIsYUFBYSxJQUFJLENBQUNTLGFBQWEsSUFDL0JDLGtCQUFrQmIsT0FBT0csYUFDekJXLHNCQUFzQkQsZ0JBQWdCSixNQUFNLENBQUNDLFFBQVFDLFVBQ3JESSxPQUFPRCxxQkFBc0IsR0FBRztnQkFFdEMsT0FBT0M7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxpQkFBaUJMLE9BQU87Z0JBQ3RCLElBQU1MLGFBQWEsTUFDYkgsYUFBYSxJQUFJLENBQUNTLGFBQWEsSUFDL0JDLGtCQUFrQmIsT0FBT0c7Z0JBRS9CVSxnQkFBZ0JHLGdCQUFnQixDQUFDTDtnQkFFakMsSUFBSSxDQUFDSixXQUFXLEdBQUdNLGdCQUFnQkwsY0FBYztnQkFFakQsT0FBT0Y7WUFDVDs7OztZQUVPVyxLQUFBQTttQkFBUCxTQUFPQSxpQ0FBaUNmLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxPQUFPO2dCQUNuRSxJQUFNRyxjQUFjLEVBQUUsRUFDaEJXLDBCQUEwQkMsaUJBQVksQ0FBQ0YsZ0NBQWdDLENBbEM1RGxCLHlCQWtDc0ZHLFVBQVVDLFlBQVlDLFNBQVNHO2dCQUV0SSxPQUFPVztZQUNUOzs7V0FyQ21CbkI7RUFBZ0NvQixpQkFBWSJ9
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL21hcmtkb3duL3N1YkRpdmlzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IE1hcmtkb3duTm9kZSBmcm9tIFwiLi4vLi4vbm9kZS9tYXJrZG93blwiO1xuXG5jb25zdCB7IHNlY29uZCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlIGV4dGVuZHMgTWFya2Rvd25Ob2RlIHtcbiAgZ2V0RE9NRWxlbWVudHMoKSB7XG4gICAgY29uc3QgbWFya2Rvd25Ob2RlID0gdGhpcy5nZXRNYXJrZG93bk5vZGUoKSxcbiAgICAgICAgICBkb21FbGVtZW50cyA9IG1hcmtkb3duTm9kZS5nZXRET01FbGVtZW50cygpO1xuXG4gICAgcmV0dXJuIGRvbUVsZW1lbnRzO1xuICB9XG5cbiAgYXNIVE1MKGluZGVudCwgY29udGV4dCkge1xuICAgIGNvbnN0IG1hcmtkb3duTm9kZSA9IHRoaXMuZ2V0TWFya2Rvd25Ob2RlKCksXG4gICAgICAgICAgbWFya2Rvd25Ob2RlSFRNTCA9IG1hcmtkb3duTm9kZS5hc0hUTUwoaW5kZW50LCBjb250ZXh0KSxcbiAgICAgICAgICBodG1sID0gbWFya2Rvd25Ob2RlSFRNTDsgIC8vL1xuXG4gICAgcmV0dXJuIGh0bWw7XG4gIH1cblxuICBjcmVhdGVET01FbGVtZW50KGNvbnRleHQpIHtcbiAgICBjb25zdCBkb21FbGVtZW50ID0gbnVsbCxcbiAgICAgICAgICBtYXJrZG93bk5vZGUgPSB0aGlzLmdldE1hcmtkb3duTm9kZSgpO1xuXG4gICAgbWFya2Rvd25Ob2RlLmNyZWF0ZURPTUVsZW1lbnQoY29udGV4dCk7XG5cbiAgICByZXR1cm4gZG9tRWxlbWVudDtcbiAgfVxuXG4gIGdldE1hcmtkb3duTm9kZSgpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gdGhpcy5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgc2Vjb25kQ2hpbGROb2RlID0gc2Vjb25kKGNoaWxkTm9kZXMpLFxuICAgICAgICAgIG1hcmtkb3duTm9kZSA9IHNlY29uZENoaWxkTm9kZTsgLy8vXG5cbiAgICByZXR1cm4gbWFya2Rvd25Ob2RlO1xuICB9XG5cbiAgc3RhdGljIGZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5KHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5KSB7XG4gICAgY29uc3Qgc3ViRGl2aXNpb25NYXJrZG93bk5vZGUgPSBNYXJrZG93bk5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkoU3ViRGl2aXNpb25NYXJrZG93bk5vZGUsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5KTtcblxuICAgIHJldHVybiBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlIiwic2Vjb25kIiwiYXJyYXlVdGlsaXRpZXMiLCJnZXRET01FbGVtZW50cyIsIm1hcmtkb3duTm9kZSIsImdldE1hcmtkb3duTm9kZSIsImRvbUVsZW1lbnRzIiwiYXNIVE1MIiwiaW5kZW50IiwiY29udGV4dCIsIm1hcmtkb3duTm9kZUhUTUwiLCJodG1sIiwiY3JlYXRlRE9NRWxlbWVudCIsImRvbUVsZW1lbnQiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsInNlY29uZENoaWxkTm9kZSIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5IiwicnVsZU5hbWUiLCJvcGFjaXR5Iiwic3ViRGl2aXNpb25NYXJrZG93bk5vZGUiLCJNYXJrZG93bk5vZGUiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVFxQkE7Ozt5QkFOVTsrREFFTjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV6QixJQUFNLEFBQUVDLFNBQVdDLHlCQUFjLENBQXpCRDtBQUVPLElBQUEsQUFBTUQsd0NBQUQsQUFBTDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7a0JBQUFBOztZQUNuQkcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLGVBQWUsSUFBSSxDQUFDQyxlQUFlLElBQ25DQyxjQUFjRixhQUFhRCxjQUFjO2dCQUUvQyxPQUFPRztZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLE9BQU9DLE1BQU0sRUFBRUMsT0FBTztnQkFDcEIsSUFBTUwsZUFBZSxJQUFJLENBQUNDLGVBQWUsSUFDbkNLLG1CQUFtQk4sYUFBYUcsTUFBTSxDQUFDQyxRQUFRQyxVQUMvQ0UsT0FBT0Qsa0JBQW1CLEdBQUc7Z0JBRW5DLE9BQU9DO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsaUJBQWlCSCxPQUFPO2dCQUN0QixJQUFNSSxhQUFhLE1BQ2JULGVBQWUsSUFBSSxDQUFDQyxlQUFlO2dCQUV6Q0QsYUFBYVEsZ0JBQWdCLENBQUNIO2dCQUU5QixPQUFPSTtZQUNUOzs7WUFFQVIsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1TLGFBQWEsSUFBSSxDQUFDQyxhQUFhLElBQy9CQyxrQkFBa0JmLE9BQU9hLGFBQ3pCVixlQUFlWSxpQkFBaUIsR0FBRztnQkFFekMsT0FBT1o7WUFDVDs7OztZQUVPYSxLQUFBQTttQkFBUCxTQUFPQSxpQ0FBaUNDLFFBQVEsRUFBRUosVUFBVSxFQUFFSyxPQUFPO2dCQUNuRSxJQUFNQywwQkFBMEJDLGlCQUFZLENBQUNKLGdDQUFnQyxDQWxDNURqQix5QkFrQ3NGa0IsVUFBVUosWUFBWUs7Z0JBRTdILE9BQU9DO1lBQ1Q7OztXQXJDbUJwQjtFQUFnQ3FCLGlCQUFZIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "highmark-markdown",
3
3
  "author": "James Smith",
4
- "version": "0.0.301",
4
+ "version": "0.0.303",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/highmark-markdown",
7
7
  "description": "Highmark's Markdown and Markdown Style languages.",
@@ -7,40 +7,40 @@ import MarkdownNode from "../../node/markdown";
7
7
  const { second } = arrayUtilities;
8
8
 
9
9
  export default class SubDivisionMarkdownNode extends MarkdownNode {
10
- constructor(ruleName, childNodes, opacity, precedence, domElement, domElements) {
11
- super(ruleName, childNodes, opacity, precedence, domElement);
12
-
13
- this.domElements = domElements;
14
- }
15
-
16
10
  getDOMElements() {
17
- return this.domElements;
11
+ const markdownNode = this.getMarkdownNode(),
12
+ domElements = markdownNode.getDOMElements();
13
+
14
+ return domElements;
18
15
  }
19
16
 
20
17
  asHTML(indent, context) {
21
- const childNodes = this.getChildNodes(),
22
- secondChildNode = second(childNodes),
23
- secondChildNodeHTML = secondChildNode.asHTML(indent, context),
24
- html = secondChildNodeHTML; ///
18
+ const markdownNode = this.getMarkdownNode(),
19
+ markdownNodeHTML = markdownNode.asHTML(indent, context),
20
+ html = markdownNodeHTML; ///
25
21
 
26
22
  return html;
27
23
  }
28
24
 
29
25
  createDOMElement(context) {
30
26
  const domElement = null,
31
- childNodes = this.getChildNodes(),
32
- secondChildNode = second(childNodes);
27
+ markdownNode = this.getMarkdownNode();
33
28
 
34
- secondChildNode.createDOMElement(context);
35
-
36
- this.domElements = secondChildNode.getDOMElements();
29
+ markdownNode.createDOMElement(context);
37
30
 
38
31
  return domElement;
39
32
  }
40
33
 
34
+ getMarkdownNode() {
35
+ const childNodes = this.getChildNodes(),
36
+ secondChildNode = second(childNodes),
37
+ markdownNode = secondChildNode; ///
38
+
39
+ return markdownNode;
40
+ }
41
+
41
42
  static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) {
42
- const domElements = [],
43
- subDivisionMarkdownNode = MarkdownNode.fromRuleNameChildNodesAndOpacity(SubDivisionMarkdownNode, ruleName, childNodes, opacity, domElements);
43
+ const subDivisionMarkdownNode = MarkdownNode.fromRuleNameChildNodesAndOpacity(SubDivisionMarkdownNode, ruleName, childNodes, opacity);
44
44
 
45
45
  return subDivisionMarkdownNode;
46
46
  }