(window["webpackJsonpcodecrumbs"] = window["webpackJsonpcodecrumbs"] || []).push([["crumbs-tab~tree-diagram"],{

/***/ "../../node_modules/core-js/modules/_array-fill.js":
/*!*****************************************************************************************!*\
  !*** /Users/bliashenko/Learning/codecrumbs/node_modules/core-js/modules/_array-fill.js ***!
  \*****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)

var toObject = __webpack_require__(/*! ./_to-object */ "../../node_modules/core-js/modules/_to-object.js");
var toAbsoluteIndex = __webpack_require__(/*! ./_to-absolute-index */ "../../node_modules/core-js/modules/_to-absolute-index.js");
var toLength = __webpack_require__(/*! ./_to-length */ "../../node_modules/core-js/modules/_to-length.js");
module.exports = function fill(value /* , start = 0, end = @length */) {
  var O = toObject(this);
  var length = toLength(O.length);
  var aLen = arguments.length;
  var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);
  var end = aLen > 2 ? arguments[2] : undefined;
  var endPos = end === undefined ? length : toAbsoluteIndex(end, length);
  while (endPos > index) O[index++] = value;
  return O;
};


/***/ }),

/***/ "../../node_modules/core-js/modules/_create-property.js":
/*!**********************************************************************************************!*\
  !*** /Users/bliashenko/Learning/codecrumbs/node_modules/core-js/modules/_create-property.js ***!
  \**********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $defineProperty = __webpack_require__(/*! ./_object-dp */ "../../node_modules/core-js/modules/_object-dp.js");
var createDesc = __webpack_require__(/*! ./_property-desc */ "../../node_modules/core-js/modules/_property-desc.js");

module.exports = function (object, index, value) {
  if (index in object) $defineProperty.f(object, index, createDesc(0, value));
  else object[index] = value;
};


/***/ }),

/***/ "../../node_modules/core-js/modules/_flags.js":
/*!************************************************************************************!*\
  !*** /Users/bliashenko/Learning/codecrumbs/node_modules/core-js/modules/_flags.js ***!
  \************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// 21.2.5.3 get RegExp.prototype.flags
var anObject = __webpack_require__(/*! ./_an-object */ "../../node_modules/core-js/modules/_an-object.js");
module.exports = function () {
  var that = anObject(this);
  var result = '';
  if (that.global) result += 'g';
  if (that.ignoreCase) result += 'i';
  if (that.multiline) result += 'm';
  if (that.unicode) result += 'u';
  if (that.sticky) result += 'y';
  return result;
};


/***/ }),

/***/ "../../node_modules/core-js/modules/_string-at.js":
/*!****************************************************************************************!*\
  !*** /Users/bliashenko/Learning/codecrumbs/node_modules/core-js/modules/_string-at.js ***!
  \****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

var toInteger = __webpack_require__(/*! ./_to-integer */ "../../node_modules/core-js/modules/_to-integer.js");
var defined = __webpack_require__(/*! ./_defined */ "../../node_modules/core-js/modules/_defined.js");
// true  -> String#at
// false -> String#codePointAt
module.exports = function (TO_STRING) {
  return function (that, pos) {
    var s = String(defined(that));
    var i = toInteger(pos);
    var l = s.length;
    var a, b;
    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
    a = s.charCodeAt(i);
    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
      ? TO_STRING ? s.charAt(i) : a
      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
  };
};


/***/ }),

/***/ "../../node_modules/core-js/modules/es6.array.fill.js":
/*!********************************************************************************************!*\
  !*** /Users/bliashenko/Learning/codecrumbs/node_modules/core-js/modules/es6.array.fill.js ***!
  \********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
var $export = __webpack_require__(/*! ./_export */ "../../node_modules/core-js/modules/_export.js");

$export($export.P, 'Array', { fill: __webpack_require__(/*! ./_array-fill */ "../../node_modules/core-js/modules/_array-fill.js") });

__webpack_require__(/*! ./_add-to-unscopables */ "../../node_modules/core-js/modules/_add-to-unscopables.js")('fill');


/***/ }),

/***/ "../../node_modules/core-js/modules/es6.array.from.js":
/*!********************************************************************************************!*\
  !*** /Users/bliashenko/Learning/codecrumbs/node_modules/core-js/modules/es6.array.from.js ***!
  \********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var ctx = __webpack_require__(/*! ./_ctx */ "../../node_modules/core-js/modules/_ctx.js");
