code: function Ie(pt,ut,bt,ht,mt){// Empty buffer means no match
  if(0===pt.length)return-1;// Normalize byteOffset
  if("string"==typeof bt?(ht=bt,bt=0):2147483647<bt?bt=2147483647:-2147483648>bt&&(bt=-2147483648),bt=+bt,isNaN(bt)&&(bt=mt?0:pt.length-1),0>bt&&(bt=pt.length+bt),bt>=pt.length){if(mt)return-1;bt=pt.length-1}else if(0>bt)if(mt)bt=0;else return-1;// Normalize val
  // Finally, search either indexOf (if dir is true) or lastIndexOf
  if("string"==typeof ut&&(ut=ce.from(ut,ht)),ce.isBuffer(ut))// Special case: looking for empty string/buffer always fails
  return 0===ut.length?-1:Ae(pt,ut,bt,ht,mt);if("number"==typeof ut)// Search for a byte value [0-255]
  return(ut=255&ut,ce.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf)?mt?Uint8Array.prototype.indexOf.call(pt,ut,bt):Uint8Array.prototype.lastIndexOf.call(pt,ut,bt):Ae(pt,[ut],bt,ht,mt);throw new TypeError("val must be string, number or Buffer")}
docs: Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, OR the last index of `val` in `buffer` at offset <= `byteOffset`.  Arguments: - buffer - a Buffer to search - val - a string, Buffer, or number - byteOffset - an index into `buffer`; will be clamped to an int32 - encoding - an optional encoding, relevant is val is a string - dir - true for indexOf, false for lastIndexOf