From c9825ed46e7c074b4c3d9cd6d0e36637115a28bd Mon Sep 17 00:00:00 2001 From: Victor Nogueira Date: Thu, 8 Dec 2022 11:01:59 +0000 Subject: [PATCH] [JetBrains] Update Stable IDE images to 2022.3 --- WORKSPACE.yaml | 16 +++++----- .../backend-plugin/gradle-stable.properties | 8 ++--- .../jetbrains/remote/GitpodCLIHelper.kt | 11 ------- .../jetbrains/remote/GitpodCLIService.kt | 4 +-- .../GitpodCopyUrlAction.kt | 2 +- .../GitpodCopyWebUrlAction.kt | 3 +- ...dIgnoredPortsForNotificationServiceImpl.kt | 2 +- .../GitpodPortForwardingServiceImpl.kt | 2 +- .../gitpod/jetbrains/remote/latest/.gitkeep | 0 .../remote/latest/GitpodCLIHelperImpl.kt | 16 ---------- .../gitpod/jetbrains/remote/stable/.gitkeep | 0 .../remote/stable/GitpodCLIHelperImpl.kt | 16 ---------- .../GitpodClientProjectGuestSessionTracker.kt | 13 -------- ...dIgnoredPortsForNotificationServiceImpl.kt | 32 ------------------- .../stable/GitpodTerminalGuestService.kt | 12 ------- .../resources-latest/META-INF/extensions.xml | 20 ------------ .../resources-stable/META-INF/extensions.xml | 4 --- .../src/main/resources/META-INF/plugin.xml | 30 ++++++++++++++++- 18 files changed, 48 insertions(+), 143 deletions(-) delete mode 100644 components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/GitpodCLIHelper.kt rename components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/{latest => actions}/GitpodCopyUrlAction.kt (97%) rename components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/{latest => actions}/GitpodCopyWebUrlAction.kt (93%) rename components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/{latest => internal}/GitpodIgnoredPortsForNotificationServiceImpl.kt (95%) rename components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/{latest => internal}/GitpodPortForwardingServiceImpl.kt (99%) create mode 100644 components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/latest/.gitkeep delete mode 100644 components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/latest/GitpodCLIHelperImpl.kt create mode 100644 components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/stable/.gitkeep delete mode 100644 components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/stable/GitpodCLIHelperImpl.kt delete mode 100644 components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/stable/GitpodClientProjectGuestSessionTracker.kt delete mode 100644 components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/stable/GitpodIgnoredPortsForNotificationServiceImpl.kt delete mode 100644 components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/stable/GitpodTerminalGuestService.kt diff --git a/WORKSPACE.yaml b/WORKSPACE.yaml index b7afa828a7cba8..94c3c320525b07 100644 --- a/WORKSPACE.yaml +++ b/WORKSPACE.yaml @@ -11,14 +11,14 @@ defaultArgs: codeVersion: 1.74.0 codeQuality: stable noVerifyJBPlugin: false - intellijDownloadUrl: "https://download.jetbrains.com/idea/ideaIU-2022.2.4.tar.gz" - golandDownloadUrl: "https://download.jetbrains.com/go/goland-2022.2.5.tar.gz" - pycharmDownloadUrl: "https://download.jetbrains.com/python/pycharm-professional-2022.2.4.tar.gz" - phpstormDownloadUrl: "https://download.jetbrains.com/webide/PhpStorm-2022.2.3.tar.gz" - rubymineDownloadUrl: "https://download.jetbrains.com/ruby/RubyMine-2022.2.4.tar.gz" - webstormDownloadUrl: "https://download.jetbrains.com/webstorm/WebStorm-2022.2.3.tar.gz" - riderDownloadUrl: "https://download.jetbrains.com/rider/JetBrains.Rider-2022.2.4.tar.gz" - clionDownloadUrl: "https://download.jetbrains.com/cpp/CLion-2022.2.4.tar.gz" + intellijDownloadUrl: "https://download.jetbrains.com/idea/ideaIU-2022.3.tar.gz" + golandDownloadUrl: "https://download.jetbrains.com/go/goland-2022.3.tar.gz" + pycharmDownloadUrl: "https://download.jetbrains.com/python/pycharm-professional-2022.3.tar.gz" + phpstormDownloadUrl: "https://download.jetbrains.com/webide/PhpStorm-2022.3.tar.gz" + rubymineDownloadUrl: "https://download.jetbrains.com/ruby/RubyMine-2022.3.tar.gz" + webstormDownloadUrl: "https://download.jetbrains.com/webstorm/WebStorm-2022.3.tar.gz" + riderDownloadUrl: "https://download.jetbrains.com/rider/JetBrains.Rider-2022.3.tar.gz" + clionDownloadUrl: "https://download.jetbrains.com/cpp/CLion-2022.3.tar.gz" jbBackendVersion: "latest" REPLICATED_API_TOKEN: "" REPLICATED_APP: "" diff --git a/components/ide/jetbrains/backend-plugin/gradle-stable.properties b/components/ide/jetbrains/backend-plugin/gradle-stable.properties index c884a0a201104f..0e1849f726250a 100644 --- a/components/ide/jetbrains/backend-plugin/gradle-stable.properties +++ b/components/ide/jetbrains/backend-plugin/gradle-stable.properties @@ -1,9 +1,9 @@ # See https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html # for insight into build numbers and IntelliJ Platform versions. -pluginSinceBuild=222.4459 -pluginUntilBuild=222.* +pluginSinceBuild=223.7571 +pluginUntilBuild=223.* # Plugin Verifier integration -> https://github.com/JetBrains/gradle-intellij-plugin#plugin-verifier-dsl # See https://jb.gg/intellij-platform-builds-list for available build versions. -pluginVerifierIdeVersions=2022.2 +pluginVerifierIdeVersions=2022.3 # Version from "com.jetbrains.intellij.idea" which can be found at https://www.jetbrains.com/intellij-repository/snapshots -platformVersion=222.4459-EAP-CANDIDATE-SNAPSHOT +platformVersion=223.7571-EAP-CANDIDATE-SNAPSHOT diff --git a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/GitpodCLIHelper.kt b/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/GitpodCLIHelper.kt deleted file mode 100644 index b5276a58e9fedf..00000000000000 --- a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/GitpodCLIHelper.kt +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright (c) 2022 Gitpod GmbH. All rights reserved. -// Licensed under the GNU Affero General Public License (AGPL). -// See License-AGPL.txt in the project root for license information. - -package io.gitpod.jetbrains.remote - -import java.nio.file.Path - -interface GitpodCLIHelper { - suspend fun open(file: Path, shouldWait: Boolean) -} diff --git a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/GitpodCLIService.kt b/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/GitpodCLIService.kt index 925d71c829e48b..753fbd70477ad2 100644 --- a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/GitpodCLIService.kt +++ b/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/GitpodCLIService.kt @@ -6,6 +6,7 @@ package io.gitpod.jetbrains.remote import com.intellij.codeWithMe.ClientId import com.intellij.ide.BrowserUtil +import com.intellij.ide.CommandLineProcessor import com.intellij.openapi.client.ClientSession import com.intellij.openapi.client.ClientSessionsManager import com.intellij.openapi.components.service @@ -37,7 +38,6 @@ import java.util.* class GitpodCLIService : RestService() { private val manager = service() - private val cliHelperService = service() override fun getServiceName() = SERVICE_NAME @@ -67,7 +67,7 @@ class GitpodCLIService : RestService() { val file = parseFilePath(fileStr) ?: return "invalid file" val shouldWait = getBooleanParameter("wait", urlDecoder) return withClient(request, context) { - cliHelperService.open(file, shouldWait) + CommandLineProcessor.doOpenFileOrProject(file, shouldWait).future.await() } } if (operation == "preview") { diff --git a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/latest/GitpodCopyUrlAction.kt b/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/actions/GitpodCopyUrlAction.kt similarity index 97% rename from components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/latest/GitpodCopyUrlAction.kt rename to components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/actions/GitpodCopyUrlAction.kt index 41d8d118b58d22..a9105231a7455a 100644 --- a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/latest/GitpodCopyUrlAction.kt +++ b/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/actions/GitpodCopyUrlAction.kt @@ -2,7 +2,7 @@ // Licensed under the GNU Affero General Public License (AGPL). // See License-AGPL.txt in the project root for license information. -package io.gitpod.jetbrains.remote.latest +package io.gitpod.jetbrains.remote.actions import com.intellij.openapi.actionSystem.ActionPlaces import com.intellij.openapi.actionSystem.ActionUpdateThread diff --git a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/latest/GitpodCopyWebUrlAction.kt b/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/actions/GitpodCopyWebUrlAction.kt similarity index 93% rename from components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/latest/GitpodCopyWebUrlAction.kt rename to components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/actions/GitpodCopyWebUrlAction.kt index cc815139742192..fda1881d4932b0 100644 --- a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/latest/GitpodCopyWebUrlAction.kt +++ b/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/actions/GitpodCopyWebUrlAction.kt @@ -2,7 +2,7 @@ // Licensed under the GNU Affero General Public License (AGPL). // See License-AGPL.txt in the project root for license information. -package io.gitpod.jetbrains.remote.latest +package io.gitpod.jetbrains.remote.actions import com.intellij.openapi.actionSystem.ActionPlaces import com.intellij.openapi.actionSystem.ActionUpdateThread @@ -13,6 +13,7 @@ import com.intellij.openapi.ide.CopyPasteManager import com.jetbrains.rd.platform.codeWithMe.portForwarding.PerClientPortForwardingManager import com.jetbrains.rd.platform.codeWithMe.portForwarding.PortConfiguration import com.jetbrains.rd.platform.codeWithMe.portForwarding.PortForwardingDataKeys +import io.gitpod.jetbrains.remote.internal.GitpodPortForwardingServiceImpl import java.awt.datatransfer.StringSelection @Suppress("ComponentNotRegistered", "UnstableApiUsage") diff --git a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/latest/GitpodIgnoredPortsForNotificationServiceImpl.kt b/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/internal/GitpodIgnoredPortsForNotificationServiceImpl.kt similarity index 95% rename from components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/latest/GitpodIgnoredPortsForNotificationServiceImpl.kt rename to components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/internal/GitpodIgnoredPortsForNotificationServiceImpl.kt index ff70c41f4bc79f..074b5326f3c783 100644 --- a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/latest/GitpodIgnoredPortsForNotificationServiceImpl.kt +++ b/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/internal/GitpodIgnoredPortsForNotificationServiceImpl.kt @@ -2,7 +2,7 @@ // Licensed under the GNU Affero General Public License (AGPL). // See License-AGPL.txt in the project root for license information. -package io.gitpod.jetbrains.remote.latest +package io.gitpod.jetbrains.remote.internal import com.intellij.idea.getServerFutureAsync import io.gitpod.jetbrains.remote.GitpodIgnoredPortsForNotificationService diff --git a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/latest/GitpodPortForwardingServiceImpl.kt b/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/internal/GitpodPortForwardingServiceImpl.kt similarity index 99% rename from components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/latest/GitpodPortForwardingServiceImpl.kt rename to components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/internal/GitpodPortForwardingServiceImpl.kt index 03b04c0e640e9c..34d245d1cb5988 100644 --- a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/latest/GitpodPortForwardingServiceImpl.kt +++ b/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/internal/GitpodPortForwardingServiceImpl.kt @@ -2,7 +2,7 @@ // Licensed under the GNU Affero General Public License (AGPL). // See License-AGPL.txt in the project root for license information. -package io.gitpod.jetbrains.remote.latest +package io.gitpod.jetbrains.remote.internal import com.intellij.icons.AllIcons import com.intellij.openapi.components.service diff --git a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/latest/.gitkeep b/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/latest/.gitkeep new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/latest/GitpodCLIHelperImpl.kt b/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/latest/GitpodCLIHelperImpl.kt deleted file mode 100644 index d389f1fe26258a..00000000000000 --- a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/latest/GitpodCLIHelperImpl.kt +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright (c) 2022 Gitpod GmbH. All rights reserved. -// Licensed under the GNU Affero General Public License (AGPL). -// See License-AGPL.txt in the project root for license information. - -package io.gitpod.jetbrains.remote.latest - -import com.intellij.ide.CommandLineProcessor -import io.gitpod.jetbrains.remote.GitpodCLIHelper -import java.nio.file.Path - -@Suppress("UnstableApiUsage") -class GitpodCLIHelperImpl : GitpodCLIHelper { - override suspend fun open(file :Path, shouldWait: Boolean) { - CommandLineProcessor.doOpenFileOrProject(file, shouldWait).future.await() - } -} diff --git a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/stable/.gitkeep b/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/stable/.gitkeep new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/stable/GitpodCLIHelperImpl.kt b/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/stable/GitpodCLIHelperImpl.kt deleted file mode 100644 index 07ce428b26d9a9..00000000000000 --- a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/stable/GitpodCLIHelperImpl.kt +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright (c) 2022 Gitpod GmbH. All rights reserved. -// Licensed under the GNU Affero General Public License (AGPL). -// See License-AGPL.txt in the project root for license information. - -package io.gitpod.jetbrains.remote.stable - -import com.intellij.ide.CommandLineProcessor -import io.gitpod.jetbrains.remote.GitpodCLIHelper -import java.nio.file.Path - -@Suppress("UnstableApiUsage") -class GitpodCLIHelperImpl : GitpodCLIHelper { - override suspend fun open(file :Path, shouldWait: Boolean) { - CommandLineProcessor.doOpenFileOrProject(file, shouldWait).future.get() - } -} diff --git a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/stable/GitpodClientProjectGuestSessionTracker.kt b/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/stable/GitpodClientProjectGuestSessionTracker.kt deleted file mode 100644 index 3cf18d395715a2..00000000000000 --- a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/stable/GitpodClientProjectGuestSessionTracker.kt +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright (c) 2022 Gitpod GmbH. All rights reserved. -// Licensed under the GNU Affero General Public License (AGPL). -// See License-AGPL.txt in the project root for license information. - -package io.gitpod.jetbrains.remote.stable - -import com.intellij.openapi.client.ClientProjectSession -import io.gitpod.jetbrains.remote.GitpodClientProjectSessionTracker - -@Suppress("UnstableApiUsage") -class GitpodClientProjectGuestSessionTracker(session: ClientProjectSession) { - init { GitpodClientProjectSessionTracker(session.project) } -} diff --git a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/stable/GitpodIgnoredPortsForNotificationServiceImpl.kt b/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/stable/GitpodIgnoredPortsForNotificationServiceImpl.kt deleted file mode 100644 index 3c64f1dfcd3c5c..00000000000000 --- a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/stable/GitpodIgnoredPortsForNotificationServiceImpl.kt +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright (c) 2022 Gitpod GmbH. All rights reserved. -// Licensed under the GNU Affero General Public License (AGPL). -// See License-AGPL.txt in the project root for license information. - -package io.gitpod.jetbrains.remote.stable - -import com.intellij.idea.StartupUtil -import io.gitpod.jetbrains.remote.GitpodIgnoredPortsForNotificationService -import kotlinx.coroutines.GlobalScope -import kotlinx.coroutines.launch -import kotlinx.coroutines.future.await -import org.jetbrains.ide.BuiltInServerManager - -@Suppress("OPT_IN_USAGE") -class GitpodIgnoredPortsForNotificationServiceImpl : GitpodIgnoredPortsForNotificationService { - private val ignoredPortsForNotification = mutableSetOf(5990) - - init { - GlobalScope.launch { - BuiltInServerManager.getInstance().waitForStart().port.let { ignorePort(it) } - StartupUtil.getServerFuture().await().port?.let { ignorePort(it) } - } - } - - override fun ignorePort(portNumber: Int) { - ignoredPortsForNotification.add(portNumber) - } - - override fun getIgnoredPorts(): Set { - return ignoredPortsForNotification.toSet() - } -} diff --git a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/stable/GitpodTerminalGuestService.kt b/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/stable/GitpodTerminalGuestService.kt deleted file mode 100644 index 9a960baf81f70f..00000000000000 --- a/components/ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/stable/GitpodTerminalGuestService.kt +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (c) 2022 Gitpod GmbH. All rights reserved. -// Licensed under the GNU Affero General Public License (AGPL). -// See License-AGPL.txt in the project root for license information. - -package io.gitpod.jetbrains.remote.stable -import com.intellij.openapi.client.ClientProjectSession -import io.gitpod.jetbrains.remote.GitpodTerminalService - -@Suppress("UnstableApiUsage") -class GitpodTerminalGuestService(session: ClientProjectSession) { - init { GitpodTerminalService(session.project) } -} diff --git a/components/ide/jetbrains/backend-plugin/src/main/resources-latest/META-INF/extensions.xml b/components/ide/jetbrains/backend-plugin/src/main/resources-latest/META-INF/extensions.xml index 75be843a63235b..3194aa51656bb7 100644 --- a/components/ide/jetbrains/backend-plugin/src/main/resources-latest/META-INF/extensions.xml +++ b/components/ide/jetbrains/backend-plugin/src/main/resources-latest/META-INF/extensions.xml @@ -6,25 +6,5 @@ - - - - - - - - - - - - - - diff --git a/components/ide/jetbrains/backend-plugin/src/main/resources-stable/META-INF/extensions.xml b/components/ide/jetbrains/backend-plugin/src/main/resources-stable/META-INF/extensions.xml index a5e9524c37960e..3194aa51656bb7 100644 --- a/components/ide/jetbrains/backend-plugin/src/main/resources-stable/META-INF/extensions.xml +++ b/components/ide/jetbrains/backend-plugin/src/main/resources-stable/META-INF/extensions.xml @@ -6,9 +6,5 @@ - - - - diff --git a/components/ide/jetbrains/backend-plugin/src/main/resources/META-INF/plugin.xml b/components/ide/jetbrains/backend-plugin/src/main/resources/META-INF/plugin.xml index 896fdeefbb5e4f..b06a598e7a7b8f 100644 --- a/components/ide/jetbrains/backend-plugin/src/main/resources/META-INF/plugin.xml +++ b/components/ide/jetbrains/backend-plugin/src/main/resources/META-INF/plugin.xml @@ -26,15 +26,30 @@ + + + + + + + + - + + @@ -113,5 +128,18 @@ icon="AllIcons.Gutter.ExtAnnotation"> + + + + + + +