Planning your return to office strategy? See how Chrome OS can help.

Set Chrome policies for users or browsers

For administrators who manage Chrome policies from the Google Admin console.

You can enforce Chrome policies from your Admin console that apply to:

  • User accounts to sync policies and preferences across a user's devices. Settings apply whenever the user signs in to Chrome browser with their managed account on any device.
  • Enrolled browsers to enforce policies when users open Chrome browser on managed Microsoft Windows, Apple Mac, or Linux computers. Signing in is not required.

Step 1: Understand when settings apply

Exactly when your Chrome policies are enforced depends on whether you set them for user accounts or enrolled browsers.

Policies set for users

Available with Google Workspace, Chrome Browser Enterprise Support, Chrome Enterprise Upgrade, Chromebook Enterprise devices, and Cloud Identity.

Apply when users sign in with a managed Google Account on any device:

Don't apply when users:

  • Sign in to a Google Account outside of your organization, such as a personal Gmail account
  • Sign in to a Chromebook as a guest

Best for work settings and preferences that should sync across devices (work apps, home tabs, themes, and so on.)

Policies set for enrolled browsers

  • Apply when users open Chrome browser on a computer where the browser is enrolled (Windows, Mac, or Linux).
  • Signing in is not required.
  • Best for policies that you want to enforce at the device level (security settings, blocked apps, and so on.).

Get started: Set up Chrome Browser Cloud Management

Step 2: Configure settings in your Admin console

Before you begin: To configure settings for a specific group of user accounts or enrolled Chrome browsers, put the users or browsers in an organizational unit.

  1. Sign in to your Google Admin console.

    Sign in using your administrator account (does not end in @gmail.com).

  2. From the Admin console Home page, go to Devicesand thenChrome.
  3. On the left, click Settingsand thenUsers & browsers.
  4. To apply the setting to all users and enrolled browsers, leave the top organizational unit selected. Otherwise, select a child organizational unit.
  5. Configure the settings you want. Learn about each setting.

    Tip: Quickly find a setting by entering text in the search box at the top.

    You see Inherited if a setting is inherited from a parent. Or, you see Locally applied if the setting is overridden for the child.

  6. Click Save.

    Settings typically take effect in minutes, but can take up to 24 hours to apply for everyone.

Learn about each setting

Many settings allow you to enforce a policy that users cannot change or set a default that users can change. For example, you can specify a homepage that everyone must use or let people set their own homepage.

Most policies apply to both affiliated and unaffiliated users on Chrome OS. A user is affiliated if they are managed by the same domain that manages the Chrome OS device they are signed into. A user is unaffiliated if they are signed into their device as a managed user from a different domain, for example if user@domainA.com signs into a device managed by domainB.com or signs into an unmanaged device. The policies that apply only to either affiliated or unaffiliated users are clearly marked in the Admin console.

Tip: Many admins leave the default settings and only configure settings, such as startup pages, new tab pages, apps and extensions, and themes.
 

General

Open all  |  Close all

Maximum user session length

Controls how long user sessions last. The remaining session time is shown on a countdown timer in the user's system tray. After the specified time, users are automatically signed out and the session ends. Enter a value between 1 and 1440 minutes (24 hours). For unlimited sessions, do not enter a value.

Custom avatar

Replaces the default avatar with a custom avatar. You can upload images in JPG format (.jpg or .jpeg files) that are no larger than 512 KB. Other file types are not supported.

Custom wallpaper

Replaces the default wallpaper with a custom wallpaper. You can upload images in JPG format (.jpg or .jpeg files) that are no larger than 16 MB. Other file types are not supported.

Custom theme color

Specifies the Chrome browser theme color and users can’t change it. Enter the color into the text field in #RRGGBB hexadecimal format.

Left blank, users can change their browser theme color.

Sign-in settings

Open all  |  Close all


Specifies whether users can sign in to Chrome browser and sync browser information to their Google Account.

Choose one of these options:

  • Disable browser sign-in—Users can’t sign in to Chrome browser or sync browser information to their Google Account.
  • Enable browser sign-in—Users can sign in to Chrome browser and sync browser information to their Google Account. Chrome browser automatically signs in users when they sign in to a Google service, such as Gmail.
  • Force users to sign-in to use the browser—Forces users to sign in to Chrome browser before they can use it. Chrome browser does not let secondary users sign in. Sync is turned on by default and users can’t change it.


Specifies a regular expression that determines which Google Accounts can be set as browser primary accounts in Chrome browser. For example, the value .*@example\.com restricts sign in to accounts in the example.com domain.

If users try to set a browser primary account with a username that doesn't match your specified pattern, an error is displayed.

Left blank, users can set any Google Account as a browser primary account in Chrome browser.

By default, Enable signin interception is selected. The signin interception dialog is displayed when a Google Account is added on the web, and the user would benefit from moving this account to another new or existing profile.

Select Show the display password button on the login and lock screen to let users make their password visible on Chrome OS devices. Users can click the Show password icon at the end of the password field to reveal the currently typed password. If you select Do not show the display password button on the login and lock screen, users don't see the icon.

Mobile

Chrome Mobile (BETA)

Warning: An experimental feature—Inform your users before changing this setting. To provide feedback or report issues, fill out this form.

This setting allows you to select if supported policies should apply to Chrome Browser on mobile devices. Chrome Browser management needs to be turned on before enabling this setting. Once Chrome Browser management and this setting are enabled, users who are signed in to Chrome Browser on Android with your organization's account will begin receiving the settings you set. When a user signs out of a managed account, the policy stops applying and the local profile on the device is deleted.

Enrollment Controls

Open all  |  Close all

Microsoft® Active Directory®

You must be signed in as a super administrator for this task.

Note: Chrome OS device management with Microsoft Active Directory (AD) is no longer available for new users. For Chrome OS devices in an AD environment, we recommend using cloud-based Chrome management and Kerberos. For more details, see Manage policies for Chrome OS devices.

Enable Active Directory Management

Selecting Enable Active Directory Management lets you manage Chrome OS devices using Microsoft Active Directory or your Admin console. Use the Device management mode setting, described below, to specify whether devices that are enrolled by users in the selected organizational unit are integrated to Active Directory. You can see devices in your Google Admin console and domain controllers. For details, see Manage Chrome OS devices with Active Directory.

Identity Provider Metadata

Only available if you manage Chrome OS devices with Active Directory

To let Active Directory users access the Google Play Store, you need to upload the Active Directory Federation Services (AD FS) file. Then, apps that you approve for the domain will automatically show up for users when they open the managed Google Play store. For details, see Configure your domain to access the managed Google Play Store.

Domain Join Configuration

Only available if you manage Chrome OS devices with Active Directory

Upload a configuration template to minimize the amount of information that users need to enter when they’re joining their devices to the Active Directory domain. Users are prompted to only enter the Chromebook machine name and choose their configuration, such as sales or engineering.

Device management mode

Specifies whether Chrome OS devices are managed using Microsoft Active Directory or your Admin console. If you select Active Directory, devices that are enrolled by users in the selected organizational unit are integrated to Active Directory. You apply policies to them using Group Policy.

Device enrollment

Only takes effect if the device is being enrolled into the domain for the first time or if the device was previously deprovisioned

Selecting Keep Chrome device in current location means that when you enroll the Chrome device, it stays in the top-level organizational unit for your domain and pulls device settings from there.

Selecting Place Chrome device in user organization means that when you enroll the Chrome device, the device is placed in the organizational unit that the enrolling user is in. The settings you've applied for that user's organizational unit are applied to the device.

Place Chrome device in user organization is a useful setting if you need to manually enroll many devices. The device settings unique to the user's organizational unit are automatically added to the device, instead of requiring an additional step of manually moving each device into a specific organizational unit after enrollment.

Asset identifier during enrollment

Controls whether users can add an asset ID and location for a device when they enroll it. 

  • Do not allow for users in this organization—Users don't have the option to enter the asset ID and location.
  • Users in this organization can provide asset ID and location during enrollment—Users can enter the asset ID and location of the device.

If you choose to allow users to enter the asset ID and location, the Device information page is shown with pre-existing data for the fields. If no data exists, the fields are blank. Users can edit or enter the device details before they complete enrollment. The information that users enter populates the asset ID and location fields in the Admin console and at chrome://policy.

Enrollment permissions

By default, users in this organizational unit are allowed to enroll a new or re-enroll a deprovisioned device. Enrolling a new device or re-enrolling a deprovisioned device consumes an upgrade. Users can also re-enroll a device that was wiped or factory reset. Re-enrolling a device that was wiped or factory reset doesn't consume a new upgrade because the device is still managed.

Selecting Only allow users in this organization to re-enroll existing devices (cannot enroll new or deprovisioned devices) allows users to only re-enroll devices that were wiped or factory reset, but not deprovisioned. They can’t enroll new or re-enroll deprovisioned devices (anytime an upgrade would be consumed).

Selecting Do not allow users in this organization to enroll new or re-enroll existing devices prevents users from enrolling or re-enrolling any device, which includes re-enrolling through forced re-enrollment.

Apps & extensions

The apps and extensions page centralizes all app and extension provisioning. For details, go to View and configure apps and extensions.

  • Allow and block apps
  • Force-install apps
  • Pin apps to the taskbar
The application settings page includes additional app and extension settings, For details, go toSet app and extension policies.
  • Install sources
  • Allowed app types
  • Block extensions by permission
  • Chrome Web Store homepage and permissions
Task manager

By default, Allow users to end processes with the Chrome task manager is selected.

If you select Block users from ending processes with the Chrome task manager, users can still open the task manager, but can’t use it to end a process because the End process button is dimmed.

Site isolation

Site isolation

Turns on site isolation for managed Chrome browser users on Chrome OS devices. Isolate websites and origins that you specify.

  • Turn on site isolation for all websites—Every site runs in a dedicated rendering process. All sites are isolated from each other. (Default setting if you don't specify anything)
  • Turn off site isolation for all websites, except those set below—Only the sites you specify run in a separate process. Each entry runs in a dedicated rendering process.

You can also enter a list of origins, separated by commas, to isolate them from their respective websites. For example, you could enter https://login.example.com to isolate it from the rest of the https://example.com website.

For details, see Protect your data with site isolation.

Site isolation (Chrome on Android)

Turn on site isolation for managed Chrome browser users on Android devices. Isolate websites and origins that you specify.

Note: Enabling site isolation on Android devices can reduce Chrome browser performance, so it's disabled by default on Android.

  • Allow user to choose to enable site isolation—User can choose whether to turn on site isolation.
  • Turn on site isolation for all websites—Every site runs in a dedicated rendering process. All sites are isolated from each other.
  • Turn off site isolation for all websites, except those set below—Only the sites you specify run in a separate process. Each entry runs in a dedicated rendering process.

You can also enter a list of origins, separated by commas, to isolate them from their respective websites. For example, you could enter https://login.example.com to isolate it from the rest of the https://example.com website.

Security

Open all  |  Close all

Password manager

When you select Always allow use of password manager, users can have Chrome browser remember passwords and provide them automatically the next time they sign in to a site. If you select Never allow use of password manager, users cannot save new passwords but they can still use passwords that were previously saved. Select Allow the user to decide to let users configure password manager.

Lock screen

Turns on or off the lock screen on users devices. If you select Do not allow locking screen, the system signs out the user in cases where the lock screen normally activates. Idle settings that lead to the lock screen, such as Lock screen on sleep, also sign the user out.

Quick unlock

Specifies whether users can use quick unlock modes, including PIN and fingerprint, to unlock the lock screen on their Chrome OS device.

If you choose PIN and turn off ephemeral mode, users can use their PIN instead of their Google Account password to sign in to Chrome OS devices with the Google H1 security chip. Users can create a PIN during Out Of Box Experience (OOBE) setup or in Security and Privacy settings on their device. Sometimes, users might still be prompted to enter their password. For example, if users repeatedly enter the wrong PIN or if you force users to change their password.

We recommend that you don’t let users unlock with PIN if they use shared devices.

For details, see Lock or unlock your screen.

PIN auto-submit

Allows you to enable the PIN auto-submit feature on the lock and login screen. The feature changes how PIN numbers are entered in Chrome OS. Similar to the text field that is used for password input, it shows users how many numerals are necessary to enter their PIN. Currently the range is from 6 to 12 digits.

Lock screen media playback

Specifies whether users can play media while devises are locked.

If playback is supported, when a user locks their device, they can control their media from the lock screen while media is playing. The controls display on the lock screen and allow the user to quickly skip to the next track or pause content without unlocking the device.

Idle settings

Idle time in minutes

To specify the amount of idle time before a user’s device goes to sleep or signs them out, enter a value in minutes. To use the system default, which varies by device, leave the box empty.

Action on idle

Select what you want the device to do after the idle time expires:

  • Sleep—If you want the device to go into Sleep mode
  • Logout—If you want to sign out the current user
  • Lock Screen—If you want to lock the screen on the user's device without signing them out

Action on lid close

Select if you want a user's device to go to sleep or sign them out when they close the device lid.

Lock screen on sleep

Select to lock a user’s screen when the device goes to sleep or let the user decide. If you select Allow user to configure, users configure the option in their device settings.

Incognito mode

Specifies whether users can browse in Incognito mode.

Choose Disallow incognito mode to prevent users from opening new Incognito windows. Chrome browser does not close Incognito windows that are already open or prevent users from opening new tabs in those windows.

For K-12 EDU domains, the default is Disallow incognito mode

For all other domains, the default is Allow incognito mode.

Browser history

Controls whether Chrome browser saves the user's browsing history.

Clear browser history

Specifies whether users can clear browser data, including their browsing and download history.

Note: Preventing users from clearing browser data doesn't guarantee that browser and download history is kept. For example, if a user deletes their profile, their browsing history is cleared.

Force ephemeral mode

Specifies whether users browse in Ephemeral mode or not.

Ephemeral mode lets your employees to work from their personal laptop or a shared device that they trust, while reducing the chances of any browsing information being left behind on their device.

Note: If you use this setting, we recommend that you do not disable Chrome sync in the Admin console.

Online revocation checks

If you select Perform online OCSP/CRL checks, Chrome OS devices performs online revocation checks of HTTPS certificates.

Geolocation

Sets whether websites are allowed to track the user's physical location.

In the case of Chrome browser, this policy corresponds to the user options in their Chrome settings. Tracking the physical location can be allowed by default, denied by default, or the user can be asked each time a website requests the physical location.

In the case of Android apps running on Chrome, if you select Do not allow sites to detect users' geolocation, Android apps cannot access location information. Otherwise, users are asked to consent when an Android app wants to access location information.

For Chrome OS devices with version 92 or later

Sets the frequency of forced online sign-ins on the login screen for users signing into their Chrome OS device without SAML single sign-on (SSO). 

Each time users sign out after the set frequency period, they must go through the online sign-in flow.

When users are signing in online, they use the Google identity service. By forcing users to regularly sign in, you provide additional security for organizations that require 2-Factor Authentication or Multi Factor Authentication.

Enter a value, in days:

  • 0—Users are always required to use online sign-in.
  • 1-365—After the set frequency period, users are required to use online sign-in the next time they start a session.

Left empty, users are not required to regularly use online sign-in.

For users with SAML SSO, configure the SAML single sign-on login frequency setting.

Important: This setting does not provide additional at-rest protection of user data stored on the Chrome OS devices, including authentication tokens for online services. At-rest user data encryption is based on offline authentication factors, such as password or smart card.

For Chrome OS devices with version 92 or later

Sets the frequency of forced online sign-in on the lock screen for users signing into their Chrome OS device without SAML single sign-on (SSO). 

Each time users lock their session after the set frequency period, they must go through the online sign-in flow.

When users are signing in online, they use the Google identity service. By forcing users to regularly sign in, you provide additional security for organizations that require 2-Factor Authentication or Multi Factor Authentication.

Enter a value, in days:

  • 0—Users are always required to use online sign-in on their lock screen.
  • 1-365—After the set frequency period, users are required to use online sign-in the next time they unlock their lock screen.

Left empty, users are not required to regularly use online sign-in to unlock their lock screen.

For users with SAML SSO, configure the SAML single sign-on unlock frequency setting.

Single sign-on

Allows you to enable or disable SAML-based single sign-on for Chrome OS devices.

Important: Before using this policy, review the requirements in Configure SAML single sign-on for Chrome OS devices.

Sets the frequency of forced online sign-in flows for SAML-based single sign-on (SSO) accounts on the login screen. 

Each time users sign out after the set frequency period, they must go through the online sign-in flow for SAML-based SSO accounts.

When users are signing in online, they use your configured SAML SSO service. By forcing users to regularly sign, you provide additional security for organizations that require 2-Factor Authentication or Multi Factor Authentication and confirm that the user account is still valid.

Sign-on frequency options:

  • Every day
  • Every 3 days
  • Every week
  • Every 2 weeks
  • Every 3 weeks
  • Every 4 weeks
  • Every time
  • Never

Important: Before using this policy, review the requirements in Configure SAML single sign-on for Chrome OS devices. This setting does not provide additional at-rest protection of user data stored on the Chrome OS devices, including authentication tokens for online services. At-rest user data encryption is based on offline authentication factors, such as password or smart card.

For users without SAML SSO, configure the Google online login frequency setting.

For Chrome OS devices with version 92 or later

Sets the frequency of forced online sign-in for users with SAML on their lock screen. 

Each time users lock their session after the set frequency period, they must go through the online sign-in flow.

When users are signing in online, they use your configured SAML SSO service. By forcing users to regularly sign, you provide additional security for organizations that require 2-Factor Authentication or Multi Factor Authentication and confirm that the user account is still valid.

Enter a value, in days:

  • 0—Users are always required to use online sign-in on their lock screen.
  • 1-365—After the set frequency period, users are required to use online sign-in the next time they unlock their lock screen.

Left empty, users are not required to regularly use online sign-in to unlock their lock screen.

For users with SAML SSO, configure the Google online unlock frequency setting.

RC4 cipher suite in TLS

Allows you to temporarily enable or disable Rivest Cipher 4 (RC4) cipher suite in TLS if certain legacy servers need it.

Note: RC4 is not secure. We recommend that you reconfigure servers to support AES encryption.

Local trust anchor certificates

Local anchors common name fallback

Controls whether to allow or block certificates issued by local trust anchors that are missing the subjectAlternativeName extension. If Allow is selected, Chrome browser will use the commonName of a server certificate to match a host name if the certificate is missing a subjectAlternativeName extension, as long as it successfully validates and chains to a locally-installed CA certificate.

Note: Selecting Allow is not recommended—It might allow bypassing the nameConstraints extension that restricts the host names for a given authorized certificate.

Symantec Corporation's legacy PKI infrastructure

Allows certificates issued by Symantec Corporation's Legacy PKI operations to be trusted if they otherwise successfully validate and chain to a recognized CA certificate. For non-Chrome OS systems, this policy depends on the operating system still recognizing certificates from Symantec's legacy infrastructure. If an OS update changes the OS handling of certificates, this policy no longer has an effect. This policy is intended as a temporary workaround to give enterprises more time to transition away from legacy Symantec certificates.

Allowed certificate transparency URLs

Specifies URLs where certificate-transparency requirements are not enforced on certificates. In turn, Chrome browser can use certificates that were issued by the Certificate Authority (CA) and not publicly disclosed. If the CA issues illegitimate certificates for a specified URL, they might not be detected.

Only the host name portion of the URL is matched. Wildcard host names are not supported. For URL syntax, see Allow or block websites—URL filter format.

Certificate transparency CA allowlist

If a certificate chain contains certificates with a specified subjectPublicKeyInfo hash, certificate transparency requirements are not enforced on certificates. Therefore, Chrome browser can use certificates that were issued by the Certificate Authority (CA) to an organization but were not publicly disclosed.

For details on specifying a subjectPublicKeyInfo hash, see the CertificateTransparencyEnforcementDisabledForCas policy.

Certificate transparency legacy CA allowlist

If a certificate chain contains certificates issued by a legacy Certificate Authority (CA) with a specified subjectPublicKeyInfo hash, certificate transparency requirements are not enforced on certificates. Legacy CAs are trusted by some operating systems that run Chrome browser, but not Chrome OS or Android. Chrome browser can use certificates that were issued to an organization but were not publicly disclosed.

For details on specifying subjectPublicKeyInfo hashes, see the CertificateTransparencyEnforcementDisabledForLegacyCas policy.

User management of installed CA certificates

Controls whether users can import, edit, and remove Certificate Authority (CA) certificates using Certificate Manager. Choose an option:

  • Allow users to manage all certificates—This is the default. Users can edit trust settings for all CA certificates, remove user-imported certificates, and import certificates.
  • Allow users to manage user certificates—Users can manage only user-imported certificates, but they can’t change trust settings for built-in certificates.
  • Disallow users from managing certificates—Users can view CA certificates, but they can’t manage them.
User management of installed client certificates.

Controls whether users can manage client certificates. Choose an option:

  • Allow users to manage all certificates—This is the default. Users can manage all certificates.
  • Allow users to manage user certificates—Users can manage only user certificates, not device-wide certificates.
  • Disallow users from managing certificates—Users can view certificates, but they can’t manage them.
CPU task scheduler

Specifies whether Intel Hyper-Threading Technology is optimized for stability or performance. Hyper-Threading Technology uses processor resources more efficiently and increases processor throughput.

Enable renderer code integrity

By default, Renderer code integrity enabled is selected. Chrome browser prevents unknown and potentially hostile code from loading inside Chrome browser renderer processes.

Unless you have compatibility issues with third-party software that must run inside Chrome browser renderer processes, we do not recommend turning off this setting. If you select Renderer code integrity disabled, Chrome Browser security and stability might be impacted.

Enable leak detection for entered credentials

Controls whether Chrome checks for leaked usernames and passwords.

This setting has no effect if Safe Browsing is not turned on. To make sure that Safe Browsing is turned on and users can’t change it, set the Safe Browsing setting to Always enable Safe Browsing. For details, see Safe Browsing.

Ambient authentication

This policy is supported on Chrome 80+. In Chrome 80 and earlier versions, when no policy is set, ambient authentication is enabled in all sessions (regular, incognito and guest). In Chrome 81 and newer versions, when no policy is set, ambient authentication is enabled in regular sessions only.

Ambient authentication (NTLM/Kerberos) is disabled by default in Incognito mode and guest sessions in Chrome 81.

Chrome cleanup

Specifies whether the Chrome Cleanup tool can periodically scan the system for unwanted software.

The Chrome Cleanup tool removes harmful malware and reverts any hijacked settings. If something suspicious is discovered, the user is given the option to remove it.

If Allow Chrome Cleanup to periodically scan the system and allow manual scans is selected, you can specify whether to share the results from Chrome Cleanup with Google. Choose an option:

  • User may choose to share results from a Chrome Cleanup cleanup run with Google
  • Results from a Chrome Cleanup cleanup are never shared with Google
  • Results from a Chrome Cleanup cleanup are always shared with Google

Users can also manually trigger Chrome Cleanup from chrome://settings if they experience issues such as:

  • Excessive pop-up ads and unexpected web pages
  • Search engine or homepage redirecting to unrecognized services or sites

If you select Prevent Chrome Cleanup from periodical scans and disallow manual scans, Chrome Cleanup does not periodically scan and users cannot manually trigger a cleanup.

On Microsoft Windows, Chrome Cleanup is only available if Chrome browser is:

  • Joined to a Microsoft Active Directory domain
  • Running on Windows 10 Pro
  • Enrolled in Chrome Browser Cloud Management
Third party code

Specifies whether third-party software can inject executable code into Chrome's processes.

If you select Prevent third party code from being injected into Chrome, third-party software cannot inject executable code into Chrome's processes.

For devices joined to a Microsoft Active Directory domain, Chrome browser does not block third-party software from injecting executable code into its processes regardless of the policy setting.

Audio sandbox

Specifies whether the audio process is sandboxed by isolating it from critical system resources and other programs. Sandboxing this process can increase system security.

A sandbox restricts the resources available to the audio process to what it needs.

The default is Use the default configuration for the audio sandbox and that might differ per platform. If you use security software setups that interfere with the sandbox, select Never sandbox the audio process.

Unsupported system warning

Allows or blocks the warning that appears to users who are running Chrome on an unsupported computer or operating system.

Advanced Protection program

By default, Users enrolled in the Advanced Protection program will receive extra precaution is selected.

You can control whether users enrolled in the Advanced Protection program will be protected from online attacks like unauthorized access to your account or harmful downloads. Some of these features might involve sharing data with Google. For example, Advanced Protection users can send their downloads to Google for a more stringent malware scan before downloading.

Select Users enrolled in the Advanced Protection program will only receive standard consumer protections to prevent extra protections for users enrolled in the Advanced Protection program.

Override insecure origin restrictions

Specifies origins (URLs) or hostname patterns for which restrictions on insecure origins do not apply. It also prevents the URL from being labeled Not Secure in the address bar.

You can specify URLs for legacy applications that can't deploy Transport Layer Security (TLS) or set up a staging server for internal web development. Developers can then test features requiring secure contexts without having to deploy TLS on the staging server.

Specifying a list of URLs in this setting is the same as setting the command-line unsafely-treat-insecure-origin-as-secure to a comma-separated list of the same URLs.

For more details on secure contexts, see Secure Contexts.

Command-line flags

Controls whether users see security warnings when Chrome launches with potentially dangerous command-line flags.

For Microsoft Windows, machines need to be joined to a Microsoft Active Directory domain, running on Windows 10 Pro, or enrolled in Chrome Browser Cloud Management.

For macOS, machines need to be managed using MDM or joined to a domain with MCX.

Popup interactions

Specifies whether popups opened with a target of _blank are allowed to interact with the page that opened the popup.

  • Block popups opened with a target of _blank from interacting with the page that opened the popup—Only popups opened with a target of _blank are allowed to interact with the page that opened the popup if the opener page explicitly opts-in to the interaction.
  • Allow popups opened with a target of _blank to interact with the page that opened the popup—All popups opened with a target of _blank are allowed to interact with the page that requested to open the popup unless the opener page explicitly opts-out of the interaction.
Security token removal

Specifies what action is taken if a user removes their security token. Currently, this setting only impacts user sessions when you configure sign in using smart cards. For details, see Set up sign in using smart cards on managed Chrome OS devices.

The options are:

  • Nothing—No action is taken.
  • Log the user out—The user is signed out of their session and must sign back in again.
  • Lock the current session—The user's session is locked until they re-authenticate using their security token.

If you select Log the user out or Lock the current session, the Removal notification duration (seconds) field is displayed. You can enter the number of seconds that the notification, informing the user of the impending action, is displayed. The action is then carried out after this notification expires if the user does not re-insert their security token. If you enter 0, no notification is displayed and the action is carried out immediately.

System notifications

Linux only

By default, Allow system notifications to be used is selected. So, Chrome browser on Linux is allowed to use system notifications.

Select Do not allow system notifications to be used to prevent Chrome browser from using system notifications. Instead, the browser uses Chrome’s message center.

3DES cipher suites in TLS

Transport Layer Security (TLS) versions 1.0 (RFC 2246) and 1.1 (RFC 4346) include cipher suites based on the 3DES (Triple Data Encryption Standard) algorithm. Cipher suites are sets of instructions on how to secure a network through TLS and they provide essential information on how to communicate secure data when using HTTPS, FTPS, SMTP, and other network protocols.

3DES only provides an effective security of 112 bits. You can use this policy to temporarily retain compatibility with an outdated server by enabling 3DES cipher suites in TLS. This is a stopgap measure only and the server must be reconfigured.

The default is Use the default setting for 3DES cipher suites in TLS.

Remote access

Remote access clients

Configures the required domain name for remote access clients and prevents users from changing the setting. Only clients from the specified domain can connect to the host device. Left blank, the host allows connections from authorized users from any domain.

Firewall traversal

You can enable the use of Session Traversal Utilities for NAT (STUN) and Relay (TURN) servers when remote clients are trying to establish a connection to the user’s device.

If you select Enable firewall traversal, remote clients can discover and connect to the user’s device even if they are separated by a firewall. The use of relay servers is enabled by default but you can choose to disable them. Relay servers allow a connection to other peers and transfer data without the need for a direct connection when a firewall is in place. To restrict the UDP port range used by the remote access host in the user’s device, in the UDP port range field, enter the range from minimum to maximum. Left blank, any port can be used.

If you select Disable firewall traversal and outgoing UDP connections are filtered by the firewall, the user’s device only allows connections with client machines within the local network.

Session settings

Show logout button in tray

Select Show logout button in tray to show the sign out button explicitly in the shelf. This setting is useful for users who might need to quickly sign out of a Chrome OS device.

Kerberos

Open all  |  Close all

Kerberos tickets

Select Enable Kerberos to use Kerberos tickets on Chrome OS devices to enable single sign-on (SSO) for internal resources that support Kerberos authentication. Internal resources might include websites, file shares, certificates, and so on. For details, go to Configure Kerberos single sign-on for Chrome OS devices.

Remember Kerberos passwords

Specifies whether users can allow Chrome to remember Kerberos passwords, so that they don’t have to enter them again. By default, Allow users to remember Kerberos passwords is selected. Chrome automatically fetches Kerberos tickets unless additional authentication, such as 2-Factor Authentication is required.

Choose Do not allow users to remember Kerberos passwords to never let Chrome remember passwords and remove all previously stored passwords. Users have to enter their password every time they need to authenticate with the Kerberos system.

Kerberos accounts

Determines whether users can add Kerberos accounts. By default, Allow users to add Kerberos accounts is selected. Users have full control over the accounts that they add. So, they can modify or remove them.

Selecting Do not allow users to add Kerberos accounts allows you to add accounts only using policy.

Network

Open all  |  Close all

Proxy mode

Specifies how Chrome OS connects to the internet.

If you leave the setting at its default Allow user to configure, a direct connection is the default configuration for Chrome OS devices and users can change the proxy configuration in their Chrome settings. If you choose any of the other Proxy mode options, users can't change the configuration.

  • Never use a proxy—Chrome OS devices always establish a direct connection to the internet without passing through a proxy server.
  • Always auto detect the proxy—Instructs Chrome OS devices to determine which proxy server to connect to using the Web Proxy Autodiscovery Protocol (WPAD).
  • Always use the proxy specified below—Sets a specific proxy server for handling requests from users. You'll need to enter the URL of the proxy server in the Proxy server URL field that appears. Format the Proxy Server URL as IP address:port, such as 192.168.1.1:3128.
    If there are any URLs that should bypass the proxy server that handles other user requests, enter them in the URLs which bypass the proxy, one per line ;field. If you include multiple URLs, separate them by putting one URL per line.
  • Always use the proxy auto-config specified below—Inserts the URL of the .pac file that should be used for network connections for the Proxy Server Auto Configuration File URL.

How Chrome OS handles bad proxies

PROXY (foo) is how one names a proxy server in Proxy autoconfiguration scripts. If your first proxy doesn’t work, Chrome will try the second, marking the first as a bad proxy.

Currently, when applying a proxy list resolved through PAC, Chrome can rearrange the proxy choices based on the past availability of the proxy. For instance, when applying "PROXY foo1; PROXY foo2;" Chrome might start by trying foo2 if foo1 timed out the last time it was tried (within the past 5 minutes).

If foo2 succeeds, then Chrome will mark foo1 as a bad proxy and redo the priority of the proxy list by putting foo2 first for every other subsequent request.

For Chrome OS devices, the management URLs require a direct path to the internet. Filtering through proxy can cause unexpected functionality.

Android apps running on Chrome OS

If you have enabled Android Apps on supported Chrome OS devices, a subset of proxy settings is made available to Android apps, which they might voluntarily choose to honor. Typically, apps using Android System WebView or the in-built network stack will do so). If you choose:

  • Never use a proxy server—Android apps are informed that no proxy is configured.
  • Use system proxy settings or fixed server proxy—Android apps are provided with the http proxy server address and port.
  • Auto detect proxy server—The script URL "http://wpad/wpad.dat" is provided to Android apps. No other part of the proxy autodetection protocol is used.
  • .pac proxy script—The script URL is provided to Android apps.
Ignore proxy on captive portals

Specifies whether Chrome OS can bypass a configured proxy server for captive portal authentication. For example, captive portal pages such as landing or sign-in pages where users are prompted to accept terms or sign in before Chrome detects a successful internet connection.

A configured proxy server can be set:

  • In the Admin console using the Proxy mode setting
  • By users on their Chrome OS device in chrome://settings
  • By apps or extensions that are allowed to set or modify a proxy

When you set this policy to Ignore policies for captive portal pages, Chrome opens captive portal pages in a new window and ignores all settings and restrictions that are configured for the current user. When you set it to Keep policies for captive portal pages, Chrome opens captive portal pages in a new browser tab and applies the current user’s policies and restrictions.

Supported authentication schemes

Specifies which HTTP authentication schemes are supported. When a server or proxy accepts multiple authentication schemes, the supported authentication scheme with the highest security is selected. You can override the default behavior by disabling specific authentication schemes.

  • Basic—Most insecure method with authentication handled without any encryption.
  • Digest—A challenge-response scheme that is more secure than basic authentication.
  • NTLM—(NT LAN Manager) A more advanced challenge-response scheme that is more secure than digest.
  • Negotiate—The most secure option. We recommend this option if available. Otherwise, we recommend NTLM.
Allow Basic authentication for HTTP

By default, Chrome browser allows Basic authentication challenges over non-secure HTTP connections. If you select HTTPS is required to use Basic authentication scheme, Chrome browser allows Basic authentication challenges over HTTPS only.

Note: If Basic is not specified under Supported authentication schemes, this setting is ignored.

NTLMv2 authentication

By default, NTLMv2 authentication is turned on. Unless you have backward compatibility issues, we do not recommend turning off this setting. Selecting Disable NTLMv2 authentication reduces the security of authentication.

SSL record splitting

Only supported on Chrome OS devices

Selecting Enable SSL record splitting allows SSL record splitting in Chrome. Record splitting is a workaround for a weakness in SSL 3.0 and TLS 1.0 but can cause compatibility issues with some HTTPS servers and proxies.

Minimum SSL version enabled

Specifies the minimum version of Transport Layer Security (TLS) allowed for your users.

SSL error override

Specifies whether users can bypass SSL warnings and proceed to the page.

SSL error override allowed domains