var $export = __webpack_require__(/*! ./_export */ "../../node_modules/core-js/modules/_export.js");
var toObject = __webpack_require__(/*! ./_to-object */ "../../node_modules/core-js/modules/_to-object.js");
var call = __webpack_require__(/*! ./_iter-call */ "../../node_modules/core-js/modules/_iter-call.js");
var isArrayIter = __webpack_require__(/*! ./_is-array-iter */ "../../node_modules/core-js/modules/_is-array-iter.js");
var toLength = __webpack_require__(/*! ./_to-length */ "../../node_modules/core-js/modules/_to-length.js");
var createProperty = __webpack_require__(/*! ./_create-property */ "../../node_modules/core-js/modules/_create-property.js");
var getIterFn = __webpack_require__(/*! ./core.get-iterator-method */ "../../node_modules/core-js/modules/core.get-iterator-method.js");

$export($export.S + $export.F * !__webpack_require__(/*! ./_iter-detect */ "../../node_modules/core-js/modules/_iter-detect.js")(function (iter) { Array.from(iter); }), 'Array', {
  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
    var O = toObject(arrayLike);
    var C = typeof this == 'function' ? this : Array;
    var aLen = arguments.length;
    var mapfn = aLen > 1 ? arguments[1] : undefined;
    var mapping = mapfn !== undefined;
    var index = 0;
    var iterFn = getIterFn(O);
    var length, result, step, iterator;
    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);
    // if object isn't iterable or it's array with default iterator - use simple case
    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {
      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {
        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);
      }
    } else {
      length = toLength(O.length);
      for (result = new C(length); length > index; index++) {
        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
      }
    }
    result.length = index;
    return result;
  }
});


/***/ }),

/***/ "../../node_modules/core-js/modules/es6.array.is-array.js":
/*!************************************************************************************************!*\
  !*** /Users/bliashenko/Learning/codecrumbs/node_modules/core-js/modules/es6.array.is-array.js ***!
  \************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
var $export = __webpack_require__(/*! ./_export */ "../../node_modules/core-js/modules/_export.js");

$export($export.S, 'Array', { isArray: __webpack_require__(/*! ./_is-array */ "../../node_modules/core-js/modules/_is-array.js") });


/***/ }),

/***/ "../../node_modules/core-js/modules/es6.date.to-string.js":
/*!************************************************************************************************!*\
  !*** /Users/bliashenko/Learning/codecrumbs/node_modules/core-js/modules/es6.date.to-string.js ***!
  \************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

var DateProto = Date.prototype;
var INVALID_DATE = 'Invalid Date';
var TO_STRING = 'toString';
var $toString = DateProto[TO_STRING];
var getTime = DateProto.getTime;
if (new Date(NaN) + '' != INVALID_DATE) {
  __webpack_require__(/*! ./_redefine */ "../../node_modules/core-js/modules/_redefine.js")(DateProto, TO_STRING, function toString() {
    var value = getTime.call(this);
    // eslint-disable-next-line no-self-compare
    return value === value ? $toString.call(this) : INVALID_DATE;
  });
}


/***/ }),

/***/ "../../node_modules/core-js/modules/es6.regexp.flags.js":
/*!**********************************************************************************************!*\
  !*** /Users/bliashenko/Learning/codecrumbs/node_modules/core-js/modules/es6.regexp.flags.js ***!
  \**********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

// 21.2.5.3 get RegExp.prototype.flags()
if (__webpack_require__(/*! ./_descriptors */ "../../node_modules/core-js/modules/_descriptors.js") && /./g.flags != 'g') __webpack_require__(/*! ./_object-dp */ "../../node_modules/core-js/modules/_object-dp.js").f(RegExp.prototype, 'flags', {
  configurable: true,
  get: __webpack_require__(/*! ./_flags */ "../../node_modules/core-js/modules/_flags.js")
});


/***/ }),

