third_party/polymer3/bower_components/polymer/lib/utils/gestures.js
function _remove(node, evType, handler) {
  let recognizer = gestures[evType];
  let deps = recognizer.deps;
  let name = recognizer.name;
  let gobj = node[GESTURE_KEY];
  if (gobj) {
    for (let i = 0, dep, gd; i < deps.length; i++) {
      dep = deps[i];
      gd = gobj[dep];
      if (gd && gd[name]) {
        gd[name] = (gd[name] || 1) - 1;
        gd._count = (gd._count || 1) - 1;
        if (gd._count === 0) {
          node.removeEventListener(dep, _handleNative, PASSIVE_TOUCH(dep));
        }
      }
    }
  }
  node.removeEventListener(evType, handler);
}
function _remove(node, evType, handler) {
  let recognizer = gestures[evType];
  let deps = recognizer.deps;
  let name = recognizer.name;
  let gobj = node[GESTURE_KEY];
  if (gobj) {
    for (let i = 0, dep, gd; i < deps.length; i++) {
      dep = deps[i];
      gd = gobj[dep];
      if (gd && gd[name]) {
        gd[name] = (gd[name] || 1) - 1;
        gd._count = (gd._count || 1) - 1;
        if (gd._count === 0) {
          node.removeEventListener(dep, _handleNative, PASSIVE_TOUCH(dep));
        }
      }
    }
  }
  node.removeEventListener(evType, handler);
}
function _remove ( node , evType , handler ) { let recognizer = gestures [ evType ] ; let deps = recognizer . deps ; let name = recognizer . name ; let gobj = node [ GESTURE_KEY ] ; if ( gobj ) { for ( let i = 0 , dep , gd ; i < deps . length ; i ++ ) { dep = deps [ i ] ; gd = gobj [ dep ] ; if ( gd && gd [ name ] ) { gd [ name ] = ( gd [ name ] || 1 ) - 1 ; gd . _count = ( gd . _count || 1 ) - 1 ; if ( gd . _count === 0 ) { node . removeEventListener ( dep , _handleNative , PASSIVE_TOUCH ( dep ) ) ; } } } } node . removeEventListener ( evType , handler ) ; }
automate event listener removal for native events

@private
@param {!HTMLElement} node Node on which to remove the event.
@param {string} evType Event type to remove.
@param {function(Event?)} handler Event handler function.
@return {void}
@this {Gestures}
automate event listener removal for native events