src/vs/workbench/services/extensions/common/extensionHostManager.ts/ExtensionHostManager/resolveAuthority
class ExtensionHostManager:	public async resolveAuthority(remoteAuthority: string): Promise<ResolverResult> {
		const authorityPlusIndex = remoteAuthority.indexOf('+');
		if (authorityPlusIndex === -1) {
			// This authority does not need to be resolved, simply parse the port number
			const lastColon = remoteAuthority.lastIndexOf(':');
			return Promise.resolve({
				authority: {
					authority: remoteAuthority,
					host: remoteAuthority.substring(0, lastColon),
					port: parseInt(remoteAuthority.substring(lastColon + 1), 10),
					connectionToken: undefined
				}
			});
		}
		const proxy = await this._getProxy();
		if (!proxy) {
			throw new Error(`Cannot resolve authority`);
		}
		this._resolveAuthorityAttempt++;
		const result = await proxy.$resolveAuthority(remoteAuthority, this._resolveAuthorityAttempt);
		if (result.type === 'ok') {
			return result.value;
		} else {
			throw new RemoteAuthorityResolverError(result.error.message, result.error.code, result.error.detail);
		}
	}