message: fix(service-provider-core): re-fix connection string casing
  broke the compass-shell
  tests, likely because there are multiple conflicting implementations of
  `URLSearchParams` that come into play. We didn't notice because the
  compass-shell tests don't run in CI.
  Instead of using a fixed prototype, make the case-insensitive
  URLSearchParams implementation a mixin.
diff: @@ -10,7 +10,8 @@ const HOSTS_REGEX = new RegExp(
  String.raw`(?<protocol>mongodb(?:\+srv|)):\/\/(?:(?<username>[^:]*)(?::(?<password>[^@]*))?@)?(?<hosts>(?!:)[^\/?@]+)(?<rest>.*)`
  );
  -class CaseInsenstiveURLSearchParams extends URLSearchParams {
  +const caseInsenstiveURLSearchParams = (Ctor: typeof URLSearchParams) =>
  + class CaseInsenstiveURLSearchParams extends Ctor {
  append(name: any, value: any): void {
  return super.append(this._normalizeKey(name), value);
  }
  @@ -45,7 +46,7 @@ class CaseInsenstiveURLSearchParams extends URLSearchParams {
  }
  return name;
  }
  -}
  + };
  // Abstract middle class to appease TypeScript, see https://github.com/microsoft/TypeScript/pull/37894
  abstract class URLWithoutHost extends URL {
  @@ -114,7 +115,7 @@ export class ConnectionString extends URLWithoutHost {
  if (!this.pathname) {
  this.pathname = '/';
  }
  - Object.setPrototypeOf(this.searchParams, CaseInsenstiveURLSearchParams.prototype);
  + Object.setPrototypeOf(this.searchParams, caseInsenstiveURLSearchParams(this.searchParams.constructor as any).prototype);
  }
  // The getters here should throw, but that would break .toString() because of
  