/***/ "../../node_modules/core-js/modules/es6.regexp.to-string.js":
/*!**************************************************************************************************!*\
  !*** /Users/bliashenko/Learning/codecrumbs/node_modules/core-js/modules/es6.regexp.to-string.js ***!
  \**************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

__webpack_require__(/*! ./es6.regexp.flags */ "../../node_modules/core-js/modules/es6.regexp.flags.js");
var anObject = __webpack_require__(/*! ./_an-object */ "../../node_modules/core-js/modules/_an-object.js");
var $flags = __webpack_require__(/*! ./_flags */ "../../node_modules/core-js/modules/_flags.js");
var DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ "../../node_modules/core-js/modules/_descriptors.js");
var TO_STRING = 'toString';
var $toString = /./[TO_STRING];

var define = function (fn) {
  __webpack_require__(/*! ./_redefine */ "../../node_modules/core-js/modules/_redefine.js")(RegExp.prototype, TO_STRING, fn, true);
};

// 21.2.5.14 RegExp.prototype.toString()
if (__webpack_require__(/*! ./_fails */ "../../node_modules/core-js/modules/_fails.js")(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {
  define(function toString() {
    var R = anObject(this);
    return '/'.concat(R.source, '/',
      'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);
  });
// FF44- RegExp#toString has a wrong name
} else if ($toString.name != TO_STRING) {
  define(function toString() {
    return $toString.call(this);
  });
}


/***/ }),

/***/ "../../node_modules/core-js/modules/es6.string.iterator.js":
/*!*************************************************************************************************!*\
  !*** /Users/bliashenko/Learning/codecrumbs/node_modules/core-js/modules/es6.string.iterator.js ***!
  \*************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $at = __webpack_require__(/*! ./_string-at */ "../../node_modules/core-js/modules/_string-at.js")(true);

// 21.1.3.27 String.prototype[@@iterator]()
__webpack_require__(/*! ./_iter-define */ "../../node_modules/core-js/modules/_iter-define.js")(String, 'String', function (iterated) {
  this._t = String(iterated); // target
  this._i = 0;                // next index
// 21.1.5.2.1 %StringIteratorPrototype%.next()
}, function () {
  var O = this._t;
  var index = this._i;
  var point;
  if (index >= O.length) return { value: undefined, done: true };
  point = $at(O, index);
  this._i += point.length;
  return { value: point, done: false };
});


/***/ }),

/***/ "./js/components/treeDiagram/component/Tree/CodeCrumbs/helpers.js":
/*!************************************************************************!*\
  !*** ./js/components/treeDiagram/component/Tree/CodeCrumbs/helpers.js ***!
  \************************************************************************/