Allows you to enter the list of domain names where a user can bypass SSL warnings. Users can bypass SSL warnings only on origin domains that are on this list.

Enter a list of URL values, one per line. For example:

https://www.example.com
[*.]example.edu

 

For details, see Enterprise policy URL pattern format.

Note: If SSL error override is enabled, this policy is ignored.

Data compression proxy

Reduces cellular data usage and speeds up mobile web browsing by using proxy servers hosted at Google to optimize website content.

You can choose to Always enable data compression proxy or Always disable data compression proxy. The default setting is Allow the user to decide.

WebRTC UDP Ports

Allows you to specify a UDP port range to use for WebRTC connections from the user. The port range is 1024–65535 and the maximum should be greater than or equal to the minimum.

WebRTC ICE candidate URLs for local IPs

Allows you to add URLs for Web Real-Time Communication Interactive Connectivity Establishment (WebRTC ICE) candidates for local IPs.

Google services call the Chrome API to collect the WebRTC events for customers who have opted in. WebRTC transports data over User Datagram Protocol (UDP).

You must put each URL in a new line. The wildcard character * is allowed.

Patterns you add to this list are matched against the security origin of the requesting URL. If a match is found, the local IP addresses are shown in WebRTC ICE candidates. Otherwise, local IP addresses are concealed with mDNS hostnames.

QUIC protocol

Allows the Quick UDP Internet Connections (QUIC) protocol to be used in Chrome. QUIC is a transport protocol that reduces latency compared to Transmission Control Protocol (TCP). For details, see Chromium.

WebRTC IP handling

Determines which IP addresses and interfaces WebRTC uses when attempting to find the best available connection. See details about specific modes of WebRTC behavior.

Choose one of the options:

  • WebRTC will use all available interfaces when searching for the best path—This is the default.
  • WebRTC will only use the interface connecting to the public Internet, but may connect using private IP addresses
  • WebRTC will only use the interface connecting to the public Internet, and will not connect using private IP addresses
  • WebRTC will use TCP on the public-facing interface, and will only use UDP if supported by a configured proxy
DNS-over-HTTPS

Controls the default mode of the remote Domain Name System (DNS) resolution via the HTTPS protocol for each query. DNS-over-HTTPS (DoH) helps to improve safety and privacy while users are browsing the web. For example, attackers are prevented from observing what sites you visit or sending you to phishing websites.

Choose an option:

  • Disable DNS-over-HTTPS—Chrome never sends DoH queries to DNS servers.
  • Enable DNS-over-HTTPS with insecure fallback—If a DNS server that supports DoH is available, Chrome first sends a DNS-over-HTTPS query. If an error is received or a server that supports DoH isn’t available, Chrome just sends a DNS query to the server instead.
  • Enable DNS-over-HTTPS without insecure fallback—Chrome sends DoH queries only to DNS servers.

If you enable DoH, you can add a list of the URI templates of DoH resolvers that you want to make available to your users.

The default setting is Enable DNS-over-HTTPS with insecure fallback. However, sometimes it reverts to Disable DNS-over-HTTPS and users can’t change it. This happens if Chrome detects parental controls or enterprise policies. Chrome detects enterprise policies if:

  • You manage Chrome browser on domain-joined computers.
  • You have set at least one active policy for Chrome browser.
Built-in DNS client

Specifies whether the built-in DNS client is used in Chrome browser.

The built-in DNS client is enabled by default on macOS, Android and ChromeOS and users can change the setting.

This policy has no effect on DNS-over-HTTPS. To change the DNS-over-HTTPS behavior, see the DNS-over-HTTPS setting.

CORS legacy mode

Cross-Origin Resource Sharing (CORS) lets users access other domains’ resources while protecting your organization from unexpected cross-origin network access.

For Chrome browser and devices running Chrome OS version 79 and later, the new CORS implementation, Out-Of-Renderer CORS, carries out CORS inspections on network requests, including Chrome extensions. Out-Of-Renderer CORS is more strict and secure than previous CORS implementations. For example, modified request HTTP headers that were previously ignored by the CORS protocol are inspected by the Out-Of-Renderer CORS protocol.

Specifies whether Chrome browser can use the legacy CORS protocol, which is less secure and strict than Out-Of-Renderer CORS.

CORS mitigations

Cross-Origin Resource Sharing (CORS) lets users access other domains’ resources while protecting your organization from unexpected cross-origin network access.

For Chrome browser and devices running Chrome OS version 79 and later, the new CORS implementation, Out-Of-Renderer CORS, carries out CORS inspections on network requests, including Chrome extensions. Out-Of-Renderer CORS is more strict and secure than previous CORS implementations. For example, modified request HTTP headers that were previously ignored by the CORS protocol are inspected by the Out-Of-Renderer CORS protocol.

To make Chrome extensions and specific HTTP headers exempt from CORS inspection, select Enable mitigations.

Always on VPN

Specifies the Android VPN app that handles Android and Chrome OS user traffic as soon as users start their devices. For security reasons, virtual private networks (VPNs) don’t apply to system traffic, such as OS and policy updates. If the VPN connection fails, all user traffic is blocked until the VPN connection is re-established. Choose from the list of Android VPN apps that are automatically installed on users’ devices.

Select Do not allow user to disconnect from a VPN manually to prevent users from manually disconnecting from the VPN.

For details, read Set up virtual private networks (Android VPN app).

Integrated authentication servers

Specifies which servers are allowed for Integrated Windows Authentication (IWA). When Chrome gets an authentication challenge from a proxy or from a server that is part of this allowed list, integrated authentication is then turned on.

You must separate multiple server names with commas. Wildcards * and , are allowed.

Left blank, Chrome tries to detect if a server is on the intranet. If it is, Chrome will respond to IWA requests. If Chrome detects that a server is on the internet, IWA requests from it are ignored.

Kerberos delegation servers

Specifies which servers Chrome can delegate to for Integrated Windows Authentication (IWA).

You must separate multiple server names with commas. Wildcards * and , are allowed.

Left blank, Chrome doesn't delegate user credentials, even if a server is detected as on the intranet.

Kerberos ticket delegation

Specifies whether to respect Key Distribution Center (KDC) policy to delegate Kerberos tickets.

Kerberos service principal name

Specifies the source of the name used to generate the Kerberos service principal name (SPN).

Kerberos SPN port

Specifies whether the generated Kerberos service principal name (SPN) includes a non-standard port.

Cross-origin authentication

Specifies whether third-party sub-content on a page is allowed to pop up an HTTP basic authentication dialog box.

SharedArrayBuffer

Specifies whether websites that are not cross-origin isolated can use SharedArrayBuffers. Chrome version 91 and later requires cross-origin isolation when using SharedArrayBuffers for Web Compatibility reasons.

For details, see SharedArrayBuffer updates.

Default referrer policy

Specifies the Chrome default referrer policy. A referrer policy controls how much referrer information is included with network requests.

If you select Use Chrome’s default referrer policy, the strict-origin-when-cross-origin policy is used. This policy:

  • sends the origin, path, and querystring when performing a same-origin request
  • only sends the origin when the protocol security level stays the same while performing a cross-origin request, HTTPS to HTTPS
  • sends no header to less secure destinations, HTTPS to HTTP

If you select Set Chrome’s default referrer policy to the legacy referrer policy, the legacy no-referrer-when-downgrade policy is used for network requests. This policy:

  • sends the origin, path, and querystring of the URL as a referrer when the protocol security level stays the same, HTTP to HTTP or HTTPS to HTTPS, or improves HTTP to HTTPS
  • sends no header to less secure destinations, HTTPS to HTTP
User-Agent client hints

Specifies whether the Chrome browser can actively make requests that include information about the user's browser and environment. Servers can then enable analytics and customize the response. By default, Allow User-Agent client hints is selected.

These granular request headers might break some websites that restrict the characters included in some requests.

Signed HTTP Exchange (SXG)

By default, Accept web contents served as Signed HTTP Exchanges is selected to safely make content portable or available for redistribution by other parties, while keeping the content’s integrity and attribution.

Globally scoped HTTP authentication cache

Configures a single global per profile cache with HTTP server authentication credentials.

  • (Default) HTTP authentication credentials are scoped to top-level sites—For version 80 and later, Chrome scopes HTTP server authentication credentials by top-level site. If two sites use resources from the same authenticating domain, credentials need to be provided independently in the context of both sites and cached proxy credentials are reused across sites.
  • HTTP authentication credentials entered in the context of one site will automatically be used in the context of another—This can leave sites open to some types of cross-site attacks. It also allows users to be tracked across sites, even without cookies, by adding entries to the HTTP authentication cache using credentials embedded in URLs.

This policy is intended to give organizations depending on the legacy behavior a chance to update their sign-in procedures, and will be removed in the future.

Require online OCSP/CRL checks for local trust anchors

Specifies whether Chrome always performs revocation checks for successfully validated server certificates signed by locally installed CA certificates. If Chrome can't get any revocation status information, it treats these certificates as revoked.

The default is Use existing online revocation-checking settings.

Max connections per proxy

Some proxy servers can't handle a high number of concurrent connections per client. Specify the maximum number of concurrent connections to the proxy server. The value should be lower than 100 but higher than 6. Some web apps are known to consume many connections with hanging GETs. The default value is 32. Setting a value below 32 might cause the browser network to freeze if there are too many web apps already open with hanging connections.

GSSAPI library name

Specifies which GSSAPI (Generic Security Service Application Program Interface) library Chrome should use for HTTP authentication. Set the policy to either a library name or a full path such as GSSAPILibraryName or libgssapi_krb5.so.2. Left blank, Chrome uses a default library name.

HSTS policy bypass list

Specifies a list of hostnames that bypass the HTTP Strict Transport Security (HSTS) policy check. The HSTS policy forces web browsers to interact with websites only via secure HTTPS connections and never HTTP connections.

Only enter single-label hostnames; one per line. Hostnames must be canonicalized, any IDNs must be converted to their A-label format, and all ASCII letters must be lowercase. This policy only applies to the hostnames specified, and not to subdomains of those hostnames.

Specifies the type of accounts that are provided by the Android authentication app which supports HTTP Negotiate authentication. Authentication apps generate security codes for signing into sites that require a high level of security. For example, Kerberos authentication. This information should be provided by the supplier of the authentication app. For details, see The Chromium Projects.

DNS interception checks enabled

By default, Perform DNS interception checks is selected. DNS interception checks perform a check on the browser to see if it is behind a proxy that redirects unknown host names.

Intranet Redirection Behavior

When users enter a single word in the Chrome address bar and press Enter, Chrome sends a search to the default search provider. If the single word matches the name of an intranet host, users might have intended to navigate to it instead.

When intranet redirection is allowed, Chrome issues a DNS request for single-word hostnames and then shows users an infobar asking them if they want to go to the site if it is resolvable. For example, calendar matches intranet host http://calendar/. Users who enter calendar in the search bar are asked Did you mean to go to http://calendar/?.

Using intranet redirection, Chrome ensures that DNS interception is not occurring. DNS interception means every single DNS request for any single-word host is resolvable even if no actual host exists.

If your network environment resolves every DNS request for a single-word host, you should allow DNS interception checks. That way, the infobar isn’t shown after each single-word search.

Choose one of the options:

  • Use default browser behavior—(Default) For Chrome version 88 or later, DNS interception checks and intranet redirect suggestions are enabled by default. However, they will be disabled by default in a future release.
  • Disable DNS interception checks and did-you-mean “http://intranetsite/” infobars
  • Disable DNS interception checks; allow did-you-mean “http://intranetsite/” infobars
  • Allow DNS interception checks and did-you-mean “http://intranetsite/” infobars

You can also use the DNS interception checks enabled setting to disable DNS interception checks. However, the Intranet Redirection Behavior is more flexible because it lets you separately control intranet redirection infobars.

Legacy TLS/DTLS downgrade in WebRTC

This policy is temporary and will be removed in a future version of Chrome. It is supported on Chrome browser (Linux, Mac, Windows) and Chrome OS since version 87.

Allows legacy TLS (Transport Layer Security) and Datagram Transport Layer Security (DTLS) downgrades in Web Real-Time Communications (WebRTC).

By default, Disable WebRTC peer connections downgrading to obsolete versions of the TLS/DTLS (DTLS 1.0, TLS 1.0 and TLS 1.1) protocols is selected. So, these TLS/DTLS versions are disabled.

WPAD optimization

Turn on or off WPAD (Web Proxy Auto-Discovery) optimization in Chrome.

WPAD allows a client, such as Chrome browser, to automatically locate and interface with cache services in a network. Information can then be delivered more quickly to the user.

The default is Enable Web Proxy Auto-Discovery (WPAD) optimization. If you select Disable Web Proxy Auto-Discovery (WPAD) optimization, Chrome must wait longer for DNS-based WPAD servers.

Users cannot change the WPAD optimization setting.

Login credentials for network authentication

For devices running Chrome OS version 89 or later.

Specifies whether usernames and passwords are used to authenticate to a managed proxy secured with NTLM authentication.

If you choose Use login credentials for network authentication to a managed proxy case, and authentication fails, users are prompted to enter their username and password.

Allowed network ports

Permits bypassing the list of restricted ports built into Google Chrome by selecting one or more ports that outgoing connections are permitted on.

Ports are restricted to prevent Google Chrome being used as a vector to exploit network vulnerabilities. Setting this policy can expose your network to attacks. This policy is intended as a temporary workaround for errors with code ERR_UNSAFE_PORT when migrating a service running on a blocked port to a standard port such as port 80 or 443.

If you do not not set this policy, all restricted ports are blocked. If there are both valid and invalid values selected, the valid ones values are applied.

This policy overrides the --explicitly-allowed-ports command-line option.

CECPQ2 post-quantum key-agreement for TLS

Specifies if Chrome follows the default rollout process for Combined Elliptic-Curve and Post-Quantum 2 (CECPQ2), a post-quantum key-agreement algorithm in Transport Layer Security (TLS).

CECPQ2 helps evaluate the performance of post quantum key-exchange algorithms on users' devices.

CECPQ2 results in larger TLS messages which, in very rare cases, can trigger bugs in some networking hardware. You can disable CECPQ2 while networking issues are being resolved.

Android applications

Open all  |  Close all

Control Android backup and restore service

Allows users to back up content, data, and settings from Android apps to their Google Account. When users sign in to another Chrome OS device, they can restore their Android app data.

Google location services

Sets whether Android apps are allowed to track the user's physical location.

You can set to:

  • Disable location services for Android apps in Chrome OS—Android apps cannot access location information.
  • Allow the user to decide whether an Android app in Chrome OS can use location services—User is asked to consent when an Android app wants to access location information.

Deprecated. Chrome version 75 and earlier.

By default, users can add a secondary account (for example, their personal Gmail account) to get access to more Android apps than just the ones you explicitly approved for managed Google Play. To stop users from adding a second Google Account, check the Google account box.

Certificate Synchronization

By default, Chrome OS Certificate Authority (CA) certificates are not synchronized to Android apps. To make them available to Android apps, select Enable usage of Chrome OS CA certificates in Android apps.

Startup

Open all  |  Close all

Home button

Specifies whether the Home button appears on the toolbar. For Chrome, this policy corresponds to the user setting Show Home button in their Chrome Settings. 

Homepage

Controls what users see when they click the Home button on the toolbar. You can select Allow user to configure (default), Homepage is always the new tab page, or Homepage is always the URL set below.

To set a URL, you enter the URL in the box.

New tab page

Allows you to specify a URL for the New Tab page and prevent users from changing it. If this policy is left empty, the Browser’s default page will be used.

Pages to load on startup

Allows you to specify additional page URLs that should load when users start their Chrome devices. The pages you list here appear on additional tabs.

Default browser check

If you are a Microsoft Windows administrator, turning this setting on only works for machines running Windows 7. For later versions, see Make Chrome default browser (Windows 10).

Specifies the default browser checks in Chrome.

  • Allow the user to decide (default)—Users can select Chrome browser as the default browser. If it is not the default browser, users can choose whether notifications are shown asking them to select Chrome browser as the default browser.
  • Attempt to register Chrome as the default browser during startup if it is not already—Chrome browser always checks if it's the default browser on device startup and, if possible, automatically registers itself.
  • Prevent Chrome from checking if it is the default browser during startup if it is not already and turn off user controls to make it the default browser—Chrome browser never checks if it's the default browser and prevents users from making it the default browser.
Profile picker availability on browser startup

Specifies whether the profile picker is enabled, disabled or forced on browser startup.

By default, the profile picker is not shown where:

  • the browser starts in guest or incognito mode
  • a profile directory or URLs are specified by command line
  • an app is explicitly requested to open
  • the browser was launched by a native notification
  • there is only one profile available
  • or where the ForceBrowserSignin policy is set to true

If you select Allow the user to decide, the profile picker is shown at startup by default, but users can disable it.

If you select Do not show profile picker at browser startup, the profile picker is never shown, and users cannot change the setting.

If you select Always show profile picker at browser startup, the profile picker is always shown, even if there is only one profile available.

Import autofill data

Lets users import autofill form data from the default browser to Chrome browser on first run. Choose an option:

  • Enable imports of autofill data—Automatically imports autofill form data. Users can reimport later.
  • Disable imports of autofill data—Autofill form data isn't imported on first run, and users can't manually import it.
  • Allow the user to decide—Users can choose whether to manually import autofill form data.
Import bookmarks

Lets users import bookmarks from the default browser to Chrome browser on first run. Choose an option:

  • Enable imports of bookmarks—Automatically imports bookmarks. Users can reimport later.
  • Disable imports of bookmarks—Bookmarks aren't imported on first run, and users can't manually import them.
  • Allow the user to decide—Users can choose whether to manually import bookmarks.
Import browsing history

Lets users import browsing history from the default browser to Chrome browser on first run. Choose an option:

  • Enable imports of browsing history—Automatically imports browsing history. Users can reimport later.
  • Disable imports of browsing history—Browsing history isn't imported on first run, and users can't manually import it.
  • Allow the user to decide—Users can choose whether to manually import browsing history.
Import homepage

Lets users import homepage settings from the default browser to Chrome browser on first run. Choose an option:

  • Enable imports of homepage—Automatically imports homepage settings. Users can reimport later.
  • Disable imports of homepage—Homepage settings aren't imported on first run, and users can't import manually them.
  • Allow the user to decide—Users can choose whether to manually import homepage settings.
Import saved passwords

Lets users import saved passwords from the default browser to Chrome browser on first run. Choose an option:

  • Enable imports of saved passwords—Automatically imports saved passwords. Users can reimport later.
  • Disable imports of saved passwords—Saved passwords aren't imported on first run, and users can't manually import them.
  • Allow the user to decide—Users can choose whether to manually import saved passwords.
Import search engines

Lets users import search engine settings from the default browser to Chrome browser on first run. Choose an option:

  • Enable imports of search engines—Automatically imports search engine settings. Users can reimport later.
  • Disable imports of search engines—Search engines settings aren't imported on first run, and users can't manually import them.
  • Allow the user to decide—Users can choose whether to manually import search engine settings.

Content

Open all  |  Close all

SafeSearch and Restricted Mode

SafeSearch for Google Search queries

Allows you to turn on or off SafeSearch, which filters explicit content, like pornography, in user search results. You can select:

  • Do not enforce SafeSearch for Google Web Search queries
  • Always use SafeSearch for Google Web Search queries—Users must use SafeSearch.

For K-12 EDU domains, the default is Always use Safe Search for Google Web Search queries

For all other domains, the default is Do not enforce Safe Search for Google Web Search queries.

For more details, see Lock SafeSearch for devices & networks you manage.

Restricted Mode for YouTube

Before you set restrictions on YouTube, we recommend updating to the latest stable version of Chrome.

  • Do not enforce Restricted Mode on YouTube (default).
  • Enforce at least Moderate Restricted Mode on YouTube—Forces users to use Restricted mode. The mode algorithmically limits which videos are viewable based on their content.

  • Enforce Strict Restricted Mode for YouTube—Forces users to use Strict Restricted mode to further limit available videos.

For details on restriction levels, see Manage your organization's YouTube settings.

Screenshot

Controls whether users in your organization can take screenshots on Chrome OS devices. The policy applies to screenshots taken by any means, including the keyboard shortcut and apps and extensions that use the Chrome API to capture screenshots.

If you enable Android apps on supported Chrome OS devices in your organization, screenshot policies also apply to those devices.

Screen video capture

Controls whether webpages are allowed to prompt users to live stream a tab, window, or their entire screen.

Client certificates

Allows you to specify a list of URL patterns (as a JSON string) for which sites Chrome automatically selects for client certificates. If set, Chrome skips the client certificate selection prompt for matching sites if a valid client certificate is installed. If this policy is not set, auto-selection won’t be done for websites that request certificates.

The ISSUER/CN parameter specifies the common name of the certification authority that client certificates must have as their issuer to be autoselected.

How to format the JSON string:

{"pattern":"https://www.example.com","filter":{"ISSUER":{"CN":"certificate issuer name"}}}

Example JSON string:

{"pattern": "https://[*.]ext.example.com", "filter": {}},
{"pattern": "https://[*.]corp.example.com", "filter": {}},
{"pattern": "https://[*.]intranet.usercontent.com", "filter": {}}

Security key attestation

Specifies URLs and domains for which no prompt is shown when the device requests attestation certificates from security keys.

3D content

Controls whether Chrome browser allows webpages to use the Web-based Graphics Library (WebGL) API and plugins. WebGL is a software library that enables JavaScript to allow it to generate interactive 3D graphics.

Cookies

Default cookie setting

Sets whether websites are allowed to store browsing information, such as your site preferences or profile information.

This setting corresponds to a user’s cookie options in Chrome Settings. You can allow the user to configure the option. Or, you can specify that cookies are always allowed, never allowed, or kept only for the duration of a user's session.

Allow cookies for URL patterns

Allows you to specify a list of URL patterns of sites that are allowed to set cookies. For example, you can put URLs in the following formats on separate lines:

  • "http://www.example.com"
  • "[*.]example.edu"

If this policy is not set, what you specify under Default cookie setting is the global default or a user can set their own configuration.

Block cookies for URL patterns

Allows you to specify a list of URL patterns of sites that are not allowed to set cookies. For example, you can put URLs in the following formats on separate lines:

  • "http://www.example.com"
  • "[*.]example.edu"

If this policy is not set, what you specify under Default cookie setting is the global default or a user can set their own configuration.

Allow session-only Cookies for URL patterns

Allows you to specify a list of URL patterns of sites that are allowed to set session-only cookies. You can put URLs in the following formats on separate lines:

  • "http://www.example.com"
  •  "[*.]example.edu"

The cookies after these sessions are deleted. If this policy is not set, what you specify under Default cookie setting is the global default, or a user can set their own configuration.

Third-party cookie blocking

Allows or blocks third-party cookies. By default, users are allowed to decide.

Default legacy SameSite cookie behavior

Developers use the SameSite setting to prevent browsers from sending cookies with cross-site requests.

For Chrome browser version 80 and later, the SameSite setting is more strict than previous implementations. Cookies are protected from external access unless developers use the SameSite=None; Secure setting to allow cross-site access over HTTPS connections only.

You can temporarily revert Chrome browser to the legacy behavior, which is less secure. That way, users can continue to use services that developers have not yet updated, such as single sign-on and internal applications.

Choose an option:

  • Revert to legacy SameSite behavior for cookies on all sites—Cookies with the setting configured as SameSite=None do not require the Secure attribute. Cookies that don't specify a SameSite attribute are treated as if they are set to SameSite=None. So, third-party cookies can continue to track users across sites.
  • Use SameSite-by-default behavior for cookies on all sites—For cookies that don't specify a SameSite attribute, how Chrome browser treats cookies depends on the default behavior specified in Chrome browser.

To see how Chrome browser treats cookies that don't specify a SameSite attribute:

  1. On a managed computer, open Chrome browser.
  2. In the address bar at the top, type chrome://flags.
  3. Press Enter.
  4. For #same-site-by-default-cookies, read the description and check to see if the flag is turned on or off.
Per-site legacy SameSite cookie behavior

Developers use the SameSite setting to prevent browsers from sending cookies with cross-site requests.

For Chrome browser version 80 and later, the SameSite setting is more strict than previous implementations. Cookies are protected from external access unless developers use the SameSite=None; Secure setting to allow cross-site access over HTTPS connections only.

You can specify the domains that you want Chrome browser to temporarily revert to the legacy behavior, which is less secure. Don’t specify schemes or ports. Cookies with the setting configured as SameSite=None no longer require the Secure attribute. Cookies that don't specify a SameSite attribute are treated as if they are set to SameSite=None. As a result, third-party cookies can continue to track users across specific sites.

If no domains are listed, the Default legacy SameSite cookie behavior setting specifies how cookies are treated. Otherwise, how Chrome browser treats cookies might vary, depending on the default behavior specified in Chrome browser.

Images

Specifies whether websites are allowed to display images. For Show images on these sites and Block images on these sites, put one URL pattern on each line.

JavaScript

Specifies whether websites are allowed to run JavaScript. If you select Do not allow any site to run JavaScript, some sites might not work properly.

JavaScript IntensiveWakeupThrottling

Suspends JavaScript timers for tabs opened in the background and not used for 5 minutes or more. For these tabs, timers only execute their code once a minute. This can decrease CPU load and battery power consumption.

The default is Allow throttling of background javascript timers to be controlled by Chrome’s logic and configurable by users. The policy is controlled by its own internal logic and can be manually configured by users.

If you select Force throttling of background javascript timers or Force no throttling of background javascript timers, the policy is force enabled or force disabled and users cannot override the option.

The policy is applied per webpage, with the most recently set option applied when a webpage is loaded. The user must perform a full restart for the policy setting to be applied to all loaded tabs. It is harmless for webpages to run with different values of this policy.

JavaScript JIT

You can specify whether Google Chrome allows sites to run the v8 JavaScript engine with the Just In Time (JIT) compiler enabled. JIT compilation is a way of executing computer code using compilation during, not before, the execution of a program.

Choose an option:

  • Allow sites to run JavaScript JIT (default)—Web content might render more slowly and parts of JavaScript, including WebAssembly, might be disabled. 
  • Do not allow sites to run JavaScript JIT—Web content might be rendered in a more secure way.

You can also add specific URLs that you want to allow or block from running JavaScript JIT.  For information on valid URL patterns, see Enterprise policy URL pattern format.

Notifications

Specifies whether websites are allowed to display desktop notifications.

You can allow or block notifications or ask the user each time a website wants to show desktop notifications.

Note: With Chrome version 64 and later, JavaScript alerts are no longer allowed to interrupt users. Apps that previously used alerts, such as Google Calendar, can send notifications instead. To allow this, in the Allow these sites to show notifications box, add calendar.google.com.

Autoplay video

Specifies a list of URL patterns of pages that are allowed to automatically play video content with sound, without user consent. If you change this setting while users are running Chrome, it only applies to newly opened tabs.

For information about valid url patterns, see Enterprise policy URL pattern format.

Outdated Flash

Sets whether websites are allowed to run outdated plugins such as Adobe Flash Player on their Chrome browser or Chrome OS device. Plugins are used by websites to enable certain types of web content that Chrome browser can't process.

PDF files

Specifies how PDF files are opened in Google Chrome.

Chrome downloads PDF files and lets users open them with the system default application—The internal PDF viewer is turned off in Google Chrome, and PDF files are downloaded for users to open with the default application.

Chrome opens PDF files, unless the PDF plugin is turned off—Chrome opens all PDF files unless users have turned off the PDF plugin.

Auto open downloaded files

Auto open file types

Specifies a list of file types that automatically open after download. If Safe Browsing is turned on, files are still checked and only open after they pass. Left blank, only file types that users allow can automatically open.

Don’t include the leading separator. For example, just type txt for .txt files.

For Microsoft Windows, machines need to be joined to a Microsoft Active Directory domain, running on Windows 10 Pro, or enrolled in Chrome Browser Cloud Management.

For macOS, machines need to be managed using MDM or joined to a domain with MCX.

Auto open URLs

Specifies a list of URL patterns of pages that are allowed to automatically open the file types that you specify in Auto open file types.

This setting has no effect on file types that users choose to automatically open.

If you specify one or more URL patterns, Chrome automatically opens files that match both the URL pattern and file type. Chrome also continues to automatically open file types that users allow.

Left blank, Chrome automatically opens file types that you specify in Auto Open file types, no matter what URL they downloaded from.

For URL syntax, see Allow or block websites—URL filter format.

Pop-ups

Sets whether websites are allowed to show pop-ups. If the browser blocks pop-ups for a site, users see and can click Blocked blocked pop-up alert on the address bar to see the pop-ups that have been blocked.

Cross-origin JavaScript dialogs

This policy will be removed in Chrome version 95.

In Chrome browser version 91 or later, Chrome prevents iframes from triggering prompts (window.alert, window.confirm, window.prompt) if the iframe is a different origin from the top-level page. So, embedded content can’t spoof users into believing that a message is coming from the website they're visiting, or from Chrome browser.

Select Allow JavaScript dialogs triggered from a different origin subframe to revert to the previous behavior.

Pop-ups during unloading

Specifies whether websites are allowed to show pop-ups while the website is unloading.

A web page unloads when:

  • The user clicks a link to leave the page
  • The user types a new URL in the address bar
  • The user clicks the forward or back buttons
  • The browser window is closed
  • The page is reloaded

If the browser blocks pop-ups for a site, users see and can click Blocked blocked pop-up alert on the address bar to see the pop-ups that have been blocked.

URL blocking

Blocked URLs

Prevents Chrome browser users from accessing specific URLs.

To configure this setting, enter up to 1,000 URLs on separate lines.

Blocked URL exceptions

Specifies exceptions to the list of blocked URL.

To configure the setting, enter up to 1,000 URLs on separate lines.

URL syntax

Each URL must have a valid hostname (such as google.com), an IP address, or an asterisk (*) in place of the host. The asterisk functions like a wildcard, representing all hostnames and IP addresses.

URLs can also include:

  • The URL scheme, which is http, https, or ftp, followed by ://
  • A valid port value from 1 to 65,535
  • The path to the resource
  • Query parameters

Notes:

  • To disable subdomain matching, put an extra period before the host.
  • You cannot use user:pass fields, such as http://user:pass@ftp.example.com/pub/bigfile.iso. Instead, enter http://ftp.example.com/pub/bigfile.iso.
  • When both blocked URLs and blocked URLs exception filters apply (with the same path length), the exception filter takes precedence.
  • If an extra period precedes the host, the policy filters exact host matches only.
  • You cannot use a wildcard at the end of a URL, such as https://www.google.com/* and https://google.com/*.
  • The policy searches wildcards (*) last.
  • The optional query is a set of key-value and key-only tokens delimited by '&'.
  • The key-value tokens are separated by '='.
  • A query token can optionally end with a '*' to indicate prefix match. Token order is ignored during matching.

Examples

Blocked URLs entry Result
example.com Blocks all requests to example.com, www.example.com, and sub.www.example.com
http://example.com Blocks all HTTP requests to example.com and any of its subdomains, but allows HTTPS and FTP requests
https://* Blocks all HTTPS requests to any domain
mail.example.com Blocks requests to mail.example.com but not to www.example.com or example.com
.example.com Blocks example.com but not its subdomains, like example.com/docs
.www.example.com Blocks www.example.com but not its subdomains
* Blocks all requests to URLs except for those listed as a blocked URL exception. This includes any URL scheme, such as http://google.com, https://gmail.com, and chrome://policy.
*:8080 Blocks all requests to port 8080
*/html/crosh.html Blocks Chrome Secure Shell (Also known as Crosh Shell)

chrome://settings

chrome://os-settings

Blocks all requests to chrome://os-settings

example.com/stuff Blocks all requests to example.com/stuff and its subdomains
192.168.1.2 Blocks requests to 192.168.1.2
youtube.com/watch?v=V1 Blocks youtube video with id V1

Using blocked URL lists with Android apps

If you enable Android apps on supported Chrome OS devices in your organization, the blocked URLs list and blocked URL exceptions are not honored by apps that use Android System WebView. To enforce a blocklist on these apps, define the blocked URLs in a text file (see below). Then, apply the blocklist to the Android apps. For details, see Apply managed configurations to an Android app.

The following example shows how to define a blocked URL:

{ "com.android.browser:URLBlocklist": "[\"www.solamora.com\"]" }

For apps that don’t use Android System WebView, consult the app documentation for information on how to restrict access in a similar way.

Google Drive syncing

Lets you configure whether users can sync with Google Drive on their Chrome OS device. You can enable or disable Drive syncing or let users choose.

This setting has no effect on the Google Drive Android app on Chrome OS. To completely disable any syncing to Google Drive, configure this policy and do not allow the Google Drive Android app to be installed on supported Chrome OS devices. For details, see Use Android apps on Chrome OS devices.

Google Drive syncing over cellular

Lets you configure whether or not users can sync with Google Drive over a cellular connection on their Chrome OS device. This policy has no effect on the Google Drive Android app on Chrome OS.

Cast

Allow users to cast from Chrome

Decide if users can use a Chromecast device to cast from a Chrome tab.

Show Cast icon in the toolbar

Specify whether Cast "" appears on the browser toolbar in Chrome. If you select Always show the Cast icon in the toolbar, it always appears on the toolbar or overflow menu and users can't remove it.

If you don't let users cast, you can't configure this policy. The Cast icon doesn't appear on the toolbar.

Strict treatment for mixed content

Supported on Chrome version 80 to 83 inclusive

Specifies how Chrome browser and Chrome OS devices treat insecure HTTP audio, video, and image mixed content.

By default, Chrome uses strict treatment for mixed content. On HTTPS sites:

  • Audio and video are automatically upgraded from HTTP to HTTPS.
  • There is no fallback if audio or video is not available over HTTPS.
  • Chrome shows a warning in the URL bar for pages that contain images.

Select Do not use strict treatment for mixed content to prevent Chrome from automatically upgrading audio and video to HTTPS and show no warning for images.

Control use of insecure content exceptions

For Chrome browser and Chrome OS devices, Google has started to automatically block mixed content. So, in future https:// pages will only load secure https:// resources, not http:// resources. For details about the roll-out plan, see this Chromium blog.

Selecting Allow users to add exceptions to allow blockable mixed content lets users specify certain pages that can run active mixed content. Otherwise, users can’t load active mixed content, such as scripts and iframes. Chrome does not automatically upgrade optionally-blockable mixed content from HTTP to HTTPS on sites users add as exceptions.

