vendor/html-css-sanitizer-bundle.js
function create(scheme, credentials, domain, port, path, query, fragment) {
  var uri = new URI(
      encodeIfExists2(scheme, URI_DISALLOWED_IN_SCHEME_OR_CREDENTIALS_),
      encodeIfExists2(
          credentials, URI_DISALLOWED_IN_SCHEME_OR_CREDENTIALS_),
      encodeIfExists(domain),
      port > 0 ? port.toString() : null,
      encodeIfExists2(path, URI_DISALLOWED_IN_PATH_),
      null,
      encodeIfExists(fragment));
  if (query) {
    if ('string' === typeof query) {
      uri.setRawQuery(query.replace(/[^?&=0-9A-Za-z_\-~.%]/g, encodeOne));
    } else {
      uri.setAllParameters(query);
    }
  }
  return uri;
}
function create(scheme, credentials, domain, port, path, query, fragment) {
  var uri = new URI(
      encodeIfExists2(scheme, URI_DISALLOWED_IN_SCHEME_OR_CREDENTIALS_),
      encodeIfExists2(
          credentials, URI_DISALLOWED_IN_SCHEME_OR_CREDENTIALS_),
      encodeIfExists(domain),
      port > 0 ? port.toString() : null,
      encodeIfExists2(path, URI_DISALLOWED_IN_PATH_),
      null,
      encodeIfExists(fragment));
  if (query) {
    if ('string' === typeof query) {
      uri.setRawQuery(query.replace(/[^?&=0-9A-Za-z_\-~.%]/g, encodeOne));
    } else {
      uri.setAllParameters(query);
    }
  }
  return uri;
}
function create ( scheme , credentials , domain , port , path , query , fragment ) { var uri = new URI ( encodeIfExists2 ( scheme , URI_DISALLOWED_IN_SCHEME_OR_CREDENTIALS_ ) , encodeIfExists2 ( credentials , URI_DISALLOWED_IN_SCHEME_OR_CREDENTIALS_ ) , encodeIfExists ( domain ) , port > 0 ? port . toString ( ) : null , encodeIfExists2 ( path , URI_DISALLOWED_IN_PATH_ ) , null , encodeIfExists ( fragment ) ) ; if ( query ) { if ( 'string' === typeof query ) { uri . setRawQuery ( query . replace ( / [^?&=0-9A-Za-z_\-~.%] / g , encodeOne ) ) ; } else { uri . setAllParameters ( query ) ; } } return uri ; }
creates a uri from the given parts.

@param scheme {string} an unencoded scheme such as "http" or null
@param credentials {string} unencoded user credentials or null
@param domain {string} an unencoded domain name or null
@param port {number} a port number in [1, 32768].
-1 indicates no port, as does null.
@param path {string} an unencoded path
@param query {Array.<string>|string|null} a list of unencoded cgi
parameters where even values are keys and odds the corresponding values
or an unencoded query.
@param fragment {string} an unencoded fragment without the "#" or null.
@return {URI}
creates a uri from the given parts .