Index: imaps-frontend/node_modules/renderkid/lib/layout/Block.js
===================================================================
--- imaps-frontend/node_modules/renderkid/lib/layout/Block.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/renderkid/lib/layout/Block.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -0,0 +1,350 @@
+"use strict";
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+// Generated by CoffeeScript 2.5.1
+var Block, SpecialString, cloneAndMergeDeep, terminalWidth;
+SpecialString = require('./SpecialString');
+terminalWidth = require('../tools').getCols();
+
+var _require = require('../tools');
+
+cloneAndMergeDeep = _require.cloneAndMergeDeep;
+
+module.exports = Block = function () {
+  var self;
+
+  var Block = /*#__PURE__*/function () {
+    function Block(_layout, _parent) {
+      var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
+
+      var _name = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
+
+      _classCallCheck(this, Block);
+
+      this._layout = _layout;
+      this._parent = _parent;
+      this._name = _name;
+      this._config = cloneAndMergeDeep(self.defaultConfig, config);
+      this._closed = false;
+      this._wasOpenOnce = false;
+      this._active = false;
+      this._buffer = '';
+      this._didSeparateBlock = false;
+      this._linePrependor = new this._config.linePrependor.fn(this._config.linePrependor.options);
+      this._lineAppendor = new this._config.lineAppendor.fn(this._config.lineAppendor.options);
+      this._blockPrependor = new this._config.blockPrependor.fn(this._config.blockPrependor.options);
+      this._blockAppendor = new this._config.blockAppendor.fn(this._config.blockAppendor.options);
+    }
+
+    _createClass(Block, [{
+      key: "_activate",
+      value: function _activate() {
+        var deactivateParent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
+
+        if (this._active) {
+          throw Error("This block is already active. This is probably a bug in RenderKid itself");
+        }
+
+        if (this._closed) {
+          throw Error("This block is closed and cannot be activated. This is probably a bug in RenderKid itself");
+        }
+
+        this._active = true;
+        this._layout._activeBlock = this;
+
+        if (deactivateParent) {
+          if (this._parent != null) {
+            this._parent._deactivate(false);
+          }
+        }
+
+        return this;
+      }
+    }, {
+      key: "_deactivate",
+      value: function _deactivate() {
+        var activateParent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
+
+        this._ensureActive();
+
+        this._flushBuffer();
+
+        if (activateParent) {
+          if (this._parent != null) {
+            this._parent._activate(false);
+          }
+        }
+
+        this._active = false;
+        return this;
+      }
+    }, {
+      key: "_ensureActive",
+      value: function _ensureActive() {
+        if (!this._wasOpenOnce) {
+          throw Error("This block has never been open before. This is probably a bug in RenderKid itself.");
+        }
+
+        if (!this._active) {
+          throw Error("This block is not active. This is probably a bug in RenderKid itself.");
+        }
+
+        if (this._closed) {
+          throw Error("This block is already closed. This is probably a bug in RenderKid itself.");
+        }
+      }
+    }, {
+      key: "_open",
+      value: function _open() {
+        if (this._wasOpenOnce) {
+          throw Error("Block._open() has been called twice. This is probably a RenderKid bug.");
+        }
+
+        this._wasOpenOnce = true;
+
+        if (this._parent != null) {
+          this._parent.write(this._whatToPrependToBlock());
+        }
+
+        this._activate();
+
+        return this;
+      }
+    }, {
+      key: "close",
+      value: function close() {
+        this._deactivate();
+
+        this._closed = true;
+
+        if (this._parent != null) {
+          this._parent.write(this._whatToAppendToBlock());
+        }
+
+        return this;
+      }
+    }, {
+      key: "isOpen",
+      value: function isOpen() {
+        return this._wasOpenOnce && !this._closed;
+      }
+    }, {
+      key: "write",
+      value: function write(str) {
+        this._ensureActive();
+
+        if (str === '') {
+          return;
+        }
+
+        str = String(str);
+        this._buffer += str;
+        return this;
+      }
+    }, {
+      key: "openBlock",
+      value: function openBlock(config, name) {
+        var block;
+
+        this._ensureActive();
+
+        block = new Block(this._layout, this, config, name);
+
+        block._open();
+
+        return block;
+      }
+    }, {
+      key: "_flushBuffer",
+      value: function _flushBuffer() {
+        var str;
+
+        if (this._buffer === '') {
+          return;
+        }
+
+        str = this._buffer;
+        this._buffer = '';
+
+        this._writeInline(str);
+      }
+    }, {
+      key: "_toPrependToLine",
+      value: function _toPrependToLine() {
+        var fromParent;
+        fromParent = '';
+
+        if (this._parent != null) {
+          fromParent = this._parent._toPrependToLine();
+        }
+
+        return this._linePrependor.render(fromParent);
+      }
+    }, {
+      key: "_toAppendToLine",
+      value: function _toAppendToLine() {
+        var fromParent;
+        fromParent = '';
+
+        if (this._parent != null) {
+          fromParent = this._parent._toAppendToLine();
+        }
+
+        return this._lineAppendor.render(fromParent);
+      }
+    }, {
+      key: "_whatToPrependToBlock",
+      value: function _whatToPrependToBlock() {
+        return this._blockPrependor.render();
+      }
+    }, {
+      key: "_whatToAppendToBlock",
+      value: function _whatToAppendToBlock() {
+        return this._blockAppendor.render();
+      }
+    }, {
+      key: "_writeInline",
+      value: function _writeInline(str) {
+        var i, j, k, l, lineBreaksToAppend, m, ref, ref1, ref2, remaining; // special characters (such as <bg-white>) don't require
+        // any wrapping...
+
+        if (new SpecialString(str).isOnlySpecialChars()) {
+          // ... and directly get appended to the layout.
+          this._layout._append(str);
+
+          return;
+        } // we'll be removing from the original string till it's empty
+
+
+        remaining = str; // we might need to add a few line breaks at the end of the text.
+
+        lineBreaksToAppend = 0; // if text starts with line breaks...
+
+        if (m = remaining.match(/^\n+/)) {
+          // ... we want to write the exact same number of line breaks
+          // to the layout.
+          for (i = j = 1, ref = m[0].length; 1 <= ref ? j <= ref : j >= ref; i = 1 <= ref ? ++j : --j) {
+            this._writeLine('');
+          }
+
+          remaining = remaining.substr(m[0].length, remaining.length);
+        } // and if the text ends with line breaks...
+
+
+        if (m = remaining.match(/\n+$/)) {
+          // we want to write the exact same number of line breaks
+          // to the end of the layout.
+          lineBreaksToAppend = m[0].length;
+          remaining = remaining.substr(0, remaining.length - m[0].length);
+        } // now let's parse the body of the text:
+
+
+        while (remaining.length > 0) {
+          // anything other than a break line...
+          if (m = remaining.match(/^[^\n]+/)) {
+            // ... should be wrapped as a block of text.
+            this._writeLine(m[0]);
+
+            remaining = remaining.substr(m[0].length, remaining.length); // for any number of line breaks we find inside the text...
+          } else if (m = remaining.match(/^\n+/)) {
+            // ... we write one less break line to the layout.
+            for (i = k = 1, ref1 = m[0].length; 1 <= ref1 ? k < ref1 : k > ref1; i = 1 <= ref1 ? ++k : --k) {
+              this._writeLine('');
+            }
+
+            remaining = remaining.substr(m[0].length, remaining.length);
+          }
+        } // if we had line breaks to append to the layout...
+
+
+        if (lineBreaksToAppend > 0) {
+          // ... we append the exact same number of line breaks to the layout.
+          for (i = l = 1, ref2 = lineBreaksToAppend; 1 <= ref2 ? l <= ref2 : l >= ref2; i = 1 <= ref2 ? ++l : --l) {
+            this._writeLine('');
+          }
+        }
+      } // wraps a line into multiple lines if necessary, adds horizontal margins,
+      // etc, and appends it to the layout.
+
+    }, {
+      key: "_writeLine",
+      value: function _writeLine(str) {
+        var line, lineContent, lineContentLength, remaining, roomLeft, toAppend, toAppendLength, toPrepend, toPrependLength; // we'll be cutting from our string as we go
+
+        remaining = new SpecialString(str);
+
+        while (true) {
+          // left margin...
+          // this will continue until nothing is left of our block.
+          toPrepend = this._toPrependToLine(); // ... and its length
+
+          toPrependLength = new SpecialString(toPrepend).length; // right margin...
+
+          toAppend = this._toAppendToLine(); // ... and its length
+
+          toAppendLength = new SpecialString(toAppend).length; // how much room is left for content
+
+          roomLeft = this._layout._config.terminalWidth - (toPrependLength + toAppendLength); // how much room each line of content will have
+
+          lineContentLength = Math.min(this._config.width, roomLeft); // cut line content, only for the amount needed
+
+          lineContent = remaining.cut(0, lineContentLength, true); // line will consist of both margins and the content
+
+          line = toPrepend + lineContent.str + toAppend; // send it off to layout
+
+          this._layout._appendLine(line);
+
+          if (remaining.isEmpty()) {
+            break;
+          }
+        }
+      }
+    }]);
+
+    return Block;
+  }();
+
+  ;
+  self = Block;
+  Block.defaultConfig = {
+    blockPrependor: {
+      fn: require('./block/blockPrependor/Default'),
+      options: {
+        amount: 0
+      }
+    },
+    blockAppendor: {
+      fn: require('./block/blockAppendor/Default'),
+      options: {
+        amount: 0
+      }
+    },
+    linePrependor: {
+      fn: require('./block/linePrependor/Default'),
+      options: {
+        amount: 0
+      }
+    },
+    lineAppendor: {
+      fn: require('./block/lineAppendor/Default'),
+      options: {
+        amount: 0
+      }
+    },
+    lineWrapper: {
+      fn: require('./block/lineWrapper/Default'),
+      options: {
+        lineWidth: null
+      }
+    },
+    width: terminalWidth,
+    prefixRaw: '',
+    suffixRaw: ''
+  };
+  return Block;
+}.call(void 0);
Index: imaps-frontend/node_modules/renderkid/lib/layout/SpecialString.js
===================================================================
--- imaps-frontend/node_modules/renderkid/lib/layout/SpecialString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/renderkid/lib/layout/SpecialString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -0,0 +1,208 @@
+"use strict";
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+// Generated by CoffeeScript 2.5.1
+var SpecialString, i, len, prop, ref;
+
+module.exports = SpecialString = function () {
+  var self;
+
+  var SpecialString = /*#__PURE__*/function () {
+    function SpecialString(str) {
+      _classCallCheck(this, SpecialString);
+
+      if (!(this instanceof self)) {
+        return new self(str);
+      }
+
+      this._str = String(str);
+      this._len = 0;
+    }
+
+    _createClass(SpecialString, [{
+      key: "_getStr",
+      value: function _getStr() {
+        return this._str;
+      }
+    }, {
+      key: "set",
+      value: function set(str) {
+        this._str = String(str);
+        return this;
+      }
+    }, {
+      key: "clone",
+      value: function clone() {
+        return new SpecialString(this._str);
+      }
+    }, {
+      key: "isEmpty",
+      value: function isEmpty() {
+        return this._str === '';
+      }
+    }, {
+      key: "isOnlySpecialChars",
+      value: function isOnlySpecialChars() {
+        return !this.isEmpty() && this.length === 0;
+      }
+    }, {
+      key: "_reset",
+      value: function _reset() {
+        return this._len = 0;
+      }
+    }, {
+      key: "splitIn",
+      value: function splitIn(limit) {
+        var trimLeftEachLine = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
+        var buffer, bufferLength, justSkippedSkipChar, lines;
+        buffer = '';
+        bufferLength = 0;
+        lines = [];
+        justSkippedSkipChar = false;
+
+        self._countChars(this._str, function (char, charLength) {
+          if (bufferLength > limit || bufferLength + charLength > limit) {
+            lines.push(buffer);
+            buffer = '';
+            bufferLength = 0;
+          }
+
+          if (bufferLength === 0 && char === ' ' && !justSkippedSkipChar && trimLeftEachLine) {
+            return justSkippedSkipChar = true;
+          } else {
+            buffer += char;
+            bufferLength += charLength;
+            return justSkippedSkipChar = false;
+          }
+        });
+
+        if (buffer.length > 0) {
+          lines.push(buffer);
+        }
+
+        return lines;
+      }
+    }, {
+      key: "trim",
+      value: function trim() {
+        return new SpecialString(this.str.trim());
+      }
+    }, {
+      key: "_getLength",
+      value: function _getLength() {
+        var sum;
+        sum = 0;
+
+        self._countChars(this._str, function (char, charLength) {
+          sum += charLength;
+        });
+
+        return sum;
+      }
+    }, {
+      key: "cut",
+      value: function cut(from, to) {
+        var _this = this;
+
+        var trimLeft = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
+        var after, before, cur, cut;
+
+        if (to == null) {
+          to = this.length;
+        }
+
+        from = parseInt(from);
+
+        if (from >= to) {
+          throw Error("`from` shouldn't be larger than `to`");
+        }
+
+        before = '';
+        after = '';
+        cut = '';
+        cur = 0;
+
+        self._countChars(this._str, function (char, charLength) {
+          if (_this.str === 'ab<tag>') {
+            console.log(charLength, char);
+          }
+
+          if (cur === from && char.match(/^\s+$/) && trimLeft) {
+            return;
+          }
+
+          if (cur < from) {
+            before += char; // let's be greedy
+          } else if (cur < to || cur + charLength <= to) {
+            cut += char;
+          } else {
+            after += char;
+          }
+
+          cur += charLength;
+        });
+
+        this._str = before + after;
+
+        this._reset();
+
+        return new SpecialString(cut);
+      }
+    }], [{
+      key: "_countChars",
+      value: function _countChars(text, cb) {
+        var char, charLength, m;
+
+        while (text.length !== 0) {
+          if (m = text.match(self._tagRx)) {
+            char = m[0];
+            charLength = 0;
+            text = text.substr(char.length, text.length);
+          } else if (m = text.match(self._quotedHtmlRx)) {
+            char = m[0];
+            charLength = 1;
+            text = text.substr(char.length, text.length);
+          } else if (text.match(self._tabRx)) {
+            char = "\t";
+            charLength = 8;
+            text = text.substr(1, text.length);
+          } else {
+            char = text[0];
+            charLength = 1;
+            text = text.substr(1, text.length);
+          }
+
+          cb.call(null, char, charLength);
+        }
+      }
+    }]);
+
+    return SpecialString;
+  }();
+
+  ;
+  self = SpecialString;
+  SpecialString._tabRx = /^\t/;
+  SpecialString._tagRx = /^<[^>]+>/;
+  SpecialString._quotedHtmlRx = /^&(gt|lt|quot|amp|apos|sp);/;
+  return SpecialString;
+}.call(void 0);
+
+ref = ['str', 'length'];
+
+for (i = 0, len = ref.length; i < len; i++) {
+  prop = ref[i];
+
+  (function () {
+    var methodName;
+    methodName = '_get' + prop[0].toUpperCase() + prop.substr(1, prop.length);
+    return SpecialString.prototype.__defineGetter__(prop, function () {
+      return this[methodName]();
+    });
+  })();
+}
Index: imaps-frontend/node_modules/renderkid/lib/layout/block/blockAppendor/Default.js
===================================================================
--- imaps-frontend/node_modules/renderkid/lib/layout/block/blockAppendor/Default.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/renderkid/lib/layout/block/blockAppendor/Default.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -0,0 +1,48 @@
+"use strict";
+
+function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+
+function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
+
+function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
+
+function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
+
+function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
+
+function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+
+// Generated by CoffeeScript 2.5.1
+var DefaultBlockAppendor, tools;
+tools = require('../../../tools');
+
+module.exports = DefaultBlockAppendor = /*#__PURE__*/function (_require) {
+  _inherits(DefaultBlockAppendor, _require);
+
+  var _super = _createSuper(DefaultBlockAppendor);
+
+  function DefaultBlockAppendor() {
+    _classCallCheck(this, DefaultBlockAppendor);
+
+    return _super.apply(this, arguments);
+  }
+
+  _createClass(DefaultBlockAppendor, [{
+    key: "_render",
+    value: function _render(options) {
+      return tools.repeatString("\n", this._config.amount);
+    }
+  }]);
+
+  return DefaultBlockAppendor;
+}(require('./_BlockAppendor'));
Index: imaps-frontend/node_modules/renderkid/lib/layout/block/blockAppendor/_BlockAppendor.js
===================================================================
--- imaps-frontend/node_modules/renderkid/lib/layout/block/blockAppendor/_BlockAppendor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/renderkid/lib/layout/block/blockAppendor/_BlockAppendor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -0,0 +1,27 @@
+"use strict";
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+// Generated by CoffeeScript 2.5.1
+var _BlockAppendor;
+
+module.exports = _BlockAppendor = /*#__PURE__*/function () {
+  function _BlockAppendor(_config) {
+    _classCallCheck(this, _BlockAppendor);
+
+    this._config = _config;
+  }
+
+  _createClass(_BlockAppendor, [{
+    key: "render",
+    value: function render(options) {
+      return this._render(options);
+    }
+  }]);
+
+  return _BlockAppendor;
+}();
Index: imaps-frontend/node_modules/renderkid/lib/layout/block/blockPrependor/Default.js
===================================================================
--- imaps-frontend/node_modules/renderkid/lib/layout/block/blockPrependor/Default.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/renderkid/lib/layout/block/blockPrependor/Default.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -0,0 +1,48 @@
+"use strict";
+
+function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+
+function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
+
+function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
+
+function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
+
+function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
+
+function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+
+// Generated by CoffeeScript 2.5.1
+var DefaultBlockPrependor, tools;
+tools = require('../../../tools');
+
+module.exports = DefaultBlockPrependor = /*#__PURE__*/function (_require) {
+  _inherits(DefaultBlockPrependor, _require);
+
+  var _super = _createSuper(DefaultBlockPrependor);
+
+  function DefaultBlockPrependor() {
+    _classCallCheck(this, DefaultBlockPrependor);
+
+    return _super.apply(this, arguments);
+  }
+
+  _createClass(DefaultBlockPrependor, [{
+    key: "_render",
+    value: function _render(options) {
+      return tools.repeatString("\n", this._config.amount);
+    }
+  }]);
+
+  return DefaultBlockPrependor;
+}(require('./_BlockPrependor'));
Index: imaps-frontend/node_modules/renderkid/lib/layout/block/blockPrependor/_BlockPrependor.js
===================================================================
--- imaps-frontend/node_modules/renderkid/lib/layout/block/blockPrependor/_BlockPrependor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/renderkid/lib/layout/block/blockPrependor/_BlockPrependor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -0,0 +1,27 @@
+"use strict";
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+// Generated by CoffeeScript 2.5.1
+var _BlockPrependor;
+
+module.exports = _BlockPrependor = /*#__PURE__*/function () {
+  function _BlockPrependor(_config) {
+    _classCallCheck(this, _BlockPrependor);
+
+    this._config = _config;
+  }
+
+  _createClass(_BlockPrependor, [{
+    key: "render",
+    value: function render(options) {
+      return this._render(options);
+    }
+  }]);
+
+  return _BlockPrependor;
+}();
Index: imaps-frontend/node_modules/renderkid/lib/layout/block/lineAppendor/Default.js
===================================================================
--- imaps-frontend/node_modules/renderkid/lib/layout/block/lineAppendor/Default.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/renderkid/lib/layout/block/lineAppendor/Default.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -0,0 +1,48 @@
+"use strict";
+
+function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+
+function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
+
+function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
+
+function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
+
+function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
+
+function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+
+// Generated by CoffeeScript 2.5.1
+var DefaultLineAppendor, tools;
+tools = require('../../../tools');
+
+module.exports = DefaultLineAppendor = /*#__PURE__*/function (_require) {
+  _inherits(DefaultLineAppendor, _require);
+
+  var _super = _createSuper(DefaultLineAppendor);
+
+  function DefaultLineAppendor() {
+    _classCallCheck(this, DefaultLineAppendor);
+
+    return _super.apply(this, arguments);
+  }
+
+  _createClass(DefaultLineAppendor, [{
+    key: "_render",
+    value: function _render(inherited, options) {
+      return inherited + tools.repeatString(" ", this._config.amount);
+    }
+  }]);
+
+  return DefaultLineAppendor;
+}(require('./_LineAppendor'));
Index: imaps-frontend/node_modules/renderkid/lib/layout/block/lineAppendor/_LineAppendor.js
===================================================================
--- imaps-frontend/node_modules/renderkid/lib/layout/block/lineAppendor/_LineAppendor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/renderkid/lib/layout/block/lineAppendor/_LineAppendor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -0,0 +1,29 @@
+"use strict";
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+// Generated by CoffeeScript 2.5.1
+var _LineAppendor;
+
+module.exports = _LineAppendor = /*#__PURE__*/function () {
+  function _LineAppendor(_config) {
+    _classCallCheck(this, _LineAppendor);
+
+    this._config = _config;
+    this._lineNo = 0;
+  }
+
+  _createClass(_LineAppendor, [{
+    key: "render",
+    value: function render(inherited, options) {
+      this._lineNo++;
+      return '<none>' + this._render(inherited, options) + '</none>';
+    }
+  }]);
+
+  return _LineAppendor;
+}();
Index: imaps-frontend/node_modules/renderkid/lib/layout/block/linePrependor/Default.js
===================================================================
--- imaps-frontend/node_modules/renderkid/lib/layout/block/linePrependor/Default.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/renderkid/lib/layout/block/linePrependor/Default.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -0,0 +1,94 @@
+"use strict";
+
+function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+
+function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
+
+function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
+
+function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
+
+function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
+
+function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+
+// Generated by CoffeeScript 2.5.1
+var DefaultLinePrependor, SpecialString, tools;
+tools = require('../../../tools');
+SpecialString = require('../../SpecialString');
+
+module.exports = DefaultLinePrependor = function () {
+  var self;
+
+  var DefaultLinePrependor = /*#__PURE__*/function (_require) {
+    _inherits(DefaultLinePrependor, _require);
+
+    var _super = _createSuper(DefaultLinePrependor);
+
+    function DefaultLinePrependor() {
+      _classCallCheck(this, DefaultLinePrependor);
+
+      return _super.apply(this, arguments);
+    }
+
+    _createClass(DefaultLinePrependor, [{
+      key: "_render",
+      value: function _render(inherited, options) {
+        var addToLeft, addToRight, alignment, bullet, char, charLen, diff, left, output, space, toWrite;
+
+        if (this._lineNo === 0 && (bullet = this._config.bullet)) {
+          char = bullet.char;
+          charLen = new SpecialString(char).length;
+          alignment = bullet.alignment;
+          space = this._config.amount;
+          toWrite = char;
+          addToLeft = '';
+          addToRight = '';
+
+          if (space > charLen) {
+            diff = space - charLen;
+
+            if (alignment === 'right') {
+              addToLeft = self.pad(diff);
+            } else if (alignment === 'left') {
+              addToRight = self.pad(diff);
+            } else if (alignment === 'center') {
+              left = Math.round(diff / 2);
+              addToLeft = self.pad(left);
+              addToRight = self.pad(diff - left);
+            } else {
+              throw Error("Unknown alignment `".concat(alignment, "`"));
+            }
+          }
+
+          output = addToLeft + char + addToRight;
+        } else {
+          output = self.pad(this._config.amount);
+        }
+
+        return inherited + output;
+      }
+    }], [{
+      key: "pad",
+      value: function pad(howMuch) {
+        return tools.repeatString(" ", howMuch);
+      }
+    }]);
+
+    return DefaultLinePrependor;
+  }(require('./_LinePrependor'));
+
+  ;
+  self = DefaultLinePrependor;
+  return DefaultLinePrependor;
+}.call(void 0);
Index: imaps-frontend/node_modules/renderkid/lib/layout/block/linePrependor/_LinePrependor.js
===================================================================
--- imaps-frontend/node_modules/renderkid/lib/layout/block/linePrependor/_LinePrependor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/renderkid/lib/layout/block/linePrependor/_LinePrependor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -0,0 +1,29 @@
+"use strict";
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+// Generated by CoffeeScript 2.5.1
+var _LinePrependor;
+
+module.exports = _LinePrependor = /*#__PURE__*/function () {
+  function _LinePrependor(_config) {
+    _classCallCheck(this, _LinePrependor);
+
+    this._config = _config;
+    this._lineNo = -1;
+  }
+
+  _createClass(_LinePrependor, [{
+    key: "render",
+    value: function render(inherited, options) {
+      this._lineNo++;
+      return '<none>' + this._render(inherited, options) + '</none>';
+    }
+  }]);
+
+  return _LinePrependor;
+}();
Index: imaps-frontend/node_modules/renderkid/lib/layout/block/lineWrapper/Default.js
===================================================================
--- imaps-frontend/node_modules/renderkid/lib/layout/block/lineWrapper/Default.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/renderkid/lib/layout/block/lineWrapper/Default.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -0,0 +1,45 @@
+"use strict";
+
+function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+
+function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
+
+function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
+
+function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
+
+function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
+
+function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+
+// Generated by CoffeeScript 2.5.1
+var DefaultLineWrapper;
+
+module.exports = DefaultLineWrapper = /*#__PURE__*/function (_require) {
+  _inherits(DefaultLineWrapper, _require);
+
+  var _super = _createSuper(DefaultLineWrapper);
+
+  function DefaultLineWrapper() {
+    _classCallCheck(this, DefaultLineWrapper);
+
+    return _super.apply(this, arguments);
+  }
+
+  _createClass(DefaultLineWrapper, [{
+    key: "_render",
+    value: function _render() {}
+  }]);
+
+  return DefaultLineWrapper;
+}(require('./_LineWrapper'));
Index: imaps-frontend/node_modules/renderkid/lib/layout/block/lineWrapper/_LineWrapper.js
===================================================================
--- imaps-frontend/node_modules/renderkid/lib/layout/block/lineWrapper/_LineWrapper.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/renderkid/lib/layout/block/lineWrapper/_LineWrapper.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
@@ -0,0 +1,25 @@
+"use strict";
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+// Generated by CoffeeScript 2.5.1
+var _LineWrapper;
+
+module.exports = _LineWrapper = /*#__PURE__*/function () {
+  function _LineWrapper() {
+    _classCallCheck(this, _LineWrapper);
+  }
+
+  _createClass(_LineWrapper, [{
+    key: "render",
+    value: function render(str, options) {
+      return this._render(str, options);
+    }
+  }]);
+
+  return _LineWrapper;
+}();