To run pages with active mixed content, tell users to:

  1. On your computer, open Chrome.
  2. At the top right, click More "" Settings.
  3. Under Privacy and security, click Site settings.
  4. Scroll to Insecure content.
  5. For Allow, click Add.
  6. Add URLs of the pages that you want to allow.

Note: URLs that you specify in the Allow insecure content on these sites and Block insecure content on these sites settings take precedence over this setting.

Allow insecure content on these sites

Specifies a list of pages that can display active mixed content, such as scripts and iframes. Also, Chrome does not automatically upgrade optionally-blockable, or passive, mixed content from HTTP to HTTPS. Passive mixed content includes images, audio, and video.

For information on valid URL patterns, see Enterprise policy URL pattern format.

Block insecure content on these sites

Specifies a list of pages that cannot display active mixed content, such as scripts and iframes. Also, Chrome automatically upgrades optionally-blockable, or passive, mixed content from HTTP to HTTPS. Chrome does not load passive mixed content that fails to load over https://. Passive mixed content includes images, audio, and video

For information on valid URL patterns, see Enterprise policy URL pattern format.

Re-enable Web Components v0 API until Chrome 84

This policy will be removed after Chrome 84.

Web Components v0 APIs (Shadow DOM v0, Custom Elements v0, and HTML Imports) were deprecated in 2018. They are disabled by default in Chrome version 80 and later. For Chrome browser and devices running Chrome OS version 80 to 84 inclusive, select Re-enable Web Components v0 API to temporarily re-enable the APIs for all sites.

Synchronous XHR requests during page dismissal

This policy will be removed in Chrome 88.

For Chrome browser and devices running Chrome OS version 78 to 88 inclusive. Allows you to specify whether pages can send synchronous XMLHttpRequest (XHR) requests during page dismissal. For example, when users close tabs, quit the browser, type a new entry in the address bar, and so on.

Occluded window rendering

Chrome browser detects window occlusion when a browser window is covered by another window. If that happens, Chrome browser does not paint pixels on the covered page. Showing blank white pages helps to reduce CPU and power consumption.

Select Disable detection of window occlusion to prevent Chrome browser on Microsoft Windows devices from showing blank pages when they’re covered.

Network file shares

Controls the availability of network file sharing for Chrome OS devices. 

If you select the default Allow network file shares, you can also set the options below.

NetBIOS discovery

Specifies whether the Network file shares feature will use the NetBIOS name query request protocol to discover shares on the network. 

If this policy is not set, NetBIOS discovery will be allowed for enterprise-managed users but will not be allowed for non-managed users.

NTLM authentication protocol

Specifies whether the Network file shares feature will use NTLM as an authentication protocol for SMB mounts.

If this policy is not set, the policy will be available for enterprise-managed users but will not be available for non-managed users.

Preconfigured network file shares

You can add a list of pre configured network file shares that is shared by default to the users’ Chrome OS device.

For each pre configured network file shares, you must specify the following:

  • URL—The URL of the file or resource that you want to share. For example, smb://server/share, \\shared\resource.
  • Mode—Determines the way the file is going to be shared. Options for the URL are drop down or pre mount.
    • drop down—The shared url will be added to the share discovery drop down. When a file is shared as a drop down, this means the file is going to be added as an option in the drop down menu under File share URL -> Add file share  -> File Manager -> Add new service -> SMB file share.
    • pre mount—Indicates that the shared url will be mounted. When a file is shared as Pre mount, it will show up in the left side of the file manager.
Use legacy form controls

This policy will be removed after Chrome 84

Starting in Chrome version 83, we are refreshing standard form control elements, such as <select>, <button>, and <input type=date>. This will help to improve accessibility and platform uniformity.

For Chrome browser and devices running Chrome OS version 83 and 84, select Use legacy (pre-M81) form control element for all sites to temporarily revert to legacy form control elements. Otherwise, updated form control elements are used as they are launched in Chrome versions 83 and 84.

Scroll to text fragment

Specifies whether users can follow links that scroll to a text fragment on a webpage.

If you enable this setting, hyperlinks and address bar URL navigations can target specific text within a webpage. When the webpage is fully loaded it then scrolls to that text.

Enable URL-keyed anonymized data collection

For Chrome browser and Chrome OS devices, URL-keyed anonymized data collection sends Google the URL of each site the user visits to make searching and browsing better. If this policy is not set it will be active by default, but the user will be able to change it.

Web Bluetooth API

Specifies whether websites can request access to bluetooth devices via the Web Bluetooth API.

The default is Allow the user to decide, where websites request access to nearby Bluetooth devices and the user can decide to allow or block this access.

Show "Always open" checkbox in external protocol dialog

Controls whether or not the Always open box is shown on external protocol launch confirmation prompts. If the user clicks a link with a protocol, a dialog is displayed asking if they want to use an app instead. When the policy is enabled, a box is displayed in the dialog.

If the user checks the box, future prompts asking to use the app for similar requests are skipped. If the policy is disabled, the box does not appear and users can't skip the confirmation prompts.

Back-forward cache

When enabled the Back-Forward cache feature stores the exact state of a webpage. When navigating away from a page, its current state might be preserved in the back-forward cache. When a browser’s back button is clicked, the page might load from cache and restore the page, allowing for quick navigation back and forth.

This feature might cause issues for some websites that do not expect this caching. Specifically, some websites depend on the "unload" event being dispatched when the browser navigates away from the page. The "unload" event will not be dispatched if the page enters the back-forward cache.

If this policy is set to enabled or is not set, the feature will be enabled.

PDF Annotations

By default, the PDF viewer can annotate PDFs on Chrome OS devices.

Printing

Open all  |  Close all

Printing

You can enable or disable printing. When printing is disabled, a user won’t be able to print from the Chrome menu, extensions, JavaScript applications, and so on. 

This policy has no effect on Android apps running on Chrome OS.

Deprecated privet printing

Specifies whether available privet printers appear in the print preview dialog. 

Print preview default

Settings also available for managed guest session devices.

Default printer selection

To use the default system printer as the default printer for Chrome, select Use default print behavior.

To define a default printer for users, select Define the default printer. When a user prints, the Chrome device tries to find a printer that matches the printer type and ID or name you specify. It then selects it as the default printer.

This policy has no effect on Android apps running on Chrome OS.

Printer Types

Select the type of printer to search for and use as the default printer. To search for all types, select Cloud & Local.

Printer Matching

Select if you want to search for printers by name or ID.

Default Printer

Specify a regular expression that matches the name or ID of the printer that you want to use as the default printer. The expression is case-sensitive. Printing defaults to the first printer that matches the name. For example:

  • To match a printer named Solarmora Lobby, enter Solarmora Lobby.
  • To match a printer in solarmora-lobby-1 or solarmora-lobby-2, enter solarmora-lobby-.$.
  • To match a printer in solarmora-lobby-guest or solarmora-partner-guest, enter solarmora-.*-guest.

This policy has no effect on Android apps running on Chrome OS.

Native printers management

For Chrome devices running Chrome OS version 67 and later

Lets you allow or block your users from adding native printers to their Chrome devices.

The default is to Allow users to add new printers. To block your users from adding printers, select Do not allow users to add new printers.

For information about setting up native printing, see Manage local and network printers.

Default color printing mode

Specifies whether to print in color or black and white by default. Users can choose whether to print in color or black and white on individual print jobs.

Restrict color printing mode

Forces users to print in in color or black and white. To let users choose whether to print in color or black and white, select Do not restrict color printing mode.

Default page sides

Specifies whether users can print on both sides of paper. If you choose choose two-sided printing, select whether to bind pages along their long or short edge. Users can only print double-sided on printers with built-in duplex capability. Users can choose whether to print on one or both sides on individual print jobs.

Restrict page sides

Forces users to print in simplex or duplex mode on printers with built-in duplex capability. To let users choose whether to print on one or both sides on individual print jobs, select Do not restrict duplex printing mode.

Background graphics printing default

Specifies whether to print background graphics by default. Users can choose whether to print background graphics on individual print jobs.

Background graphics printing restriction

Lets you force or prevent users from printing background graphics. To let users choose whether to print background graphics on individual print jobs, select Allow the user to decide.

Native print job information

Select Include user account and filename in print job to include the user account and file name in the header of print jobs that are sent using a secure IPP over HTTPS (IPPS) connection to printers compatible with the Internet Printing Protocol (IPP). Third-party printing features, such as secure printing and usage tracking, can then be enabled, if supported.

Note: Selecting Include user account and filename in print job blocks users from printing to printers that do not support IPPS, even if the printers have already been added.

Print job history retention period

Specifies how long the metadata for completed print jobs is stored on Chrome devices. Enter a value in days.

  • To use the system default, which is 90 days, leave the field unset.
  • To store print job metadata indefinitely, enter -1.
  • To prevent print job metadata from being stored, enter 0.
Print job history deletion

For devices running Chrome OS.

Lets users delete their print job history using the print management app or by deleting their browser history.

Restrict PIN printing mode

For printers with built-in PIN-printing capability

Forces users to print with or without a PIN. To let users choose whether to print using a PIN, select Do not restrict PIN printing mode.

Note: Applies to printers configured for driverless printing that support the job-password attribute or compatible PPD based printers.

Default PIN printing mode

For printers with built-in PIN-printing capability

Determines the default setting for PIN printing. If you choose With PIN, users can enter a code when they’re sending print jobs. Then, they need to enter the same code on the printer keypad to release the print job.

Note: Applies to printers configured for driverless printing that support the job-password attribute or compatible PPD based printers.

Maximum sheets

Specifies the maximum number of sheets users can print in a single print job.

If the policy is not set, no limitations are applied and users can print any number of sheets.

Default printing page size

Overrides the default page size set by the printer or the last used page size set by the user.

Select the required page size from the Page size list. If you select Custom, enter the required height and width in micrometers. 

If you enter incompatible values for the custom page size or the selected page size is unavailable on the printer chosen by the user, the policy is ignored.

Print headers and footers

Lets you force or prevent users from printing headers and footers. The default is the user can decide whether to print headers and footers.

Blocked printer types

You can disable certain printer types or destinations from being available for printing.

Printer destinations include:

  • Zeroconf-based (mDNS + DNS-SD) protocol
  • Extension-based—Also known as print provider destinations, and include any destination that belongs to a Google Chrome extension.
  • Save as PDF
  • Local printer—Also known as native printing destinations, and include destinations available to the local machine and shared network printers.
  • 'Save to Google Drive'

Selecting all printer types effectively disables printing, as there are no available destinations to send a document for printing.

If you do not select any printer type, users can print to all printer types.

Print rasterization mode

Microsoft Windows only

When printing to a non-PostScript printer, some print jobs need to be rasterized to print correctly. By default, Google Chrome does full page rasterization, if necessary.

Select Fast to avoid rasterization when possible. Reducing the amount of rasterization can help to reduce print job sizes and increase printing speed.

User Experience

Open all  |  Close all

Managed bookmarks

Lets you push a list of bookmarks for the convenience of users on Chrome on all platforms, including mobile devices. On Chrome devices and Chrome Browser, the bookmarks appear in a folder on the bookmark bar. The user cannot modify the contents of this folder but can choose to hide it from the bookmark bar. For details, see Manage bookmarks.

Bookmark bar

Determines whether users see a bookmark bar. Allow the user to decide is the default setting.

Shelf position

Specifies the position of the row of apps, also called the shelf, on users’ Chrome devices.

Shelf auto-hiding

Specifies whether the row of apps, also called the shelf, automatically hides on users’ Chrome devices.

If you select Always auto-hide the shelf, users need to move the pointer to the side of the screen where the shelf is positioned to see their apps, bookmarks, and so on.

If you select Allow the user to decide, users can right-click the shelf and check or uncheck Autohide shelf.

Bookmark editing

Allows users to add, edit, or remove items from their Chrome bookmarks bar.

Apps shortcut in the bookmark bar

Specifies whether users can see the apps shortcut in their bookmark bar.

Download location

Sets the default download location on Chrome devices and specifies whether a user is allowed to modify that location.

This policy applies to downloaded files only. If the user selects the Save option (ctrl+S), the pop-up is displayed with the local Downloads folder selected.

The download location choices are:

  • Set local Downloads folder as default, but allow user to change
  • Set Google Drive as default, but allow user to change
  • Force Google Drive

If the user has already explicitly chosen a download location before you select Set Google Drive as default, but allow user to change or Set local Downloads folder as default, but allow user to change, the user's original choice is respected. If the user has not already chosen a download location before you select one of these two policies, the default is set but the user can change it later.

If you select Force Google Drive (regardless of prior user choice), Google Drive is forced to be the download folder and a user is not allowed to change it. However, the user can still move files between local folders and Google Drive using the Files app. For Chrome version 90 and later, this setting has no effect on screenshots taken on Chrome OS. Screenshots download to the default Chrome OS downloads folder, and do not adhere to the Force Google Drive option.

This setting has no effect on Android apps running on Chrome OS. Android apps usually download to a download folder mapped to the Chrome OS downloads folder, however they may download to other locations as well.

Download location prompt

Specifies whether users are asked where they want to save each file before they download it. Choose an option:

  • Allow the user to decide—Lets users choose whether they want to specify a location for each download. To adjust download settings, users open Chrome and go to More""and thenSettingsand thenAdvancedand thenDownloads.
  • Do not ask the user (downloads start immediately)—Downloads files to the default download location without asking users where to save them. To set the default download location, configure the Download location setting.
  • Ask the user where to save the file before downloading—Lets users choose a specific location for each download.
Spell check

Determines whether users can use spell check. Choose one of the options:

  • Allow the user to decide—This is the default. Users can turn spell check on or off in the language settings.
  • Disable spell check—Turns off spell check from all sources, and users can't turn it on. The Spell check service policy has no effect.
  • Enable spell check—Turns on spell check and users can’t turn it off. On Microsoft Windows, Chrome OS, and Linux devices, users can still turn on or off spell check for individual languages.
Spell check service

Select Enable the spell checking web service to always let Chrome use a Google web service to resolve spelling errors in text that users type. For details, see Suggestions for spelling errors.

By default, Allow the user to decide is selected. Users can turn on or off Enhanced spell check.

If the Spell check setting is set to Disable spell check, the Spell check service setting has no effect.

Preferred languages

Specifies the preferred languages that Chrome browser uses. Select the languages that you want from the list available. Then, order the list in descending order of preference.

Users can view the list of languages in chrome://settings/languages under Order languages based on your preference. The preferred languages that you specify always appear at the top of the list and users can’t remove or reorder them. However, they can add and reorder their own preferred languages underneath. Users also have full control over the browser's UI language as well as translation and spell check settings, unless enforced by other policies.

If you don’t specify any preferred languages, users can change the entire list of preferred languages.

Google Translate

Lets you configure whether Chrome uses Google Translate, which offers content translation for web pages in languages not specified on a user's Chrome device. You can allow Chrome to always offer translation, never offer translation, or let users choose.

Alternate error pages

Controls whether Chrome Browser shows suggestions for a page when it is unable to connect to a web address. The user sees suggestions to navigate to other parts of the website or to search for the page.

Corresponds to the user option Use a web service to help resolve navigation errors in their Chrome settings. You can allow the user to configure the option, or you can specify that it is always on or always off.

Developer tools

Controls whether the Developer tools option appears on the Tools menu. Developer tools allow web developers and programmers access into the internals of the browser and their web applications. For more information about the tools, see the Developer Tools Overview.

The default for Enterprise customers is to Allow use of built-in developer tools except for force-installed extensions. This setting means all keyboard shortcuts, menu entries, and context menu entries that open the Developer tools or JavaScript console are enabled in general, but are disabled within extensions that are force-installed using enterprise policy.

The default for unmanaged users is Always allow use of built-in developer tools. To disable developer tools in all contexts, select Never allow use of built-in developer tools.

If you have enabled Android apps on supported Chrome devices in your organization, this setting will also control access to Android Developer Options. If set to Never allow use of built-in developer tools, users can’t access Developer Options. If set to any other value or unset, users can access Developer Options by tapping 7 times on the build number in the Android settings app.

Form Auto-fill

Specifies whether the user can use the autofill feature to simplify the completion of online forms. The first time a user fills out a form, Chrome automatically saves the entered information, such as name, address, phone number, or email address.

You can allow the user to configure the option, or you can specify that it is always enabled or disabled.

Payment methods

Controls whether websites are allowed to check if users have payment methods saved.

Emoji suggestions

Lets you turn on or off emoji suggestions as users type on their Chrome devices.

DNS pre-fetching

When DNS prefetching is enabled, Chrome looks up the IP addresses of all links on a displayed webpage so that links the user clicks load faster.

You can allow the user to configure the option, or you can specify that it is always enabled or disabled.

Network prediction

Allows you to decide whether Chrome predicts network actions. You might want Chrome to use a prediction service so it loads pages faster or helps complete searches and URLs that users enter in the address bar.

As an administrator, you can disable or require network prediction. Or, if you select Allow the user to decide, the setting is on for Chrome. Users can then change their own prediction service settings.

Add profiles

By default, users can add profiles in Chrome Browser to keep Chrome info separate, including bookmarks, history, passwords, and other settings. Profiles are ideal for users who share a computer. Or, to keep different accounts, such as work and personal, separate. Select Disable adding new profiles to prevent users from adding new profiles in Chrome Browser.

Multiple sign-in access

Before using this setting, review Let multiple users sign in at the same time.