/*! exports provided: isCodeCrumbsEqual, isCodeCrumbSelected, gatherFlowStepsData, getCcPosition, getMaxWidthForNs */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isCodeCrumbsEqual", function() { return isCodeCrumbsEqual; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isCodeCrumbSelected", function() { return isCodeCrumbSelected; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "gatherFlowStepsData", function() { return gatherFlowStepsData; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCcPosition", function() { return getCcPosition; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getMaxWidthForNs", function() { return getMaxWidthForNs; });
/* harmony import */ var core_js_modules_es6_string_iterator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es6.string.iterator */ "../../node_modules/core-js/modules/es6.string.iterator.js");
/* harmony import */ var core_js_modules_es6_string_iterator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_string_iterator__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var core_js_modules_es6_array_from__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es6.array.from */ "../../node_modules/core-js/modules/es6.array.from.js");
/* harmony import */ var core_js_modules_es6_array_from__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_array_from__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var core_js_modules_es6_regexp_to_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es6.regexp.to-string */ "../../node_modules/core-js/modules/es6.regexp.to-string.js");
/* harmony import */ var core_js_modules_es6_regexp_to_string__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_regexp_to_string__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var core_js_modules_es6_date_to_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es6.date.to-string */ "../../node_modules/core-js/modules/es6.date.to-string.js");
/* harmony import */ var core_js_modules_es6_date_to_string__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_date_to_string__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var core_js_modules_es7_symbol_async_iterator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es7.symbol.async-iterator */ "../../node_modules/core-js/modules/es7.symbol.async-iterator.js");
/* harmony import */ var core_js_modules_es7_symbol_async_iterator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es7_symbol_async_iterator__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var core_js_modules_es6_symbol__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es6.symbol */ "../../node_modules/core-js/modules/es6.symbol.js");
/* harmony import */ var core_js_modules_es6_symbol__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_symbol__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var core_js_modules_es6_array_is_array__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es6.array.is-array */ "../../node_modules/core-js/modules/es6.array.is-array.js");
/* harmony import */ var core_js_modules_es6_array_is_array__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_array_is_array__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var core_js_modules_es6_object_define_property__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es6.object.define-property */ "../../node_modules/core-js/modules/es6.object.define-property.js");
/* harmony import */ var core_js_modules_es6_object_define_property__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_object_define_property__WEBPACK_IMPORTED_MODULE_7__);
/* harmony import */ var core_js_modules_es6_array_sort__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es6.array.sort */ "../../node_modules/core-js/modules/es6.array.sort.js");
/* harmony import */ var core_js_modules_es6_array_sort__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_array_sort__WEBPACK_IMPORTED_MODULE_8__);
/* harmony import */ var core_js_modules_es6_array_for_each__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es6.array.for-each */ "../../node_modules/core-js/modules/es6.array.for-each.js");
/* harmony import */ var core_js_modules_es6_array_for_each__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_array_for_each__WEBPACK_IMPORTED_MODULE_9__);
/* harmony import */ var core_js_modules_es6_array_filter__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es6.array.filter */ "../../node_modules/core-js/modules/es6.array.filter.js");
/* harmony import */ var core_js_modules_es6_array_filter__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_array_filter__WEBPACK_IMPORTED_MODULE_10__);
/* harmony import */ var core_js_modules_es6_array_map__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es6.array.map */ "../../node_modules/core-js/modules/es6.array.map.js");
/* harmony import */ var core_js_modules_es6_array_map__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_array_map__WEBPACK_IMPORTED_MODULE_11__);
/* harmony import */ var core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/web.dom.iterable */ "../../node_modules/core-js/modules/web.dom.iterable.js");
/* harmony import */ var core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_12__);
/* harmony import */ var core_js_modules_es6_array_iterator__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es6.array.iterator */ "../../node_modules/core-js/modules/es6.array.iterator.js");
/* harmony import */ var core_js_modules_es6_array_iterator__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_array_iterator__WEBPACK_IMPORTED_MODULE_13__);
/* harmony import */ var core_js_modules_es6_object_keys__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! core-js/modules/es6.object.keys */ "../../node_modules/core-js/modules/es6.object.keys.js");
/* harmony import */ var core_js_modules_es6_object_keys__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_object_keys__WEBPACK_IMPORTED_MODULE_14__);
/* harmony import */ var core_js_modules_es6_array_reduce__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! core-js/modules/es6.array.reduce */ "../../node_modules/core-js/modules/es6.array.reduce.js");
/* harmony import */ var core_js_modules_es6_array_reduce__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_array_reduce__WEBPACK_IMPORTED_MODULE_15__);
/* harmony import */ var core_js_modules_es6_function_name__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! core-js/modules/es6.function.name */ "../../node_modules/core-js/modules/es6.function.name.js");
/* harmony import */ var core_js_modules_es6_function_name__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_function_name__WEBPACK_IMPORTED_MODULE_16__);
/* harmony import */ var _core_dataBus_selectors__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../../../../core/dataBus/selectors */ "./js/core/dataBus/selectors.js");
/* harmony import */ var _core_constants__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../../../../core/constants */ "./js/core/constants/index.js");


















function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }

function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }

function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }

function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }

function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }



var isCodeCrumbsEqual = function isCodeCrumbsEqual(cc, currentCc) {
  return cc.name === currentCc.name && cc.flowStep === currentCc.flowStep;
};
var isCodeCrumbSelected = function isCodeCrumbSelected(selectedCcFlowEdgeNodes, cc) {
  if (!selectedCcFlowEdgeNodes) return false;
  return isCodeCrumbsEqual(selectedCcFlowEdgeNodes.source, cc) || isCodeCrumbsEqual(selectedCcFlowEdgeNodes.target, cc);
};

var stepSorter = function stepSorter(a, b) {
  return a.step - b.step;
};

