(H.geometry.height-V[1].geometry.height)/2:(P.y+P.height)/R-O.y+-I.y+10);return x.addCells(V,U)}finally{x.model.endUpdate()}}function m(H,S,U){H=x.getOutgoingTreeEdges(H);U=x.view.getState(U);var Q=[];if(null!=U&&null!=H){for(var W=0;W<H.length;W++){var V=x.view.getState(x.model.getTerminal(H[W],!1));null!=V&&(!S&&Math.min(V.x+V.width,U.x+U.width)>=Math.max(V.x,U.x)||S&&Math.min(V.y+V.height,U.y+U.height)>=Math.max(V.y,U.y))&&Q.push(V)}Q.sort(function(X,p){return S?X.x+X.width-p.x-p.width:X.y+X.height-
p.y-p.height})}return Q}function q(H,S){var U=c(H),Q=S==mxConstants.DIRECTION_EAST||S==mxConstants.DIRECTION_WEST;(U==mxConstants.DIRECTION_EAST||U==mxConstants.DIRECTION_WEST)==Q&&U!=S?v.actions.get("selectParent").funct():U==S?(S=x.getOutgoingTreeEdges(H),null!=S&&0<S.length&&x.setSelectionCell(x.model.getTerminal(S[0],!1))):(U=x.getIncomingTreeEdges(H),null!=U&&0<U.length&&(Q=m(x.model.getTerminal(U[0],!0),Q,H),H=x.view.getState(H),null!=H&&(H=mxUtils.indexOf(Q,H),0<=H&&(H+=S==mxConstants.DIRECTION_NORTH||
The product receives input or data, but it does
        not validate or incorrectly validates that the input has the
        properties that are required to process the data safely and
        correctly.