In the case of Android apps running on Chrome, even if you choose Unrestricted user access (allow any user to be added to any other user's session), only the primary user can use Android apps. If you choose Managed user must be the primary user (secondary users are allowed), Android apps can be used in the primary user as long as the device supports Android apps and you have enabled them in your organization.

Sign-in to secondary accounts

After signing in to their device, allows users to switch between accounts in their browser window and Google Play.

Note: If you allowlist Android apps, users can’t switch to secondary accounts in Google Play.

  1. Choose an option:
    • To allow users to sign in to any Google Account within the browser, select Allow users to sign-in to any secondary Google Accounts. For details, see Types of Google Accounts.
    • To block users from signing in or out of Google Accounts within the browser, select Block users from signing in to or out of secondary Google Accounts.
    • To allow users to access Google services using an account only from a list of specified Google Workspace domains, select Allow users to only sign in to the Google Workspace domains set below.
  2. If you allow users to sign in only to specific Google Workspace domains:
    1. Make sure you list all of your organization’s domains. If you don’t, your users might not have access to Google services. To see a list of your domains, click organization’s domains under the domain list.
    2. To include consumer Google Accounts, such as @gmail.com and @googlemail.com, enter consumer_accounts in the list. You can also allow access to certain accounts and block access to others. For details, see Blocking access to consumer accounts.
  3. If you allow users to sign in only to specific Google Workspace domains or block users from signing in or out in the browser, you should also:
    1. Set a sign-in restriction so that only users in your organization can sign in to devices running Chrome OS. For details, see Sign-in Restriction.
    2. Turn off guest browsing on devices. For details, see Guest mode.
    3. Prevent users from browsing in Incognito mode. See Incognito Mode.
Browser guest mode

Controls whether to allow users to sign in to Chrome Browser as a guest. If you select Allow guest browser logins (default), users can start guest browser sessions and all windows are in incognito mode. When users exit Guest mode, their browsing activity is deleted from the device.

When you have this setting enabled you can also Allow guest browser logins and profile logins (default). Users can sign in as a guest and use new and existing profiles. To enforce guest sessions and prevent profile logins, select Only allow guest browser logins.

If you select Prevent guest browser logins, Chrome Browser does not allow guest profiles to be started.

Unified Desktop (BETA)

Setting also available for managed guest sessions and kiosk apps

To let users span a window across multiple monitors or TVs, you can select Make Unified Desktop mode available to user. By default, this feature is turned off. Users can disable unified desktop and still use 2 external displays, but individual windows are in one display or the other, even if the desktop is extended across both.​

  • Up to 2 external displays are supported.
  • Unified desktop is intended to work across monitors of the same resolution.
  • When enabled, unified desktop is the default mode when a user connects a monitor to their device.
WebRTC event log collection

To allow web applications to generate and collect WebRTC event logs for your users, select Allow WebRTC Event Log Collection. The logs can help Google identify and resolve issues with audio and video meetings. They contain diagnostic information, such as the time and size of sent and received RTP packets, feedback about congestion on the network, and metadata about time and quality of audio and video frames. The logs have no video or audio content from the meetings.

To collect logs for Google Meet customers, you must enable both this setting and the Client logs upload policy in the Google Admin console.

Disabled system features

Specifies which system features are disabled on Chrome devices. We recommend that you use this setting to block camera, OS settings, and browser settings instead of using the URL blocking setting or blocking apps and extensions by ID.

When users try to open a feature that you’ve disabled, they’ll see a message letting them know that it has been blocked by their administrator.

Dinosaur game

Controls whether users can play the dinosaur game on Chrome Browser or devices running Chrome OS when devices are offline. Choose one of the options:

  • Allow users to play the dinosaur game when the device is offline on Chrome Browser, but not on enrolled Chrome devices—When devices are offline, users can’t play the dinosaur game on enrolled Chrome devices, but they can play it on Chrome Browser.
  • Allow users to play the dinosaur game when the device is offline—Users can play the dinosaur game when devices are offline.
  • Do not allow users to play the dinosaur game when the device is offline—Users can’t play the dinosaur game when devices are offline.
Previously installed app recommendations

When the search box is empty, controls whether the launcher on Chrome devices recommends apps that were previously installed on other devices. Choose one of the options:

  • Show app recommendations in the Chrome OS launcher
  • Do not show app recommendations in the Chrome OS launcher
Suggested content

When users open the launcher on their Chrome device and start to type in the search box, Google Chrome suggests content, including webpage URLs and apps.

URLs in the address bar

Chrome 86 and later

Specifies whether users can see the webpage's full URL in the address bar.

For some users, the webpage's full URL is not shown in the address bar. Instead, they see the default URL, which only shows the domain. This helps to protect users from some common phishing strategies.

Choose one of the options:

  • Display the default URL. Users may switch to the full URL, unless on a managed Chrome device.
  • Display the default URL
  • Display the full URL
Shared clipboard

Specifies whether signed-in users can copy and paste text between Chrome desktops and Android devices when Chrome sync is enabled. The shared clipboard feature is enabled by default.

Fullscreen mode

Specifies whether, with appropriate permissions, users, apps, and extensions can use fullscreen mode. The default is to allow the use of fullscreen mode.

Fullscreen alert

Specifies whether the fullscreen alert displays when the device returns from sleep or dark screen.

By default, an alert displays to remind the users to exit fullscreen before entering their password. Select Disable fullscreen alert when waking the device to switch off this alert.

Promotional content

Specifies whether Chrome Browser shows full-tab product information that helps users to sign in to Chrome, choose Chrome as their default browser, or learn about product features.

Maximize window on first run

For devices running Chrome OS.

Specifies whether Chrome always maximizes the first window when users first run Chrome.

Enable Media Recommendations

By default the browser will show media recommendations that are personalized to the user. These recommendations are based on the user’s behavior such as sites that have been frequently visited or web searches. Disabling this policy will result in these recommendations being hidden from the user.

File selection dialog

Allows users to open dialog boxes in Chrome that contain files that can be opened and selected. If this policy is disabled, whenever a user performs an action that produces a file selection dialog box such as importing bookmarks, uploading files, and saving links, a message appears instead and file selection dialog boxes are blocked.

Allow user feedback

Specifies if users can send feedback to Google using Menuand thenHelpand thenReport an Issue or key combination.

The default is Allow user feedback.

Touch to search

You can enable or disable the Touch to Search feature for users.

Touch to search lets users perform searches by pressing and holding on a word or phrase until an overlay is displayed at the bottom of the screen. They can tap on the overlay to complete a search and display the search results.

The default is Allow users to use touch to search and they can then turn it on or off.

Browser experiments icon in toolbar

Specifies whether users can access experimental browser features through an icon in the toolbar.

Note: chrome://flags and any other means of turning off and on browser features still behaves as expected, whether this policy is enabled or disabled.

Google Lens camera assisted search

Specifies whether users can use Google Lens on Android devices to learn more about images.

For details about how users can search the web with images, see Search the web on Chrome.

Connected devices

Open all  |  Close all

Smart Lock

Available with Android 5.0 Lollipop and later devices and Chrome OS devices with Chrome version 40 and later.

Allows your users to unlock their Chrome device without a password using an Android phone. If the user and the devices are nearby, the user no longer needs to enter a password to unlock their Chrome device.

Instant Tethering
Users can instantly tether from their Google phone to share its mobile data with their device.
Messages

Users can set up their SMS Messages to be synced between their phones and Chrome OS devices.

Note: If this policy is allowed, users must explicitly opt into this feature by completing a setup flow. Once the setup flow is complete, users will be able to send and receive SMS messages on their devices.

Click to Call

Specifies whether users can send phone numbers from Chrome OS devices to an Android device when the user is signed in.

The default is Allow users to send phone numbers from Chrome to their phone.

Phone hub

Specifies whether users can interact with their Android phone on a Chrome OS device.

The default is Do not allow Phone Hub to be enabled and users are not allowed to opt into Phone Hub.

If you select Allow Phone Hub to be enabled, users are allowed to opt into Phone Hub and the following two options are displayed:

  • Allow Phone Hub notifications to be enabled—If you enable this, users who have already opted in to Phone Hub, can send or receive their phone's notifications on Chrome OS.
  • Allow Phone Hub task continuation to be enabled—If you enable this, users who have already opted in to Phone Hub, can continue tasks such as viewing their phone's webpages on Chrome OS.

Accessibility

Note: By default, the accessibility settings are turned off until the user turns them on in the Chromebook accessibility settings or by using keyboard shortcuts. We strongly advise using caution before disabling any of the accessibility features, as this can cause problems for users with disabilities or particular needs. If a policy is left unset, users can access the feature anytime. However, if you set a policy, users can’t change or override it.

Open all  |  Close all

Accessibility shortcuts

Lets you configure whether or not accessibility keyboard shortcuts are disabled. If this policy is left unset, keyboard shortcuts will be available for your users, however you can set the policy to Disable accessibility shortcuts.

For more information, see Turn on Chromebook accessibility features.

ChromeVox spoken feedback

The ChromeVox screen reader helps users with visual impairments. When turned on, their Chromebook will read aloud text that is on the screen. For users who are hearing impaired, this feature will allow the text to be shown on a connected braille display.

For details, see Use the built-in screen readerand Use a braille device with your Chromebook.

Select-to-speak

Users can hear specific text on a page read aloud, including specific words, selections of text, or sections of the screen. View word-by-word highlighting as words are read aloud for a better audio and visual experience.

For details, see Hear text read aloud.

High contrast

High contrast mode changes the font and background color scheme to make pages easier to read. This setting can be turned on through the accessibility settings or by pressing Ctrl + Search + h.

Screen magnifier

Lets the user zoom in their screen up to 20x the default size. You can disable the screen magnifier or determine the type of screen magnifier that is enabled for your users.

For details, see Zoom in or magnify your Chromebook screen.

Sticky keys

Turns on the ability for shortcut key combinations to be typed in sequence without needing to press several keys at once. For example, instead of pressing the Ctrl and V keys at the same time, sticky keys lets the user activate this command by first pressing Ctrl and then pressing V after. This feature can be especially helpful for users who have physical disabilities.

For details, see Use keyboard shortcuts one key at a time

On-screen keyboard

This on-screen keyboard feature allows the input of characters without the need for physical keys. An on-screen keyboard is typically used on devices with a touchscreen interface, but it’s also accessible using a touchpad, mouse, or connected joystick.

For details, see Use the on-screen keyboard.

Dictation

Users can type long documents, emails and school essays using their voice instead of a keyboard.

For details, see Type text with your voice

Keyboard focus highlighting

This feature highlights objects on the screen as users navigate through them using the keyboard. It helps your users identify where they are on a page while filling in forms or selecting an option.

Caret highlight

While editing text, this feature highlights the area that surrounds the caret, also known as the cursor.

Auto-click

The mouse cursor will automatically click or scroll where it hovers. This can be helpful for users who find clicking the mouse or touchpad difficult.

For details, see Automatically click objects on your Chromebook.

Large cursor

Increases the size of the mouse cursor so that it's more visible on the screen.

Cursor highlight

Creates a colored focus ring around the mouse cursor for better visibility on the screen.

Primary mouse button

Changes the order of the primary mouse button and touchpad from left to right. If this policy is not set, the left mouse button will be primary, but it can be changed anytime.

Mono audio

Changes the audio outputs on Chrome devices so that the same volume plays through the left and right built-in speakers and headphones. This setting can be useful for users who have better hearing in one ear than the other.

Image descriptions

Lets users who use a screen reader or other similar assistive technology in Chrome get descriptions of unlabeled images on the web, such as images that don’t have alt text. Chrome sends images to Google to create the descriptions. No cookies or other user data is sent, and Google does not save or log any image content.

For details, see Get image descriptions on Chrome.

Power and shutdown

Allow wake locks

Specifies whether wake locks are allowed for power management. Wake locks force the PowerManager to keep the screen on or have the CPU still running in standby mode. This is helpful if you need, for example, to make sure the Wifi connection keeps running at full performance. Extensions can request wake locks through the power management extension API and ARC apps.

The default is to allow wake locks. If you select Do not allow wake locks, wake lock requests are ignored.

If you select Allow wake locks, you can also select one of the following:

  • Allow screen wake locks for power management
  • Demote screen wake lock requests to system wake lock requests.

Screen wake locks prevent devices from dimming or locking the screen when an application needs to keep running.

Keepalive duration

Specifies the maximum amount of time that browser shutdown is delayed to let Chrome process keepalive requests. Enter a value between 0 and 5 seconds. Left blank, the default value of 0 seconds is used and Chrome immediately shuts down.

For details on keepalive requests, see Fetch standard documentation.

Omnibox search provider

Search suggest

Allows you to enable or disable a prediction service for users to help complete the web addresses or search terms. You can specify that it’s always enabled or disabled or you can let the user configure it in their Chrome settings.

Omnibox search provider

Specifies the name of the default search provider. If you select Lock the Omnibox Search Provider settings to the values below, you can customize the following options:

Omnibox search provider name

Enter a name to use for the address bar. If you don't provide one, Chrome uses the host name from the Omnibox search provider search URL.

Omnibox search provider keyword

Specifies the keyword used as the shortcut to trigger the search.

Omnibox search provider search URL

Specifies the URL of the search engine.

The URL must contain the string '{searchTerms}', which is replaced at query time by the terms the user is searching for, for example, "http://search.my.company/search?q={searchTerms}".

To use Google as your search engine, enter:

{google:baseURL}search?q={searchTerms}&{google:RLZ}{google:originalQueryForSuggestion}{google:assistedQueryStats}{google:searchFieldtrialParameter}{google:searchClient}{google:sourceId}ie={inputEncoding}

Omnibox search provider suggest URL

Specifies the URL of the search engine used to provide search suggestions.

The URL should contain the string '{searchTerms}', which is replaced at query time by the text the user has entered so far.

To use Google as the search engine that provides search suggestions, enter:

{google:baseURL}complete/search?output=chrome&q={searchTerms}

Omnibox search provider instant URL

Specifies the URL of the search engine used to provide instant results.

The URL should contain the string '{searchTerms}', which is replaced at query time by the text the user has entered so far.

Omnibox search provider icon URL

Specifies the icon URL of the search provider. You need to access your search provider site at least once so that the icon file is retrieved and cached before you enable Lock the Omnibox Search Provider settings to the values below.

Omnibox search provider encodings

Specifies the character encodings supported by the search provider.

Encodings are code page names like UTF-8, GB2312, and ISO-8859-1. They are tried in the order provided. The default is UTF-8.

Hardware

Open all  |  Close all

External storage devices

Controls whether users in your organization can use Chrome devices to mount external drives, including USB flash drives, external hard drives, optical storage, Secure Digital (SD) cards, and other memory cards. If you disallow external storage and a user attempts to mount an external drive, Chrome notifies the user that the policy is in effect.

If you choose to Allow external storage devices (read-only), users can read files from external devices but cannot write to them. Formatting of devices is also disallowed.

This policy does not affect Google Drive or internal storage, such as files saved in the Download folder.

WebUSB API

You can specify if sites can or cannot ask users to grant them access to connected USB devices or you can allow the user to make the decision. You can also add a list of URLs that can or cannot request access from the user to a connected USB device.

In the Can web sites ask for access to connected USB devices section, select one of the following:

  • Allow the user to decide if sites can ask (default)—Lets websites ask for access, but users can change this setting.
  • Allow sites to ask the user for access—Lets websites ask the user for access to connected USB devices.
  • Do not allow any site to request access—Denies access to connected USB devices.

In the Allow these sites to ask for USB access field, enter all URLs that are allowed to request access to connected USB devices from the user.

In the Block these sites from asking for USB access field, enter all URLs that are not allowed access to connected USB devices.

If the URL is not blocked, the option set in the Can web sites ask for access to connected USB devices section or the users' personal settings take precedence, in that order.

Do not enter the same URL in both the Allow these sites to ask for USB access and Block these sites from asking for USB access. If a URL matches with both, neither policy takes precedence.

For details on valid URL patterns, see Enterprise policy URL pattern format.

Audio input

Controls whether users in your organization can let websites access audio input from the built-in microphone on a Chrome device.

When a user connects an external audio input device, the audio on the Chrome device unmutes immediately.

If you have enabled Android apps on supported Chrome devices in your organization and have this setting disabled, the microphone input is disabled for all Android apps without exceptions.

Audio input allowed URLs

Allows URLs to be granted access to audio capture devices without prompt.

Patterns in this list will be matched against the security origin of the requesting URL. If a match is found, access to audio capture devices will be granted without prompting the user for confirmation.

For detailed information on valid URL patterns, see Enterprise policy URL pattern format.

Audio output

Controls whether users in your organization can play sound on their Chrome devices. The policy applies to all audio outputs on Chrome devices, including built-in speakers, headphone jacks, and external devices attached to HDMI and USB ports.

If you disable audio, the Chrome device still shows its audio controls but users can't change them. Also, a mute icon appears.

This setting has no effect on the Google Drive Android app on Chrome OS.

Audio process priority

Microsoft Windows only

Controls the priority of the Chrome browser audio process. Choose one of the options:

  • Use the system default priority for the Chrome audio process
  • Use normal priority for the Chrome audio process
  • Use high priority for the Chrome audio process

This setting lets admins run audio with higher priority to address certain performance issues with audio capture, and will be removed in the future.

Video input

Specifies whether websites can access the built-in Chrome device webcam.

If you enabled Android apps on supported Chrome devices in your organization, this setting affects the built-in camera and can be disabled so that no Android app can access the built-in camera.

Video input allowed URLs

Allows URLs to be granted access to video capture devices without prompt.

Patterns in this list will be matched against the security origin of the requesting URL. If a match is found, access to video capture devices will be granted without prompting the user for confirmation.

For detailed information on valid URL patterns, see Enterprise policy URL pattern format

Note: To allow access to a video capture device, you can also add the application’s ID. For example, hmbjbjdpkobdjplfobhljndfdfdipjhg gives access to Zoom® Meetings®.

GPU

Specifies whether hardware acceleration is enabled for the graphics processing unit (GPU) unless a certain GPU feature is added to a blocklist.

Hardware acceleration uses your device’s GPU to perform graphics-intensive tasks, like playing videos or games, while your central processing unit (CPU) runs all other processes.

Keyboard

Determines the behavior of the top row of keys on the keyboard. If this setting is unset or set to media keys, the keyboard's top row of keys will act as media keys. If the policy is set for function keys, then the keys will act as function keys (such as F1, F2). In both scenarios, users can change the behavior. Also, users can turn a media key to a function key (and vice versa) by holding down the search key.

Serial port API

You can specify if sites can or cannot ask users to grant them access to a serial port or you can allow the user to make the decision. You can also add a list of URLs that can or cannot request access from the user to a serial port.

In the Control use of the Serial Port API section, select one of the following:

  • Allow the user to decide (default)—Lets websites ask for access, but users can change this setting.
  • Allow sites to ask the user to grant access to serial ports via the Serial Port API—Lets websites ask the user for access to serial ports.
  • Do not allow any site to request access to serial ports via the Serial Port API—Denies access to serial ports.

In the Allow the Serial API on these sites field, enter all URLs that are allowed to request access to serial ports from the user.

In the Block the Serial API on these sites field, enter all URLs that are not allowed access to serial ports.

If the URL is not blocked, the option set in the Control use of the Serial Port API section or the users' personal settings take precedence, in that order.

Do not enter the same URL in both the Allow the serial API on these sites and Block the serial API on these sites. If a URL matches with both, neither policy takes precedence.

For details on valid URL patterns, see Enterprise policy URL pattern format.

Privacy screen

Only for Chrome devices with an integrated electronic privacy screen.

Specifies whether the privacy screen is always turned on or off. You can enable or disable the privacy screen, or let users choose.

File system read access

Specifies whether sites can or cannot ask users to grant them read access to files or directories in the host operating system's file system using the File System API. You can add a list of URLs that can or cannot request read access from the user.

Select one of the following:

  • Allow the user to decide (default)—Lets websites ask for access, but users can change this setting. This access applies for sites that don't match a URL defined in the Allow file system read access on these sites or the Block read access on these sites fields.
  • Allow sites to ask the user to grant read access to files and directories—Lets websites ask the user for read access to files and directories. 
  • Do not allow sites to request read access to files and directories—Denies read access to files and directories.

In the Allow file system read access on these sites field, enter all URLs that are allowed to request read access to files and directories from the user. Put each URL on it’s own line. 

In the Block read access on these sites field, enter all URLs that are not allowed access to files and directories. Put each URL on it’s own line. 

If a URL isn't explicitly allowed or blocked, the option you selected from the File system read access drop-down or the users' personal settings take precedence, in that order.

Do not enter the same URL in both the Allow file system read access on these sites and Block read access on these sites. If a URL matches with both, neither policy takes precedence.

For details on valid URL patterns, see Enterprise policy URL pattern format.

File system write access

Specifies whether sites can or cannot ask users to grant them write access to files or directories in the host operating system's file system using the File System API. You can add a list of URLs that can or cannot request write access from the user.

Select one of the following:

  • Allow the user to decide (default)—Lets websites ask for access, but users can change this setting. This access applies for sites that don't match a URL defined in the Allow write access to files and directories on these sites or the Block write access to files and directories on these sites fields.
  • Allow sites to ask the user to grant write access to files and directories—Lets websites ask the user for write access to files and directories. 
  • Do not allow sites to request write access to files and directories—Denies write access to files and directories.

In the Allow file system write access on these sites field, enter all URLs that are allowed to request write access to files and directories from the user. Put each URL on it’s own line. 

In the Block write access on these sites field, enter all URLs that are not allowed access to files and directories. Put each URL on it’s own line. 

If a URL isn't explicitly allowed or blocked, the option you selected from the File system write access drop-down or the users' personal settings take precedence, in that order.

Do not enter the same URL in both the Allow file system write access on these sites and Block write access on these sites. If a URL matches with both, neither policy takes precedence.

For details on valid URL patterns, see Enterprise policy URL pattern format.

Sensors

You can specify whether websites can access and use sensors such as motion and light sensors.

In the Default access section, select one of the following:

  • Allow the user to decide if a site may access sensors (default)—Lets websites ask for access, but users can change this setting. This access applies for sites that don't match a URL defined in the Allow access to sensors on these sites or the Block access to sensors on these sites fields.
  • Allow sites to access sensors—Allows access to sensors for all sites.
  • Do not allow any site to access sensors—Denies access to sensors for all sites.

In the Allow access to sensors on these sites field, enter URLs that are always allowed access to sensors. Put each URL on it’s own line. 

In the Block access to sensors on these sites field, enter URLs that are never allowed access to sensors. Put each URL on it’s own line. 

If the URL isn't explicitly allowed or blocked, the option set in the Default access section or the users' personal settings take precedence, in that order.

Do not enter the same URL in both the Allow access to sensors on these sites and Block access to sensors on these sites. If a URL matches with both, the Block access to sensors on these sites applies and access to motion or light sensors is blocked.
 

For details on valid URL patterns, see Enterprise policy URL pattern format.

Enterprise Hardware Platform API

Allows extensions installed by enterprise policy to use the Enterprise Hardware Platform API. This API handles requests from extensions for the manufacturer and model of the hardware platform where the browser is running. This policy also impacts component extensions built into Chrome.

User verification

Verified Mode

You can select:

  • Require verified mode boot for Verified Access–User sessions on the devices in Dev mode will always fail the Verified Access check.
  • Skip boot mode check for Verified Access–Allows user sessions on the devices in Dev mode to work.
  • Service accounts which are allowed to receive user data–List email addresses of the service accounts that gain full access to the Google Verified Access API. These are the service accounts created in the Google API Console.
  • Service accounts which can verify users but do not receive user data–List email addresses of the service accounts that gain limited access to the Google Verified Access API. These are the service accounts created in the Google API Console.

For instructions on using these settings with Verified Access, admins should see Enable Verified Access with Chrome devices. Developers should see the Google Verified Access API Developer Guide.

Chrome management—partner access

Allow EMM partners access to device management

Not currently available for Google Workspace for Education domains

Gives EMM partners programmatic access to manage user policies for Chrome and Chrome devices. Partners can use this access feature to integrate Google Admin console functionality into their EMM console.

When partner access is turned on, your EMM partner can manage individual user policies that determine your users' experience on Chrome and Chrome devices. Therefore EMM partners no longer have to manage user policies by Admin console organizational unit structure. Instead, they can use the structure configured in their EMM console. You can’t simultaneously set the same policy for the same user using partner access and the Admin console. User-level policies configured using partner access controls take precedence over organizational unit policies set in the Admin console. To enforce policies on users by organizational unit, you must select Disable Chrome management—partner access.

You can also use your EMM console to set device policies. 

Managed browsers

Cloud reporting

Controls Chrome Browser cloud reporting, which is available to admins using Chrome Browser Cloud Management. For more information, see Set up Chrome Browser Cloud Management.

Once this setting is enabled, admins using Chrome Browser Cloud Management can get a detailed view in the Admin console of Chrome Browsers and extensions used in their organization.

Chrome Safe Browsing

Open all  |  Close all

Safe Browsing

Specifies whether Google Safe Browsing is turned on for users.

Safe Browsing in Chrome helps protect users from websites that may contain malware or phishing content. The default setting is Allow user to decide. Alternatively, you can choose to Always enable Safe Browsing or Always disable Safe Browsing.

Help improve Safe Browsing

Specifies whether extended reporting is turned on and sends some system information and page content to Google to help detect dangerous apps and sites.

Safe Browsing allowed domains

Specifies URLs that Safe Browsing should trust. Safe Browsing will not check for phishing, malware, unwanted software, or password reuse for listed URLs. Safe Browsing's download protection service does not check downloads hosted on these domains.

Download restrictions

Prevents users from downloading dangerous files, such as malware or infected files. You can prevent users from downloading all files or those that Google Safe Browsing identifies as dangerous. If users try downloading dangerous files, Safe Browsing shows them a security warning.

Choose an option:

  • No special restrictions—All downloads are allowed. Users still receive warnings about sites identified as dangerous by Safe Browsing. But, they can bypass the warning and download the file.
  • Block dangerous downloads—All downloads are allowed, except those marked with Safe Browsing warnings of dangerous downloads.
  • Block potentially dangerous downloads—All downloads are allowed, except those marked with Safe Browsing warnings of potentially dangerous downloads. Users cannot bypass the warnings and download the file.
  • Block all malicious downloads—All downloads are allowed, except for those assessed, with high confidence, to be malware. Unlike with dangerous downloads, this does not take into account file type, but does take into account the host.
  • Block all downloads—No downloads are allowed.
Disable bypassing Safe Browsing warnings

Specifies whether users can bypass Safe Browsing warnings and access deceptive or dangerous sites or download potentially harmful files.

Password alert

Specifies whether you can prevent users from reusing their password on dangerous websites or on websites that aren’t allowlisted by your organization. Preventing password reuse across multiple websites can protect your organization from compromised accounts.

Specify the domains that are exceptions to the URLs that appear on the Safe Browsing list. Allowlisted domains are not checked for:

  • Password reuse
  • Phishing and deceptive social engineering sites
  • Sites that host malware or unwanted software
  • Harmful downloads

Specify the URLs of webpages where users usually enter their password to sign in to their account. If a sign-in process is split across 2 pages, add the URL of the webpage where users enter their password. When users enter their password, a non-reversible hash is stored locally and used to detect password reuse. Make sure that the change password URL that you specify follows these guidelines.

SafeSites URL filter

Allows you to turn on or off the SafeSites URL filter. This filter uses the Google Safe Search API to classify URLs as pornographic or not.

Choose an option:

  • Do not filter sites for adult content
  • Filter top level sites (but not embedded iframes) for adult content—Pornographic sites are not displayed for users.

For K-12 EDU domains, the default is Filter top level sites (but not embedded iframes) for adult content

For all other domains, the default is Do not filter sites for adult content.

Suppress lookalike domain warnings on domain

Chrome is introducing a new "safety tip" for sites with URLs that look very similar to those of other sites. This UI warns users about sites that might be spoofing other sites.

These warnings are typically shown on sites that Google Chrome believes might be trying to spoof another site the user is familiar with. This policy prevents the display of the lookalike URL warnings on the sites listed.

For example, a URL like "https://foo.example.com/bar" may have warnings suppressed if this list includes either "foo.example.com" or "example.com".

Sites with intrusive ads

You can block ads from being displayed on sites that contain intrusive ads.

The default is Allow ads on all sites.

Chrome updates

Open all  |  Close all

Component updates

Specifies whether Chrome Browser components, such as Widevine DRM (for encrypted media), automatically update.

This policy does not apply to all components. For a full list of exempted components, see ComponentUpdatesEnabled.

Relaunch notification

Chrome version 83 and later

Controls how users are notified to relaunch Chrome Browser or restart their device running Chrome OS to get the latest update. Choose one of the options:

  • No relaunch notification—Activates a minimal default level of notifications. Chrome browser indicates to users that a relaunch is needed via subtle changes to its menu. In Chrome OS, a notification in the system tray prompts the user to relaunch.
  • Show notification recommending relaunch—Users see a recurring message that they should relaunch Chrome Browser or restart their Chrome device. Users can close the notification and keep using the old version of Chrome Browser or Chrome OS until they choose to relaunch Chrome Browser or restart their Chrome device.
  • Force relaunch after a period—Users can close the notification but will see a recurring message that they need to relaunch Chrome Browser or restart their Chrome device within a certain amount of time.

If you show notifications to users, you can set the time period, between 1and 168 hours, over which users are repeatedly notified to relaunch Chrome Browser or restart their Chrome device. To use the system default, 168 hours (7 days), leave the field unset.

For Chrome devices, you can specify an initial quiet period, during which users aren't notified to restart their Chrome devices. After the initial quiet period, users see the first notification that they need to restart their Chrome devices to apply updates. By default, Chrome devices only show notifications for the last 3 days of the notification time period that you specify, not the entire duration.

For Chrome devices, setting the Auto reboot after updates device setting to Allow auto-reboots automatically restarts devices when updates are applied. This minimizes the amount of notifications that users see. For details about configuring automatic updates on Chrome devices, read Auto-update settings.

Suppress auto-update check

Specifies a daily time period when automatic checks for Chrome Browser updates do not occur. Enter:

  • Start time—Time of day, in 24-hour format (hh:mm), that you want to begin suppressing checks for browser updates each day. 
  • Duration (minutes)— Length of time, in minutes, that you want to suppress browser update checks for.
Auto-update check period

Specifies the number of hours between automatic checks for Chrome Browser updates. Enter 0 to disable all auto-update checks (not recommended).

Download URL class override

Select Attempt to provide cache-friendly download URLs to get the Google Update server to attempt to provide cache-friendly URLs for update payloads in its responses. This helps to reduce bandwidth and improve response times.

Chrome browser updates

Specifies whether devices automatically update to new versions of Chrome Browser as they are released.

To make sure that users are protected by the latest security updates, we strongly recommend that you select Always allow updates. By running earlier versions of Chrome Browser, you will expose your users to known security issues. Specify the Target version prefix override and select Rollback to target version to temporarily roll back to the 3 latest major versions of Chrome Browser.

For details about how to manage Chrome Browser updates, see Manage Chrome updates (Admin console).

User data snapshot limits

Specifies the number of user data snapshots retained by Chrome Browser in case of an emergency rollback.

After every major version update of Chrome Browser, user data snapshots of specific parts of the user's browsing data are created. These can be used if an emergency version rollback of the Chrome Browser update is required. 

If Chrome Browser is rolled back to a version retained by the user, the data in the snapshot is restored, such as bookmarks and autofill data.

If the policy is set to a specific value, only that number of snapshots are saved. For example, if it is set to 6, only the last 6 snapshots are saved and all others saved before those are deleted.

If the policy is set to 0, no snapshots are taken. If the policy is not set, the default value of 3 snapshots are saved.

Legacy Browser Support

Open all  |  Close all

Legacy Browser Support

Specifies whether users can open some URLs in an alternative browser, such as Microsoft Internet Explorer.

Delay before launching alternative browser

Specifies the length of time, in seconds, that it takes to open the alternative browser. During this time, users see an interstitial page that lets them know they're switching to another browser. By default, URLs immediately open in the alternative browser, without showing the interstitial page.

Use Internet Explorer site list

Allows you to use your Internet Explorer site list to control whether URLs open in Chrome browser or Internet Explorer.

Legacy Browser Support site list

Specifies the URL of the XML file that contains the list of website URLs that open in an alternative browser. You can review this sample XML file.

URL to list of websites to open in either browser

Specifies the URL of the XML file that contains the list of website URLs that do not trigger a browser switch.

Websites to open in alternative browser

Specifies a list of website URLs that open in an alternative browser.

Websites to open in either browser

Specifies a list of website URLs that do not trigger a browser switch.

Alternative browser parameters

By default, only the URL is passed as a parameter to the alternative browser. You can specify parameters to be passed to the alternative browser’s executable. Parameters that you specify are used when the alternative browser is invoked. You can use the special placeholder ${url} to specify where the URL should appear in the command line.

You don't have to specify the placeholder if it's the only argument or if it should be appended to the end of the command line.

Alternative browser path

Lets you specify the program that's used as an alternative browser. For example, for Windows computers, the default alternative browser is Internet Explorer.

You can specify a file location or use one of these variables:

  • ${chrome}—Chrome browser
  • ${firefox}— Mozilla Firefox
  • ${ie}—Internet Explorer
  • ${opera}—Opera
  • ${safari}—Apple Safari
Chrome parameters

Windows only

Specifies the parameters to be passed to Chrome browser's executable when returning from the alternative browser. By default, only the URL is passed as a parameter to Chrome browser. Parameters that you specify are used when Chrome browser is invoked. You can use the special placeholder ${url} to specify where the URL should appear in the command line.

You don't have to specify the placeholder if it's the only argument or if it should be appended to the end of the command line.

Chrome path

Windows only

Specifies the executable of Chrome browser to be launched when returning from the alternative browser.

You can specify a file location or use the variable ${chrome}, which is the default installation location for Chrome browser.

Keep last Chrome tab

Specifies whether to close Chrome browser after the last tab in the window switches to the alternative browser.

Chrome browser tabs automatically close after switching to the alternative browser. If you specify Close Chrome completely and the last tab is open in the window before switching, Chrome browser closes completely.

Virtual machines (VMs) and developers

Command line access

Specifies whether users can access the command line (CLI) to manage virtual machines (VMs).

If the policy is enabled, the user can use virtual machine management CLI.

Linux virtual machines (BETA)

Allows you to control whether users can use virtual machines to support Linux apps.

The default is Block usage for virtual machines needed to support Linux apps for users and users can't use $6. The policy is applied to starting new $6 containers, not to those already running.

If you select Allow usage for virtual machines needed to support Linux apps for users, all users can use $6 as long as the following policies are set:

  • Virtual machines—Always enable virtual machines
  • Linux virtual machines for unaffiliated users (BETA) —Allow usage for virtual machines needed to support Linux apps for unaffiliated users

Note: This feature is no longer in Beta for consumer Chrome OS devices. It remains in Beta for managed devices and users.

Port forwarding

Specifies whether users are allowed to configure port forwarding into virtual machine (VM) containers.

If you select Do not allow users to enable and configure port forwarding into the VM container, port forwarding is disabled.

Android apps from untrusted sources

Allows you to control the use of Android apps from untrusted sources for individual users. It does not apply to Google Play.

The default is to prevent the user from using Android apps from untrusted sources.

If the user's device is managed, the user is blocked from installing apps from untrusted sources unless both the device and user policy are set to allow the use of Android apps from untrusted sources.

If the user's device is not managed, the user can only install apps from untrusted sources if they are the device owner, first to sign into the device, and the user policy is set to allow the use of Android apps from untrusted sources.

Parallels Desktop

Open all  |  Close all

Parallels Desktop

Controls whether users can use Parallels Desktop for Chromebook to access the Microsoft Windows applications and files, including Microsoft Office, on their Chromebook Enterprise device.

When you select Allow users to use Parallels desktop, you must accept the end-user license agreement.

Parallels Desktop Windows image

Specifies the URL for the Microsoft Windows image and the SHA-256 hash of the Windows image file that users download to their Chromebooks before using Parallels Desktop.

Required disk space

Specifies the required disk space in gigabytes for running Parallels Desktop. The default value is 20GB.

If you set a required free disk space value and the user device detects that the remaining space is smaller than that value, it cannot run Parallels. Therefore, we recommend you check the size of your uncompressed virtual machine (VM) image as well as how much additional data or applications you expect to install before deciding on a required disk space value.

Diagnostic information

To allow Parallels to generate and collect event logs from your users, select Enable sharing diagnostics data to Parallels. For details on the information collected in the logs, see Parallels Customer Experience Program.

Other settings 

Open all  |  Close all

Metrics reporting

Specifies whether Chrome Browser sends usage statistics and crash-related data to Google. You can allow the user to configure the option, or you can specify that it is always on or always off.

Usage statistics contain information, such as preferences, button clicks, and memory usage. If users have Make searches and browsing better turned on, they might include webpage URLs or personal information.

Crash reports contain system information at the time of the crash and might contain webpage URLs or personal information, depending on what was happening when the crash report was triggered.

To learn more about what info we collect from these reports and what we do with it, read Chrome's privacy policy.

Chrome management for signed-in users

Specifies whether user-level Chrome policies that you set in your Admin console are enforced when users sign in to Chrome with their Google Account on any device. The default for this setting is Apply all user policies when users sign into Chrome, and provide a managed Chrome experience.

For backward compatibility, you can let users sign into Chrome as unmanaged users. Select Do not apply any policies when users sign into Chrome. Allow users to access Chrome as an unmanaged user. Then, when users sign in to Chrome, they no longer receive user-level policies that you set in the Admin console, including apps and extensions.

Turning Chrome management off and on again might cause some users to experience changes to their account. Before you turn it on again, inform your users. While Chrome management was turned off, users might have signed in as unmanaged users. When the setting is turned back on again, Android apps might be removed or users might no longer be able to sign in multiple people at the same time on Chrome devices.

You don't need to turn on Chrome management to apply policies if you manage Chrome devices using your Admin console. User-level policies apply to those Chrome devices, even if you turn off this setting.

For information about how to set up Chrome Browser user-level management, see Manage user profiles on Chrome Browser.

Chrome browser memory limit

Allows you to set a limit on how much memory a single Chrome browser session can use before browser tabs start closing automatically to save memory. If the policy is set, the browser will start to close tabs in order to save memory once the limitation is exceeded. However, if the policy is not set, the browser will only attempt to save memory once it has detected that the amount of physical memory on its machine is low.

Disk cache directory

Specifies the directory used by Chrome to store cached files on the disk.

If you enter a variable in the Disk cache directory field, Chrome uses that directory even if the user has defined the disk cache dir parameter. If the policy is left unset, the default cache directory is used and the user can override this by defining the disk cache dir parameter.

Chrome manages the contents of a volume's root directory. To avoid data loss or other errors do not set the variable to the root directory or to a directory used for other purposes.

For a list of supported variables, see Supported Directory Variables.

Disk cache size

Specifies the Chrome storage limit for cached files on the disk.

If you set the policy to a specified size, Chrome uses that cache size even if the user has defined the disk cache size parameter. Values below a few megabytes are rounded up.

If you leave it unset, Chrome uses the default cache size and users can change it.

Background mode

Specifies whether background apps continue running when Chrome Browser is closed.

If the policy is enabled, when Chrome Browser is closed background apps and the current browsing session remain active, including any session cookies. The user can close it at any time using the icon displayed in the system tray.

Allow the user to decide—Background mode is initially disabled and can be controlled by the user in the browser settings.

Disable background mode—Background mode is disabled and cannot be controlled by the user in the browser settings.

Enable background mode—Background mode is enabled and cannot be controlled by the user in the browser settings.

Google time service

Controls whether Google Chrome can occasionally send queries to a Google server to retrieve an accurate timestamp. By default, queries are allowed.

Policy fetch delay

Specifies the maximum delay in milliseconds between receiving a policy invalidation and fetching the new policy from the device management service.

Valid values range from 1,000 (1 second) to 300,000 (5 minutes). If you enter a value below 1 second, the value 1 second is used. If you enter a value above 5 minutes, the value 5 minutes is used.

If you leave the policy unset, the default value of 10 seconds is used.

Wi-Fi network configurations sync

Specifies whether Wi-Fi network configurations can be synced across Chrome OS devices and a connected Android phone.

If you select the default Do not allow Wi-Fi network configurations to be synced across Google Chrome OS devices and a connected Android phone, users are not allowed to sync Wi-Fi network configurations.

If you select Allow Wi-Fi network configurations to be synced across Google Chrome OS devices and a connected Android phone, users can sync Wi-Fi network configurations between their Chrome OS devices and a connected Android phone. However, users must first explicitly opt-in to this feature by completing a setup flow.

Chrome management for signed-in users

Chrome management for signed-in users

Specifies whether user-level Chrome policies that you set in your Admin console are enforced when users sign in to Chrome with their Google Account on any device. The default for this setting is Apply all user policies when users sign into Chrome, and provide a managed Chrome experience.

For backward compatibility, you can let users sign into Chrome as unmanaged users. Select Do not apply any policies when users sign into Chrome. Allow users to access Chrome as an unmanaged user. Then, when users sign in to Chrome, they no longer receive user-level policies that you set in the Admin console, including apps and extensions.

Turning Chrome management off and on again might cause some users to experience changes to their account. Before you turn it on again, inform your users. While Chrome management was turned off, users might have signed in as unmanaged users. When the setting is turned back on again, Android apps might be removed or users might no longer be able to sign in multiple people at the same time on Chrome devices.

You don't need to turn on Chrome management to apply policies if you manage Chrome devices using your Admin console. User-level policies apply to those Chrome devices, even if you turn off this setting.

For information about how to set up Chrome browser user-level management, see Manage user profiles on Chrome browser.

Google and related marks and logos are trademarks of Google LLC. All other company and product names are trademarks of the companies with which they are associated.

Was this helpful?
How can we improve it?
Search
Clear search
Close search
Google apps
Main menu
");return null==a||null==a.sheet?Lf:Oi(a.sheet,void 0!=b?b:null,c)} function Si(a){if(Uc&&!gd(10)||"function"!=typeof wb.DOMParser)return null;a=$f(Te("Never attached to DOM."),""+a+"");return(new DOMParser).parseFromString(Of(a),"text/html").body.children[0]} function Qi(a,b){if(!a)return yf;var c=document.createElement("div").style;Ti(a).forEach(function(e){var f=Yc&&e in Ni?e:e.replace(/^-(?:apple|css|epub|khtml|moz|mso?|o|rim|wap|webkit|xv)-(?=[a-z])/i,"");Ub(f,"--")||Ub(f,"var")||(e=Ji(a,e),e=ii(f,e,b),null!=e&&Ki(c,f,e))}); return ag(c.cssText||"")} function Ui(a){var b=Array.from(Bi(qi,a,"getElementsByTagName",["STYLE"])),c=xc(b,function(f){return wc(Fi(f).cssRules)}); c=Pi(c);c.sort(function(f,h){f=bi(f.selectorText);a:{h=bi(h.selectorText);for(var k=Math.min(f.length,h.length),l=0;lr?1:nh?1:f"+b+""),Ui(b),b=b.innerHTML);b=$f(Te("Never attached to DOM."),b);var c=document.createElement("template");if(ij&&"content"in c)wg(c,b),c=c.content;else{var e=document.implementation.createHTMLDocument("x");c=e.body;wg(e.body,b)}b=document.createTreeWalker(c,NodeFilter.SHOW_ELEMENT| NodeFilter.SHOW_TEXT,null,!1);for(c=Yi?new WeakMap:new $i;e=b.nextNode();){c:{var f=e;switch(Hi(f)){case 3:f=Dj(this,f);break c;case 1:if("TEMPLATE"==Gi(f).toUpperCase())f=null;else{var h=Gi(f).toUpperCase();if(h in this.oa||"http://www.w3.org/1999/xhtml"!=Li(f))var k=null;else this.ha[h]?k=document.createElement(h):(k=Vh(document,"SPAN"),this.ua&&Di(k,"data-sanitizer-original-tag",h.toLowerCase()));if(k){var l=k,n=Ci(f);if(null!=n)for(var r=0;h=n[r];r++)if(h.specified){var t=f;var w=h;var x=w.name; if(Ub(x,"data-sanitizer-"))w=null;else{var A=Gi(t);w=w.value;var pa={tagName:Yb(A).toLowerCase(),attributeName:Yb(x).toLowerCase()},qa={zq:void 0};"style"==pa.attributeName&&(qa.zq=Ei(t));t=Bj(A,x);t in this.o?(x=this.o[t],w=x(w,pa,qa)):(x=Bj(null,x),x in this.o?(x=this.o[x],w=x(w,pa,qa)):w=null)}null!==w&&Di(l,h.name,w)}f=k}else f=null}break c;default:f=null}}if(f){if(1==Hi(f)&&c.set(e,f),e=Ii(e),h=!1,e)k=Hi(e),l=Gi(e).toLowerCase(),n=Ii(e),11!=k||n?"body"==l&&n&&(k=Ii(n))&&!Ii(k)&&(h=!0):h=!0,k= null,h||!e?k=a:1==Hi(e)&&(k=c.get(e)),k.content&&(k=k.content),k.appendChild(f)}else Yh(e)}c.clear&&c.clear()}else a=Vh(document,"SPAN");0")+1,a.lastIndexOf("b;)a.pop()} function Jj(a){a=Array(a);Ij(a,0);return a} ;var Kj=new Hj;Kj.__default=function(a,b,c){var e=typeof c;"object"===e||"function"===e?a[b]=c:null==c?a.removeAttribute(b):(e=0===b.lastIndexOf("xml:",0)?"http://www.w3.org/XML/1998/namespace":0===b.lastIndexOf("xlink:",0)?"http://www.w3.org/1999/xlink":null)?a.setAttributeNS(e,b,c):a.setAttribute(b,c)}; Kj.style=function(a,b,c){a=a.style;if("string"===typeof c)a.cssText=c;else{a.cssText="";for(var e in c)Gj.call(c,e)&&(b=c[e],0<=e.indexOf("-")?a.setProperty(e,b):a[e]=b)}}; function Lj(a,b,c,e){(e[b]||e.__default)(a,b,c)} ;var Mj=null;function Nj(a){this.node=a;this.o=[];this.deleted=[]} ;var Oj="undefined"!==typeof Node&&Node.prototype.getRootNode||function(){for(var a=this,b=a;a;)b=a,a=a.parentNode;return b};function Pj(a,b){this.o=null;this.ka=!1;this.ha=a;this.key=b;this.text=void 0} function Qj(a,b,c){b=new Pj(b,c);return a.__incrementalDOMData=b} function Rj(a,b){if(a.__incrementalDOMData)return a.__incrementalDOMData;var c=1===a.nodeType?a.localName:a.nodeName,e=1===a.nodeType?a.getAttribute("key"):null;b=Qj(a,c,1===a.nodeType?e||b:null);if(1===a.nodeType&&(a=a.attributes,c=a.length)){e=b.o||(b.o=Jj(c));for(var f=0,h=0;f\n \n \n\n'), "add.svg":Te('\n \n \n\n'),"announcement.svg":Te('\n \n \n\n'),"arrow_back.svg":Te('\n \n \n\n'), "arrow_drop_down.svg":Te('\n'),"arrow_drop_up.svg":Te('\n'),"arrow_forward.svg":Te('\n'), "attach_file.svg":Te('\n'),"auto_awesome.svg":Te('\n'), "calendar_today.svg":Te('\n'),"chat.svg":Te('\n \n \n\n'), "check.svg":Te('\n \n \n\n'),"check_circle.svg":Te('\n \n \n\n'), "check_circle_filled.svg":Te('\n \n \n \n \n\n'),"check_circle_outline.svg":Te('\n \n \n\n'), "close.svg":Te('\n \n \n\n'),"code.svg":Te('\n'),"content_copy.svg":Te('\n \n\n'), "delete_outline.svg":Te('\n'),"do_not_disturb.svg":Te('\n \n \n\n'), "down_arrow.svg":Te('\n \n \n\n'),"drive_document.svg":Te('\n \n \n\n'),"drive_image.svg":Te('\n \n \n\n'), "dvr.svg":Te('\n'),"email.svg":Te('\n \n \n\n'), "error.svg":Te('\n'),"error_outline.svg":Te('\n \n \n\n'), "event_available.svg":Te('\n \n \n\n'),"face.svg":Te('\n'), "featured_video.svg":Te('\n'),"filter_list.svg":Te('\n \n\n'),"format_bold.svg":Te('\n'), "format_clear.svg":Te('\n'),"format_indent_decrease.svg":Te('\n'), "format_indent_increase.svg":Te('\n'),"format_italic.svg":Te('\n'),"format_list_bulleted.svg":Te('\n'), "format_list_numbered.svg":Te('\n'),"format_quote.svg":Te('\n \n\n'), "format_underline.svg":Te('\n'),"help_outline.svg":Te('\n \n \n\n'), "highlight_alt.svg":Te('\n'),"info.svg":Te('\n \n \n\n'), "info_filled.svg":Te('\n'),"keep_pin_outline.svg":Te('\n \n \n\n'), "keyboard_arrow_up.svg":Te('\n \n \n\n'),"label.svg":Te('\n \n \n\n'), "label_off.svg":Te('\n \n \n\n'), "language.svg":Te('\n'), "link.svg":Te('\n'),"lock.svg":Te('\n \n \n \n\n'), "lock_open.svg":Te('\n \n \n \n\n'),"maximize.svg":Te('\n'), "minimize.svg":Te('\n'),"mode_edit.svg":Te('\n \n \n\n'),"more_vert.svg":Te('\n \n \n\n'), "navigate_before.svg":Te('\n'),"navigate_next.svg":Te('\n'),"notifications.svg":Te('\n'), "open_in_new.svg":Te('\n'),"phone.svg":Te('\n \n \n\n'), "play_arrow.svg":Te('\n \n \n\n'),"play_circle.svg":Te('\n \n \n\n'),"public.svg":Te('\n \n \n\n'), "question_answer.svg":Te('\n \n \n\n'),"remove_circle_outline.svg":Te('\n \n \n\n'), "restart_alt.svg":Te('\n \n \n\n'),"search.svg":Te('\n \n \n\n'), "send.svg":Te('\n'),"sentiment_very_satisfied.svg":Te('\n'), "star.svg":Te('\n'),"star_boarder.svg":Te('\n'), "storefront.svg":Te('\n \n\n'), "supervised_user_circle.svg":Te('\n \n \n \n \n\n'), "text_format.svg":Te('\n'),"thumb_down_alt.svg":Te('\n'), "thumb_up.svg":Te('\n'),"thumb_up_alt.svg":Te('\n'), "undo.svg":Te('\n'),"unfold_more.svg":Te('\n'), "unpin.svg":Te('\n \n \n\n'),"video_youtube.svg":Te('\n'), "video_youtube_outline.svg":Te('\n \n \n\n'), "visibility.svg":Te('\n \n \n\n'),"warning.svg":Te('\n \n \n\n')};var Qk="arrow_back arrow_forward chevron_left chevron_right exit_to_app first_page format_quote last_page navigate_before navigate_next open_in_new star_half gm/arrow_back gm/arrow_forward gm/format_quote gm/help_outline gm/play_arrow gm/open_in_new gm/undo".split(" ");function Rk(a){var b=a.icon,c=void 0===a.size?24:a.size,e=void 0===a.Ab?!1:a.Ab,f=void 0===a.Gd?[]:a.Gd;a=void 0===a.title?"":a.title;E.call(this,"sc.shared.MaterialIcon");this.icon=b;this.size=c;this.Gd=f;this.Ab=e;this.title=a} y(Rk,E);Rk.prototype.content=function(){var a=this,b=this.size/16+"rem",c={root:!0,baseline:this.Ab,flip:-1!==Qk.indexOf(this.icon)},e=0===this.icon.indexOf("gm/");e||(c["text-icon"]=!0);for(var f=u(this.Gd),h=f.next();!h.done;h=f.next())h=h.value,""!==h&&(c[h]=!0);e?this.element("div","class",c,"title",this.title,"style",{width:b,height:b},function(){vk(Pk[a.icon.replace("gm/","")+".svg"])}):this.element("div","class",c,"title",this.title,"style","font-size: "+b,this.icon)};function Sk(a,b,c,e){this.ka=a;this.ha=b;this.o=c;this.ma=void 0===e?1:e} function Tk(a){if(!a||"transparent"===a)return new Sk(0,0,0,0);var b=a.match(/\.?\d+(\.\d+)?/g);if(3>b.length)throw Error("Could not parse '"+a+"' as a color.");b.length=4;return new (Function.prototype.bind.apply(Sk,[null].concat(Ba(b.map(Number)))))} function Uk(a){var b=Vk(a,Wk);a=Vk(a,Xk);return 3.1>b&&a>b} var Xk=new Sk(0,0,0),Wk=new Sk(255,255,255);function Vk(a,b){a=.2126*Yk(a.ka)+.7152*Yk(a.ha)+.0722*Yk(a.o)+.05;b=.2126*Yk(b.ka)+.7152*Yk(b.ha)+.0722*Yk(b.o)+.05;return Math.max(a,b)/Math.min(a,b)} function Yk(a){a/=255;return.03928>a?a/12.92:Math.pow((a+.055)/1.055,2.4)} ;var Zk=[{opacity:0},{opacity:.16,offset:.25},{opacity:.16,offset:.5},{opacity:0}],$k={duration:300},al={duration:225,easing:"cubic-bezier(.4, .0, .2, 1)"};function bl(a){a=void 0===a?{}:a;a=void 0===a.Il?!1:a.Il;E.call(this,"sc.shared.MaterialInteractionOverlay");var b=this;this.ha=!1;this.parentElement=null;this.Il=a;this.ta=function(c){cl(b,c.clientX,c.clientY,b.Il)}; this.ma=function(){b.ha=!0;b.Ca()}; this.na=function(){b.ha=!1;b.Ca()}} y(bl,E);bl.prototype.content=function(){var a=this,b=Uk(Tk(getComputedStyle(this.element("span")).color));this.root=this.element("div","class",{root:!0,"light-text":b,hover:this.ha},"aria-hidden","true",function(){a.element("div","class","hover-overlay");a.element("div","class","pressed-overlay");a.o=a.element("div","class","ripple")}); dl(this)}; function dl(a){setTimeout(function(){var b,c,e=a.parentElement,f=null!==(c=a.getElement()&&(null===(b=a.getElement())||void 0===b?void 0:b.parentElement))&&void 0!==c?c:null;e!==f&&(e&&(e.removeEventListener("mousedown",a.ta),e.removeEventListener("mouseenter",a.ma),e.removeEventListener("mouseleave",a.na)),f&&(f.addEventListener("mousedown",a.ta),f.addEventListener("mouseenter",a.ma),f.addEventListener("mouseleave",a.na)),a.parentElement=f)},0)} function el(a,b){"Enter"!==b.code&&"Space"!==b.code||cl(a,0,0,!0)} function cl(a,b,c,e){var f;if(null!==(f=a.o)&&void 0!==f&&f.animate){var h=a.root.getBoundingClientRect(),k=.6*Math.max(h.width,h.height)/256,l=(Math.sqrt(Math.pow(h.width/2,2)+Math.pow(h.height/2,2))+10)/128;if(e)b=h="calc(50% - 128px)",k="scale("+k+")",l="scale("+l+")";else{b=b-h.left-128;var n=c-h.top-128;c=h.width/2-128-b;e=h.height/2-128-n;h=n+"px";b+="px";k="translate(0, 0) scale("+k+")";l="translate("+c+"px, "+e+"px) scale("+l+")"}k=[{transform:k},{transform:l}];a.o.style.top=h;a.o.style.left= b;a.o.style.transform=l;a.o.animate(Zk,$k);a.o.animate(k,al)}} ;function fl(a){a=void 0===a?{}:a;E.call(this,"sc.shared.MaterialButton");this.model=a instanceof Nk?a:new Nk(a);this.overlay=new bl;Dk(this,this.model)} y(fl,E);p=fl.prototype; p.content=function(a){var b=this;a&&this.model.Be(a);var c=""!==this.model.Ja(),e=""!==this.model.sg();this.o=this.element(this.model.Si()?"a":"button","href",this.model.Si()||void 0,"class",{root:!0,text:1===this.model.getStyle()||2===this.model.getStyle()||8===this.model.getStyle(),"color-label":8===this.model.getStyle()||2===this.model.getStyle(),"color-hint":6===this.model.getStyle()&&c,hairline:3===this.model.getStyle(),href:!!this.model.Si(),filled:4===this.model.getStyle(),"protected":5=== this.model.getStyle(),tonal:9===this.model.getStyle(),navigational:6===this.model.getStyle()&&!c,"navigational-alt":7===this.model.getStyle(),"left-icon":Ok(this.model),"right-icon":this.model.jk(),"icon-only":e&&!c,"small-icon":this.model.Mk,hidden:!this.model.Vl,compact:this.model.compact},"style",""===this.model.hm()?null:{"max-width":this.model.hm()},"type","button","aria-label",this.model.Ri(),"aria-expanded",this.model.Vt,"aria-controls",this.model.Ut,"disabled",this.model.qg(),"onclick",function(f){b.wb(f)}, "onkeydown",function(f){b.overlay&&el(b.overlay,f)},function(){e&&b.element("span","class","icon",new Rk({icon:b.model.sg(), size:b.model.Mk||c?18:24,Ab:!0}));c&&b.element("span","class",{overflow:""!==b.model.hm()},function(){nk(b.model.Ja())}); b.overlay.render()})}; p.wb=function(a){var b=this.model.km();b&&b({method:0===a.clientX&&0===a.clientY?1:2})}; p.Yb=function(a){this.model.Yb(a)}; p.Uc=ma(0);p.Ja=function(){return this.model.Ja()}; p.nb=function(a){this.model.nb(a)}; p.focus=function(){var a;null===(a=this.o)||void 0===a?void 0:a.focus()};function gl(a,b){this.value=a;this.icon=b} gl.prototype.toString=function(){return this.value}; var hl=new gl("error","gm/error_outline"),il=new gl("caution","gm/warning"),jl=new gl("success","gm/check_circle_outline");function kl(a){var b=a.message,c=a.type,e=a.position;a=void 0===a.Nm?void 0:a.Nm;E.call(this,"sc.shared.Callout");this.message=b;this.type=c;this.position=e;this.icon=new Rk({icon:c.icon,Ab:!0});void 0!==a&&(this.Nm=new fl({mb:a.mb,text:a.text,trigger:a.trigger,style:1,compact:!0}))} y(kl,E);kl.prototype.content=function(){var a=this;this.element("div","class","root "+this.type+" "+this.position,"aria-live","polite",function(){a.element("div","class","content",function(){a.icon.render();a.element("div","class","message",a.message)}); void 0!==a.Nm&&a.element("div","class","secondary-button",a.Nm)})};function ll(a,b,c){b=void 0===b?!0:b;void 0===c||c?jg(window,qg(a)):(c=document.createElement("a"),yg(c,a),c.rel="noopener",b?(a=qg(c.href),window.location.href=bg(a)):(a=qg(c.href),window.location.replace(bg(a))))} ;function ml(a,b,c,e,f){var h=Error.call(this,a+"/"+b+" "+c+" "+e);this.message=h.message;"stack"in h&&(this.stack=h.stack);this.serviceName=a;this.path=b;this.type=c;this.statusCode=e;this.responseText=f} y(ml,Error);function nl(a){var b=a.serviceName;this.tf=a.tf;this.serviceName=b} nl.prototype.get=function(a,b,c,e){c=void 0===c?{}:c;e=void 0===e?new XMLHttpRequest:e;return ue(this,function h(){var k=this,l;return mb(h,function(n){if(1==n.o)return Qa(n,k.call("GET",a,c,e,"application/json+protobuf"),2);l=n.ha;try{return n.return(je(b,l))}catch(r){throw ol(k,a),r;}})})}; function pl(a,b,c){c=void 0===c?{}:c;var e=void 0===e?new XMLHttpRequest:e;return ue(a,function h(){var k=this,l;return mb(h,function(n){if(1==n.o)return Qa(n,k.call("GET",b,c,e,"application/json"),2);l=n.ha;try{return n.return(JSON.parse(l))}catch(r){throw ol(k,b),r;}})})} nl.prototype.post=function(a,b,c,e,f){e=void 0===e?{}:e;f=void 0===f?new XMLHttpRequest:f;return ue(this,function k(){var l=this,n;return mb(k,function(r){if(1==r.o)return Qa(r,l.call("POST",a,e,f,"application/json+protobuf",b.Hb()),2);n=r.ha;try{return r.return(je(c,n))}catch(t){throw ol(l,a),t;}})})}; function ql(a,b,c,e){e=void 0===e?{}:e;var f=void 0===f?new XMLHttpRequest:f;return ue(a,function k(){var l=this,n;return mb(k,function(r){if(1==r.o)return Qa(r,l.call("POST",b,e,f,"application/json",JSON.stringify(c)),2);n=r.ha;try{return r.return(JSON.parse(n))}catch(t){throw ol(l,b),t;}})})} nl.prototype.call=function(a,b,c,e,f,h){return ue(this,function l(){var n=this,r;return mb(l,function(t){r=n;return t.return(new Promise(function(w,x){var A="";if(c.query){for(var pa=[],qa=u(Object.entries(c.query)),sa=qa.next();!sa.done;sa=qa.next()){var va=u(sa.value);sa=va.next().value;va=va.next().value;va=Array.isArray(va)?va:[va];va=u(va);for(var za=va.next();!za.done;za=va.next())za=za.value,pa.push(encodeURIComponent(sa)+"="+encodeURIComponent(za))}0e.status||299this.ha&&(this.ha++,a.next=this.o,this.o=a)};var xl; function yl(){var a=wb.MessageChannel;"undefined"===typeof a&&"undefined"!==typeof window&&window.postMessage&&window.addEventListener&&!Bc("Presto")&&(a=function(){var f=Vh(document,"IFRAME");f.style.display="none";document.documentElement.appendChild(f);var h=f.contentWindow;f=h.document;f.open();f.close();var k="callImmediate"+Math.random(),l="file:"==h.location.protocol?"*":h.location.protocol+"//"+h.location.host;f=Jb(function(n){if(("*"==l||n.origin==l)&&n.data==k)this.port1.onmessage()},this); h.addEventListener("message",f,!1);this.port1={};this.port2={postMessage:function(){h.postMessage(k,l)}}}); if("undefined"!==typeof a&&!Ic()){var b=new a,c={},e=c;b.port1.onmessage=function(){if(void 0!==c.next){c=c.next;var f=c.cb;c.cb=null;f()}}; return function(f){e.next={cb:f};e=e.next;b.port2.postMessage(0)}}return function(f){wb.setTimeout(f,0)}} ;function zl(a){wb.setTimeout(function(){throw a;},0)} ;function Al(){this.ha=this.o=null} Al.prototype.add=function(a,b){var c=Bl.get();c.set(a,b);this.ha?this.ha.next=c:this.o=c;this.ha=c}; Al.prototype.remove=function(){var a=null;this.o&&(a=this.o,this.o=this.o.next,this.o||(this.ha=null),a.next=null);return a}; var Bl=new wl(function(){return new Cl},function(a){return a.reset()}); function Cl(){this.next=this.scope=this.o=null} Cl.prototype.set=function(a,b){this.o=a;this.scope=b;this.next=null}; Cl.prototype.reset=function(){this.next=this.scope=this.o=null};function Dl(a,b){El||Fl();Gl||(El(),Gl=!0);Hl.add(a,b)} var El;function Fl(){if(wb.Promise&&wb.Promise.resolve){var a=wb.Promise.resolve(void 0);El=function(){a.then(Il)}}else El=function(){var b=Il; "function"!==typeof wb.setImmediate||wb.Window&&wb.Window.prototype&&!Bc("Edge")&&wb.Window.prototype.setImmediate==wb.setImmediate?(xl||(xl=yl()),xl(b)):wb.setImmediate(b)}} var Gl=!1,Hl=new Al;function Il(){for(var a;a=Hl.remove();){try{a.o.call(a.scope)}catch(b){zl(b)}Bl.put(a)}Gl=!1} ;function Jl(a){if(!a)return!1;try{return!!a.$goog_Thenable}catch(b){return!1}} ;function Kl(a){this.o=0;this.ta=void 0;this.ma=this.ha=this.ka=null;this.oa=this.na=!1;if(a!=yb)try{var b=this;a.call(void 0,function(c){Ll(b,2,c)},function(c){Ll(b,3,c)})}catch(c){Ll(this,3,c)}} function Ml(){this.next=this.context=this.o=this.ha=this.child=null;this.ka=!1} Ml.prototype.reset=function(){this.context=this.o=this.ha=this.child=null;this.ka=!1}; var Nl=new wl(function(){return new Ml},function(a){a.reset()}); function Ol(a,b,c){var e=Nl.get();e.ha=a;e.o=b;e.context=c;return e} function Pl(a){if(a instanceof Kl)return a;var b=new Kl(yb);Ll(b,2,a);return b} Kl.prototype.then=function(a,b,c){return Ql(this,"function"===typeof a?a:null,"function"===typeof b?b:null,c)}; Kl.prototype.$goog_Thenable=!0;function Rl(a,b,c){return Ql(a,null,b,c)} Kl.prototype.cancel=function(a){if(0==this.o){var b=new Sl(a);Dl(function(){Tl(this,b)},this)}}; function Tl(a,b){if(0==a.o)if(a.ka){var c=a.ka;if(c.ha){for(var e=0,f=null,h=null,k=c.ha;k&&(k.ka||(e++,k.child==a&&(f=k),!(f&&1=c.tabIndex?b:c})} ;var um=[];function vm(){var a=this;this.oa=this.o=null;this.ha=!1;this.ka=[];this.ma=[];this.na=function(b){if(a.o&&a.ha){var c=qm(a.o),e=sm(c),f;e&&(f=tm(c));switch(b.key){case "Tab":if(!e||!f)break;b.shiftKey?document.activeElement===e&&(b.preventDefault(),f.focus()):document.activeElement===f&&(b.preventDefault(),e.focus());break;case "Escape":b.stopPropagation(),a.oa()}}}} vm.prototype.init=function(a,b,c){c=void 0===c?!1:c;this.oa=b;if(this.o=a)this.o.addEventListener("keydown",this.na),c&&wm(this)}; function xm(a,b){if(b||!1!==b&&!a.ha)wm(a);else if(a.ha){for(ym(a);0\n \n \n '))); e.addEventListener("click",function(){a.o.setMonth(a.o.getMonth()+-1);Em(a)}); c.appendChild(e);e=document.createElement("button");e.className="next";e.setAttribute("title","Next month");e.setAttribute("aria-label","Next month");e.appendChild(Wh(Te('\n \n \n ')));e.addEventListener("click",function(){a.o.setMonth(a.o.getMonth()+1);Em(a)}); c.appendChild(e);c=document.createElement("tr");c.appendChild(b);return c} function Dm(a){var b=document.createElement("tr");b.className="weekdays";for(var c=[],e=0;7>e;e++){var f=document.createElement("td");c.push(f);b.appendChild(f)}e=new Date(a.o);for(f=0;7>f;f++)c[e.getDay()].textContent=a.va?e.toLocaleString(a.na,{weekday:"narrow"}):"SMTWTFS"[e.getDay()],e.setDate(e.getDate()+1);return b} function Em(a){a.ma.textContent=a.va?a.o.toLocaleString(a.na,{month:"long",year:"numeric"}):a.o.getMonth()+1+"/"+a.o.getFullYear();a.ka.textContent="";var b=new Date(a.o);b.setDate(1);for(0e;e++){var f=document.createElement("td");if(b.getMonth()==a.o.getMonth()){var h=document.createElement("button");f.setAttribute("data-time",b.getTime());var k=!1;a.oa&&(k=a.oa.getTime()===b.getTime());h.textContent= b.getDate().toString();h.className="selectable";k&&Jg(h,"selected",!0);f.appendChild(h)}else f.className="unselectable";c.appendChild(f);b.setDate(b.getDate()+1)}a.ka.appendChild(c)}} function Fm(a){return new Date(a.getFullYear(),a.getMonth(),1)} Am.prototype.ua=function(a){this.ta=a}; Am.prototype.getElement=function(){return this.ha}; window.sc_createCalendar=function(a){a=new Am(a);return{setSelectDateCallback:a.ua.bind(a),getElement:a.getElement.bind(a)}};function Gm(a){z.call(this,a)} y(Gm,z);function Hm(a){a&&"function"==typeof a.dispose&&a.dispose()} ;function Im(){this.ua=this.ua;this.ta=this.ta} Im.prototype.ua=!1;Im.prototype.isDisposed=function(){return this.ua}; Im.prototype.dispose=function(){this.ua||(this.ua=!0,this.Bd())}; function Jm(a,b){a.ua?b():(a.ta||(a.ta=[]),a.ta.push(b))} Im.prototype.Bd=function(){if(this.ta)for(;this.ta.length;)this.ta.shift()()};function Km(a,b){this.type=a;this.o=this.target=b;this.defaultPrevented=this.ka=!1} Km.prototype.stopPropagation=function(){this.ka=!0}; Km.prototype.preventDefault=function(){this.defaultPrevented=!0};var Lm=function(){if(!wb.addEventListener||!Object.defineProperty)return!1;var a=!1,b=Object.defineProperty({},"passive",{get:function(){a=!0}}); try{wb.addEventListener("test",yb,b),wb.removeEventListener("test",yb,b)}catch(c){}return a}();function Mm(a,b){Km.call(this,a?a.type:"");this.relatedTarget=this.o=this.target=null;this.button=this.screenY=this.screenX=this.clientY=this.clientX=0;this.key="";this.keyCode=0;this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.state=null;this.pointerId=0;this.pointerType="";this.ha=null;a&&this.init(a,b)} Nb(Mm,Km);var Nm={2:"touch",3:"pen",4:"mouse"}; Mm.prototype.init=function(a,b){var c=this.type=a.type,e=a.changedTouches&&a.changedTouches.length?a.changedTouches[0]:null;this.target=a.target||a.srcElement;this.o=b;if(b=a.relatedTarget){if(Xc){a:{try{Rc(b.nodeName);var f=!0;break a}catch(h){}f=!1}f||(b=null)}}else"mouseover"==c?b=a.fromElement:"mouseout"==c&&(b=a.toElement);this.relatedTarget=b;e?(this.clientX=void 0!==e.clientX?e.clientX:e.pageX,this.clientY=void 0!==e.clientY?e.clientY:e.pageY,this.screenX=e.screenX||0,this.screenY=e.screenY|| 0):(this.clientX=void 0!==a.clientX?a.clientX:a.pageX,this.clientY=void 0!==a.clientY?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0);this.button=a.button;this.keyCode=a.keyCode||0;this.key=a.key||"";this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.pointerId=a.pointerId||0;this.pointerType="string"===typeof a.pointerType?a.pointerType:Nm[a.pointerType]||"";this.state=a.state;this.ha=a;a.defaultPrevented&&Mm.Sf.preventDefault.call(this)}; Mm.prototype.stopPropagation=function(){Mm.Sf.stopPropagation.call(this);this.ha.stopPropagation?this.ha.stopPropagation():this.ha.cancelBubble=!0}; Mm.prototype.preventDefault=function(){Mm.Sf.preventDefault.call(this);var a=this.ha;a.preventDefault?a.preventDefault():a.returnValue=!1};var Om="closure_listenable_"+(1E6*Math.random()|0);function Pm(a){return!(!a||!a[Om])} ;var Qm=0;function Rm(a,b,c,e,f){this.listener=a;this.proxy=null;this.src=b;this.type=c;this.capture=!!e;this.Eo=f;this.key=++Qm;this.Ve=this.Pn=!1} function Sm(a){a.Ve=!0;a.listener=null;a.proxy=null;a.src=null;a.Eo=null} ;function Tm(a){this.src=a;this.o={};this.ha=0} Tm.prototype.add=function(a,b,c,e,f){var h=a.toString();a=this.o[h];a||(a=this.o[h]=[],this.ha++);var k=Um(a,b,e,f);-1>>0);function bn(a){if("function"===typeof a)return a;a[kn]||(a[kn]=function(b){return a.handleEvent(b)}); return a[kn]} ;function ln(){Im.call(this);this.ma=new Tm(this);this.Nc=this;this.Ob=null} Nb(ln,Im);ln.prototype[Om]=!0;p=ln.prototype;p.nr=function(){return this.Ob}; p.addEventListener=function(a,b,c,e){$m(this,a,b,c,e)}; p.removeEventListener=function(a,b,c,e){hn(this,a,b,c,e)}; p.dispatchEvent=function(a){var b=this.nr();if(b){var c=[];for(var e=1;b;b=b.nr())c.push(b),++e}b=this.Nc;e=a.type||a;if("string"===typeof a)a=new Km(a,b);else if(a instanceof Km)a.target=a.target||b;else{var f=a;a=new Km(e,b);Hc(a,f)}f=!0;if(c)for(var h=c.length-1;!a.ka&&0<=h;h--){var k=a.o=c[h];f=k.Yl(e,!0,a)&&f}a.ka||(k=a.o=b,f=k.Yl(e,!0,a)&&f,a.ka||(f=k.Yl(e,!1,a)&&f));if(c)for(h=0;!a.ka&&hc&&(c=a.length);var e=a.indexOf("?");if(0>e||e>c){e=c;var f=""}else f=a.substring(e+1,c);a=[a.substr(0,e),f,a.substr(c)];c=a[1];a[1]=b?c?c+"&"+b:b:c;return a[0]+(a[1]?"?"+a[1]:"")+a[2]} function sn(a,b,c){if(Array.isArray(b))for(var e=0;e>>0);a={requestId:c,Sy:Rn(a,b,c),onLoad:b.onLoad,onError:b.onError||function(){}, ep:b.ep||function(){}, ZB:b.ZB||function(){}, nq:b.nq,Jz:b.pageType,Ck:b.Ck};b.qd&&("IFRAME"==b.qd.nodeName?(a.window=b.qd.contentWindow,a.qd=a.window.document.body):(a.window=window,a.qd=b.qd));return a} function Rn(a,b,c){var e=Sn(a)+"/apis/render?",f=a.ua,h=a.Ba,k=b.helpcenter,l=a.ta,n=a.va,r=a.Ha,t=a.Ga,w=a.Aa,x=b.pageType,A=b.pageId,pa=b.url,qa=b.Xg,sa=b.EF;c=["js_request_id."+c];if(b.extraParams)for(var va in b.extraParams)c.push(va+"."+b.extraParams[va]);a={v:1,key:f,request_source:h,helpcenter:k,hl:l,authuser:n,visit_id:r,view_id:t,psd:w,page_type:x,id:A,url:pa,components:qa,exclude_components:sa,extra_params:c,mendel_ids:a.ya,service_configuration:a.Ea,scdeb:a.wa,instant_preview:b.instantPreview, symptom:b.symptom};b="";for(var za in a)f=a[za],void 0!=f&&(Array.isArray(f)&&(f=f.join()),b&&(b+="&"),b+=za+"="+encodeURIComponent(f.toString()));return e+b} function Qn(a,b,c){try{var e=JSON.parse(c)}catch(f){b.onError({type:1,message:c});return}if(404!=e.application_error&&e.html){if(b.Ck){if(!e.page_metadata||!e.page_metadata.page_type){b.onError({type:4});return}if(se.get(e.page_metadata.page_type)!=b.Jz){b.onError({type:3});return}}e.page_metadata&&b.ep(e.page_metadata);b.qd?Tn(a,b,e.html):b.nq(function(f){"IFRAME"==f.nodeName?(b.window=f.contentWindow,b.qd=b.window.document.body):(b.window=window,b.qd=f);Tn(a,b,e.html)})}else b.onError({type:2})} function Tn(a,b,c){b.window.sc_scope=b.qd;b.onLoad&&(b.window[b.requestId]=function(e){b.onLoad(e.getChild(b.requestId))}); dg(b.qd,Bn(c));c=Array.from(b.qd.getElementsByTagName("script"));a.ka(b,c)} Ln.prototype.ka=function(a,b){for(;0a.ha.length;a.oa()} ;var Yn=df(Se(Te("//www.youtube.com/player_api")));function Zn(a,b){a=Sg("play",a);b=Sg("play",b);return b===a?"":b} ;function $n(a){this.Aa="modal-backdrop "+a.className;this.va=a.Hl;this.ma=a.hv;this.wa=a.uz;this.oa=a.QD;this.ya=this.na=!1;this.ha=new vm;ao(this)} function ao(a){a.o=document.createElement("div");a.o.className=a.Aa;a.o.setAttribute("aria-hidden",!0);a.o.addEventListener("click",function(b){b.target==a.o&&(a.ka&&!a.ka()||a.close())}); a.ha.init(a.o,function(){a.ka&&!a.ka()||a.close()}); a.oa?(a.oa.parentNode.replaceChild(a.o,a.oa),a.di(a.oa)):document.body.appendChild(a.o)} p=$n.prototype; p.close=function(){this.o.setAttribute("aria-hidden",!0);this.o.style.zIndex="";xm(this.ha,!1);Jg(this.o,this.va,!1);var a;if(a=null!=document.activeElement)a=0!=(document.activeElement.compareDocumentPosition(this.o)&Node.DOCUMENT_POSITION_CONTAINS);if(a)for(;0a||5a?a=0:a>c&&(a=c);return a-b} function mo(a){a.preventDefault()} ;function po(a,b,c){a.timeOfStartCall=(new Date).getTime();var e=c||wb,f=e.document,h=a.nonce||Bg(e);h&&!a.nonce&&(a.nonce=h);if("help"==a.flow){var k=xb("document.location.href",e);!a.helpCenterContext&&k&&(a.helpCenterContext=k.substring(0,1200));k=!0;if(b&&JSON&&JSON.stringify){var l=JSON.stringify(b);(k=1200>=l.length)&&(a.psdJson=l)}k||(b={invalidPsd:!0})}b=[a,b,c];e.GOOGLE_FEEDBACK_START_ARGUMENTS=b;c=a.serverUri||"//www.google.com/tools/feedback";if(k=e.GOOGLE_FEEDBACK_START)k.apply(e,b);else{e= c+"/load.js?";for(var n in a)b=a[n],null==b||Cb(b)||(e+=encodeURIComponent(n)+"="+encodeURIComponent(b)+"&");a=$h(Ph(f),"SCRIPT");h&&a.setAttribute("nonce",h);ig(a,Dn(e));f.body.appendChild(a)}} Mb("userfeedback.api.startFeedback",po);function qo(a){window.sc_trackStatsEvent(49,8);ro(a)} function ro(a){var b=a.productId,c=a.bucket,e=void 0===a.flow?"material":a.flow,f=void 0===a.Dq?!1:a.Dq,h=void 0===a.Qy?!0:a.Qy,k=a.BC,l=a.hb,n=a.onLoad,r=a.payload;a=a.description;var t=Qg(),w={};b=(w.flow=e,w.locale=t.lang,w.productId=b,w.disableSubmit=f,w);c&&(b.bucket=c);l&&(b.callback=l);n&&(b.onLoadCallback=n);t.sb_uri&&(b.serverUri=t.sb_uri);k&&(b.reportDataCallback=k);b.allowNonLoggedInFeedback=h;"submit"===e&&(b.report={description:a});var x={};r.forEach(function(A,pa){x[pa]=A}); po(b,x)} ;function so(){var a=Qg();a=new Map([["answer_id",a.pid],["bc_url",a.bcUrl],["environment_hostname",a.ehn],["external_name",a.ehc],["hc",a.hc],["hostname",a.host],["internal_ip",a.ii],["experiments",a.mendel_ids],["page_type",a.pt],["user_logged_in",a.li],["environment",a.env],["client",to()]]);a.set("escalation_availability_matching_frd_forms",xh().escalation_availability_matching_frd_forms);a.set("rule_service_escalation_availability_c2c_event_id",xh().rule_service_escalation_availability_c2c_event_id); a.set("rule_service_escalation_availability_c2c_synthesis_event_id",xh().rule_service_escalation_availability_c2c_synthesis_event_id);a.set("rule_service_escalation_availability_chat_event_id",xh().rule_service_escalation_availability_chat_event_id);a.set("rule_service_escalation_availability_chat_synthesis_event_id",xh().rule_service_escalation_availability_chat_synthesis_event_id);a.set("rule_service_escalation_availability_email_event_id",xh().rule_service_escalation_availability_email_event_id); a.set("rule_service_escalation_availability_email_synthesis_event_id",xh().rule_service_escalation_availability_email_synthesis_event_id);a.set("rule_service_escalation_availability_phone_event_id",xh().rule_service_escalation_availability_phone_event_id);a.set("rule_service_escalation_availability_phone_synthesis_event_id",xh().rule_service_escalation_availability_phone_synthesis_event_id);a.set("rule_service_extensible_contact_options_event_id",xh().rule_service_extensible_contact_options_event_id); a.set("rule_service_helpcenter_fields_synthesis_event_id",xh().rule_service_helpcenter_fields_synthesis_event_id);return a} function to(){var a=Qg().rs;switch(a){case 4:return"cases";case 1:return"helpcenter";default:return String(a)}} ;function uo(){vo(this)} function vo(a){a.o=(new $n({className:"material-dialog-backdrop",Hl:"material-dialog-backdrop--active",hv:"material-dialog-backdrop--locked",uz:"material-dialog-backdrop--disable-click-capture"})).Rt(function(){return!a.oa}); a.o.getElement().addEventListener("click",function(b){b=b.target;var c=b.getAttribute("data-material-dialog-action");c&&(a.ha&&a.ha(c),Ng(b,"material-dialog--disable-close")||a.close())})} uo.prototype.open=function(a){var b=this,c=a.querySelector(".material-dialog__title");c&&oo(c,a).reset().enable(Ng(a,"material-dialog--draggable"));var e=a.querySelector(".material-dialog__minimize-button");if(e){var f=e.getAttribute("data-material-dialog-minimized-aria-label"),h=function(){var k=document.createElement("button");k.className="material-dialog-minimized";k.textContent=c.textContent+"\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u2594";f&&k.setAttribute("aria-label",f);k.addEventListener("click", function(){b.o.open();document.body.removeChild(k)}); b.o.close();document.body.appendChild(k);k.focus()}; this.ma=function(){return e.removeEventListener("click",h)}; e.addEventListener("click",h)}this.oa=Ng(a,"material-dialog--disable-close");this.o.Ts(!Ng(a,"material-dialog--show-background")).Qs(Ng(a,"material-dialog--disable-click-capture")).di(a).open();a.focus();return this}; uo.prototype.close=function(){this.o.close();this.ma&&this.ma();this.ka&&this.ka()}; uo.prototype.$c=function(a){this.ha=a;return this}; uo.prototype.hb=function(a){this.ka=a;return this}; uo.prototype.onClose=uo.prototype.hb;uo.prototype.onAction=uo.prototype.$c;uo.prototype.close=uo.prototype.close;uo.prototype.open=uo.prototype.open;function wo(a,b){var c=null;return function(e){for(var f=[],h=0;hc||0>a?0:a+b>=c?c-b:a} function Go(a){switch(a){case 1:case 3:return"100%";case 2:case 4:return"0%";default:return"50%"}} function Ho(a){var b,c;return null!==(c=null===(b=a.getElement())||void 0===b?void 0:b.getRootNode())&&void 0!==c?c:document} ;function Mo(a){var b=a.content,c=void 0===a.Dg?!0:a.Dg,e=void 0===a.Ml?"placement-start":a.Ml,f=void 0===a.pq?"alignment-start":a.pq,h=void 0===a.style?"style-normal":a.style,k=a.Wn,l=te(a,"content useFixedBackdrop caretPlacement caretAlignment style containerPadding".split(" "));E.call(this,"sc.shared.MaterialRichTooltip");var n=this;this.ha=!1;this.vd=this.Id=0;this.ma=b;this.Dg=c;this.ta=e;this.na=f;this.ua=h;this.Wn=k;this.o=new Fo(Object.assign({content:function(){No(n)}, Ip:!0,an:!1,Rl:!1},l))} y(Mo,E);p=Mo.prototype;p.open=function(a){this.Dg?this.o.open(a):(this.ha=!0,this.Ca())}; p.isOpen=function(){return this.Dg?this.o.isOpen():this.ha}; p.close=function(){this.Dg?this.o.close():(this.ha=!1,this.Ca())}; function Oo(a,b){var c=b.Id;b=b.vd;a.Dg||(a.Id=null!==c&&void 0!==c?c:a.Id,a.vd=null!==b&&void 0!==b?b:a.vd,a.Ca())} p.ie=function(){return!0}; p.content=function(){var a=this;this.Dg?this.o.render():this.element("div","class","popup-container","style",{visibility:this.ha?"visible":"hidden",transform:"translate("+this.Id+"px, "+this.vd+"px)"},function(){No(a)})}; function No(a){a.element("div","class","root "+a.ta+" "+a.ua,function(){a.element("div","class","container","style",{padding:a.Wn},a.ma);a.element("div","class","clip-track "+a.na,function(){a.element("div","class","clip",function(){a.element("div","class","caret")})})})} ;var Po={ND:!1,Jl:!0};function Qo(){E.call(this,"sc.shared.MaterialSnackbar");this.ha=new fl;this.message="";this.Yj=5E3;this.Op=!1;this.state=2} y(Qo,E);Qo.prototype.open=function(a){var b=this,c=a.message,e=a.action,f=void 0===a.Yj?5E3:a.Yj;a=void 0===a.Op?!1:a.Op;if(0===this.state)return Promise.resolve();this.state=0;this.message=c;this.Yj=f;this.Op=a;e?this.action=Object.assign(Object.assign({},Po),e):this.action=void 0;this.Ca();Ro(this);return new Promise(function(h){b.hb=h})}; Qo.prototype.close=function(){0===this.state&&(this.o&&clearTimeout(this.o),this.state=1,this.message="",this.Ca())}; Qo.prototype.content=function(){var a=this;this.element("div","class",{root:!0,widescreen:this.Op,"root-closed":2===this.state},function(){var b;a.element("div","class",{snackbar:!0,opened:0===a.state,closing:1===a.state,closed:2===a.state,"long-action":null===(b=a.action)||void 0===b?void 0:b.ND},"ontransitionend",function(c){var e;"opacity"===c.propertyName&&0!==a.state&&2!==a.state&&(a.state=2,a.Ca(),null===(e=a.hb)||void 0===e?void 0:e.call(a))},function(){a.element("div","role","status","aria-live", "assertive","class","message",a.message); So(a)})})}; function So(a){a.action&&a.element("div","class","action",function(){a.ha.render({text:a.action.actionText,trigger:function(){var b,c;a.action.Jl&&a.close();null===(c=(b=a.action).$c)||void 0===c?void 0:c.call(b)}})})} function Ro(a){a.action||(a.o=setTimeout(function(){a.close()},a.Yj))} ;function To(){this.ma=[];this.ha=!1;this.oa=new Qo} To.prototype.initialize=function(a){a=void 0===a?document.body:a;if(this.ha)return this;this.ha=!0;Uo(this,a);return this}; To.prototype.open=function(a){this.ha&&(this.ma.push(a),Vo(this))}; To.prototype.close=function(){this.oa.close()}; To.prototype.Xa=function(){ue(this,function b(){var c=this;return mb(b,function(e){if(1==e.o)return c.ha?c.ka?Qa(e,c.ka,2):e.Va(2):e.return(c);c.o&&c.o.parentElement&&(c.o.parentElement.removeChild(c.o),c.o=void 0);c.ha=!1;return e.return(c)})})}; function Vo(a,b){b=void 0===b?!1:b;var c;ue(a,function f(){var h=this,k;return mb(f,function(l){if(1==l.o){k=h;if(!b&&h.ka)return l.return();if(0===h.ma.length)return null===(c=h.na)||void 0===c?void 0:c.call(h),delete h.ka,delete h.na,l.return();h.ka||(h.ka=new Promise(function(n){k.na=n})); return Qa(l,h.oa.open(h.ma[0]),2)}h.ma.shift();Vo(h,!0);Wa(l)})})} function Uo(a,b){"interactive"===document.readyState||"complete"===document.readyState?Wo(a,b):window.addEventListener("DOMContentLoaded",function(){Wo(a,b)})} function Wo(a,b){a.o=document.createElement("div");b.appendChild(a.o);qk(a.o,function(){a.oa.render()})} var Xo=new To;function Yo(a){var b=void 0===a?{}:a;a=void 0===b.size?"mspin-small":b.size;b=void 0===b.Rn?!1:b.Rn;E.call(this,"sc.shared.MaterialSpinner");this.size=a;this.Rn=b} y(Yo,E);Yo.prototype.content=function(){var a=this;this.element("div","class","mspin "+this.size+" "+(this.Rn?"mspin-centered":""),function(){a.element("div",function(){a.element("div")})})};function Zo(a){Jk.call(this);this.inputType="";this.fh=!1;this.Fe=!0;this.uk=this.rows=0;this.om=this.text=this.label="";this.Xb=this.filled=!1;this.Me=!0;this.disabled=this.Bp=!1;this.placeholder="";this.hf=[];this.error="";this.maxLength=void 0;this.yd=!1;this.Be(a)} y(Zo,Jk);p=Zo.prototype; p.Be=function(a){var b=void 0===a.fh?!1:a.fh,c=void 0===a.Fe?!0:a.Fe,e=void 0===a.rows?0:a.rows,f=void 0===a.uk?0:a.uk,h=void 0===a.label?"":a.label,k=void 0===a.placeholder?"":a.placeholder,l=void 0===a.text?"":a.text,n=void 0===a.om?"":a.om,r=void 0===a.filled?!1:a.filled,t=void 0===a.Xb?!1:a.Xb,w=void 0===a.Me?!0:a.Me,x=void 0===a.Bp?!1:a.Bp,A=void 0===a.disabled?!1:a.disabled,pa=void 0===a.Pd?void 0:a.Pd,qa=void 0===a.hh?void 0:a.hh,sa=void 0===a.Lf?void 0:a.Lf,va=void 0===a.hf?["self"]:a.hf, za=void 0===a.error?"":a.error,Ca=a.maxLength,Ma=void 0===a.yd?!1:a.yd;this.inputType=void 0===a.inputType?"":a.inputType;this.fh=b;this.rows=e;this.uk=f;this.label=h;this.placeholder=k;this.text=l;this.om=n;this.filled=r;this.Xb=t;this.Me=w;this.Bp=x;this.disabled=A;this.Pd=pa;this.hh=qa;this.Lf=sa;this.hf=va;this.error=za;this.Fe=c;this.maxLength=Ca;this.yd=Ma}; p.mk=function(){return this.Fe}; p.Cb=function(){return this.label}; p.Ja=function(){return this.text}; p.nb=function(a){a!==this.text&&(this.text=a,Mk(this,0))}; p.Yb=function(a){a!==this.disabled&&(this.disabled=a,Mk(this,3))}; p.od=function(){return this.maxLength};function $o(a){a=void 0===a?{}:a;E.call(this,"sc.shared.MaterialTextField");this.labelId=Ik();this.na=Ik();this.o=null;this.ma=!1;this.model=a instanceof Zo?a:new Zo(a);Dk(this,this.model)} y($o,E);function ap(a){return a.model.mk()?a.o?a.o:new Bo({label:a.model.placeholder,vm:a.model.Cb()?void 0:bp(a),floatingLabel:a.model.Me,disabled:a.model.disabled,filled:a.model.filled,Xb:a.model.Xb,Bg:function(){return""!==a.model.Ja()}}):null} p=$o.prototype; p.content=function(a){var b=this;a&&this.model.Be(a);this.o=ap(this);this.element("div","class","root",function(){b.model.Cb()&&b.element("label","class","label","id",b.labelId,b.model.Cb());b.o&&(b.o.error=!!b.model.error);b.element("div","class",{"input-container":!0,multiline:b.model.fh,dense:b.model.Xb,invalid:b.model.error,outlined:!b.model.filled,filled:b.model.filled,disabled:b.model.disabled},function(){b.element(b.model.Cb()?"div":"label","class",{box:!0,"box-no-label":b.model.filled&&!b.model.Me, "filled-box":b.model.filled&&!b.model.Xb&&(b.model.Me||b.model.fh),"filled-label":b.model.filled&&!b.model.Xb&&b.model.Me,"outlined-box":!b.model.filled&&b.model.Me},function(){b.ha=b.element(b.model.fh?"textarea":"input","class",{"native-control":!0,"native-control-filled":b.model.filled},"style",{padding:"0 15px","padding-bottom":b.model.filled?"0":"15px"},"placeholder",b.o?"":b.model.placeholder,"aria-placeholder",b.o?b.model.placeholder:"","type",b.model.inputType,"rows",b.model.rows,"disabled", b.model.disabled,"aria-labelledby",cp(b),"maxlength",b.model.od(),"onfocus",function(){return void b.hh()},"onblur",function(){return void b.Lf()},"oninput",function(){var f,h=b.ha.value; b.model.nb(h);null===(f=b.model.Pd)||void 0===f?void 0:f(h)},"aria-required",b.model.yd); b.ha.value=b.model.Ja();if(b.model.fh&&0===b.model.rows){var e=dp(b);b.ha.style.height=e+"px";0===e&&(b.ha.style.overflowY="hidden")}}); b.o&&(b.o.render(),Eo(b.o,b.model.placeholder))}); var c=b.model.error||b.model.om;c&&(b.element("div","id",b.na,"class",{"helper-text":!0,"helper-text-invalid":b.model.error,"helper-text-disabled":b.model.disabled,"helper-text-filled":b.model.filled,"helper-text-outlined":!b.model.filled,"helper-text-hidden":!b.model.error&&b.model.Bp&&!b.ma},c),b.ha.setAttribute("aria-describedby",b.na))})}; function cp(a){return a.model.hf?a.model.hf.map(function(b){return"self"===b?bp(a):b}).join(" "):bp(a)} function bp(a){if(a.model.Cb()||a.model.placeholder)return a.labelId} function dp(a){var b=Number(getComputedStyle(a.ha).paddingLeft.replace(/[^0-9\.]/g,"")),c=a.ha.clientWidth-2*b;b=a.element("div","class","expander","style","width: "+c+"px",""+a.model.Ja()+"\u200b");if(a.model.uk){var e="\n".repeat(a.model.uk-1);a=a.element("div","class","expander","style","width: "+c+"px",""+e+"\u200b");return Math.min(b.clientHeight,a.clientHeight)}return b.clientHeight} p.hh=function(){var a;this.ma=!0;this.o&&this.o.focus();null===(a=this.model.hh)||void 0===a?void 0:a();this.Ca()}; p.Lf=function(){var a;this.ma=!1;this.o&&this.o.blur();null===(a=this.model.Lf)||void 0===a?void 0:a();this.Ca()}; p.Ja=function(){return this.model.Ja()}; p.nb=function(a){this.model.nb(a)}; function ep(a,b){a=a.model;b!==a.error&&(a.error=b,Mk(a,2))} p.hasError=function(){return!!this.model.error}; p.Yb=function(a){this.model.Yb(a)}; p.focus=function(){this.ha.focus()};function fp(a){var b=void 0===a.text?"":a.text,c=a.trigger,e=void 0===a.Fp?"":a.Fp,f=void 0===a.isRtl?!1:a.isRtl,h=void 0===a.sk?!0:a.sk,k=void 0===a.Pf?!1:a.Pf,l=void 0===a.Lk?10:a.Lk;a=void 0===a.bn?0:a.bn;E.call(this,"sc.shared.MaterialTooltip");var n=this;this.o=!1;this.Lk=l;this.bn=a;this.isRtl=f;this.text=b;this.trigger=c;this.Fp=e;this.sk=h;this.Pf=k;this.activate=function(){if(!n.Pf||gp(n,n.trigger))n.o=!0,n.Ca()}; this.deactivate=function(){n.o=!1;n.Ca()}; this.ha=function(r){var t=r.clientX,w=r.clientY;r=n.container.getBoundingClientRect();var x=r.right,A=r.bottom;w=r.top<=w&&w<=A;r.left<=t&&t<=x&&w||n.deactivate()}} y(fp,E);fp.prototype.content=function(){var a=this;hp(this);this.container=this.element("div","class","container","style",{display:this.o?"":"none",transform:this.isRtl?"translateX(-100%)":void 0,direction:this.isRtl?"rtl":void 0,"max-height":this.sk?"7rem":void 0},function(){var h=vk(a.text);h.classList.add(ip+"blob");for(var k=u(a.Fp.split(/ +/)),l=k.next();!l.done;l=k.next())(l=l.value)&&h.classList.add(l);a.sk?(h.style.webkitLineClamp="5",h.style.whiteSpace="normal"):h.style.display="inline-block"}); this.container.style.top="0";var b=this.container.getBoundingClientRect(),c=this.trigger.getBoundingClientRect(),e=c.x,f=c.y;0!==b.top&&(e=c.x-b.x,f=c.top-b.top);this.container.style.left=this.isRtl?e-this.Lk+"px":e+c.width+this.Lk+"px";this.container.style.marginTop=f-c.height/4+this.bn+"px";this.trigger.addEventListener("mouseenter",this.activate);this.trigger.addEventListener("mouseleave",this.ha);this.trigger.addEventListener("focus",this.activate);this.trigger.addEventListener("blur",this.deactivate); this.container&&this.container.addEventListener("mouseleave",this.deactivate)}; fp.prototype.Ca=function(){E.prototype.Ca.call(this);var a=this.getElement().firstChild;if(a){var b=window.innerHeight,c=document.documentElement.clientWidth,e=a.getBoundingClientRect();if(this.isRtl)0>=e.x&&(a.style.left=a.offsetWidth+10+"px");else if(e.right>=c){var f=Number(a.style.left.replace("px",""));a.style.left=Math.floor(f-(e.right-c))+"px"}e.bottom>=b&&(a.style.top=a.offsetHeight/2*-1+"px")}}; fp.prototype.ue=function(){hp(this)}; function hp(a){a.trigger.removeEventListener("mouseenter",a.activate);a.trigger.removeEventListener("mouseleave",a.ha);a.trigger.removeEventListener("focus",a.activate);a.trigger.removeEventListener("blur",a.deactivate);a.container&&a.container.removeEventListener("mouseleave",a.deactivate)} function gp(a,b){if(b.scrollWidth>b.getBoundingClientRect().width)return!0;b=u(b.children);for(var c=b.next();!c.done;c=b.next())if(gp(a,c.value))return!0;return!1} var ip=zk("sc.shared.MaterialTooltip");function jp(a){return window.matchMedia("(max-width: "+a+")").matches} function kp(){return jp("37.5rem")} ;function lp(){this.ha={};this.o=0} p=lp.prototype;p.format=function(a){var b=Kh("SafeHtmlFormatter:");a=Kh(a).replace(new RegExp("\\{"+b+"[\\w&#;]+\\}","g"),Jb(this.xC,this,[]));return Qf(a,null)}; p.xC=function(a,b){a=this.ha[b];if(!a)return b;b="";a.Vc&&(b+="<"+a.Vc+a.attributes+">");a.html&&(b+=a.html);a.Oc&&(b+="");return b}; p.Vc=function(a,b){Rf(a);return mp(this,{Vc:a,attributes:Xf(b)})}; p.Oc=function(a){Rf(a);return mp(this,{Oc:a})}; p.text=function(a){return mp(this,{html:Kh(a)})}; p.safeHtml=function(a){return mp(this,{html:Of(a).toString()})}; function mp(a,b){a.o++;var c="{SafeHtmlFormatter:"+a.o+"_"+Oh()+"}";a.ha[Kh(c)]=b;return c} ;function np(a){this.ha=a;this.ka={};(a=Qg().hc)&&(this.ka.helpcenter=a)} p=np.prototype;p.aj=function(a){this.na=a;return this}; p.onError=function(a){this.ma=a;return this}; p.$r=function(a){this.oa=a;return this}; p.mh=function(a,b){this.ka[a]=b;return this}; p.start=function(){var a=this,b=new XMLHttpRequest;b.open("POST",Qg().upload_hostname+"/upload");b.withCredentials=!0;b.addEventListener("load",function(){try{var c=JSON.parse(b.responseText);op(a,c.sessionStatus.externalFieldTransfers[0].formPostInfo.url)}catch(e){pp(a)}}); b.addEventListener("error",function(){return pp(a)}); b.addEventListener("abort",function(){return pp(a)}); b.send(qp(this));return this}; function op(a,b){var c=new XMLHttpRequest;c.open("POST",b);c.withCredentials=!0;c.addEventListener("load",function(){try{var e=JSON.parse(c.responseText).sessionStatus.additionalInfo["uploader_service.GoogleRupioAdditionalInfo"].completionInfo.customerSpecificInfo;a.o=e.cns_filename;a.ta=e.document_id;a.na&&a.na()}catch(f){pp(a)}}); c.upload.addEventListener("progress",function(e){a.oa&&a.oa(e.lengthComputable?Math.max(e.loaded-(e.total-a.ha.size),0):0)}); c.addEventListener("error",function(){return pp(a)}); c.addEventListener("abort",function(){return pp(a)}); b=new FormData;b.append("Filedata",a.ha,a.ha.name);c.send(b)} function pp(a){a.ma&&a.ma()} function qp(a){var b=[{external:{name:"file",filename:a.ha.name,formPost:{}}}],c;for(c in a.ka)b.push({inlined:{name:c,content:a.ka[c],contentType:"text/plain"}});return JSON.stringify({protocolVersion:"0.8",createSessionRequest:{fields:b}})} p.aA=function(){return this.o}; p.Kh=function(){return this.ta}; np.prototype.getDocumentId=np.prototype.Kh;np.prototype.getCnsFilename=np.prototype.aA;np.prototype.start=np.prototype.start;np.prototype.setMetadata=np.prototype.mh;np.prototype.onProgress=np.prototype.$r;np.prototype.onError=np.prototype.onError;np.prototype.onSuccess=np.prototype.aj;var rp={"alumnus_expert.svg":Te('\n'),"bronze_expert.svg":Te('\n'), "community_specialist.svg":Te('\n'),"diamond_expert.svg":Te('\n'), "error_computer.svg":Te('\n'), "gold_expert.svg":Te('\n'), "google_employee.svg":Te('\n'),"legacy_expert.svg":Te('\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n'), "logo_googleg_48dp.svg":Te('\n \n \n \n \n \n\n'), "page_desktop.svg":Te('\n'), "page_desktop_dark.svg":Te('\n'), "platinum_expert.svg":Te('\n'), "play.svg":Te('\n'),"search.svg":Te('\n'), "silver_expert.svg":Te('\n'), "stop.svg":Te('\n'),"workflow.svg":Te('\n'), "workflow_dark.svg":Te('\n')};function sp(a){E.call(this,"sc.shared.TsAssetInterop");this.o=a} y(sp,E);sp.prototype.content=function(){vk(rp[this.o])};var tp=new Map([[0,"workflow.svg"],[1,"legacy_expert.svg"],[2,"alumnus_expert.svg"],[3,"bronze_expert.svg"],[4,"silver_expert.svg"],[5,"gold_expert.svg"],[6,"platinum_expert.svg"],[7,"diamond_expert.svg"],[8,"community_specialist.svg"],[9,"google_employee.svg"],[10,"play.svg"],[11,"stop.svg"]]),up=new Map([[0,"workflow_dark.svg"]]); function vp(a){var b=void 0===a.Ab?!1:a.Ab,c=void 0===a.Zq?!1:a.Zq,e=a.icon,f=void 0===a.isDarkMode?!1:a.isDarkMode,h=void 0===a.size?24:a.size;a=a.title;E.call(this,"sc.icon.Icon");f=f&&up.has(e)?up.get(e):tp.get(e);if(void 0===f)throw Error("The icon asset "+e+" is undefined.");this.Ab=b;this.Zq=c;this.size=h;this.o=new sp(f);this.title=a} y(vp,E);vp.prototype.content=function(){var a=this;this.element("div","class",{root:!0,baseline:this.Ab,flip:this.Zq},"title",this.title,"style",{height:this.size+"px",width:this.size+"px"},function(){a.o.render()})};function wp(a){z.call(this,a,-1,xp)} y(wp,z);var xp=[1,2,3,4];function yp(a){z.call(this,a,-1,zp)} y(yp,z);var zp=[2];function Ap(a){z.call(this,a,31,Bp)} y(Ap,z);Ap.prototype.Pb=ma(4);Ap.prototype.Lc=ma(5);var Bp=[3,20,27];function Cp(a){if(!a)return"";a=a.split("#")[0].split("?")[0];a=a.toLowerCase();0==a.indexOf("//")&&(a=window.location.protocol+a);/^[\w\-]*:\/\//.test(a)||(a=window.location.href);var b=a.substring(a.indexOf("://")+3),c=b.indexOf("/");-1!=c&&(b=b.substring(0,c));c=a.substring(0,a.indexOf("://"));if(!c)throw Error("URI is missing protocol: "+a);if("http"!==c&&"https"!==c&&"chrome-extension"!==c&&"moz-extension"!==c&&"file"!==c&&"android-app"!==c&&"chrome-search"!==c&&"chrome-untrusted"!==c&&"chrome"!== c&&"app"!==c&&"devtools"!==c)throw Error("Invalid URI scheme in origin: "+c);a="";var e=b.indexOf(":");if(-1!=e){var f=b.substring(e+1);b=b.substring(0,e);if("http"===c&&"80"!==f||"https"===c&&"443"!==f)a=":"+f}return c+"://"+b+a} ;function Dp(){function a(){f[0]=1732584193;f[1]=4023233417;f[2]=2562383102;f[3]=271733878;f[4]=3285377520;t=r=0} function b(w){for(var x=k,A=0;64>A;A+=4)x[A/4]=w[A]<<24|w[A+1]<<16|w[A+2]<<8|w[A+3];for(A=16;80>A;A++)w=x[A-3]^x[A-8]^x[A-14]^x[A-16],x[A]=(w<<1|w>>>31)&4294967295;w=f[0];var pa=f[1],qa=f[2],sa=f[3],va=f[4];for(A=0;80>A;A++){if(40>A)if(20>A){var za=sa^pa&(qa^sa);var Ca=1518500249}else za=pa^qa^sa,Ca=1859775393;else 60>A?(za=pa&qa|sa&(pa|qa),Ca=2400959708):(za=pa^qa^sa,Ca=3395469782);za=((w<<5|w>>>27)&4294967295)+za+va+Ca+x[A]&4294967295;va=sa;sa=qa;qa=(pa<<30|pa>>>2)&4294967295;pa=w;w=za}f[0]=f[0]+ w&4294967295;f[1]=f[1]+pa&4294967295;f[2]=f[2]+qa&4294967295;f[3]=f[3]+sa&4294967295;f[4]=f[4]+va&4294967295} function c(w,x){if("string"===typeof w){w=unescape(encodeURIComponent(w));for(var A=[],pa=0,qa=w.length;par?c(l,56-r):c(l,64-(r-56));for(var A=63;56<=A;A--)h[A]=x&255,x>>>=8;b(h);for(A=x=0;5>A;A++)for(var pa=24;0<=pa;pa-=8)w[x++]=f[A]>>pa&255;return w} for(var f=[],h=[],k=[],l=[128],n=1;64>n;++n)l[n]=0;var r,t;a();return{reset:a,update:c,digest:e,digestString:function(){for(var w=e(),x="",A=0;Al?"":0==l?";expires="+(new Date(1970,1,1)).toUTCString():";expires="+(new Date(Date.now()+1E3*l)).toUTCString();this.o.cookie=a+"="+b+c+k+l+e+(null!=f?";samesite="+ f:"")}; p.get=function(a,b){for(var c=a+"=",e=(this.o.cookie||"").split(";"),f=0,h;fa.xd()?"https://www.google.com/log?format=json&hasfast=true":"https://play.google.com/log?format=json&hasfast=true");return a.Ga} p.dispatch=function(a){if(a instanceof Ap)this.log(a);else{var b=new Ap;a=a.Hb();b=Vd(b,8,a);this.log(b)}}; function qq(a,b){b?(a.ka||(a.ka=new yp),b=b.Hb(),Vd(a.ka,4,b)):a.ka&&Vd(a.ka,4,void 0)} function rq(a){a.Ua=a.Ld} function sq(a,b){a.na=new Np(1>b?1:b);nn(a.o,a.na.Sa())} p.log=function(a){a=a.clone();var b=this.De++;Vd(a,21,b);this.Ba&&Vd(a,26,this.Ba);if(!Qd(a,1)){b=a;var c=Date.now().toString();Vd(b,1,c)}Rd(a,15)||Vd(a,15,60*(new Date).getTimezoneOffset());this.ka&&(b=this.ka.clone(),de(a,16,b));for(;1E3<=this.ha.length;)this.ha.shift(),++this.va;this.ha.push(a);this.dispatchEvent(new tq(a));this.Ha||this.o.enabled||this.o.start()}; p.flush=function(a,b){var c=this;if(0===this.ha.length)a&&a();else if(this.Ma)uq(this);else{var e=Date.now();if(this.lc>e&&this.RaA||401===A||0===A)c.ha=pa.concat(c.ha),c.Ha||c.o.enabled||c.o.start();b&&b("net-send-failed",A)},x=function(){c.Qa?c.Qa.send(r,t,w):c.yc(r,t,w)}; n?n.then(function(A){r.Hs["Content-Encoding"]="gzip";r.Hs["Content-Type"]="application/binary";r.body=A;r.bz=2;x()},function(){x()}):x()}}}}; p.Yq=function(){this.Aa||(this.Ua&&uq(this),this.Da&&vq(this),this.flush())}; function uq(a){wq(a,32,10,function(b,c){b=vn(b,"format","json");b=window.navigator.sendBeacon(b,c.Hb());a.Ma&&!b&&(a.Ma=!1);return b})} function vq(a){wq(a,6,5,function(b,c){c=c.Hb();for(var e=[],f=0,h=0;h>=8);e[f++]=k}c=pd(e,3);b=un(b,"format","base64json","p",c);if(15360 .heading").getAttribute("data-search-dym-tracking-id"),a.Fs(f,b,h,e,c)):(e=""!==Og("symptom"),a.fj(f,h,b.getAttribute("data-search-rank"),b.getAttribute("data-search-result-id"),b.getAttribute("data-search-request-id"),b.getAttribute("data-search-url"), b.getAttribute("data-search-flow"),b.getAttribute("data-search-ctx"),e,c))}} function Eq(a,b){function c(){h&&k&&((window.sc_delayLocationHandler=e)?e(f):gh(f))} if("_blank"==a.target||b.shiftKey||b.ctrlKey||b.metaKey)return null;var e=window.sc_delayLocationHandler,f,h=!1,k=!1;window.sc_delayLocationHandler=function(){h=!0;c()}; return function(l){k=!0;f=l;c()}} p.fj=function(a,b,c,e,f,h,k,l,n,r){b=Fq(n?"suggestion_clicked":"search_results_clicked",b,k,l);Bq(b,"q",a);Bq(b,"clickRank",c);Bq(b,"resultId",e);Bq(b,"requestId",f);Bq(b,"shownContentList",h);Gq(this,b,h,r)}; p.Fs=function(a,b,c,e,f){c=Fq("sugesstion_clicked",c);Bq(c,"q",a);e&&Bq(c,"dymTrackingId",e);Gq(this,c,b,f)}; p.Es=function(a,b,c){b=Fq("autocomplete_search_query",Qg().visit_id,b);Bq(b,"q",a);Gq(this,b,"",c)}; p.Cs=function(a,b,c,e){c=Fq("autocomplete_results_clicked",Qg().visit_id,c);Bq(c,"q",a);Bq(c,"shownContentList",b);Gq(this,c,b,e)}; p.Ds=function(a,b){b=Fq("autocomplete_click_impressions",Qg().visit_id,b);Bq(b,"shownContentList",a.join("|"));Hq(this,b,"sc_nullFunction")}; function Gq(a,b,c,e){e&&e instanceof Function?(window.sc_searchMetricsLinkCallback=function(){e(c)},Hq(a,b,"sc_searchMetricsLinkCallback")):Hq(a,b,"sc_nullFunction")} p.Lv=function(a){var b=Fq("article_help_link_clicked",Qg().visit_id,"help");Bq(b,"url",a);Hq(this,b,"sc_nullFunction")}; p.Rv=function(a){var b=Fq("opened_to_article",Qg().visit_id,"help");Bq(b,"shownContentList",a);Hq(this,b,"sc_nullFunction")}; p.Km=function(a,b,c,e,f,h,k,l){e=e||Og("query")||Og("q");h=h||""!==Og("symptom");a=Fq(h?"shown_suggestions":"shown_search_results",a,f,k);Bq(a,"q",e);Bq(a,"requestId",b);Bq(a,"shownContentList",c.join("|"));l&&Bq(a,"dymTrackingId",l);Hq(this,a,"sc_nullFunction")}; function Iq(a,b,c){b=Fq(b,Qg().visit_id,"help");c&&Bq(b,"contactMode",c);Hq(a,b,"sc_nullFunction")} p.Ov=function(){Iq(this,"nd4c_requested")}; p.Nv=function(){Iq(this,"shown_contact_us","nd4c_email")}; p.Mv=function(){Iq(this,"contact_us_clicked","nd4c_email")}; p.Qv=function(){Iq(this,"shown_contact_us","nd4c_phone")}; p.Pv=function(){Iq(this,"contact_us_clicked","nd4c_phone")}; p.hj=function(a,b,c,e,f,h){a=Fq(void 0===h?"suggestion_clicked":h,a);Bq(a,"requestId",b);Bq(a,"resultId",c);void 0!==e&&Bq(a,"clickRank",e);void 0!==f&&Bq(a,"shownContentList",f);Hq(this,a,"sc_nullFunction")}; function Fq(a,b,c,e){a=Bq(Bq(Bq(Bq(Bq(Bq(Bq(new Aq,"flow",c||"support-content"),"gfSessionId",b),"hcName",Qg().hc),"locale",Qg().lang),"authuser",Qg().au),"useAnonymousMetrics","false"),"userAction",a);(e=e||Jq())&&Bq(a,"productSpecificContext",e);"help"===c&&Bq(a,"useInappHelpPanel","true");(c=th("productEscalationsId"))&&Bq(a,"productId",c);return a} function Jq(){var a=Qg().query_params.find(function(b){return"ec"==b.key}); return a?a.value:""} function Hq(a,b,c){if(a.o||"true"===th("initializeMojoMetrics")){Bq(b,"callback",c);a=Vh(document,"SCRIPT");a.onerror=window[c];var e=Object.fromEntries(b.ka.entries());c=Object.fromEntries(b.o.entries());b=af(b.ha,e);b=Ye(b).toString();b=ef.exec(b);e=b[3]||"";c=df(b[1]+ff("?",b[2]||"",c)+ff("#",e,void 0));ig(a,c);document.body.appendChild(a)}} Cq.prototype.reportSearchResultsFeatureClick=Cq.prototype.hj;Cq.prototype.reportND4CTfnClicked=Cq.prototype.Pv;Cq.prototype.reportND4CTfnDisplayed=Cq.prototype.Qv;Cq.prototype.reportND4CEmailClicked=Cq.prototype.Mv;Cq.prototype.reportND4CEmailDisplayed=Cq.prototype.Nv;Cq.prototype.reportND4CRequested=Cq.prototype.Ov;Cq.prototype.reportImpressions=Cq.prototype.Km;Cq.prototype.reportOpenedToArticle=Cq.prototype.Rv;Cq.prototype.reportArticleHelpLinkClicked=Cq.prototype.Lv; Cq.prototype.reportAutocompleteImpressions=Cq.prototype.Ds;Cq.prototype.reportAutocompleteClick=Cq.prototype.Cs;Cq.prototype.reportAutocompleteSearch=Cq.prototype.Es;Cq.prototype.reportSpellingClick=Cq.prototype.Fs;Cq.prototype.reportClick=Cq.prototype.fj;Cq.prototype.setUpMojoReportingForSpelling=Cq.prototype.lw;Cq.prototype.setUpMojoReportingForSearchResults=Cq.prototype.kw;var Kq;Mb("hcfe.MojoMetrics",Cq); window.sc_initMojoMetrics=function(){Kq||(Kq=new Cq,Kq.kw(),Kq.lw(),window.sc_trackSearchResultImpressions=window.sc_trackSearchResultEnabledRceTracking?window.sc_nullFunction:Kq.Km.bind(Kq))};function Lq(){E.call(this,"sc.shared.material_dialog.DialogContent");this.o=new Yo} y(Lq,E);Lq.prototype.content=function(a){var b=this,c=a.title,e=a.content,f=a.yo,h=a.rb;this.element("div","class","root",function(){c&&b.element("h1","class","title",c);e&&b.element("div",e);f&&b.element("div",f);h&&b.element("div","class","loading-overlay",function(){b.o.render()})})};var Mq={vc:7,wc:7,Rl:!0,an:!0};function Nq(a){var b=this,c=a.content,e=void 0===a.scope?document.body:a.scope,f=a.mb,h=te(a,["content","scope","ariaLabel"]);this.ha=new Map;this.scope=e;this.o=new Fo(Object.assign(Object.assign(Object.assign({},Mq),h),{hb:function(){var k;if(b.Gc)for(var l=u(b.ha),n=l.next();!n.done;n=l.next()){var r=u(n.value);n=r.next().value;(r=r.next().value)||n.removeAttribute("aria-hidden")}null===(k=h.hb)||void 0===k?void 0:k.call(h)}, content:function(){uk("div","role","dialog","aria-modal","true","aria-label",f,c)}}))} Nq.prototype.initialize=function(){var a=this;if(this.Gc)return this;this.Gc=document.createElement("div");this.Gc.setAttribute("aria-live","polite");this.scope.appendChild(this.Gc);qk(this.Gc,function(){a.o.render()}); return this}; Nq.prototype.Xa=function(){this.Gc&&(this.o.close(),this.Gc.remove(),this.Gc=void 0)}; Nq.prototype.open=function(a){a=void 0===a?{}:a;this.initialize();if(this.Gc)for(var b=this.Gc;b&&b!==document.body;){var c=b,e=Oq(c);if(e){e=u(e.childNodes);for(var f=e.next();!f.done;f=e.next())f=f.value,c!==f&&Cb(f)&&1===f.nodeType&&(this.ha.set(f,"true"===f.getAttribute("aria-hidden")),f.setAttribute("aria-hidden","true"))}b=Oq(b)}this.o.open(Object.assign({Kb:!0},a))}; Nq.prototype.close=function(){this.o.close()}; function Oq(a){return a.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&a.host&&a.mode?a.host:a.parentNode} ;function Pq(a){a=a.wb;E.call(this,"sc.tailwind.shared.rich_text_editor.attachment.FailedOverlay");this.wb=a} y(Pq,E);Pq.prototype.content=function(){var a=this;this.element("button","class","root","onclick",function(){return void a.wb()},"Failed to attach file, click here to try again.")};function Qq(){E.call(this,"sc.tailwind.shared.rich_text_editor.attachment.LoadingOverlay");this.o=new Yo} y(Qq,E);Qq.prototype.content=function(){var a=this;this.element("div","class","root",function(){a.o.render()})};function Rq(a){a=a.hd;E.call(this,"sc.tailwind.shared.rich_text_editor.attachment.RemoveButton");this.o=new Rk({icon:"gm/close",size:16,Ab:!0});this.overlay=new bl;this.hd=a} y(Rq,E);Rq.prototype.content=function(){var a=this;this.element("div","class","root",function(){a.element("button","class","remove-button","aria-label","Remove attachment","onclick",function(){return void a.hd()},"onkeydown",function(b){"Backspace"!==b.key&&"Delete"!==b.key||a.hd()},function(){a.o.render(); a.overlay.render()})})};function Sq(a){var b=a.Ks,c=a.hd;a=a.fs;E.call(this,"sc.tailwind.shared.rich_text_editor.attachment.InlinedAttachment");this.na=new Qq;this.o=this.rb=!1;this.Ks=b;this.ta=new Rq({hd:c});this.ma=new Pq({wb:a})} y(Sq,E);Sq.prototype.Cc=function(a){this.rb!==a&&(this.rb=a,this.Ca())}; Sq.prototype.ha=function(a){this.o!==a&&(this.o=a,this.Ca())}; Sq.prototype.content=function(){var a=this;this.element("div","class","root",function(){fg(a.element("img","class","image"),a.Ks);a.ta.render();a.rb?a.na.render():a.o&&a.ma.render()})};function Tq(a){var b=a.fileName,c=a.mimeType,e=a.hd;a=a.fs;E.call(this,"sc.tailwind.shared.rich_text_editor.attachment.NonInlinedAttachment");this.na=new Qq;this.o=this.rb=!1;this.ta=new Rq({hd:e});e=b.lastIndexOf(".");b=-1===e?{base:b,extension:""}:{base:b.substring(0,e),extension:b.substring(e+1)};e=b.extension;this.base=b.base;this.extension=e;this.ua=qf("https://drive-thirdparty.googleusercontent.com/32/type/"+c);this.ma=new Pq({wb:a})} y(Tq,E);Tq.prototype.Cc=function(a){this.rb!==a&&(this.rb=a,this.Ca())}; Tq.prototype.ha=function(a){this.o!==a&&(this.o=a,this.Ca())}; Tq.prototype.content=function(){var a=this;this.element("div","class",{root:!0,"root-failed":this.o},function(){a.element("div","class","filename",a.base);a.element("div","class","extension",function(){fg(a.element("img","class","icon"),a.ua);a.element("span",a.extension)}); a.ta.render();a.rb?a.na.render():a.o&&a.ma.render()})};function Uq(){this.documentId=this.mimeType=this.Of="";this.ka=this.ha=this.Ve=!1} function Vq(a){var b=new Uq;b.Of=a.name;b.mimeType=a.type;b.file=a;Wq(b);return b} function Xq(a){var b=new Uq;b.Of=a.originalFilename;b.mimeType=a.mimeType;b.Ac=a.Ac;b.documentId=a.documentId;Wq(b);return b} function Wq(a){a.dom=document.createElement("div");a.$g()?(a.dom.contentEditable="false",a.dom.style.display="inline-block",a.dom.style.maxWidth="100%",a.component=new Sq({Ks:lf(a.file),hd:function(){return void a.remove()}, fs:function(){return void a.upload()}})):a.component=new Tq({fileName:a.Of, mimeType:a.mimeType,hd:function(){return void a.remove()}, fs:function(){return void a.upload()}}); qk(a.dom,function(){a.component.render()})} p=Uq.prototype;p.render=function(){var a;null===(a=this.component)||void 0===a?void 0:a.render()}; p.$g=function(){if(!this.file)return!1;switch(this.mimeType){case "image/gif":case "image/jpeg":case "image/png":return!0;default:return!1}}; p.upload=function(){var a=this;this.Cc(!0);Yq(this,!1);this.o&&this.o();this.fileUpload=(new np(this.file)).aj(function(){a.Cc(!1);a.Ac=a.fileUpload.o;a.documentId=a.fileUpload.Kh();a.documentId||(a.documentId=Date.now().toString(16)+Math.floor(65536*Math.random()).toString(16));a.dom&&(a.dom.dataset.richTextEditorAttachmentDocumentId=a.documentId);a.o&&a.o()}).onError(function(){Yq(a,!0); a.Cc(!1);a.o&&a.o()}).mh("SupportContentForums","TailwindPost").start()}; p.remove=function(){this.Ve||(this.dom&&this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom),this.Ve=!0,this.ma&&this.ma())}; p.Dm=function(a){this.o=a}; p.hd=function(a){this.ma=a}; p.Rj=function(a){a.appendChild(this.dom)}; p.hk=function(){return this.dom}; p.rb=function(){return this.ka}; p.hasError=function(){return this.ha}; p.Ui=function(){return{originalFilename:this.Of,mimeType:this.mimeType,Ac:this.Ac,documentId:this.documentId,deleted:this.Ve}}; p.Cc=function(a){var b;this.ka!==a&&(this.ka=a,null===(b=this.component)||void 0===b?void 0:b.Cc(a))}; function Yq(a,b){var c;a.ha!==b&&(a.ha=b,null===(c=a.component)||void 0===c?void 0:c.ha(b))} Uq.prototype.getUploadedFile=Uq.prototype.Ui;Uq.prototype.hasError=Uq.prototype.hasError;Uq.prototype.isLoading=Uq.prototype.rb;Uq.prototype.getDom=Uq.prototype.hk;Uq.prototype.appendDomTo=Uq.prototype.Rj;Uq.prototype.onRemove=Uq.prototype.hd;Uq.prototype.onStateChange=Uq.prototype.Dm;Uq.prototype.remove=Uq.prototype.remove;Uq.prototype.upload=Uq.prototype.upload;Uq.prototype.isInlinableImage=Uq.prototype.$g;Uq.fromUploadedFile=Xq;Uq.fromLocalFile=Vq;function Zq(a,b,c){this.o=a;this.ha=b;this.ka=void 0===c?!0:c} Zq.prototype.toString=function(){return this.o}; var $q=new Zq("attachFile",!1,!1),ar=new Zq("bold",!0),br=new Zq("italic",!0),cr=new Zq("underline",!0),dr=new Zq("code",!1),er=new Zq("insertUnorderedList",!0),fr=new Zq("insertOrderedList",!0),gr=new Zq("outdent",!0,!1),hr=new Zq("indent",!0,!1),ir=new Zq("insertLink",!1),jr=new Zq("removeFormat",!0,!1);var kr={yt:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0B"},1E10:{other:"00B"},1E11:{other:"000B"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}},Zw:{1E3:{other:"0 thousand"},1E4:{other:"00 thousand"},1E5:{other:"000 thousand"},1E6:{other:"0 million"},1E7:{other:"00 million"},1E8:{other:"000 million"},1E9:{other:"0 billion"},1E10:{other:"00 billion"},1E11:{other:"000 billion"},1E12:{other:"0 trillion"},1E13:{other:"00 trillion"}, 1E14:{other:"000 trillion"}}},lr=kr;lr=kr;var mr={AED:[2,"dh","\u062f.\u0625."],ALL:[0,"Lek","Lek"],AUD:[2,"$","AU$"],BDT:[2,"\u09f3","Tk"],BGN:[2,"lev","lev"],BRL:[2,"R$","R$"],CAD:[2,"$","C$"],CDF:[2,"FrCD","CDF"],CHF:[2,"CHF","CHF"],CLP:[0,"$","CL$"],CNY:[2,"\u00a5","RMB\u00a5"],COP:[32,"$","COL$"],CRC:[0,"\u20a1","CR\u20a1"],CZK:[50,"K\u010d","K\u010d"],DKK:[50,"kr.","kr."],DOP:[2,"RD$","RD$"],EGP:[2,"\u00a3","LE"],ETB:[2,"Birr","Birr"],EUR:[2,"\u20ac","\u20ac"],GBP:[2,"\u00a3","GB\u00a3"],HKD:[2,"$","HK$"],HRK:[2,"kn","kn"],HUF:[34, "Ft","Ft"],IDR:[0,"Rp","Rp"],ILS:[34,"\u20aa","IL\u20aa"],INR:[2,"\u20b9","Rs"],IRR:[0,"Rial","IRR"],ISK:[0,"kr","kr"],JMD:[2,"$","JA$"],JPY:[0,"\u00a5","JP\u00a5"],KRW:[0,"\u20a9","KR\u20a9"],LKR:[2,"Rs","SLRs"],LTL:[2,"Lt","Lt"],MNT:[0,"\u20ae","MN\u20ae"],MVR:[2,"Rf","MVR"],MXN:[2,"$","Mex$"],MYR:[2,"RM","RM"],NOK:[50,"kr","NOkr"],PAB:[2,"B/.","B/."],PEN:[2,"S/.","S/."],PHP:[2,"\u20b1","PHP"],PKR:[0,"Rs","PKRs."],PLN:[50,"z\u0142","z\u0142"],RON:[2,"RON","RON"],RSD:[0,"din","RSD"],RUB:[50,"\u20bd", "RUB"],SAR:[2,"Rial","Rial"],SEK:[50,"kr","kr"],SGD:[2,"$","S$"],THB:[2,"\u0e3f","THB"],TRY:[2,"\u20ba","TRY"],TWD:[2,"$","NT$"],TZS:[0,"TSh","TSh"],UAH:[2,"\u0433\u0440\u043d.","UAH"],USD:[2,"$","US$"],UYU:[2,"$","$U"],VND:[48,"\u20ab","VN\u20ab"],YER:[0,"Rial","Rial"],ZAR:[2,"R","ZAR"]};var nr={Bt:".",cq:",",Kt:"%",hq:"0",hy:"+",Jt:"-",Ct:"E",Lt:"\u2030",eq:"\u221e",Yx:"NaN",At:"#,##0.###",ny:"#E0",gy:"#,##0%",$w:"\u00a4#,##0.00",bq:"USD"},or=nr;or=nr;function pr(a){this.ya=40;this.ka=1;this.Da=0;this.ha=3;this.Ba=this.ma=0;this.Ha=!1;this.Aa=this.ua="";this.oa=or.Jt;this.va="";this.o=1;this.ta=!1;this.na=[];this.Ea=this.Ga=!1;this.wa=0;if("number"===typeof a)switch(a){case 1:qr(this,or.At);break;case 2:qr(this,or.ny);break;case 3:qr(this,or.gy);break;case 4:a=or.$w;var b=["0"],c=mr[or.bq];if(c){c=c[0]&7;if(0f&&n++;break;case "0":if(0f&&n++;break;case ",":0h+k||1>a.Ba)throw Error('Malformed exponential pattern "'+b+'"');t=!1;break;default:c[0]--,t=!1}0==k&&0f&&0h+k)||0==n)throw Error('Malformed pattern "'+b+'"');l=h+k+l;a.ha=0<=f?l-f:0;0<=f&&(a.ma=h+k-f,0>a.ma&&(a.ma=0));a.ka=(0<=f?f:l)-h;a.Ea&&(a.ya=h+a.ka,0==a.ha&&0==a.ka&&(a.ka=1));a.na.push(Math.max(0,n));a.Ga= 0==f||f==l;e=c[0]-e;a.Aa=sr(a,b,c);c[0]this.oa.length?e=!1:this.ua.length=qa)A+=qa,l=!0;else if(pa==t.charAt(0)){if(h||k)break;A+=".";h=!0}else if(pa==w.charAt(0)&&("\u00a0"!=w.charAt(0)||b[0]+1this.ha)throw Error("Min value must be less than max value");if(isNaN(a))return or.Yx;var b=[];var c=a,e=a;if(0==this.wa)var f=ur;else c=Math.abs(c),e=Math.abs(e),f=vr(this,1>=c?0:wr(c)).Iq,e=xr(e,-f),yr(this,e),c=xr(c,-f),c=yr(this,c),f=vr(this,f+wr(c.intValue));a=xr(a,-f.Iq);(c=0>a||0==a&&0>1/a)?f.Qr?b.push(f.Qr):(b.push(f.prefix),b.push(this.oa)):(b.push(f.prefix),b.push(this.ua));if(isFinite(a))if(a=a*(c?-1:1)*this.o,this.Ea)if(e=a,0==e)zr(this,e,this.ka, b),Ar(this,0,b);else{var h=Math.floor(Math.log(e)/Math.log(10)+2E-15);e=xr(e,-h);var k=this.ka;1this.ka?(k=h%this.ya,0>k&&(k=this.ya+k),e=xr(e,k),h-=k,k=1):1>this.ka?(h++,e=xr(e,-1)):(h-=this.ka-1,e=xr(e,this.ka-1));zr(this,e,k,b);Ar(this,h,b)}else zr(this,a,this.ka,b);else b.push(or.eq);c?f.Rr?b.push(f.Rr):(isFinite(a)&&b.push(f.suffix),b.push(this.va)):(isFinite(a)&&b.push(f.suffix),b.push(this.Aa));return b.join("")}; function yr(a,b){var c=xr(b,a.ha);0a.ha)throw Error("Min value must be less than max value");e||(e=[]);b=yr(a,b);var f=b.intValue,h=b.Vz,k=0h.length&&(h="1"+Nh("0",a.ha-h.length)+h);for(a=h.length;"0"==h.charAt(a-1)&&a>b+1;)a--;for(b=1;bb?(b=-b,c.push(or.Jt)):a.Ha&&c.push(or.hy);b=""+b;for(var e=or.hq,f=b.length;fa)return a-48;var b=or.hq.charCodeAt(0);return b<=a&&ab)return ur;b=Math.min(14,b);var c=a[xr(1,b)];for(--b;!c&&3<=b;)c=a[xr(1,b)],b--;if(!c)return ur;c=c.other;var e=a="",f=c.indexOf(";");0<=f&&(c=c.substring(0,f),f=c.substring(f+1))&&(e=/([^0]*)(0+)(.*)/.exec(f),a=e[1],e=e[3]);return c&&"0"!=c?(c=/([^0]*)(0+)(.*)/.exec(c))?{Iq:b+1-(c[2].length-1),Qr:a,Rr:e,prefix:c[1],suffix:c[3]}:ur:ur} function wr(a){if(!isFinite(a))return 0=r)&&(e=ts(),(f=e.focusNode)&&0!==(f.compareDocumentPosition(a.Wa.content)&Node.DOCUMENT_POSITION_CONTAINS))){for(var t=0;f&&f!==a.o;){if(f.nodeType===Node.TEXT_NODE){var w=f===e.focusNode?e.focusOffset:null!==(k=null===(h=f.textContent)||void 0===h?void 0:h.length)&&void 0!==k?k:0,x=Math.min(r,w);x<(null!==(n=null===(l=f.textContent)|| void 0===l?void 0:l.length)&&void 0!==n?n:0)&&(t=w-x);r-=x;if(!r)break}f=ns(f)}h=document.createRange();h.setStart(f,t);h.setEnd(e.focusNode,e.focusOffset);h.deleteContents();e.removeAllRanges();e.addRange(h)}}Mk(a.model,0)},function(){Uj=Vj.lastChild}),a.Wa=null!==(c=a.Wa)&&void 0!==c?c:new zs(a.o)); a.element("div","class","toolbar",function(){a.ua.render({Wa:a.Wa})}); a.eh.render();a.model.mk()&&a.ma.render()}); ht(this);this.ha||(this.na=(new this.mq({model:this.model,Wa:this.Wa})).initialize(),this.ta=(new this.Kr({model:this.model,Wa:this.Wa,eh:this.eh})).initialize(),this.va=(new this.wq({model:this.model,Wa:this.Wa})).initialize(),this.ya=(new this.Jr({model:this.model,Wa:this.Wa})).initialize(),this.ha=!0);if(this.sm){var b=this.sm;delete this.sm;this.nj(b)}}; p.ue=function(){var a,b,c,e;this.ha&&(null===(a=this.na)||void 0===a?void 0:a.Xa(),null===(b=this.ta)||void 0===b?void 0:b.Xa(),null===(c=this.va)||void 0===c?void 0:c.Xa(),null===(e=this.ya)||void 0===e?void 0:e.Xa(),this.na=void 0,this.ha=!1)}; p.focus=function(){if(this.o){this.o.focus();var a=document.createRange();a.selectNodeContents(this.o.lastChild||this.o);a.collapse(!1);var b=ts();b.removeAllRanges();b.addRange(a)}}; p.Ol=ma(7);p.rg=function(){if(!this.o)return"";this.o.normalize();ks(this.o);return qs(this.o).innerHTML}; p.Ja=function(){var a;if(!this.o)return"";this.o.normalize();ks(this.o);return null!==(a=qs(this.o).textContent)&&void 0!==a?a:""}; p.nb=function(a){var b=document.createElement("div");b.innerText=a;this.nj(b)}; p.nj=function(a){if(this.o){if("string"===typeof a){var b=document.createElement("div");dg(b,Ej(a));a=b}b=this.o;b.textContent="";a=u(a.childNodes);for(var c=a.next();!c.done;c=a.next())b.appendChild(c.value.cloneNode(!0));this.o.normalize();ks(this.o);Mk(this.model,0)}}; p.clear=function(){this.o&&(this.o.textContent="")}; p.Ll=ma(8);p.Fa=function(a){this.model.Fa(0,a);return this}; p.Ed=function(){return this.model.Ed()}; p.be=function(a){this.model.be(a)}; function ht(a){var b,c,e;var f=a.model;var h=null!==(e=null===(c=null===(b=a.o)||void 0===b?void 0:b.textContent)||void 0===c?void 0:c.length)&&void 0!==e?e:0;f.hintText?f=f.hintText:(h=Math.max(0,f.minLength-h),f=0>>0),x=[["js_request_id",w],["rr",1],["lc",1]],A=Mu();0]+)>)/gi,"")}; Xu.prototype.getUrl=function(){var a;return null!==(a=this.o.getUrl())&&void 0!==a?a:""}; Xu.prototype.Qc=function(){var a;return null!==(a=this.o.Qc())&&void 0!==a?a:""};function Yu(a){z.call(this,a)} y(Yu,z);Yu.prototype.getType=function(){return Xd(this,1,0)}; Yu.prototype.getId=function(){return me(this,2)}; Yu.prototype.setId=function(a){return Vd(this,2,a)};function Zu(a){z.call(this,a)} y(Zu,z);function $u(a){z.call(this,a)} y($u,z);var av=[2,3,4,5,6,7];function bv(a){z.call(this,a)} y(bv,z);bv.prototype.getUrl=function(){return me(this,1)}; bv.prototype.lb=function(){return me(this,2)}; bv.prototype.uc=function(a){return Vd(this,2,a)};function cv(a){z.call(this,a)} y(cv,z);function dv(a){z.call(this,a)} y(dv,z);dv.prototype.Nh=function(){return me(this,1)}; function ev(a){var b=new Gm;var c=Math.floor(Date.now()/1E3);b=oe(b,c);de(a,2,b)} ;function fv(a){z.call(this,a,-1,gv)} y(fv,z);var gv=[1];function hv(a){z.call(this,a)} y(hv,z);hv.prototype.Hf=function(){return Xd(this,2,0)};function iv(a){z.call(this,a,-1,jv)} y(iv,z);var jv=[2];function kv(a){z.call(this,a)} y(kv,z);function lv(a){a=void 0===a?{}:a;this.ij=new (void 0===a.KC?nl:a.KC)({tf:Qg().mld+"/v1",serviceName:"MoltronLoggingService"})} function mv(a,b,c,e){var f=(void 0===e?{}:e).iz;ue(a,function k(){var l,n,r,t=this;return mb(k,function(w){if(!b||!c)return w.return();l=new dv;Vd(l,1,b);ev(l);Vd(l,3,c);Vd(l,5,3);f&&(n=new Zu,Vd(n,1,1),Vd(n,2,f),r=new $u,ee(r,3,av,n),de(l,6,r));return Qa(w,nv(t,l),0)})})} function ov(a,b,c,e){var f=(void 0===e?{zr:!1}:e).zr;ue(a,function k(){var l,n,r,t,w,x,A=this;return mb(k,function(pa){if(!b)return pa.return();l=[];n=u(c);for(r=n.next();!r.done;r=n.next())if(t=r.value)w=new dv,Vd(w,1,b),ev(w),Vd(w,3,t),Vd(w,5,1),f&&(x=new $u,Vd(x,1,3),de(w,6,x)),l.push(w);return Qa(pa,pv(A,l),0)})})} function qv(a,b){ue(a,function e(){var f,h,k=this;return mb(e,function(l){if(!b)return l.return();f=new dv;Vd(f,1,b);ev(f);h=new Yu;Vd(h,1,3);h.setId("other");de(f,4,h);Vd(f,5,3);return Qa(l,nv(k,f),0)})})} function nv(a,b,c){c=void 0===c?!1:c;return ue(a,function f(){var h,k,l,n,r=this;return mb(f,function(t){if(1==t.o)return h=new kv,de(h,1,b),k={query:{key:Qg().mkey}},c&&(l=(Qg().ge||"").toLowerCase(),n=Mp([{key:"e",value:l}]))&&(k.withCredentials=!0,k.headers={Authorization:n}),$a(t,2),Qa(t,r.ij.post("log-moltron-interaction",h,hv,k),4);if(2!=t.o)return ab(t,0);bb(t);Wa(t)})})} function pv(a,b){return ue(a,function e(){var f,h=this;return mb(e,function(k){if(1==k.o)return f=new fv,fe(f,1,b),$a(k,2),Qa(k,h.ij.post("log-batch-moltron-interaction",f,iv,{query:{key:Qg().mkey}}),4);if(2!=k.o)return ab(k,0);bb(k);Wa(k)})})} ;function rv(a,b,c,e){lv.call(this);this.predictionId=a;this.o=b;this.dymTrackingId=c;this.sessionId=e} y(rv,lv);function sv(a){ue(a,function c(){var e=this,f,h;return mb(c,function(k){f=tv();Vd(f,1,e.predictionId);Vd(f,5,1);h=new cv;Vd(h,1,e.o?3:1);Vd(h,2,e.sessionId);de(f,8,h);return Qa(k,nv(e,f,!0),0)})})} function uv(a,b,c){ue(a,function f(){var h=this,k,l,n;return mb(f,function(r){k=tv();Vd(k,1,h.predictionId);Vd(k,3,b);Vd(k,5,3);l=new cv;Vd(l,1,h.o?4:2);Vd(l,2,h.sessionId);de(k,8,l);n=new bv;Vd(n,1,c);de(k,7,n);return Qa(r,nv(h,k,!0),0)})})} rv.prototype.hj=function(a,b){return ue(this,function e(){var f=this,h;return mb(e,function(k){h=vv(f,a,4,b);return Qa(k,nv(f,h,!0),0)})})}; function vv(a,b,c,e){var f=tv();Vd(f,1,a.predictionId);Vd(f,3,b);Vd(f,5,3);e&&(b=new bv,Vd(b,1,e),de(f,7,b));e=new cv;Vd(e,1,c);Vd(e,2,a.sessionId);de(f,8,e);return f} function tv(){var a=new dv;ev(a);return a} ;function wv(a,b,c,e,f,h,k){this.context=a;this.dymTrackingId=b;this.flow=c;this.ha=e;this.query=f;this.requestId=h;this.sessionId=k;this.o=new Cq(!0)} function xv(a,b){a.o.Km(a.sessionId,a.requestId,b,a.query,a.flow,a.ha,a.context,a.dymTrackingId)} function yv(a,b,c,e){a.o.fj(a.query,a.sessionId,b,c,a.requestId,e,a.flow,a.context,a.ha)} wv.prototype.hj=function(a,b,c){this.o.hj(this.sessionId,this.requestId,a,b,c)};function zv(a){var b=a.symptoms,c=void 0===a.limit?8:a.limit,e=void 0===a.helpcenterName?"":a.helpcenterName,f=void 0===a.en?new Map:a.en;a=void 0===a.xm?0:a.xm;E.call(this,"sc.symptoms.Symptoms");this.ha="true"===th("workflow__full-layout");this.isRendered=this.o=!1;this.symptoms=b;this.limit=c;this.helpcenterName=e;this.en=f;this.xm=a} y(zv,E);zv.prototype.content=function(){var a=this,b=ce(this.symptoms,Vu,1).filter(function(c){var e;return""!==(null===(e=Qd(c,2))||void 0===e?void 0:e.trim())}); this.element("div","class","root",function(){a.element("div","class","container",function(){switch(a.xm){case 0:Av(a,b);break;case 1:for(var c=0;ca.limit} function Gv(a){if(Cv(a)){a.o=!a.o;a.Ca();var b=a.o;rl(b?2:3,a.helpcenterName+"_symptoms_view_"+(b?"more":"less"),b?96:97)}} function Fv(a,b){rl(35,a.helpcenterName+"_symptoms_click_"+Qd(b,1)+(Wd(b,3)?"_active":""),98);if(!Wd(b,3)){a:{var c;b=null!==(c=Qd(b,1))&&void 0!==c?c:"";if(""!==b&&a.en.has(b)&&(a=a.en.get(b)))break a;a=""}a=a.split("?");c="?"+a[1];c=Gu(c);ll(""+a[0]+c,!0,!1)}} ;function Hv(a){this.o=a;this.ka=this.va=null;this.ha=[];this.na=document.createElement("input");this.ua=this.oa=-1;this.Ea=this.rm.bind(this);this.Ba=this.vs.bind(this);this.Ga=this.wa=this.ya=0;this.ta=!1;this.Da=0;this.Aa=new vm;Iv(this)} function Iv(a){a.ma=document.createElement("div");a.ma.className=a.o.className;Jg(a.ma,"sc-select",!0);a.ma.setAttribute("tabindex",0);a.ma.setAttribute("role","listbox");a.ma.setAttribute("aria-expanded",!1);a.ma.addEventListener("mousedown",function(e){Ng(this.ka,"sc-select-show")?e.target==this.ka||this.ka.contains(e.target)||this.rm():0==e.button&&Jv(this)}.bind(a)); a.ma.addEventListener("keydown",a.Kx.bind(a));a.va=document.createElement("span");a.ma.appendChild(a.va);var b=document.createElementNS("http://www.w3.org/2000/svg","svg");b.setAttribute("viewBox","0 0 48 48");var c=document.createElementNS("http://www.w3.org/2000/svg","path");c.setAttribute("d","M14 20l10 10 10-10z");b.appendChild(c);a.ma.appendChild(b);a.ka=document.createElement("ol");a.ka.addEventListener("mousemove",function(){this.ta=!0}.bind(a)); a.ka.addEventListener("scroll",function(){0a-1?this.ha.length-1:a-1;b!=a&&!Ov(this,b);)b=0>b-1?this.ha.length-1:b-1;a=b}Mv(this,a);this.ha[a].focus();this.ma.setAttribute("aria-activedescendant",this.ha[a].id); Pv(this);break;case 40:a.preventDefault();Ng(this.ka,"sc-select-show")||Jv(this);a=this.oa;if(0===this.ha.length)a=-1;else{for(b=(a+1)%this.ha.length;b!=a&&!Ov(this,b);)b=(b+1)%this.ha.length;a=b}Mv(this,a);this.ha[a].focus();this.ma.setAttribute("aria-activedescendant",this.ha[a].id);Pv(this)}}; function Pv(a){if(-1!=a.oa){var b=a.ha[a.oa];b.offsetTopa.ka.scrollTop+a.ka.offsetHeight&&(a.ta=!1,a.ka.scrollTop=b.offsetTop+b.offsetHeight-a.ka.offsetHeight)}} function Nv(a){var b=a.o.getAttribute("aria-label")||"";b&&(-1!==a.o.selectedIndex&&(b+=" ("+a.o[a.o.selectedIndex].innerText+")"),a.ma.setAttribute("aria-label",b))} p.dispose=function(){this.ma&&Zh(this.ma);this.ka=this.va=this.ma=null;this.ha=[]}; function Qv(a){a=u((a||document).getElementsByTagName("select"));for(var b=a.next();!b.done;b=a.next())b=b.value,"true"!==b.dataset.exclude&&new Hv(b)} window.sc_initSelects=function(){Qv(window.sc_scope)};function Rv(a){z.call(this,a,-1,Sv)} y(Rv,z);p=Rv.prototype;p.getId=function(){return Qd(this,1)}; p.setId=function(a){return Vd(this,1,a)}; p.getType=function(){return Qd(this,3)}; p.lb=function(){return Qd(this,4)}; p.uc=function(a){return Vd(this,4,a)}; p.og=function(){return Qd(this,5)}; p.Ek=ma(12);p.Sa=function(){return Qd(this,6)}; p.kc=function(a){return Vd(this,6,a)}; p.Db=function(){return Rd(this,6)}; p.Qm=function(a){Vd(this,20,a)}; var Sv=[2,11,12,16,17];function Tv(a){z.call(this,a,-1,Uv)} y(Tv,z);Tv.prototype.Qm=function(a){Vd(this,5,a)}; function Vv(a){z.call(this,a)} y(Vv,z);function Wv(a){z.call(this,a,3)} y(Wv,z);function Xv(a){return be(a,Yv,1)} function Zv(a){z.call(this,a)} y(Zv,z);function $v(a){z.call(this,a)} y($v,z);function Yv(a){z.call(this,a,-1,aw)} y(Yv,z);p=Yv.prototype;p.getType=function(){return Qd(this,1)}; p.og=function(){return Qd(this,3)}; p.Ek=ma(11);p.Sa=function(){return Qd(this,4)}; p.kc=function(a){return Vd(this,4,a)}; p.Db=function(){return Rd(this,4)}; function bw(a){z.call(this,a)} y(bw,z);bw.prototype.Qm=function(a){Vd(this,3,a)}; function cw(a){z.call(this,a,-1,dw)} y(cw,z);var Uv=[1],aw=[14,15,20,21],ew=[10,17],dw=[1];var fw=new Map([[1,"smart_button_event_handshake"],[2,"smart_button_event_execute"],[3,"smart_button_event_state_update"],[4,"smart_button_event_initialized"],[5,"smart_button_event_describe_buttons"],[6,"smart_button_event_rendered"]]);function gw(){var a=this;this.o=function(){}; this.ha=function(b){var c,e,f,h,k,l,n,r;if("detail"in b)if(b=je(Zv,b.detail.action),null===(e=null===(c=be(b,Wv,1))||void 0===c?void 0:Xv(c))||void 0===e?0:Sd(e,10,ew))(n=null===(h=null===(f=be(b,Wv,1))||void 0===f?void 0:Xv(f))||void 0===h?void 0:Qd(h,10===Td(h,ew)?10:-1))&&a.ka(n);else if(null===(l=null===(k=be(b,Wv,1))||void 0===k?void 0:Xv(k))||void 0===l?0:Sd(l,17,ew))if(f=null===(r=null===(n=be(b,Wv,1))||void 0===n?void 0:Xv(n))||void 0===r?void 0:ne(r,$v,17,ew))h=Qd(f,2),f=Qd(f,1),h&&f&&a.ka("/"+ h+"/workflow/"+f)}; this.ma=function(){var b=fw.get(1);b=new CustomEvent(b,{bubbles:!0,cancelable:!0});window.document.body.dispatchEvent(b)}; this.ka=ll;window.document.body.addEventListener(fw.get(6),this.ma);window.document.body.addEventListener(fw.get(5),this.o);window.document.body.addEventListener(fw.get(2),this.ha)} var hw;function iw(){void 0===hw&&(hw=new gw)} gw.prototype.dispose=function(){window.document.body.removeEventListener(fw.get(2),this.ha);window.document.body.removeEventListener(fw.get(6),this.ma);window.document.body.removeEventListener(fw.get(5),this.o)}; window.sc_initSmartButtonController=function(){iw()};function jw(a,b){a=void 0===a?95:a;b=void 0===b?133:b;E.call(this,"sc.shared.ErrorSvg");this.o=new sp("error_computer.svg");this.height=a;this.width=b} y(jw,E);jw.prototype.content=function(){var a=this;this.element("div","style",{width:this.width+"px",height:this.height+"px"},function(){a.o.render()})};function kw(a){this.ha=a;this.o=null} function lw(a){null===a.o&&(a.o=setTimeout(function(){null!==a.o&&(a.o=null,a.ha())},6E4))} ;function mw(){var a=this;this.ka=function(b){if(!("detail"in b))throw Error("Invalid event type received for state update. Expected CustomEvent.");if(void 0===a.ha)throw Error("No state update callback was provided.");b=je(Tv,b.detail);a.ha(b)}} p=mw.prototype;p.sendInitCompleteEvent=function(){console.log("[Smart Buttons] Broadcasting init");nw(4,void 0)}; p.sendButtonAction=function(a,b){a={action:null===a||void 0===a?void 0:a.Hb(),buttonClientRect:b};nw(2,a)}; p.sendDescribeEvent=function(a){var b=new cw;a=u(a);for(var c=a.next();!c.done;c=a.next())ge(b,1,c.value,bw);b={action:b.Hb(),buttonClientRect:void 0};nw(5,b)}; p.sendButtonsRenderedEvent=function(){nw(6)}; p.initHandshakeListener=function(a){this.o=a;window.document.body.addEventListener(fw.get(1),this.o)}; p.initStateUpdateListener=function(a){this.ha=a;window.document.body.addEventListener(fw.get(3),this.ka)}; p.dispose=function(){window.document.body.removeEventListener(fw.get(3),this.ka);this.o&&window.document.body.removeEventListener(fw.get(1),this.o)}; function nw(a,b){a=fw.get(a);var c=new CustomEvent(a,{bubbles:!0,cancelable:!0,detail:b});console.log("[Smart Buttons] Broadcasting event "+a);console.log(b);window.document.body.dispatchEvent(c)} ;Object.keys({dE:0,cE:1,YD:2,aE:3,ZD:4,bE:5,$D:6});function ow(a,b){this.o=a;this.metadata=b} ow.prototype.jd=function(a){this.o(a)}; function pw(){var a=this;this.ha=new Map;this.ka=function(){a.o.sendButtonsRenderedEvent()}; this.o=new mw;qw(this)} var rw;function sw(){if(rw&&!tw)return rw;rw=new pw;tw=!1;var a=rw;a.o.initHandshakeListener(a.oa.bind(a));a.o.initStateUpdateListener(a.ma.bind(a));a.o.sendInitCompleteEvent();return rw} function uw(a,b,c,e){if(""===b)throw Error("Smart Button guid key is empty");a.ha.has(b)||a.ha.set(b,new ow(e,c))} pw.prototype.ma=function(a){var b,c,e=null!==(b=Qd(a,5))&&void 0!==b?b:"";if(!this.ha.has(e))throw Error("Smart Button guid key "+e+" does not exist. Cannot update state.");null===(c=this.ha.get(e))||void 0===c?void 0:c.jd(a)}; pw.prototype.oa=function(){console.log("[Smart Buttons] Received Handshake");var a=[];this.ha.forEach(function(b){a.push(b.metadata)}); this.o.sendDescribeEvent(a)}; pw.prototype.dispose=function(){var a;this.o.dispose();this.ha.clear();null===(a=ok().querySelector(".workflow"))||void 0===a?void 0:a.removeEventListener("dynamicFormRendered",this.ka)}; function qw(a){var b;null===(b=ok().querySelector(".workflow"))||void 0===b?void 0:b.addEventListener("dynamicFormRendered",a.ka)} var tw=!1;function vw(a){var b=a.buttonTitle,c=a.contentId,e=a.helpcenterName,f=a.Qf;a=void 0===a.Ap?!0:a.Ap;E.call(this,"sc.smart_button.FatalErrorButton");this.o=new jw;this.buttonTitle=b;this.contentId=c;this.helpcenterName=e;this.Qf=f;this.Ap=a} y(vw,E);vw.prototype.content=function(){var a=this;this.element("div","class","^no-margin root",function(){a.element("div","class","^no-margin content",function(){a.o.render()}); a.element("div","class","^no-margin content",function(){a.element("div","class","^no-margin title","Hmm... something went wrong.");a.element("div","class","^no-margin error","The smart button requested did not load. Please complete actions manually.");a.Ap&&a.element("div","class","^no-margin feedback-link",a.Qf);a.element("div","class","^no-margin detail",function(){""!==a.buttonTitle&&a.element("div","class","^no-margin",(new Hr("The button title is {buttonTitle}.")).format({buttonTitle:a.buttonTitle})); a.element("div","class","^no-margin",(new Hr("The content ID is {contentId}.")).format({contentId:a.contentId}));a.element("div","class","^no-margin",(new Hr("The help center name is {helpcenterName}.")).format({helpcenterName:a.helpcenterName}))})})}); ww(this)}; function ww(a){var b;null===(b=window.sc_trackStatsImpressions)||void 0===b?void 0:b.call(window,[{type:99,id:a.contentId+"_button_"+a.buttonTitle}],!0)} ;var xw=new Map([[1,"good"],[2,"error"]]);function yw(){E.call(this,"sc.smart_button.Icon");this.o=!1} y(yw,E);function zw(a,b,c,e){a.ha=b;a.state=c;a.o=void 0===e?!1:e} yw.prototype.content=function(){var a=this;if(void 0!==this.ha&&void 0!==this.state&&void 0!==this.o&&0!==this.state){var b={"^no-margin":!0,icon:!0,state:!this.o,"heading-icon":this.o},c=xw.get(this.state);xw.has(this.state)&&(b[c]=!0);var e="";"good"===c?e="Success icon":"error"===c&&(e="Failure icon");this.element("div","class",b,"aria-label",""!==e?e:null,function(){var f;null===(f=a.ha)||void 0===f?void 0:f.render()})}};function Aw(a){E.call(this,"sc.smart_button.SendFeedbackLink");var b=this;this.buttonTitle=a;this.o=function(){Bw(b)}; this.ha=function(c){"key"in c&&(" "===c.key||"Enter"===c.key)&&Bw(b)}} y(Aw,E);Aw.prototype.content=function(){var a,b;this.anchor=this.element("a","href","#","class","^no-margin link","Send feedback");null===(a=this.anchor)||void 0===a?void 0:a.addEventListener("click",this.o);null===(b=this.anchor)||void 0===b?void 0:b.addEventListener("keydown",this.ha)}; Aw.prototype.dispose=function(){var a,b;null===(a=this.anchor)||void 0===a?void 0:a.removeEventListener("click",this.o);null===(b=this.anchor)||void 0===b?void 0:b.removeEventListener("keydown",this.ha)}; function Bw(a){var b=so();b.set("smart_button_title",a.buttonTitle);qo({payload:b,productId:Number(Qg().fbid)})} ;function Cw(a){return 2===(null===a||void 0===a?void 0:Qd(a,3))} function Dw(a){return 1===(null===a||void 0===a?void 0:Qd(a,3))} function Ew(a){a=null===a||void 0===a?void 0:ce(a,Vv,1);if(void 0===a)return!1;a=u(a);for(var b=a.next();!b.done;b=a.next())if(Fw(b.value))return!0;return!1} function Gw(a){a=Hw(a);if(0===a.length)return!1;a=u(a);for(var b=a.next();!b.done;b=a.next())if(!Fw(b.value))return!1;return!0} function Hw(a){return void 0===a?[]:(null===a||void 0===a?void 0:ce(a,Vv,1))||[]} function Fw(a){return void 0!==a&&Rd(a,1)&&0!==Qd(a,1)} function Iw(a){return void 0!==a&&Rd(a,1)&&1===Qd(a,1)} function Jw(a){return void 0!==a&&Rd(a,1)&&2===Qd(a,1)} function Kw(a){return a.filter(function(b){return Jw(b)})} ;function Lw(a,b){b=void 0===b?!1:b;E.call(this,"sc.smart_button.StateHeading");this.Qf=a;this.Yg=b;this.na=[];this.headingState=0;this.icon=new yw} y(Lw,E);Lw.prototype.content=function(){var a;!(Cw(this.o)||Dw(this.o)||(null===(a=this.o)||void 0===a?0:Qd(a,2))||Gw(this.o))||Mw(this)}; Lw.prototype.jd=function(a){this.o=a;this.na=Hw(this.o);if(Cw(this.o))this.headingState=2;else if(Dw(this.o))this.headingState=1;else if(0=hx} function ix(a){return gx(a)>=jx} function kx(a,b,c,e,f,h,k){this.rank=a;this.ka=b;this.o=c;this.ma=e;this.ha=f;this.icon=h;this.label=void 0===k?"":k} function gx(a){switch(a){case 0:return lx;case 30:return mx;case 1:return nx;case 2:return hx;case 3:return ox;case 4:return px;case 5:return qx;case 20:return jx;case 10:return rx;case 100:return sx;default:return lx}} kx.prototype.valueOf=function(){return this.rank}; function tx(a){return qu().Ii?a.o:a.ka} kx.prototype.sg=function(){return this.icon}; kx.prototype.Cb=function(){return this.label}; var lx=new kx(0,"#F1F3F4","#F1F3F4"),mx=new kx(1,"#F1F3F4","#F1F3F4",void 0,void 0,2),nx=new kx(2,"#896E63","#896E63","#896E63","#B9ABA3",3,"Bronze Member"),hx=new kx(3,"#9E9E9E","#9E9E9E","#5F6368","#BDC1C6",4,"Silver Product Expert"),ox=new kx(4,"#FFB300","#F9AB00","#E37400","#F9AB00",5,"Gold Product Expert"),px=new kx(5,"#77909D","#718792","#455A64","#AFBEC5",6,"Platinum Product Expert"),qx=new kx(6,"#79A8FA","#79A8FA","#1A73E8","#8AB4F8",7,"Diamond Product Expert"),jx=new kx(7,"#4285F4","#669DF6", "#1A73E8","#8AB4F8",8,"Community Specialist"),rx=new kx(8,"#4285F4","#669DF6","#1A73E8","#8AB4F8",9,"Community Manager"),sx=new kx(9,"#4285F4","#669DF6","#1A73E8","#8AB4F8",9,"Google Employee");var ux=ya(["aria-"]),vx=ya(["role"]),wx=ya(["data-stats-"]);function xx(a){this.o=a||document} xx.prototype.init=function(){for(var a=this,b=this.o.querySelectorAll(".zippy"),c={},e=0;e=a.length} p.hasEmail=function(){var a;return!(null===(a=this.privateInfo)||void 0===a||!Qd(a,1))}; function ey(a){if(1!==a.forumUserInfos.size)throw Error("Expected only one forum to be populated for a call to `getRole`.");return Qd(be(a.forumUserInfos.values().next().value,wt,1),3)} function fy(a){var b;return null!==(b=Qd(a.publicInfo,5))&&void 0!==b?b:""} function gy(a){a=fy(a);return 0===a.length||500>=a.length} function hy(a){var b;return null!==(b=Qd(a.publicInfo,4))&&void 0!==b?b:""} function iy(a){a=hy(a);return 0===a.length||80>=a.length} function jy(a){var b;return null!==(b=Qd(a.publicInfo,2))&&void 0!==b?b:""} function ky(a,b){return ue(a,function e(){var f,h=this,k;return mb(e,function(l){if(1==l.o){var n=new Qt;Vd(n,1,b.originalFilename);Vd(n,3,b.documentId);b.Ac&&Vd(n,2,b.Ac);b.deleted&&Vd(n,4,!0);f=n;return Qa(l,h.Za.updateGlobalUserInfo({userId:h.getId(),avatar:f}),2)}k=l.ha;n=Qd(be(k,Bt,2),2);Vd(h.publicInfo,2,n);Mk(h,1);Wa(l)})})} function ly(a){var b;return null!==(b=Qd(a.publicInfo,6))&&void 0!==b?b:""} function my(a){a=ly(a);if(0===a.length)return!0;try{return"https:"===(new URL(a)).protocol}catch(b){return!1}} function ny(a){var b;return null!==(b=Qd(a.publicInfo,7))&&void 0!==b?b:""} function oy(a){a=ny(a);if(0===a.length)return!0;try{var b=new URL(a);return"https:"===b.protocol&&ay.includes(b.hostname)}catch(c){return!1}} function cy(a){return dy(a)&&iy(a)&&gy(a)&&my(a)&&oy(a)} p.delete=function(){return ue(this,function b(){var c=this;return mb(b,function(e){if(1==e.o)return Qa(e,yu(c.Za,c.getId()),2);c.userId=0;c.o=new Bt;c.publicInfo=new Bt;c.privateInfo=new Ft;c.profileAbuse=new Et;Wa(e)})})}; p.reportAbuse=function(){return ue(this,function b(){var c=this,e;return mb(b,function(f){e=c.forumUserInfos.keys().next().value;return Qa(f,zu(c.Za,c.getId(),e),0)})})}; p.Um=function(){var a,b;return null!==(b=null===(a=this.privateInfo)||void 0===a?void 0:Yd(a,4,!0))&&void 0!==b?b:!1}; function py(a){var b,c;return null!==(c=null===(b=a.profileAbuse)||void 0===b?void 0:Rd(b,1))&&void 0!==c?c:!1} ;function qy(a,b,c,e){e=void 0===e?{}:e;if(ru())a=e.messageId,e=void 0===e.relative?!0:e.relative,c="/s/community/forum/"+b+"/thread/"+c,a&&(c+="/message/"+a),c=ry(c),c=e?sy(c):c.toString();else{var f=e;b=void 0===f.Zu?!1:f.Zu;e=void 0===f.language?su():f.language;var h=f.messageId;f=void 0===f.relative?!0:f.relative;c=ry("/"+a+"/thread/"+c);c.searchParams.set("hl",e);b&&c.searchParams.set("notify","new");h&&c.searchParams.set("msgid",""+h);c=f?sy(c):c.toString()}return c} function ry(a){a=new URL(a,qu().Nq);var b=qu().authuser;b&&a.searchParams.set("authuser",b);return a} function sy(a){return a.href.replace(a.origin,"")} ;function ty(){var a=Qg();a={Nq:a.ehn,lB:a.hc,Qq:a.ehc,language:a.lang,authuser:a.au,Ii:a.dark,experimentIds:a.tw_smei,mB:"embed"===(new URLSearchParams(location.search)).get("format")};pu?console.error("Global settings should only be initialized once."):pu=Object.assign({},a)} ;var uy=["image/gif","image/jpeg","image/png"];function vy(a){var b=a.user;a=void 0===a.Vq?np:a.Vq;E.call(this,"sc.tailwind.shared.AvatarUpload");this.ma=!1;this.user=b;this.Vq=a;this.na=Xo.initialize();this.ua=new Rk({icon:"gm/mode_edit"})} y(vy,E);vy.prototype.content=function(){var a=this;this.element("div","class","root",function(){if(a.ma&&a.o){a.ta||(a.ta=new Yo({size:"mspin-medium"}));var b=lf(a.o);a.element("img","class","preview","title","Uploading avatar","src",jf(b));a.ta.render()}wy(a)})}; function wy(a){a.ma||a.element("div","class","upload-container",function(){a.Ni=a.element("button","class","edit-button","title","Upload avatar","onclick",function(){var b;null===(b=a.ha)||void 0===b?void 0:b.click()},function(){a.ua.render()}); a.ha=a.element("input","accept",uy.join(", "),"class","native-input","type","file","onchange",function(){var b;if(b=a.ha){var c;b=!(null===(c=a.ha.files)||void 0===c||!c.length)}b&&(b=a.ha,b=b.files?b.files[0]:void 0,a.o=b,xy(a,a.o))})})} function xy(a,b){a.ma=!0;a.Ca();var c=new a.Vq(b);c.aj(function(){return void yy(a,c)}).onError(function(){a.na.open({message:"Unable to upload file"}); zy(a)}).mh("SupportContentForums","TailwindAvatar").start()} function yy(a,b){return ue(a,function e(){var f=this,h;return mb(e,function(k){switch(k.o){case 1:return h=f.Ui(f.o,b),$a(k,2),Qa(k,ky(f.user,h),4);case 4:f.na.open({message:"Avatar uploaded successfully"});ab(k,3);break;case 2:bb(k),f.na.open({message:"Unable to upload file"});case 3:zy(f),Wa(k)}})})} function zy(a){var b;delete a.o;a.ma=!1;a.Ca();null===(b=a.Ni)||void 0===b?void 0:b.focus()} vy.prototype.Ui=function(a,b){return{originalFilename:a.name,mimeType:a.type,Ac:b.o,documentId:b.Kh(),deleted:!1}};function Ay(a){var b=a.user,c=a.size,e=void 0===a.ah?!1:a.ah,f=void 0===a.td?!1:a.td;a=void 0===a.Np?!1:a.Np;E.call(this,"sc.tailwind.shared.Avatar");this.user=b;this.size=c;this.ah=e;this.Np=a;if(this.o=f&&fx(By(this)))this.ha=new vy({user:b,td:f}),Dk(this,this.user,1)} y(Ay,E);Ay.prototype.content=function(){var a=this,b=tx(gx(By(this))),c=fx(By(this)),e=ix(By(this)),f={};this.element("div","class",(f.root=!0,f[this.size]=!0,f["at-least-silver"]=c,f["at-least-specialist"]=e,f),"style",{"background-color":c?b:null,"border-color":c?b:null},function(){e&&Cy(a);switch(0===a.user.getId()?0:jy(a.user)&&fx(By(a))?3:a.ah?2:1){case 3:Dy(a);break;case 0:vk(Ey);break;case 2:Fy(a);break;default:Gy(a)}a.o&&a.ha.render()})}; function Cy(a){a.element("div","class","specialist-border",function(){(new vp({icon:gx(By(a)).sg(),size:Hy(a.size)})).render()})} function Gy(a){var b=a.user.getName().charAt(0).toLocaleUpperCase();a.element("svg","class","monogram","xlmns","http://www.w3.org/2000/svg","viewBox","0 0 24 24",function(){a.element("circle","cx","12","cy","12","r","12","fill",$x[a.user.getId()%$x.length]);a.element("text","fill","#fff","font-size","16","text-anchor","middle","x","12","y","18",b)})} function Dy(a){a.element("img","class","avatar","onload",function(){return void a.Ca()},"src",jy(a.user)).complete||a.element("div","class","avatar avatar-loading",function(){(new Yo).render()})} function Fy(a){a.element("svg","class","silhouette","xlmns","http://www.w3.org/2000/svg","fill",$x[a.user.getId()%$x.length],"viewBox","2 2 20 20",function(){a.element("path","d","M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z")})} function By(a){return a.Np?ey(a.user):a.user.highestRole} function Hy(a){switch(a){case "large":return kp()?72:114;case "medium":return 40;case "small":return 24;default:return 0}} var Ey=Te('\n \n \n \n');function Iy(a){E.call(this,"sc.tailwind.shared.CategorySelect");this.model=a;Dk(this,this.model);a=Jy(this.model);var b;var c=null!==(b=this.model.o)&&void 0!==b?b:0;this.select=new Wx({filled:!1,items:a,label:"Category",selectedIndex:c})} y(Iy,E);Iy.prototype.content=function(){var a=this;this.element("div","class","root",function(){a.select.render()})};function Ky(a){var b=a.categories,c=a.UC;Jk.call(this);this.categories=b;c&&(this.o=this.categories.findIndex(function(e){return e.id===c})+1,this.category=this.categories[this.o])} y(Ky,Jk);Ky.prototype.Pc=function(){return this.category}; Ky.prototype.we=function(a){a!==this.category&&(this.category=a,Mk(this,0))}; function Jy(a){return[{value:"Please select",trigger:function(){return void a.we(void 0)}}].concat(Ba(a.categories.map(function(b){return{value:b.label, trigger:function(){return void a.we(b)}}})))} ;function Ly(a){E.call(this,"sc.tailwind.shared.TitleField");var b=this;this.model=a;Dk(this,this.model);this.o=new $o({Fe:!0,label:"Tell us your question",placeholder:this.model.hint,Me:!1,maxLength:this.model.od(),Pd:function(){b.model.nb(b.o.Ja())}})} y(Ly,E);Ly.prototype.content=function(){var a=this;this.o.nb(this.model.Ja());this.element("div","class","root",function(){a.o.render();My(a)})}; function My(a){a.element("div","class","helper-text",function(){var b=a.element;var c=a.o.Ja().length;c=c=a.model.od()?"Character limit is reached.":"";b.call(a,"div","class","limits-text",c);b=a.o.Ja().length;c=b+"/"+a.model.od();a.element("div","class","char-count","aria-label",c,"aria-live",b===a.model.od()?"assertive":void 0,c)})} ;function Ny(a){var b=void 0===a.text?"":a.text,c=void 0===a.hint?'Example: "How do I backup my photos?"':a.hint,e=void 0===a.minLength?10:a.minLength;a=void 0===a.maxLength?100:a.maxLength;Jk.call(this);this.text=b;this.hint=c;this.minLength=e;this.maxLength=a} y(Ny,Jk);Ny.prototype.od=function(){return this.maxLength}; Ny.prototype.nb=function(a){a=a.substring(0,this.maxLength);if(a!==this.text){var b=Oy(this);this.text=a;Mk(this,0);b!==Oy(this)&&Mk(this,1)}}; Ny.prototype.Ja=function(){return this.text.substring(0,this.maxLength)}; function Oy(a){var b=a.text.length;return b>=a.minLength&&b<=a.maxLength} ;function Py(a){Jk.call(this);this.mb=this.text="";this.checked=this.disabled=!1;this.tabIndex=0;this.Be(a)} y(Py,Jk);Py.prototype.Be=function(a){var b=void 0===a.text?"":a.text,c=void 0===a.mb?"":a.mb,e=void 0===a.disabled?!1:a.disabled,f=void 0===a.tabIndex?0:a.tabIndex,h=a.content,k=a.Ge;this.checked=void 0===a.checked?!1:a.checked;this.text=b;this.mb=c;this.disabled=e;this.tabIndex=f;this.content=h;this.Ge=k}; Py.prototype.Ja=function(){return this.text}; Py.prototype.re=function(){return this.content}; Py.prototype.Ri=function(){return this.mb};function Qy(a){a=void 0===a?{}:a;E.call(this,"sc.shared.MaterialCheckbox");this.model=a instanceof Py?a:new Py(a);this.overlay=new bl({Il:!0});this.o=null;Dk(this,this.model)} y(Qy,E);Qy.prototype.content=function(a){var b=this;a&&this.model.Be(a);this.element("label","class",{root:!0,disabled:this.model.disabled},function(){b.element("div","class","checkbox",function(){b.o=b.element("input","class","native-control","type","checkbox","aria-label",b.model.Ri(),"tabindex",b.model.tabIndex,"disabled",b.model.disabled,"onchange",function(){b.Fa()}); b.o.checked=!0===b.model.checked;b.o.indeterminate=null===b.model.checked;b.element("div","class","box",function(){b.element("svg","class","checkmark","viewBox","0 0 24 24",function(){b.element("path","class","checkmark-path","d","M1.73,12.91 8.1,19.28 22.79,4.59")}); b.element("div","class","mixedmark")}); b.overlay.render()}); var c=b.model.Ja(),e=b.model.re();c?nk(c):e&&e()})}; Qy.prototype.Fa=function(){if(this.o){var a=this.model,b=this.o.checked,c;a.checked!==b&&(a.checked=b,null===(c=a.Ge)||void 0===c?void 0:c.call(a,b),Mk(a,0))}};function Ry(a){z.call(this,a,-1,Sy)} y(Ry,z);Ry.prototype.lb=function(){return Qd(this,1)}; Ry.prototype.uc=function(a){return Vd(this,1,a)}; Ry.prototype.$b=function(){return Qd(this,2)}; Ry.prototype.ae=function(a){return Vd(this,2,a)}; var Sy=[3];var Ty=new Map([[3,2],[2,1],[6,8],[8,4],[4,3],[5,11],[7,9]]);function Uy(){Jk.apply(this,arguments);this.dependencies=[]} y(Uy,Jk);Uy.prototype.Wd=function(){return 1===this.getState()}; Uy.prototype.isPending=function(){return 0===this.getState()}; Uy.prototype.Vh=ma(13);Uy.prototype.rf=ma(14);var Vy=ya(["https://www.google.com/recaptcha/api.js?trustedtypes=true&render=explicit&onload=",""]);function Wy(a,b){this.clientId=0;this.load(a,void 0===b?function(){}:b)} Wy.prototype.load=function(a,b){var c=this;window.sc_renderRecaptcha=function(){window.grecaptcha&&a&&(c.clientId=window.grecaptcha.render(a,{sitekey:"6LcN-4saAAAAAGOz10SCh-KHThAjGiUum6B9HVft",badge:"inline",size:"invisible"}),b())}; var e=document.createElement("script");ig(e,rg(Vy,"sc_renderRecaptcha"));document.head.appendChild(e)}; Wy.prototype.getResponse=function(){return ue(this,function b(){var c,e=this,f;return mb(b,function(h){switch(h.o){case 1:if(!window.grecaptcha)return h.return("");c=window.grecaptcha;$a(h,2);return Qa(h,new Promise(function(k){c.ready(k)}),4); case 4:return Qa(h,c.execute(e.clientId,{action:"submit"}),5);case 5:return f=h.ha,h.return(f||"");case 2:return bb(h),h.return("")}})})};function Xy(){Uy.apply(this,arguments);this.state=0;this.Vd=""} y(Xy,Uy);Xy.prototype.getState=function(){return this.state}; Xy.prototype.Fc=function(){var a,b,c,e,f,h,k=null!==(b=null===(a=this.o)||void 0===a?void 0:a.filter(function(l){var n;return null===(n=l.ha)||void 0===n?void 0:n.ha()}).map(function(l){return l.Ff()}).filter(this.ha))&&void 0!==b?b:[]; k=k.concat(null!==(e=null===(c=this.o)||void 0===c?void 0:c.filter(function(l){var n;return null===(n=l.ha)||void 0===n?void 0:n.ua()}).map(function(l){return l.Ff()}).filter(this.ha))&&void 0!==e?e:[]); return k.concat(null!==(h=null===(f=this.o)||void 0===f?void 0:f.filter(function(l){var n;return null===(n=l.ha)||void 0===n?void 0:n.va()}).map(function(l){return l.Ff()}).filter(this.ha))&&void 0!==h?h:[])}; Xy.prototype.ha=function(a){return!!a.getId()&&a.Db()}; Xy.prototype.Nd=ma(16);var Yy=new Map([["CT_ANSWER","gm/drive_document"],["CT_FORUM_CONTENT","gm/question_answer"],["CT_SUPPORT_FORUM_THREAD","gm/question_answer"],["CT_YOUTUBE","gm/video_youtube"],[void 0,"gm/language"]]);function Zy(a){var b;return null!==(b=Yy.get(a.type))&&void 0!==b?b:"gm/drive_document"} function $y(a,b){var c=Zy(a);return"CT_WORKFLOW"===a.type?new vp({icon:0}):new Rk({icon:c,size:b})} ;function az(a,b,c){var e;a=u(a.querySelectorAll("a"));for(var f=a.next();!f.done;f=a.next())if(f=f.value,f.hasAttribute("target")||b){var h=null!==(e=f.getAttribute("aria-label"))&&void 0!==e?e:"";h.includes(c)||f.setAttribute("aria-label",h+(" ("+c+")"));f.getAttribute("target")||f.setAttribute("target","_blank")}} ;var bz;Mb("hcfe.Stats.getInstance",function(){return bz});function cz(a,b,c,e,f,h,k){E.call(this,"SmartJourney.Onebox");this.La=a;this.oneboxResult=b;this.openInNewWindow=c;this.o=e;this.na=f;this.ma=h;this.wb=k;this.ha=new Rk({icon:"gm/open_in_new"})} y(cz,E);cz.prototype.content=function(){var a=this;this.element("div","class",{result:!0,separator:this.ma},function(){var b=a.oneboxResult,c;null===(c=bz)||void 0===c?void 0:c.Zm([{type:a.o}]);"CT_SNIPPET"!==b.type&&dz(a);ez(a);fz(a);if("CT_SNIPPET"!==b.type)switch(a.oneboxResult.type){case "CT_WORKFLOW":gz(a,a.La.get("Onebox.GET_STARTED"));break;default:gz(a,a.La.get("Onebox.READ_MORE"))}})}; function dz(a){a.element("div","class","content-header",function(){var b=Zy(a.oneboxResult),c=$y(a.oneboxResult,16);a.element("span","class",{"content-icon":!0,"help-article":"gm/drive_document"===b,language:"gm/language"===b,"question-answer":"gm/question_answer"===b,youtube:"gm/video_youtube"===b},"aria-hidden","true",c);b=a.La.get("Onebox.HELP_ARTICLE");switch(a.oneboxResult.type){case "CT_WORKFLOW":b=a.La.get("Onebox.TROUBLESHOOTER")}a.element("span","class","content-label",b)})} function ez(a){var b=a.oneboxResult.title;a.openInNewWindow&&(b+=" ("+a.La.get("Onebox.OPENS_IN_A_NEW_WINDOW")+")");a.element("a","class","title","href",a.oneboxResult.url,"target","_blank","data-stats-ve",a.o,"data-stats-action",8,"aria-label",b,"onclick",a.wb,function(){var c;a.element("span",ct(null!==(c=a.oneboxResult.title)&&void 0!==c?c:""))})} function fz(a){var b=a.element("div","class","snippet",function(){var c;vk(ct(null!==(c=a.oneboxResult.snippet)&&void 0!==c?c:""))}); az(b,a.openInNewWindow,a.La.get("Onebox.OPENS_IN_A_NEW_WINDOW"))} function gz(a,b){var c=b;a.openInNewWindow&&(c+=" ("+a.La.get("Onebox.OPENS_IN_A_NEW_WINDOW")+")");a.element("a","class","action-link","href",a.oneboxResult.url,"target",a.openInNewWindow?"_blank":"","data-stats-ve",a.na,"data-stats-action",8,"aria-label",c,"onclick",a.wb,function(){a.element("span",b);a.openInNewWindow&&a.ha.render()})} ;function hz(a,b){return ue(this,function e(){var f;return mb(e,function(h){if(1==h.o)return Qa(h,b.post({endpoint:"classifications",json:!0,queryParams:{v:"1"},request:iz(a)}),2);f=h.ha;var k=h.return;var l;if("get_categories"in f)var n={categories:null!==(l=f.get_categories.category)&&void 0!==l?l:[],predictionId:f.get_categories.prediction_id,highConfidenceTopK:f.get_categories.high_confidence_top_k};else throw Error("Unsupported classifications response");return k.call(h,n)})})} function iz(a){switch(a.method){case "get_categories":return{resource:{get_categories:{description:a.issueDescription,frd_value:a.nd.map(function(b){return b.ha()})}}}; default:throw Error("Unsupported classifications method");}} ;function jz(a,b){return ue(this,function e(){return mb(e,function(f){return f.return(b.get({endpoint:"search",json:!0,queryParams:{query:a.query,max_results:JSON.stringify(a.maxResults),origin_page_type:JSON.stringify(33),search_session_id:a.searchSessionId,symptom:a.symptom,user_context:a.userContext,v:"1"}}))})})} ;function kz(a){Jk.call(this);this.strings=a} y(kz,Jk);kz.prototype.get=function(a){var b;return null!==(b=this.strings[a])&&void 0!==b?b:""}; kz.prototype.set=function(a){this.strings=Object.assign(Object.assign({},this.strings),a);Mk(this)};function lz(a){z.call(this,a)} y(lz,z);function mz(a){z.call(this,a)} y(mz,z);function nz(a){z.call(this,a,-1,oz)} y(nz,z);var oz=[1];function pz(a){z.call(this,a)} y(pz,z);pz.prototype.getQuery=function(){return Qd(this,1)};function qz(a){z.call(this,a,-1,rz)} y(qz,z);var rz=[1];function sz(a){var b=a.items,c=a.Sc,e=void 0===a.lh?void 0:a.lh,f=void 0===a.vc?1:a.vc,h=void 0===a.wc?4:a.wc;a=a.hb;E.call(this,"hcfe.SearchSelect.Menu");var k=this;this.na=this.ha=!1;this.lh=e;this.items=b;this.Sc=c;this.Mm=-Infinity;this.Lm=Infinity;this.ma=new Fo({content:function(){tz(k)}, Fg:4,vc:f,wc:h,Ci:!0,hb:a})} y(sz,E);p=sz.prototype;p.content=function(){this.ma.render()}; function tz(a){a.element("div","class",{root:!0,"root-loading":a.ha},function(){a.na&&a.element("div","class","search-container",function(){a.element("div","class","input-container",function(){a.ta=a.element("input","class","search-field","placeholder",a.Sc.dw,"oninput",function(){var b;null===(b=a.lh)||void 0===b?void 0:b.call(a)},"disabled",a.ha)}); a.element("div","class","icon","onclick",function(){var b;null===(b=a.ta)||void 0===b?void 0:b.focus()},function(){var b; null!==(b=a.ua)&&void 0!==b?b:a.ua=new Rk({icon:"gm/search"});a.ua.render()})}); a.element("div","class","scroll-container","style",{minHeight:-Infinitya.Lm?a.Lm+"px":null},function(){a.ha&&a.element("div","class","loading-spinner",function(){(new Yo({size:"mspin-small"})).render()}); if(0a&&Infinity!==a&&(a=h);this.Mm=h;this.Lm=a;this.Ca();this.ma.open({anchor:b,Id:c,vd:e,Kb:f})}; p.close=function(){this.ma.close()}; function yz(a){return!!a.Yh&&Array.isArray(a.items)&&0b.length){f=[{state:5}];a.Aa.set("",f);n.Va(4);break}a.o.Xe(!0);a.o.open({Kb:!0});$a(n,5);return Qa(n,a.Ob(b.trim()),7);case 7:f=n.ha;0===f.length&&(f=[{state:4}]);a.o.Xe(!1);ab(n,4);break;case 5:h=bb(n),f=[{state:3}],a.o.Xe(!1),a.o.open({Kb:!0}), dA(h);case 4:return a.Aa.set("",f),k=a.o,l=k.Ig,Qa(n,Sz(a,!0),8);case 8:l.call(k,n.ha),a.o.Ca(),a.o.open({Kb:!0}),Wa(n)}})} function Yz(a,b){return function(){a.ta=b;a.o.close();a.va&&a.va()}} Mz.prototype.getValues=function(){for(var a=[],b=u(this.ha.keys()),c=b.next();!c.done;c=b.next()){(c=c.value)&&!a.includes(c)&&a.push(c);c=u(this.ha.get(c));for(var e=c.next();!e.done;e=c.next())(e=e.value.Ic)&&!a.includes(e)&&a.push(e)}return a}; function Uz(a,b){var c,e;return ob(function(f){if(1==f.o)return $a(f,2),Qa(f,a.ub(b),4);if(2!=f.o){c=f.ha;if(!c||0==c.length)return eA(a,b,Error("No results")),f.return();a.ha.set(b,c);return ab(f,0)}e=bb(f);eA(a,b,e);Wa(f)})} function eA(a,b,c){a.ha.set(b,[{state:2}]);a.Ra&&a.ua&&(a.ua=!1,a.Ra(c),Pz(a));dA(c)} function Pz(a){a.na=new $o({placeholder:"Google Ads Customer ID",Xb:!0,Pd:function(){a.ma=a.na.Ja().replace(Jz,"");a.Zb()}, yd:a.$a})} function dA(a){a=new CustomEvent("cid_selector_fetch_error",{detail:a});ok().dispatchEvent(a)} function Nz(a){a.Aa.clear();a.Aa.set("",[Tz()])} function Tz(){return{value:"",trigger:function(){}, items:[],state:0}} ;function fA(a,b){this.ua=a;this.ya=b;this.ma="https://play.google.com/log?format=json&hasfast=true";this.oa=!1;this.va=xq;this.o=""} function gA(a){var b=new nq(a.ua,a.na?a.na:Mp,a.ya,a.va,a.ma,a.oa,!1,void 0,void 0,void 0,a.wa?a.wa:void 0);if(a.Aa){var c=a.Aa;Qd(c,1)||Vd(c,1,1);de(b.oa,1,c)}if(a.ha){c=a.ha;var e=be(b.oa,dq,1),f=be(e,bq,11);f||(f=new bq);Vd(f,7,c);de(e,11,f);Qd(e,1)||Vd(e,1,1);de(b.oa,1,e)}a.ta&&(b.wa=a.ta);a.o&&(b.Ba=a.o);a.ka&&qq(b,a.ka);a.Da&&(c=a.Da,b.ka||(b.ka=new yp),$d(b.ka,2,c));a.Ba&&(a=a.Ba,b.$a=!0,sq(b,a));return b} ;
Search Help Center
true
410864
false