var getFlowSteps = function getFlowSteps(_ref) {
  var namespace = _ref.namespace,
      codeCrumbedFlowsMap = _ref.codeCrumbedFlowsMap,
      selectedCrumbedFlowKey = _ref.selectedCrumbedFlowKey,
      codecrumbsLayoutMap = _ref.codecrumbsLayoutMap;
  var currentFlow = codeCrumbedFlowsMap[selectedCrumbedFlowKey] || {};
  return Object.keys(currentFlow).reduce(function (flowSteps, filePath) {
    var steps = (codecrumbsLayoutMap[filePath] && codecrumbsLayoutMap[filePath].children || []).filter(function (_ref2) {
      var data = _ref2.data;
      return data.params.flow === selectedCrumbedFlowKey;
    }).map(function (_ref3) {
      var data = _ref3.data,
          x = _ref3.x,
          y = _ref3.y;
      return _objectSpread({}, data, {
        namespace: namespace,
        filePath: filePath,
        step: data.params.flowStep,
        flow: selectedCrumbedFlowKey,
        x: x,
        y: y
      });
    });
    return _toConsumableArray(flowSteps).concat(_toConsumableArray(steps));
  }, []);
};

var createCcShiftIndexMap = function createCcShiftIndexMap(sortedFlowSteps) {
  var ccMap = {};
  var shiftOrderIndex = 0;
  sortedFlowSteps.forEach(function (crumb, i, list) {
    if (!i) {
      ccMap[crumb.id] = shiftOrderIndex;
      return;
    }

    if (crumb.x < list[i - 1].x) {
      shiftOrderIndex++;
    }

    ccMap[crumb.id] = shiftOrderIndex;
  });
  return ccMap;
};

var gatherFlowStepsData = function gatherFlowStepsData(state, _ref4) {
  var namespacesList = _ref4.namespacesList,
      currentSelectedCrumbedFlowKey = _ref4.currentSelectedCrumbedFlowKey;
  var flowStepsData = namespacesList.reduce(function (acc, ns) {
    var namespaceProps = {
      namespace: ns
    };

    var _getCodeCrumbsUserCho = Object(_core_dataBus_selectors__WEBPACK_IMPORTED_MODULE_17__["getCodeCrumbsUserChoice"])(state, namespaceProps),
        selectedCrumbedFlowKey = _getCodeCrumbsUserCho.selectedCrumbedFlowKey,
        codeCrumbedFlowsMap = _getCodeCrumbsUserCho.codeCrumbedFlowsMap;

    if (currentSelectedCrumbedFlowKey !== selectedCrumbedFlowKey) {
      return acc;
    }

    var _getSourceLayout = Object(_core_dataBus_selectors__WEBPACK_IMPORTED_MODULE_17__["getSourceLayout"])(state, namespaceProps),
        codecrumbsLayoutMap = _getSourceLayout.codecrumbsLayoutMap,
        ccAlightPoint = _getSourceLayout.ccAlightPoint;

    var flowSteps = getFlowSteps({
      namespace: ns,
      codeCrumbedFlowsMap: codeCrumbedFlowsMap,
      selectedCrumbedFlowKey: selectedCrumbedFlowKey,
      codecrumbsLayoutMap: codecrumbsLayoutMap
    });
    return {
      flowSteps: flowSteps,
      sortedFlowSteps: selectedCrumbedFlowKey !== _core_constants__WEBPACK_IMPORTED_MODULE_18__["NO_TRAIL_FLOW"] ? _toConsumableArray(acc.sortedFlowSteps).concat(_toConsumableArray(flowSteps)).sort(stepSorter) : [],
      involvedNsData: _objectSpread({}, acc.involvedNsData, _defineProperty({}, ns, {
        codecrumbsLayoutMap: codecrumbsLayoutMap,
        ccAlightPoint: ccAlightPoint
      }))
    };
  }, {
    involvedNsData: {},
    flowSteps: [],
    sortedFlowSteps: []
  });
  return _objectSpread({}, flowStepsData, {
    ccShiftIndexMap: createCcShiftIndexMap(flowStepsData.sortedFlowSteps)
  });
};
var getCcPosition = function getCcPosition(x) {
  var index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
  return x + 70 * index;
};
var getMaxWidthForNs = function getMaxWidthForNs(state, _ref5) {
  var namespacesList = _ref5.namespacesList;
  return namespacesList.reduce(function (maxWidth, namespace) {
    var _getSourceLayout2 = Object(_core_dataBus_selectors__WEBPACK_IMPORTED_MODULE_17__["getSourceLayout"])(state, {
      namespace: namespace
    }),
        layoutSize = _getSourceLayout2.layoutSize;

    return layoutSize && layoutSize.width > maxWidth ? layoutSize.width : maxWidth;
  }, 0);
};

/***/ })

}]);
//# sourceMappingURL=crumbs-tab~tree-diagram.bundle.js.map