function PlainLink( domain, range, property ){
	  var layers,
	    layerIndex,
	    loops,
	    loopIndex,
	    pathEl,
	    label = new Label(property, this);

	  var backPart = __webpack_require__(25)(domain, label, this),
	    frontPart = __webpack_require__(25)(label, range, this);


	  this.layers = function ( p ){
	    if ( !arguments.length ) return layers;
	    layers = p;
	    return this;
	  };

	  this.layerIndex = function ( p ){
	    if ( !arguments.length ) return layerIndex;
	    layerIndex = p;
	    return this;
	  };

	  this.loops = function ( p ){
	    if ( !arguments.length ) return loops;
	    loops = p;
	    return this;
	  };

	  this.loopIndex = function ( p ){
	    if ( !arguments.length ) return loopIndex;
	    loopIndex = p;
	    return this;
	  };


	  this.domain = function (){
	    return domain;
	  };

	  this.label = function (){
	    return label;
	  };

	  this.linkParts = function (){
	    return [frontPart, backPart];
	  };

	  this.range = function (){
	    return range;
	  };
	  this.pathObj = function ( pE ){
	    if ( !arguments.length ) {
	      return pathEl;
	    }
	    pathEl = pE;
	  };
	}
/**
	 * A link connects at least two VOWL nodes.
	 * The properties connecting the VOWL nodes are stored separately into the label.
	 * @param domain
	 * @param range
	 * @param property
	 */
A link connects at least two VOWL nodes.
The properties connecting the VOWL nodes are stored separately into the label.
A link connects at least two VOWL nodes . The properties connecting the VOWL nodes are stored separately into the label .
function PlainLink( domain, range, property ){
	  var layers,
	    layerIndex,
	    loops,
	    loopIndex,
	    pathEl,
	    label = new Label(property, this);
	  var backPart = __webpack_require__(25)(domain, label, this),
	    frontPart = __webpack_require__(25)(label, range, this);
	  this.layers = function ( p ){
	    if ( !arguments.length ) return layers;
	    layers = p;
	    return this;
	  };
	  this.layerIndex = function ( p ){
	    if ( !arguments.length ) return layerIndex;
	    layerIndex = p;
	    return this;
	  };
	  this.loops = function ( p ){
	    if ( !arguments.length ) return loops;
	    loops = p;
	    return this;
	  };
	  this.loopIndex = function ( p ){
	    if ( !arguments.length ) return loopIndex;
	    loopIndex = p;
	    return this;
	  };
	  this.domain = function (){
	    return domain;
	  };
	  this.label = function (){
	    return label;
	  };
	  this.linkParts = function (){
	    return [frontPart, backPart];
	  };
	  this.range = function (){
	    return range;
	  };
	  this.pathObj = function ( pE ){
	    if ( !arguments.length ) {
	      return pathEl;
	    }
	    pathEl = pE;
	  };
	}
function PlainLink ( domain , range , property ) { var layers , layerIndex , loops , loopIndex , pathEl , label = new Label ( property , this ) ; var backPart = __webpack_require__ ( 25 ) ( domain , label , this ) , frontPart = __webpack_require__ ( 25 ) ( label , range , this ) ; this . layers = function ( p ) { if ( ! arguments . length ) return layers ; layers = p ; return this ; } ; this . layerIndex = function ( p ) { if ( ! arguments . length ) return layerIndex ; layerIndex = p ; return this ; } ; this . loops = function ( p ) { if ( ! arguments . length ) return loops ; loops = p ; return this ; } ; this . loopIndex = function ( p ) { if ( ! arguments . length ) return loopIndex ; loopIndex = p ; return this ; } ; this . domain = function ( ) { return domain ; } ; this . label = function ( ) { return label ; } ; this . linkParts = function ( ) { return [ frontPart , backPart ] ; } ; this . range = function ( ) { return range ; } ; this . pathObj = function ( pE ) { if ( ! arguments . length ) { return pathEl ; } pathEl = pE ; } ; }
A link connects at least two VOWL nodes.
A link connects at least two VOWL nodes .