'use strict'
!(function(require, directRequire) {
  class a {
    constructor() {
      this._map = new Map()
    }
    add(a) {
      let b = this._map.get(a)
      'number' == typeof b ? this._map.set(a, b + 1) : this._map.set(a, 1)
    }
    delete(a) {
      let b = this._map.get(a)
      if ('number' == typeof b) {
        let c = b - 1
        0 >= c ? this._map.delete(a) : this._map.set(a, c)
      }
    }
    get size() {
      return this._map.size
    }
  }
  module.exports = { SelfManagedMap: a }
})(require('lazyload'), require)
