function(module, exports, __webpack_require__) {

	var _curryN = /*#__PURE__*/__webpack_require__(33);
	
	var _has = /*#__PURE__*/__webpack_require__(8);
	
	var _xfBase = /*#__PURE__*/__webpack_require__(6);
	
	var XReduceBy = /*#__PURE__*/function () {
	
	  function XReduceBy(valueFn, valueAcc, keyFn, xf) {
	    this.valueFn = valueFn;
	    this.valueAcc = valueAcc;
	    this.keyFn = keyFn;
	    this.xf = xf;
	    this.inputs = {};
	  }
	  XReduceBy.prototype['@@transducer/init'] = _xfBase.init;
	  XReduceBy.prototype['@@transducer/result'] = function (result) {
	    var key;
	    for (key in this.inputs) {
	      if (_has(key, this.inputs)) {
	        result = this.xf['@@transducer/step'](result, this.inputs[key]);
	        if (result['@@transducer/reduced']) {
	          result = result['@@transducer/value'];
	          break;
	        }
	      }
	    }
	    this.inputs = null;
	    return this.xf['@@transducer/result'](result);
	  };
	  XReduceBy.prototype['@@transducer/step'] = function (result, input) {
	    var key = this.keyFn(input);
	    this.inputs[key] = this.inputs[key] || [key, this.valueAcc];
	    this.inputs[key][1] = this.valueFn(this.inputs[key][1], input);
	    return result;
	  };
	
	  return XReduceBy;
	}();
	
	var _xreduceBy = /*#__PURE__*/_curryN(4, [], function _xreduceBy(valueFn, valueAcc, keyFn, xf) {
	  return new XReduceBy(valueFn, valueAcc, keyFn, xf);
	});
	module.exports = _xreduceBy;

/***/ }
function(module, exports, __webpack_require__) {

	var _curryN = __webpack_require__(33);
	
	var _has = __webpack_require__(8);
	
	var _xfBase = __webpack_require__(6);
	
	var XReduceBy = function () {
	
	  function XReduceBy(valueFn, valueAcc, keyFn, xf) {
	    this.valueFn = valueFn;
	    this.valueAcc = valueAcc;
	    this.keyFn = keyFn;
	    this.xf = xf;
	    this.inputs = {};
	  }
	  XReduceBy.prototype['@@transducer/init'] = _xfBase.init;
	  XReduceBy.prototype['@@transducer/result'] = function (result) {
	    var key;
	    for (key in this.inputs) {
	      if (_has(key, this.inputs)) {
	        result = this.xf['@@transducer/step'](result, this.inputs[key]);
	        if (result['@@transducer/reduced']) {
	          result = result['@@transducer/value'];
	          break;
	        }
	      }
	    }
	    this.inputs = null;
	    return this.xf['@@transducer/result'](result);
	  };
	  XReduceBy.prototype['@@transducer/step'] = function (result, input) {
	    var key = this.keyFn(input);
	    this.inputs[key] = this.inputs[key] || [key, this.valueAcc];
	    this.inputs[key][1] = this.valueFn(this.inputs[key][1], input);
	    return result;
	  };
	
	  return XReduceBy;
	}();
	
	var _xreduceBy = _curryN(4, [], function _xreduceBy(valueFn, valueAcc, keyFn, xf) {
	  return new XReduceBy(valueFn, valueAcc, keyFn, xf);
	});
	module.exports = _xreduceBy;

 }
function ( module , exports , __webpack_require__ ) { var _curryN = /*#__PURE__*/ __webpack_require__ ( 33 ) ; var _has = /*#__PURE__*/ __webpack_require__ ( 8 ) ; var _xfBase = /*#__PURE__*/ __webpack_require__ ( 6 ) ; var XReduceBy = /*#__PURE__*/ function ( ) { function XReduceBy ( valueFn , valueAcc , keyFn , xf ) { this . valueFn = valueFn ; this . valueAcc = valueAcc ; this . keyFn = keyFn ; this . xf = xf ; this . inputs = { } ; } XReduceBy . prototype [ '@@transducer/init' ] = _xfBase . init ; XReduceBy . prototype [ '@@transducer/result' ] = function ( result ) { var key ; for ( key in this . inputs ) { if ( _has ( key , this . inputs ) ) { result = this . xf [ '@@transducer/step' ] ( result , this . inputs [ key ] ) ; if ( result [ '@@transducer/reduced' ] ) { result = result [ '@@transducer/value' ] ; break ; } } } this . inputs = null ; return this . xf [ '@@transducer/result' ] ( result ) ; } ; XReduceBy . prototype [ '@@transducer/step' ] = function ( result , input ) { var key = this . keyFn ( input ) ; this . inputs [ key ] = this . inputs [ key ] || [ key , this . valueAcc ] ; this . inputs [ key ] [ 1 ] = this . valueFn ( this . inputs [ key ] [ 1 ] , input ) ; return result ; } ; return XReduceBy ; } ( ) ; var _xreduceBy = /*#__PURE__*/ _curryN ( 4 , [ ] , function _xreduceBy ( valueFn , valueAcc , keyFn , xf ) { return new XReduceBy ( valueFn , valueAcc , keyFn , xf ) ; } ) ; module . exports = _xreduceBy ; /***/ }
/* 345
/ * 345