From 65c70afbd0ea4e0ecf88b58ace3d2799a709df39 Mon Sep 17 00:00:00 2001 From: Dmitry Trofimov Date: Mon, 22 Dec 2014 16:36:32 +0100 Subject: [PATCH 01/34] Don't hang on connection to ssh (IDEA-118860). --- .../terminal/AbstractTerminalRunner.java | 32 ++++++++++++++----- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/plugins/terminal/src/org/jetbrains/plugins/terminal/AbstractTerminalRunner.java b/plugins/terminal/src/org/jetbrains/plugins/terminal/AbstractTerminalRunner.java index a30ff9b42828..868cccf4ca17 100644 --- a/plugins/terminal/src/org/jetbrains/plugins/terminal/AbstractTerminalRunner.java +++ b/plugins/terminal/src/org/jetbrains/plugins/terminal/AbstractTerminalRunner.java @@ -9,6 +9,7 @@ import com.intellij.execution.ui.RunContentDescriptor; import com.intellij.execution.ui.actions.CloseAction; import com.intellij.openapi.Disposable; import com.intellij.openapi.actionSystem.*; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.progress.ProgressManager; @@ -176,15 +177,30 @@ public abstract class AbstractTerminalRunner { public abstract String runningTargetName(); - public void openSessionInDirectory(@NotNull TerminalWidget terminalWidget, @Nullable String directory) { + public void openSessionInDirectory(final @NotNull TerminalWidget terminalWidget, final @Nullable String directory) { // Create Server process - try { - final T process = createProcess(directory); + ApplicationManager.getApplication().executeOnPooledThread(new Runnable() { + @Override + public void run() { + try { + final T process = createProcess(directory); - createAndStartSession(terminalWidget, createTtyConnector(process)); - } - catch (Exception e) { - Messages.showErrorDialog(e.getMessage(), "Can't Open " + runningTargetName()); - } + UIUtil.invokeLaterIfNeeded(new Runnable() { + @Override + public void run() { + createAndStartSession(terminalWidget, createTtyConnector(process)); + } + }); + } + catch (final Exception e) { + UIUtil.invokeLaterIfNeeded(new Runnable() { + @Override + public void run() { + Messages.showErrorDialog(e.getMessage(), "Can't Open " + runningTargetName()); + } + }); + } + } + }); } } From 1fe37f3aacd9708419918cb65a24f35cca26d5ae Mon Sep 17 00:00:00 2001 From: "Maxim.Mossienko" Date: Mon, 22 Dec 2014 17:00:37 +0100 Subject: [PATCH 02/34] removed dead code --- .../org/intellij/images/thumbnail/actions/EnterAction.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/images/src/org/intellij/images/thumbnail/actions/EnterAction.java b/images/src/org/intellij/images/thumbnail/actions/EnterAction.java index b608b82f97c7..d0cb098f33a4 100644 --- a/images/src/org/intellij/images/thumbnail/actions/EnterAction.java +++ b/images/src/org/intellij/images/thumbnail/actions/EnterAction.java @@ -57,7 +57,7 @@ public final class EnterAction extends AnAction { if (selection.length > 0) { if (selection.length == 1 && selection[0].isDirectory()) { presentation.setVisible(true); - } else if (selection.length > 0) { + } else { boolean notImages = false; ImageFileTypeManager typeManager = ImageFileTypeManager.getInstance(); for (VirtualFile file : selection) { @@ -65,9 +65,6 @@ public final class EnterAction extends AnAction { } presentation.setEnabled(!notImages); presentation.setVisible(false); - } else { - presentation.setVisible(false); - presentation.setEnabled(false); } } else { presentation.setVisible(false); From 30f24dfa2f492f8f9a4f3f2f33dba9dd82049b9a Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 22 Dec 2014 16:50:43 +0100 Subject: [PATCH 03/34] IDEA-134525 'Cyclic Expand Word' works wrong in groovy javadocs --- .../lang/groovydoc/lexer/GroovyDocLexer.java | 7 ++--- .../plugins/groovy/GroovyActionsTest.groovy | 28 ++++++++++++------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/groovydoc/lexer/GroovyDocLexer.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/groovydoc/lexer/GroovyDocLexer.java index 128e8498ea5a..1c86d5ab3589 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/groovydoc/lexer/GroovyDocLexer.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/groovydoc/lexer/GroovyDocLexer.java @@ -16,10 +16,7 @@ package org.jetbrains.plugins.groovy.lang.groovydoc.lexer; -import com.intellij.lexer.Lexer; -import com.intellij.lexer.LexerBase; -import com.intellij.lexer.LookAheadLexer; -import com.intellij.lexer.MergingLexerAdapter; +import com.intellij.lexer.*; import com.intellij.psi.TokenType; import com.intellij.psi.tree.IElementType; import com.intellij.psi.tree.TokenSet; @@ -100,7 +97,7 @@ public class GroovyDocLexer extends MergingLexerAdapter { @Override public int getState() { - return myState; + return getTokenStart() == 0 ? 0 : myState; } @Override diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/GroovyActionsTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/GroovyActionsTest.groovy index dff034d87443..31b20cd633e3 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/GroovyActionsTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/GroovyActionsTest.groovy @@ -13,17 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.jetbrains.plugins.groovy; +package org.jetbrains.plugins.groovy - -import com.intellij.ide.DataManager import com.intellij.openapi.actionSystem.IdeActions -import com.intellij.openapi.editor.Editor -import com.intellij.openapi.editor.actionSystem.EditorActionHandler -import com.intellij.openapi.editor.actionSystem.EditorActionManager import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase import org.jetbrains.plugins.groovy.util.TestUtils - /** * @author peter */ @@ -117,6 +111,22 @@ this.allOptions = [:]; ''') } + public void "test hippie completion in groovydoc"() { + myFixture.configureByText 'a.groovy', ''' +class A { + + /** long + */ + void longName() {} + void example() {} +} +''' + performEditorAction(IdeActions.ACTION_HIPPIE_COMPLETION) + assert myFixture.editor.document.text.contains('** longName\n') + performEditorAction(IdeActions.ACTION_HIPPIE_COMPLETION) + assert myFixture.editor.document.text.contains('** longName\n') + } + void testSWforMemberWithDoc() { doTestForSelectWord(4, '''\ class A { @@ -159,9 +169,7 @@ class A { } private void performEditorAction(final String actionId) { - final EditorActionHandler handler = EditorActionManager.instance.getActionHandler(actionId); - final Editor editor = myFixture.editor; - handler.execute(editor, DataManager.instance.getDataContext(editor.contentComponent)); + myFixture.performEditorAction(actionId) } } From 7af31d3c29f2361605b56bcc36ea638aa3baa9e0 Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 22 Dec 2014 16:55:31 +0100 Subject: [PATCH 04/34] javadoc cleanup --- .../src/com/intellij/openapi/project/DumbService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platform/core-api/src/com/intellij/openapi/project/DumbService.java b/platform/core-api/src/com/intellij/openapi/project/DumbService.java index a0f5b43ce308..bd62966b283b 100644 --- a/platform/core-api/src/com/intellij/openapi/project/DumbService.java +++ b/platform/core-api/src/com/intellij/openapi/project/DumbService.java @@ -34,7 +34,7 @@ import java.util.List; /** * A service managing IDEA's 'dumb' mode: when indices are updated in background and the functionality is very much limited. - * Only the explicitly allowed functionality is available. Usually it's allowed by implementing {@link com.intellij.openapi.project.DumbAware} interface. + * Only the explicitly allowed functionality is available. Usually it's allowed by implementing {@link DumbAware} interface. * * If you want to register a toolwindow, which will be enabled during the dumb mode, please use {@link com.intellij.openapi.wm.ToolWindowManager}'s * registration methods which have 'canWorkInDumMode' parameter. @@ -45,7 +45,7 @@ public abstract class DumbService { private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.project.DumbService"); /** - * @see com.intellij.openapi.project.Project#getMessageBus() + * @see Project#getMessageBus() */ public static final Topic DUMB_MODE = new Topic("dumb mode", DumbModeListener.class); From 55f673b801f57e9cf3e0e7f67c9991852a7bb1fa Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 22 Dec 2014 17:08:13 +0100 Subject: [PATCH 05/34] avoid slow & expensive resolve in dumb mode except explicit goto declaration actions --- .../intellij/psi/impl/JavaPsiFacadeImpl.java | 9 +++++-- .../intellij/openapi/project/DumbService.java | 20 +++++++++++++++ .../com/intellij/mock/MockDumbService.java | 9 +++++++ .../actions/GotoDeclarationAction.java | 4 +++ .../actions/GotoTypeDeclarationAction.java | 25 +++++++++++++------ .../openapi/project/DumbServiceImpl.java | 12 +++++++++ 6 files changed, 70 insertions(+), 9 deletions(-) diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java index bf75430563ed..13232679dcf5 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java @@ -94,7 +94,7 @@ public class JavaPsiFacadeImpl extends JavaPsiFacadeEx { public PsiClass findClass(@NotNull final String qualifiedName, @NotNull GlobalSearchScope scope) { ProgressIndicatorProvider.checkCanceled(); // We hope this method is being called often enough to cancel daemon processes smoothly - if (DumbService.getInstance(getProject()).isDumb()) { + if (shouldUseSlowResolve()) { PsiClass[] classes = findClassesInDumbMode(qualifiedName, scope); if (classes.length != 0) { return classes[0]; @@ -134,7 +134,7 @@ public class JavaPsiFacadeImpl extends JavaPsiFacadeEx { @Override @NotNull public PsiClass[] findClasses(@NotNull String qualifiedName, @NotNull GlobalSearchScope scope) { - if (DumbService.getInstance(getProject()).isDumb()) { + if (shouldUseSlowResolve()) { return findClassesInDumbMode(qualifiedName, scope); } @@ -147,6 +147,11 @@ public class JavaPsiFacadeImpl extends JavaPsiFacadeEx { return classes.toArray(new PsiClass[classes.size()]); } + private boolean shouldUseSlowResolve() { + DumbService dumbService = DumbService.getInstance(getProject()); + return dumbService.isDumb() && dumbService.isAlternativeResolutionEnabled(); + } + @NotNull private PsiElementFinder[] finders() { PsiElementFinder[] answer = myElementFinders; diff --git a/platform/core-api/src/com/intellij/openapi/project/DumbService.java b/platform/core-api/src/com/intellij/openapi/project/DumbService.java index bd62966b283b..0215dc6dd4ea 100644 --- a/platform/core-api/src/com/intellij/openapi/project/DumbService.java +++ b/platform/core-api/src/com/intellij/openapi/project/DumbService.java @@ -210,6 +210,26 @@ public abstract class DumbService { return o instanceof DumbAware; } + /** + * Enables or disables alternative resolve strategies for the current thread.

+ * + * Normally reference resolution uses index, and hence is not available in dumb mode. In some cases, alternative ways + * of performing resolve are available, although much slower. It's impractical to always use these ways because it'll + * lead to overloaded CPU (especially given there's also indexing in progress). But for some explicit user actions + * (e.g. explicit Goto Declaration) turning these slower methods is beneficial.

+ * + * A typical usage would involve try-finally, where the alternative resolution is first enabled, then an action is performed, + * and then alternative resolution is turned off in the finally block. + */ + public abstract void setAlternativeResolutionEnabled(boolean enabled); + + /** + * @return whether alternative resolution is enabled for the current thread. + * + * @see #setAlternativeResolutionEnabled(boolean) + */ + public abstract boolean isAlternativeResolutionEnabled(); + /** * @see #DUMB_MODE */ diff --git a/platform/core-impl/src/com/intellij/mock/MockDumbService.java b/platform/core-impl/src/com/intellij/mock/MockDumbService.java index 1e1179cc5ee8..359fc8f64550 100644 --- a/platform/core-impl/src/com/intellij/mock/MockDumbService.java +++ b/platform/core-impl/src/com/intellij/mock/MockDumbService.java @@ -74,6 +74,15 @@ public class MockDumbService extends DumbService { return myProject; } + @Override + public void setAlternativeResolutionEnabled(boolean enabled) { + } + + @Override + public boolean isAlternativeResolutionEnabled() { + return false; + } + public void smartInvokeLater(@NotNull final Runnable runnable) { runnable.run(); } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationAction.java b/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationAction.java index d34cbf4cfa09..d816b7fd042d 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationAction.java @@ -76,6 +76,7 @@ public class GotoDeclarationAction extends BaseCodeInsightAction implements Code public void invoke(@NotNull final Project project, @NotNull Editor editor, @NotNull PsiFile file) { PsiDocumentManager.getInstance(project).commitAllDocuments(); + DumbService.getInstance(project).setAlternativeResolutionEnabled(true); try { int offset = editor.getCaretModel().getOffset(); PsiElement[] elements = findAllTargetElements(project, editor, offset); @@ -105,6 +106,9 @@ public class GotoDeclarationAction extends BaseCodeInsightAction implements Code catch (IndexNotReadyException e) { DumbService.getInstance(project).showDumbModeNotification("Navigation is not available here during index update"); } + finally { + DumbService.getInstance(project).setAlternativeResolutionEnabled(false); + } } public static PsiNameIdentifierOwner findElementToShowUsagesOf(@NotNull Editor editor, @NotNull PsiFile file, int offset) { diff --git a/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoTypeDeclarationAction.java b/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoTypeDeclarationAction.java index 190ce1d913bd..3f0efe8b2e58 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoTypeDeclarationAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoTypeDeclarationAction.java @@ -27,6 +27,8 @@ import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.fileEditor.FileEditorManager; import com.intellij.openapi.fileEditor.OpenFileDescriptor; import com.intellij.openapi.project.DumbAware; +import com.intellij.openapi.project.DumbService; +import com.intellij.openapi.project.IndexNotReadyException; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; @@ -64,14 +66,23 @@ public class GotoTypeDeclarationAction extends BaseCodeInsightAction implements public void invoke(@NotNull final Project project, @NotNull Editor editor, @NotNull PsiFile file) { PsiDocumentManager.getInstance(project).commitAllDocuments(); - int offset = editor.getCaretModel().getOffset(); - PsiElement[] symbolTypes = findSymbolTypes(editor, offset); - if (symbolTypes == null || symbolTypes.length == 0) return; - if (symbolTypes.length == 1) { - navigate(project, symbolTypes[0]); + DumbService.getInstance(project).setAlternativeResolutionEnabled(true); + try { + int offset = editor.getCaretModel().getOffset(); + PsiElement[] symbolTypes = findSymbolTypes(editor, offset); + if (symbolTypes == null || symbolTypes.length == 0) return; + if (symbolTypes.length == 1) { + navigate(project, symbolTypes[0]); + } + else { + NavigationUtil.getPsiElementPopup(symbolTypes, CodeInsightBundle.message("choose.type.popup.title")).showInBestPositionFor(editor); + } } - else { - NavigationUtil.getPsiElementPopup(symbolTypes, CodeInsightBundle.message("choose.type.popup.title")).showInBestPositionFor(editor); + catch (IndexNotReadyException e) { + DumbService.getInstance(project).showDumbModeNotification("Navigation is not available here during index update"); + } + finally { + DumbService.getInstance(project).setAlternativeResolutionEnabled(false); } } diff --git a/platform/platform-impl/src/com/intellij/openapi/project/DumbServiceImpl.java b/platform/platform-impl/src/com/intellij/openapi/project/DumbServiceImpl.java index 7b3bd2198cf9..0c4f65544295 100644 --- a/platform/platform-impl/src/com/intellij/openapi/project/DumbServiceImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/project/DumbServiceImpl.java @@ -63,6 +63,7 @@ public class DumbServiceImpl extends DumbService implements Disposable { private final Queue myRunWhenSmartQueue = new Queue(5); private final Project myProject; + private ThreadLocal myAlternativeResolution = new ThreadLocal(); public DumbServiceImpl(Project project) { myProject = project; @@ -104,6 +105,17 @@ public class DumbServiceImpl extends DumbService implements Disposable { return myProject; } + @Override + public boolean isAlternativeResolutionEnabled() { + return Boolean.TRUE.equals(myAlternativeResolution.get()); + } + + @Override + public void setAlternativeResolutionEnabled(boolean enabled) { + assert isAlternativeResolutionEnabled() != enabled : "Nested alternative resolution mode is not supported"; + myAlternativeResolution.set(enabled); + } + @Override public boolean isDumb() { return myDumb; From bcafd578374f5bbafa0ce551891f04e94b11d754 Mon Sep 17 00:00:00 2001 From: Sergey Ignatov Date: Mon, 22 Dec 2014 19:24:21 +0300 Subject: [PATCH 06/34] update javaee icons --- platform/icons/src/javaee/JavaeeAppModule.png | Bin 528 -> 1011 bytes .../icons/src/javaee/JavaeeAppModule@2x.png | Bin 0 -> 1200 bytes .../src/javaee/JavaeeAppModule@2x_dark.png | Bin 0 -> 1196 bytes .../icons/src/javaee/JavaeeAppModule_dark.png | Bin 0 -> 1014 bytes platform/icons/src/javaee/WebService.png | Bin 687 -> 1321 bytes platform/icons/src/javaee/WebService2.png | Bin 0 -> 1441 bytes platform/icons/src/javaee/WebService2@2x.png | Bin 0 -> 2079 bytes .../icons/src/javaee/WebService2@2x_dark.png | Bin 0 -> 2046 bytes platform/icons/src/javaee/WebService@2x.png | Bin 0 -> 1938 bytes .../icons/src/javaee/WebServiceClient.png | Bin 754 -> 1402 bytes .../icons/src/javaee/WebServiceClient2.png | Bin 0 -> 1506 bytes .../icons/src/javaee/WebServiceClient2@2x.png | Bin 0 -> 2242 bytes .../src/javaee/WebServiceClient2@2x_dark.png | Bin 0 -> 2198 bytes .../src/javaee/WebServiceClient2_dark.png | Bin 0 -> 1494 bytes .../icons/src/javaee/WebServiceClient@2x.png | Bin 0 -> 2128 bytes platform/icons/src/javaee/WebService_dark.png | Bin 0 -> 1430 bytes platform/icons/src/javaee/application_xml.png | Bin 482 -> 1189 bytes .../icons/src/javaee/application_xml@2x.png | Bin 0 -> 1458 bytes .../src/javaee/application_xml@2x_dark.png | Bin 0 -> 1453 bytes .../icons/src/javaee/application_xml_dark.png | Bin 0 -> 1189 bytes .../src/javaee/buildOnFrameDeactivation.png | Bin .../icons/src/javaee/dataSourceImport.png | Bin 735 -> 1451 bytes .../icons/src/javaee/dataSourceImport@2x.png | Bin 0 -> 3042 bytes .../src/javaee/databaseSchemaImportLegend.png | Bin .../icons/src/javaee/dbSchemaImportBig.png | Bin 2025 -> 3042 bytes .../icons/src/javaee/dbSchemaImportBig@2x.png | Bin 0 -> 6391 bytes platform/icons/src/javaee/ejb-jar_xml.png | Bin 641 -> 1335 bytes platform/icons/src/javaee/ejb-jar_xml@2x.png | Bin 0 -> 1751 bytes platform/icons/src/javaee/ejbClass.png | Bin 797 -> 1528 bytes platform/icons/src/javaee/ejbClass@2x.png | Bin 0 -> 2375 bytes platform/icons/src/javaee/ejbModule.png | Bin 682 -> 1154 bytes platform/icons/src/javaee/ejbModule@2x.png | Bin 0 -> 1508 bytes .../src/javaee/embeddedAttributeOverlay.png | Bin 162 -> 998 bytes .../javaee/embeddedAttributeOverlay@2x.png | Bin 0 -> 1023 bytes .../embeddedAttributeOverlay@2x_dark.png | Bin 0 -> 1025 bytes .../javaee/embeddedAttributeOverlay_dark.png | Bin 0 -> 1000 bytes platform/icons/src/javaee/entityBean.png | Bin 686 -> 1196 bytes platform/icons/src/javaee/entityBean@2x.png | Bin 0 -> 1394 bytes .../icons/src/javaee/entityBean@2x_dark.png | Bin 0 -> 1395 bytes platform/icons/src/javaee/entityBeanBig.png | Bin 1193 -> 1312 bytes .../icons/src/javaee/entityBeanBig@2x.png | Bin 0 -> 1582 bytes .../src/javaee/entityBeanBig@2x_dark.png | Bin 0 -> 1592 bytes .../icons/src/javaee/entityBeanBig_dark.png | Bin 0 -> 1311 bytes platform/icons/src/javaee/entityBean_dark.png | Bin 0 -> 1201 bytes platform/icons/src/javaee/home.png | Bin 759 -> 1480 bytes platform/icons/src/javaee/home@2x.png | Bin 0 -> 2229 bytes .../src/javaee/inheritedAttributeOverlay.png | Bin 141 -> 1123 bytes .../javaee/inheritedAttributeOverlay@2x.png | Bin 0 -> 1361 bytes .../inheritedAttributeOverlay@2x_dark.png | Bin 0 -> 1345 bytes .../javaee/inheritedAttributeOverlay_dark.png | Bin 0 -> 1107 bytes .../icons/src/javaee/interceptorClass.png | Bin 788 -> 1505 bytes .../icons/src/javaee/interceptorClass@2x.png | Bin 0 -> 2314 bytes .../icons/src/javaee/interceptorMethod.png | Bin 797 -> 1468 bytes .../icons/src/javaee/interceptorMethod@2x.png | Bin 0 -> 2323 bytes platform/icons/src/javaee/jpaFacet.png | Bin 711 -> 1198 bytes platform/icons/src/javaee/jpaFacet@2x.png | Bin 0 -> 1806 bytes platform/icons/src/javaee/local.png | Bin 772 -> 1418 bytes platform/icons/src/javaee/local@2x.png | Bin 0 -> 1919 bytes platform/icons/src/javaee/local@2x_dark.png | Bin 0 -> 1918 bytes platform/icons/src/javaee/localHome.png | Bin 765 -> 1467 bytes platform/icons/src/javaee/localHome@2x.png | Bin 0 -> 2050 bytes .../icons/src/javaee/localHome@2x_dark.png | Bin 0 -> 2015 bytes platform/icons/src/javaee/localHome_dark.png | Bin 0 -> 1465 bytes platform/icons/src/javaee/local_dark.png | Bin 0 -> 1415 bytes platform/icons/src/javaee/messageBean.png | Bin 656 -> 1235 bytes platform/icons/src/javaee/messageBean@2x.png | Bin 0 -> 1572 bytes .../icons/src/javaee/persistenceAttribute.png | Bin 742 -> 1382 bytes .../src/javaee/persistenceAttribute@2x.png | Bin 0 -> 2033 bytes .../src/javaee/persistenceEmbeddable.png | Bin 686 -> 1198 bytes .../src/javaee/persistenceEmbeddable@2x.png | Bin 0 -> 2307 bytes .../javaee/persistenceEmbeddable@2x_dark.png | Bin 0 -> 2315 bytes .../src/javaee/persistenceEmbeddable_dark.png | Bin 0 -> 1201 bytes .../icons/src/javaee/persistenceEntity.png | Bin 729 -> 1208 bytes .../icons/src/javaee/persistenceEntity@2x.png | Bin 0 -> 2339 bytes .../src/javaee/persistenceEntity@2x_dark.png | Bin 0 -> 2344 bytes .../src/javaee/persistenceEntityListener.png | Bin 788 -> 1505 bytes .../javaee/persistenceEntityListener@2x.png | Bin 0 -> 2314 bytes .../src/javaee/persistenceEntity_dark.png | Bin 0 -> 1214 bytes platform/icons/src/javaee/persistenceId.png | Bin 747 -> 1429 bytes .../icons/src/javaee/persistenceId@2x.png | Bin 0 -> 2252 bytes .../src/javaee/persistenceId@2x_dark.png | Bin 0 -> 2254 bytes .../src/javaee/persistenceIdRelationship.png | Bin 590 -> 1357 bytes .../javaee/persistenceIdRelationship@2x.png | Bin 0 -> 1959 bytes .../persistenceIdRelationship@2x_dark.png | Bin 0 -> 2003 bytes .../javaee/persistenceIdRelationship_dark.png | Bin 0 -> 1388 bytes .../icons/src/javaee/persistenceId_dark.png | Bin 0 -> 1431 bytes .../javaee/persistenceMappedSuperclass.png | Bin 704 -> 1355 bytes .../javaee/persistenceMappedSuperclass@2x.png | Bin 0 -> 2629 bytes .../src/javaee/persistenceRelationship.png | Bin 492 -> 1304 bytes .../src/javaee/persistenceRelationship@2x.png | Bin 0 -> 1719 bytes platform/icons/src/javaee/persistenceUnit.png | Bin 790 -> 1210 bytes .../icons/src/javaee/persistenceUnit@2x.png | Bin 0 -> 1838 bytes platform/icons/src/javaee/remote.png | Bin 750 -> 1411 bytes platform/icons/src/javaee/remote@2x.png | Bin 0 -> 2067 bytes platform/icons/src/javaee/remote@2x_dark.png | Bin 0 -> 2062 bytes platform/icons/src/javaee/remote_dark.png | Bin 0 -> 1421 bytes platform/icons/src/javaee/sessionBean.png | Bin 703 -> 1208 bytes platform/icons/src/javaee/sessionBean@2x.png | Bin 0 -> 1434 bytes .../src/javaee/updateRunningApplication.png | Bin 641 -> 1463 bytes .../javaee/updateRunningApplication@2x.png | Bin 1549 -> 2430 bytes platform/icons/src/javaee/webModule.png | Bin 747 -> 1235 bytes platform/icons/src/javaee/webModule@2x.png | Bin 0 -> 1755 bytes platform/icons/src/javaee/webModuleGroup.png | Bin 604 -> 1251 bytes .../icons/src/javaee/webModuleGroup@2x.png | Bin 0 -> 1721 bytes platform/icons/src/javaee/web_xml.png | Bin 430 -> 1398 bytes platform/icons/src/javaee/web_xml@2x.png | Bin 917 -> 2033 bytes 106 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 platform/icons/src/javaee/JavaeeAppModule.png create mode 100755 platform/icons/src/javaee/JavaeeAppModule@2x.png create mode 100755 platform/icons/src/javaee/JavaeeAppModule@2x_dark.png create mode 100755 platform/icons/src/javaee/JavaeeAppModule_dark.png mode change 100644 => 100755 platform/icons/src/javaee/WebService.png create mode 100755 platform/icons/src/javaee/WebService2.png create mode 100755 platform/icons/src/javaee/WebService2@2x.png create mode 100755 platform/icons/src/javaee/WebService2@2x_dark.png create mode 100755 platform/icons/src/javaee/WebService@2x.png mode change 100644 => 100755 platform/icons/src/javaee/WebServiceClient.png create mode 100755 platform/icons/src/javaee/WebServiceClient2.png create mode 100755 platform/icons/src/javaee/WebServiceClient2@2x.png create mode 100755 platform/icons/src/javaee/WebServiceClient2@2x_dark.png create mode 100755 platform/icons/src/javaee/WebServiceClient2_dark.png create mode 100755 platform/icons/src/javaee/WebServiceClient@2x.png create mode 100755 platform/icons/src/javaee/WebService_dark.png mode change 100644 => 100755 platform/icons/src/javaee/application_xml.png create mode 100755 platform/icons/src/javaee/application_xml@2x.png create mode 100755 platform/icons/src/javaee/application_xml@2x_dark.png create mode 100755 platform/icons/src/javaee/application_xml_dark.png mode change 100644 => 100755 platform/icons/src/javaee/buildOnFrameDeactivation.png mode change 100644 => 100755 platform/icons/src/javaee/dataSourceImport.png create mode 100755 platform/icons/src/javaee/dataSourceImport@2x.png mode change 100644 => 100755 platform/icons/src/javaee/databaseSchemaImportLegend.png mode change 100644 => 100755 platform/icons/src/javaee/dbSchemaImportBig.png create mode 100755 platform/icons/src/javaee/dbSchemaImportBig@2x.png mode change 100644 => 100755 platform/icons/src/javaee/ejb-jar_xml.png create mode 100755 platform/icons/src/javaee/ejb-jar_xml@2x.png mode change 100644 => 100755 platform/icons/src/javaee/ejbClass.png create mode 100755 platform/icons/src/javaee/ejbClass@2x.png mode change 100644 => 100755 platform/icons/src/javaee/ejbModule.png create mode 100755 platform/icons/src/javaee/ejbModule@2x.png mode change 100644 => 100755 platform/icons/src/javaee/embeddedAttributeOverlay.png create mode 100755 platform/icons/src/javaee/embeddedAttributeOverlay@2x.png create mode 100755 platform/icons/src/javaee/embeddedAttributeOverlay@2x_dark.png create mode 100755 platform/icons/src/javaee/embeddedAttributeOverlay_dark.png mode change 100644 => 100755 platform/icons/src/javaee/entityBean.png create mode 100755 platform/icons/src/javaee/entityBean@2x.png create mode 100755 platform/icons/src/javaee/entityBean@2x_dark.png mode change 100644 => 100755 platform/icons/src/javaee/entityBeanBig.png create mode 100755 platform/icons/src/javaee/entityBeanBig@2x.png create mode 100755 platform/icons/src/javaee/entityBeanBig@2x_dark.png create mode 100755 platform/icons/src/javaee/entityBeanBig_dark.png create mode 100755 platform/icons/src/javaee/entityBean_dark.png mode change 100644 => 100755 platform/icons/src/javaee/home.png create mode 100755 platform/icons/src/javaee/home@2x.png mode change 100644 => 100755 platform/icons/src/javaee/inheritedAttributeOverlay.png create mode 100755 platform/icons/src/javaee/inheritedAttributeOverlay@2x.png create mode 100755 platform/icons/src/javaee/inheritedAttributeOverlay@2x_dark.png create mode 100755 platform/icons/src/javaee/inheritedAttributeOverlay_dark.png mode change 100644 => 100755 platform/icons/src/javaee/interceptorClass.png create mode 100755 platform/icons/src/javaee/interceptorClass@2x.png mode change 100644 => 100755 platform/icons/src/javaee/interceptorMethod.png create mode 100755 platform/icons/src/javaee/interceptorMethod@2x.png mode change 100644 => 100755 platform/icons/src/javaee/jpaFacet.png create mode 100755 platform/icons/src/javaee/jpaFacet@2x.png mode change 100644 => 100755 platform/icons/src/javaee/local.png create mode 100755 platform/icons/src/javaee/local@2x.png create mode 100755 platform/icons/src/javaee/local@2x_dark.png mode change 100644 => 100755 platform/icons/src/javaee/localHome.png create mode 100755 platform/icons/src/javaee/localHome@2x.png create mode 100755 platform/icons/src/javaee/localHome@2x_dark.png create mode 100755 platform/icons/src/javaee/localHome_dark.png create mode 100755 platform/icons/src/javaee/local_dark.png mode change 100644 => 100755 platform/icons/src/javaee/messageBean.png create mode 100755 platform/icons/src/javaee/messageBean@2x.png mode change 100644 => 100755 platform/icons/src/javaee/persistenceAttribute.png create mode 100755 platform/icons/src/javaee/persistenceAttribute@2x.png mode change 100644 => 100755 platform/icons/src/javaee/persistenceEmbeddable.png create mode 100755 platform/icons/src/javaee/persistenceEmbeddable@2x.png create mode 100755 platform/icons/src/javaee/persistenceEmbeddable@2x_dark.png create mode 100755 platform/icons/src/javaee/persistenceEmbeddable_dark.png mode change 100644 => 100755 platform/icons/src/javaee/persistenceEntity.png create mode 100755 platform/icons/src/javaee/persistenceEntity@2x.png create mode 100755 platform/icons/src/javaee/persistenceEntity@2x_dark.png mode change 100644 => 100755 platform/icons/src/javaee/persistenceEntityListener.png create mode 100755 platform/icons/src/javaee/persistenceEntityListener@2x.png create mode 100755 platform/icons/src/javaee/persistenceEntity_dark.png mode change 100644 => 100755 platform/icons/src/javaee/persistenceId.png create mode 100755 platform/icons/src/javaee/persistenceId@2x.png create mode 100755 platform/icons/src/javaee/persistenceId@2x_dark.png mode change 100644 => 100755 platform/icons/src/javaee/persistenceIdRelationship.png create mode 100755 platform/icons/src/javaee/persistenceIdRelationship@2x.png create mode 100755 platform/icons/src/javaee/persistenceIdRelationship@2x_dark.png create mode 100755 platform/icons/src/javaee/persistenceIdRelationship_dark.png create mode 100755 platform/icons/src/javaee/persistenceId_dark.png mode change 100644 => 100755 platform/icons/src/javaee/persistenceMappedSuperclass.png create mode 100755 platform/icons/src/javaee/persistenceMappedSuperclass@2x.png mode change 100644 => 100755 platform/icons/src/javaee/persistenceRelationship.png create mode 100755 platform/icons/src/javaee/persistenceRelationship@2x.png mode change 100644 => 100755 platform/icons/src/javaee/persistenceUnit.png create mode 100755 platform/icons/src/javaee/persistenceUnit@2x.png mode change 100644 => 100755 platform/icons/src/javaee/remote.png create mode 100755 platform/icons/src/javaee/remote@2x.png create mode 100755 platform/icons/src/javaee/remote@2x_dark.png create mode 100755 platform/icons/src/javaee/remote_dark.png mode change 100644 => 100755 platform/icons/src/javaee/sessionBean.png create mode 100755 platform/icons/src/javaee/sessionBean@2x.png mode change 100644 => 100755 platform/icons/src/javaee/updateRunningApplication.png mode change 100644 => 100755 platform/icons/src/javaee/updateRunningApplication@2x.png mode change 100644 => 100755 platform/icons/src/javaee/webModule.png create mode 100755 platform/icons/src/javaee/webModule@2x.png mode change 100644 => 100755 platform/icons/src/javaee/webModuleGroup.png create mode 100755 platform/icons/src/javaee/webModuleGroup@2x.png mode change 100644 => 100755 platform/icons/src/javaee/web_xml.png mode change 100644 => 100755 platform/icons/src/javaee/web_xml@2x.png diff --git a/platform/icons/src/javaee/JavaeeAppModule.png b/platform/icons/src/javaee/JavaeeAppModule.png old mode 100644 new mode 100755 index 0a67d92456055c85268b8fe08557cdf7c409c940..33406cae8c2b520d697c295ddd78719901db24f7 GIT binary patch literal 1011 zcmaJ=J#5oJ7 z48x2T@=A%$$HOr+NdITP9cpwMC)p|~;|1btE@Ea3TtlE>X^W_YG-GvTAEg;);H+7x zlB#+`(y_&9A%+Vqhq4(aJsmijzJv&;Q? zuPy1K!A@TV=|G|a79tu5tYzDif(+ZzmFPM==2_5!kfjWJWU8vp0U5gpB)CLG7hoKu zL=GlkdY_bTLVx`JQ`oDlI*2bJ4>w$$UfjY&7|M}k7ik2$6^xfVRh+A1 zg1tI+fGmT_dDAwq?_FxaRaGk39?@(a6_gB11vt|*q**1IjKyJYDwPr;%*Lm(VoprR zN-~xd<1m%za22dKEM$`o*XVMiLQihk36?`6E66qPAtUEv3$!wp%-&vU-#TOqRkU7yIo5+-M&XQZFZM-^}(G_K7A4Of-+MHKGc349!?LOU*CK% z+w9ka;>YXH%VRG;OXV*cHwU(AeaG^97sl@IZfnI8D}(DN-@RtjkIwNs-=FmBBw5ge zr*B6ds@r|St;g>xjlPNG$Vl_&kK4`s(Ly zZ}OUdFKYRN)OC*vw>)jz|MLIyc<11Rnx6Ul?|!-U=I4`-zpA_Edn|n9-LX5kXHW2w zM^O{@CQja$**LR4uWep_-K2v0$wixPRCdodt=Vo-yS=t&e(kOob-fGfdl&Sa`7mwS zj@c`Buey1y_Zhp3@-*Nomx08>*o_+TH+_Uc&o_)Lc?AxUmKQ6!gasBm=o3Fm# zeErj@dFP$CKkvT#dGGzN`|p1}eE;*|`(KYf{(AiJmr?b$XPPA{rbzF zH(&pJ`2OeP_dj2L{{8an@Auz-UFJQg>Yjh=^^d7r<3K?qUJ~RN%)rAR5R+Wo**$aF zh8<_ly!-j{9|){s7I^?vGRxD&F{C0c_mnH&VFL!2i&IYe?c|#_69_*36VFUaPh9zT z*44`f^_OP8QCTh6eD4vD$RE3^{3DMyB^vBbzF3fP>r84qAJ2oIJ7W7T1>Ipa-Lc-D zJyUVsrKehruXpS}`?*MSo`>U#Lp!g}``mG4)rNddVadWdMoiiZ4QrJ7G?fijU*9G9 v%TTJs%=J|w14GE9E6nVIeN189KVNc(TZqZuR^Q42bS8tRtDnm{r-UW|S%4rg diff --git a/platform/icons/src/javaee/JavaeeAppModule@2x.png b/platform/icons/src/javaee/JavaeeAppModule@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..ef5d15f75c4bf8f5f2283acb9ce03a74855bb590 GIT binary patch literal 1200 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 literal 687 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47&8KVLR|Ho6aN4I4H3eVE;uXc_sHj8WmN|m?G){W>?3h4>X z?*MYEdlqJ8M@xpx6pdZs99EznF=gwn{@eveS|-o+Y~L1=S;kgCyFsPy}E+Qi?D=n+ED668Ts3M`Xp{8N=uGZqv&YrZc#S6Qq#P-gZ zG-3ACiF5lV&1#u9Cw57fSpFdV};q1hVhoi4vUGn7l zmS>yAULG)d`TqQyW9skES$sO9_4(J$Z@0{UZsPp;Zu+l#zP}&G{(hGHe>=nfQ%wKQ z@ocQ%;{*o1VM&l5DC~K~mGum~BBEk@`zKAAvvU20eJ9VHzi{#Tt=o6+-h1@;$@Awg zUcLYP_1pKKzyALFSLu`B2-JMk)5S4FB0ThbAlD%S9)^J3Tjs6~U9QwIziE2Fhih_2 zg*o_^Uk***eRWrcHpeq%#eNncFRTBK`&ny~1TuvfEW|(kWT+yRck5a93H-aBAI>mZ^H}B9Z_bT6A-fu$9T64{TT)i! zwcw0F8RI;*2%oD*_w?|#+jgu>S#)~Z({s$ta~2-(=56H?RxrM`|9sE7b>E&U?z*~G s_U)X~eg7NS8qdmo{I0w5-@SU~Yqb#<6qj%Q0Q3-pr>mdKI;Vst0Ot!hCjbBd diff --git a/platform/icons/src/javaee/WebService2.png b/platform/icons/src/javaee/WebService2.png new file mode 100755 index 0000000000000000000000000000000000000000..fba89103bed0450261fd174709e9e02c5392bd28 GIT binary patch literal 1441 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 literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/WebService2@2x_dark.png b/platform/icons/src/javaee/WebService2@2x_dark.png new file mode 100755 index 0000000000000000000000000000000000000000..36ba06cc491aa96220a74be7e44f8ac270ce0920 GIT binary patch literal 2046 zcmaJ?YfuyC8eT-ChKn}@1UZDD#TLjt5F$YXArNRN#MFQTXh;@VCE1uPB&33X+G0nr zpoqoW;a-Xw4hIy7ax2Qkf~CqRsE7=VfL17=f)qF#EB5?2oSoVIF7rIk`@HY>&bP;d zgZ#`eHW&Z^%((t+K00Fc?1qiSta1@B;N<}ds9~4Ov z54MAz0AT0<2||%j-WLopEX9lT7`$34N7(@2xkD`%i4TAXHVTY^WK7(+t^tRIBut!; z#v}6NK42{5uTg-zG(iHf=788kg4^MR^;9!Z0V#-xuxe?XOvz9)aqo2*=v==|z+vA* zkONHIU#3EN!B`(y0b*%*nyZ*dqGH`W@FW_EN+-Es$wU%`K%@{z6ju_NLG)mdXxI-A z4vnUeL^Jqo&WBj&iiwLw5IKWDP^naS6$K9~VhAJ;4-W#7Odyk8QG}~9QHF@rt}>Jq&CK8D>x;vdlBKcBT6c)#q!*ZjN zs4QmgVX@K`KWhvq1%v07^ItSc-k0F#}rO3uRfo4_wLe zUZ~4*38)!@{#^g-oR_xH=Fv|-b}hR2*!Q3eZFU9P)gn$D2LM(oxonm|-8UrU#o78= zBvW*ei@!6tkBYWJ_c~np0hod+`M~a@_tSz6972Ble64XyhWG5~x`U}WgN=jD`KJSq z+2FB7-x>N_IHVnIG4PLd7`pqNO?Fkh_vWvq<6RROH@OcQY@GzmiQSiOT)dF<^jxp| z(;FgwKwZx5QOk4nho%O$?|p2#s7sAWInwC1Z?HhIx&x zDF%n`D}e3mqqVntLn6e+^uq1dg+WxSEY2?P4zBQ5)hUy}{DQUGf+zb2$6lXV@z6ZV zC#JN(VL`H`r8>Q9TM;QL9k8_YegoQds}kLmYlnKYrKxLDSp(2O*l^{i#x`MZHy?q(yesVTXmDsS?xNB#nYjTlm z$%R+xkc&+ec5C+7WczJ)U&-E5t9I>{^o%zNP9tu2f>~w$PXjwEwLS{-j@-1w|n9jzVEqj&Of}~Q{Y+>@=n{I6ViTkAf|bfY&hbN zAKl+Il^C!Q%_CDK<+5`WOO_M5kVx}$e4xllOWXGL?b)hzmpWc=Ett$dB+cA(veZ&) z%X1pTba#w&PMF`A5Nr`FboDqcCbI@lKv3K;k&ApD_o_GSmj#<`atWMC*rZzG#StvX@=J1Hd{uXYeAsexBwLRJ6y%r_bZ&nDacDJ=vj@LEJ_khj^S-#T)XG_fz%^+zd~BBr&5R)53bLIQ}(w$>A5QI zEAxJ~r@FxLSOl^vZAFdU5Meeqh@78Qyk2H^t6W1Huenqlm-h)~AfovEox^p!pw;4} zq2g{G`BbOQ2?950?Hg}4KC`{Ga=xNz-&-HaLrq(jmYl1)^kuKhM!}gK&vgxH?*_BN zo059h@u{bJqZ@VWy&`QR3Z_y)kC(wcrDqqNeeAc0U(wyNmD`#wTl!sWx4LB_4tq1Y zf6b>07sgtLZRs-#s^ga~mMuo6{->{>xt%+<3%NC0eB+)yJCbR5*pS(O^QXweQ|6Yi z<;t(=ImL0O?>N;J-v4&e6!duE7ZjgJb~hOmogTKb6PkX}*JoW+UVUoa%PRNR9g))& zaaJipMcO=R&(-Fjo~Pphd9~LHe^5#I3E@|EYLNxZ%*vV3=nH1Oiwnq~TEGw}Jsx73 T9x(8|{*TP{4PsyQ-k0_tM&M6U literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/WebService@2x.png b/platform/icons/src/javaee/WebService@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..c4dba849cf4891db069812e3f0ca8d691376dd8b GIT binary patch literal 1938 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%!-*I5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij|>(qotd(p{0eng{h&TtBHlVp|ORrk(-%? zi-n_sp#e;VL91WY_2COp*wIq-C!ng>kmMZi?;->WLiz`(-p>Eakt zaqG$S*bI?yk>mf3t#@Bmnf*r1aHUFSc38_YMK;mgKMYH21#Tz&PB^mdMtfMTr_`1p z5y##ei~JX5)&?j~af%9%=MuZ*x`E@Wi?hj%1ri?2rmM5J%)Z;ZD}J-_Jn46*3g#A? ztGz(yY`^f0^<(xvu3NWn$M?z> z6eXB%d?@)P|AEyU`^Mgnd`iANg0(K1A0;>5OZsEpGXF>K424-8hg;gezn|I1Z29;B zm!DAVk+i%cUb8Ih1=>5-`yR7?Gbcc%=lPOji_ZG}F}t1jvL%$~j#7}m!o8rF?a2ai z%F~1urCq;w$ht7!PtrG>f8*ruH7Z9+X z%`erH(>E12JJv3o{`F&p;8Tt3Gs^|02}ZjbsW|POWoX^fB9~c)x0$lG4w24Axn8mw*3Q5pp$b7AL>Ysr;(y zCF=z~?&3nirx1 z9(@x%t8sAoEB%I$9S7onh zRq#ktux1v=uDg0`g8UXN{8jHFm$kztsA+pGr$}YcgrzzrzOCU`17)Odw-o7!%0!$w z+4*D&=UF2i&lxA>>}J*Ws%ftHlC?r-o`VY8j;Aboywe|FdCR|n;lIMW`gT9JAICoL z>9bvvb0V#jr9Dki>iWx6p$m^Rw7Zm~iXT4@F#Z>u_3?PKnna$tPvnQ476INZ#xr$x z31@HonkD`2c!-3jcux!a^7ZH3_AKDCvXls3W>h-k{LE?0*}h-69^0w)8M9x~t^84&G}*P9du<-;L6LPS$0sK!+P7ysYxQnDYO_o` zqf|cP?E$w(GJ&~|WsEoUODA8w#GEwY$Gu|~JJuD)Y+uZrv*8!hE5@r?ft!4vDoyiC z-lIFKeW8ZDwc3{V8&|D*({$mD%Pe-$Y;J+vJr1Hv`@ggPxFKeD{o0Ppu@@4fYR^4j zSzl5dx<0Z_q|WEYoUr9pmtGpZsyO!k-q%zArM=ewz5h{}k&VG=a?G_f-UHh~wWO!3 KpUXO@geCxY@CK0p literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/WebServiceClient.png b/platform/icons/src/javaee/WebServiceClient.png old mode 100644 new mode 100755 index 63df7e02a0c7fd421e9d735681e70464fef46b9a..9e1c7579ce45e59afb1b7c516f3fc9b6d4d5ea9e GIT binary patch literal 1402 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e}lJa|;V2VUI2$*<4On9mVa^UGcH4m8Bi-4(Gxi0Gg0|VoGPZ!6K zid#v4{{OdUR&8K)@tI}9IeU(tKz!4tuMIzp{Fo;=*b3}#>pHI7sn77J)!~nH$I*rz zg0mSF&hlEsWU(AQ!H~ltJn2BT$~R_(KE|X%jlRaNg9oH@^b*=GeUCTbvi_HpY`6H- zXP+l0!|(l<-@noRabnuGX+Qp#*$2c4-b|8k=InU9;LWV=|DoGBJ3n<;WdBRa_)v4e zLNj6gm+kTU`J10C$a=J(>H*sw)+Aw#YJP6<>1nfGiLn*#d(ZR#|Nqn-9~!1RPWafZ zetPBA{d(Y*Z()v*}vlWgxuOm51&e#wVnGd$us}vzqjST%l{Y$Sn)@j zH2KV7<;|RafB%2E+n*0#yY=jpb6c{$ilp8DWX5Cn@2`9&qptLGrkxq{)jz*K&Q}(` z$(_FNBM+0V+y8u*zdt_yE;xGkLH+Ey8-JLkDsKGv|25X(tnC?|`k##v6J~$R7O&Fz z(|W0E(*OH1AO6)Z5zDACVAfdrKfQo?Qe6+v|A|+N7cFNFR58<7HI3n;w#GTOq;=K% zMXwzasrhp}w)Y)VgceI?0_!7{3^|6zNcFmtn{s|E6b(DLeG20Xp|)-QhP4Zhw90Xx z@T`;%O1t&tkNo?*3EH>pT@OF0Y}hfE)8CKvsok-!_FE(xKmO&LWqq+x&Y^*kq3Fqy UE!rPbDnO;7r>mdKI;Vst0I-t@oB#j- delta 741 zcmeyx^@(+YWIZzj1A~Sxe=q|B6u7u^ zSV48qLI}5I^0L&@E(qHvwhXQYnGu}dv2|B}%jCI0L8tJn+yzH!>e9_3o9ep?1^<6N zUy&*M|M%C-ir$}IVx z&u0IB*7oy3Bl9$4m(UDj&vcRO)xP!phi@IL6gm;i@g?lcgVX$_wiD;}{d!Yw>Y4WJ z>48V*b2d#9T-wOAtV8C>^DTi%g;^CfSFbMdsaaqbm{wGgaPe^TuY0~{7Fqn?&TxHC zaZ-xs-}l?M-Fh-_PV9u)Qw0kSv=)b+ZjqinZLwOxQm>c*=g{o72|dpqZt9&eschB( zuc`ItTykoF{`+#baLUqcpMTx_|5U4|MCjM+&8+{!IX;JpZV&wbardw1^Rh~dL^2)B zFN?PTBh0iU$PXA}QC`Z|=R7`h@x}T6Z?9rEoHP(;S{X5gg^_oC@AIF3^=|+AdG8;? zUxu%D|9y#l@_pW;-+x!lF8ZPZG~lAAi(`m{BDb$qneqe zMK=GGTz!?DJAN3~b$9Pya6*1U%(n$D8m^hK8^U&9%lJ|$#|Siog@JLF;V}&dLmtD` zA+p>$S5Mx5rn356)W2;lO2uz$|2|t>{3$hzv-j!Tq#3U+ceUFq8%Dmc`yQut_4G>z z9@)FrR~O0LiL2k&wfXm|rEL8*0_kQUp|xN9e72YRy_Htq?&0B7?S1ug{`!e&v#xi) zdv(-AI##h)XZ_@$+v{Ex#-DMvJC|I}b-`L-#`^mV3=ic0N!Z%H4BBK3bQ*)FtDnm{ Hr-UW|kv?Kz diff --git a/platform/icons/src/javaee/WebServiceClient2.png b/platform/icons/src/javaee/WebServiceClient2.png new file mode 100755 index 0000000000000000000000000000000000000000..f9cbd8f9cd9c404d94de829659ac8460cc56dd47 GIT binary patch literal 1506 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 G68-`T?5Mo} literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/WebServiceClient2@2x_dark.png b/platform/icons/src/javaee/WebServiceClient2@2x_dark.png new file mode 100755 index 0000000000000000000000000000000000000000..c99727025e5dc6f246660201a244266c3121cdf1 GIT binary patch literal 2198 zcmaJ@c~nyQ9w(n#=~x!NEX};4uN^KZ1fobNqA0lFKIs_3)tK0XOMulmE~QbHnx*4b z<}~@VDa&4|rKw5wrnFFt+_I-FT3K1P+t`C9oB8AQ?m74Vmh<_1zT4-Is|gA6v$C+W zKp+rSOn*AZumZ++j=AA0Pf2-YSeC%P(Qud~5ms_#5Q4^+BtQUD#7%-Y5SOn`{tfa( zApYhg2#r6JHLwu~PpV4FK&%^xb3@}?$yj$XjsSdlP=;tS zej=GeXMBleI8jiWU|329L8VfOQMzFyvLq1a?(Pm^T|rk@v;l#ZtHm%^g%-=5XB6m= zoF@}VVSz*p7!|n*5(P{_88ZE&1d;TstXTe~O@@YnDy|g7VX(%MW`Jz=|A&f1U(s@y z1O1ur{}h&otECXgf#ec}jAs~JqO&oSlA}c1>k2@g(4(xZ$#?Fj`vdM_% z+vs=0rEN`ki?_Y^V~1bVH8myBkZXE>TC*~SXm_i>vdj~*{vgVOEV_xGa4 z2a2v06wGQh-vpyU(9Ac9+f{+AB=qmRt~+Cc(;x67arF5k0_~ZKYqgc-tNyv=!{Dp@ z)D7Je^DM{($?t4v9qZiYI$&}-ygi!+8}@X^=jo8qONqx*SSD@IiF5_+b%<`w_RxDu zL4?KY>BK73>E7@zWvU$g~GB(bntom70>y-8Jcq&fC@# zx-(9o?nRc zgQDiL?V*?TwUa`}_l`VVJt4nCJ}qssaN>(4;0NpNx86N?b9yl)7u$QQf|DI{@h%#< zdfDP^u7=nOXfs$NXP}myXo09qCss%}ksulbo2$ z$h_9mub-E!@jCsy%=#kQjkXIh3Mo_!#B~M`hh+MB-Wuh;u zCPvjSaE|w_`1tQ_yUVUDs2$gHUY*~&cHWixCzCnIrzPVcYVzNi({SP6j7um=9rZOJoI%d6b@ah}4 zPU}fHpQl~c_=zpMlpfFU>(qJlskL3DDpDf#deSrhw08}u^5by~VIAW?2h>!T$Z|D2 zZT=#!>W2sYt*)h(TSGc_2?tIE6~6=Zam;}WFBFZxq@NRgvcMt&YdS*neKtfG{}hc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e|}aLuWTL6H5zo3sXZwR})KD3s)B-6GK-= zQ)4G%BS)BCm;B_?+|;}hnBEkGUPqjIK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C~Z@ zJgD9j+-|YJsaGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4&*@y3}q3=B-(o-U3d z6}Og5KASD|d(sntJh{y$AOJ-XB<@w@P* zHl06$1~1(DZ&*bZ`s5xm(|9rC!`e5DvyNZjG4$4Vk=XrVYs~HZHV5kmGlUJ5tYSOe zw{Y?>%oY3*v*zG&CsvMg{a@S_^IkGnhyJVC&7;4e$UBy?O)Y)w^cZB{Qv;L)vCv+J-co9WVBA@n|-vc(jwF8 z(xQxK3;u~HKGAxn!>yyn_G{q^;{{JX_O7k{zop7v(pVucXa#%k)SVLw9&|t5ob=UY z+A}pyL7DdL6T;UrNT1ETaGO$b6C2&1Da)QX zo9ZYOJ}68QT*m+GUE+5$sc7pNu30Xz&-dST6TOhL+hbAst{>hFj11k;%#UYVPrn5! OX+2&2T-G@yGywqk@iO!P literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/WebServiceClient@2x.png b/platform/icons/src/javaee/WebServiceClient@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..38cc043356e2483de18879d280401b044969c8c6 GIT binary patch literal 2128 zcmaJ?c~ld39uF0wc+ldJZ4n_Rh$%wukVC?i06_>sL`bOxLo$#c$;8P(LZDiy2Qe&1 z@!%B2;sZqll*7UUMHCPeam95JIaCm#NLN^J5$FahcK=v*-kbRy@ALV5ug`m<^Y`;w zv(jQE0)bfL&EpCTD|+Ewfi!$oTJ5A^`3m+B!n?o-SS^A8gqs8m2hiSfQ6wM$M3T7u zt$-5(v23#}PzVe8zAP~)$BPy)c#T|XU?UJtE*hmsybplU;XtHJ!N!c&Hek>)2^$kk z;}iKx4j`5Bv=FdM>lY~2?h`X57#C->lZIswkOQy?t&vA7R4fe}^Ffzo*e_fYFz62u zcpn?{M^Zw*KbiwV0GfuUIf#iQDw@v3lV~I=gJh2;6G;>TkwPF*97tpqk;x*_&>tU+ zAsQr!UX6!l`H~5tybgJ6g&t;5=cxYlRzXB$Ycit!a)_MfJGVyg$lc< zzy(xdNT!5kpaQ+1C<+H-U^d2(=^rJ?m7io4s*i0lG>o7TDG4MzaiOF|AfNyLp>p{r zvIUF=D zSf-GGYSq^t;Cw#ITcLtQ3Nhf#Wn&Bic$rMX@}N3$sB}jLgU+ClNFG!sl}PmTU{D>o z6gLW$=Dx_~g5nrCpnw;-l0Ui3CAkYukSh(5xd0@K1tgvjC`W&&m?c{}7sn;_K5`{X z=R#kSOE4ruSeWa7&3W<4V4j8TC)XMdpL`D}3}%N6t}Yuc>_Z@oZ+mmy0yW)Dr{kj6 z$EMiOXScG4k4=}N@ z+Dr9}GG3cRdxR`Gx&meAUM7$VMmoEyMy4v_?+xbM19Ms#wNE{GVQ;+;Olg$ir67qgG{`EJk5&ijUJ80%%oX3-%S$W)dIoC?A37qeD&UR&2 z<|I{{cEH%Pp|sOOaW(mEB|hfJo&3xp#?ujf0>IVp-_3x0abY3;8P@ z39ljNN0o1~5_&HWP5m7%)(R);c8=fZ#ci!QDXkW^7rmS=uo(q4b(jOgK8?Ha)|QVE zzPZK$*KW!((ix8adTQXXB`)&t5&cQi%7<USH z8Gye%N?LLDT%fI`yOVhf7HQ&kx97#T`i_p7a(U-=!jaquFt| zg3Oz^Dh#nAwp<)dHX8`x*Sb}Qsn=PjE&I0J$ovIrW6E^IK#B?HCF0nwL*d3uqeL|4 z6lcTZoWs~>PEG+*W|){Br)S_Qe$Gra<1w#H8?SPqLasTkWY~Kt$I7#^wzLBct!jo>s4Q&SwC7@;IutD^+`hS7@c_a1||JlRqWs zYAHwqYHYQ&f+%o{R}Unpu+PzC4bEI1$z&btzHVwej*011HI%qFxX=!FM^uo5?CNzz zwBaxgSe+=1*r7H3R|~=BqHv&~en8Yc@xVcvt(HcWUy!E`-9Uyf7wP+Rqt5Eg17?rU z)#Xi`;(j@A+l`WVket73t;4{kBU=wPSvQbYfdj)VXq1W!b-N`)ZFL?z$%UZ1=gNAvcZ2 z9R{xZB$*X3g6tG^hvyFFwwSuWCac`POk%w%-}cW)IM`A(K0xT?>E~V28m$$mrgN_> q-avC_E(IUgebF2oG#mVb5#oVaae0^hg|UTyytjuRx72-a;(q}8fpEwG literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/WebService_dark.png b/platform/icons/src/javaee/WebService_dark.png new file mode 100755 index 0000000000000000000000000000000000000000..9fea41ede95bd8d3be784250db8a9f2ec00009ce GIT binary patch literal 1430 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e}YmBLj02Co>Ck3sXZwR}&{^QzJ`rCpQCU zCs#8I6K9xSm;B_?+|;}hnBEkGUUQs!K`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C}~% zJgD9j+-@<&saGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4(GOusdsfq{wJ)5S5Q z;?|Pj^VwG%MCy!Zo>bYb_-A=K5pO#vmGH;;-U0VQ=j2Z=ClY)d5}!W| z^5|L`bx!)u!5>FvD7@`zh+6g4{%F|?;g$ElKmKxY!~esIjA^mDzYiRcNh``y9b yVIJ}9ai7X|YazDZCY#u!e&`lmc>Tw{fsw(t^1)92zP0tBlG4-F&t;ucLK6Ug8W<)3 literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/application_xml.png b/platform/icons/src/javaee/application_xml.png old mode 100644 new mode 100755 index 8bd86a3211ce3dae05bb1c990d4649067d2fc12b..80b5d50e8cc8635b0cc002df4afa020f84190b61 GIT binary patch literal 1189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e~kVQzruhHvr(0azaO%|uIz}H9uSoF>69Oh45EGtifgE_cPt5}+_99@a&bC>zjDdks%G1R$ zq~cc6pa1{unK{nPwH7~gfLE$vhu|?!KR>q1K0HU7H5Asli>Dl1G(oUi;zVhm!yfTd z?Ymn9?{X{tnQg!m@%bYE(drXf6JiCJl>RKMJNT#}HG#L#Fz}#(>FiCF0kIznd;iz7 zU1C%|=MYo(OWgVDulEUMU)$a%*qI$@@&0`8^?u1)OqK`#Tx0N4_|G5aY>@Qu)8+j< zr~Usn{TAey8sNc zN$KXzY}_~A8%(%V&ee1Arp^u@HpwQwXCgBbH_V(MnYhAp)-|&hYbv{vzWmQ_N?2=HU}RZYQdwPGL{w}0(s%pm zvzMBgppSu$Nl3td+W~jk>Ux#k--*#j(uBvwzgQdDO?E_Sld2)`%UoHURh&qS!8EfW_E9UjCg{M{O7Iw=&$_gwf)Ru{pP3r^xFQ<0RGSb z{@RZI<)8no2LG=P|F|RnyDk66PyfnT|Irrz(|P~YHUHH{|JF_a*`|MS-%H>wN(000JbQchCl3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij}dGqk*f5k&}g)v#Ft>tBI4jiKDBdvAKzv zn}xZnu{lhyOMY@`Zfaf$Om7N8uQN`)pp=kX0JPa9wJ5VJHN~wcKUV?lW2;QuZn4B^ z9#n4%Znrq%)TVL91WY_2COp*wIq-C!ng>kmMZi?;ID5ri1_mZ|PZ!6K zid#v4{{OdUHkx5wuD6Qe>2{-~V)%Rm%kuzHWTZ z!*l#hM=^t;9g~y=f9#pK#>R)Q(J zpuYT~Czofd^RQ35_OPc($Ampq_}g)xEgBXFKYTsxZSed2dijK3_wU<((D?E5tFmWi zLqc8h6+i!9^`Z|u*r$J6yo7NBbAw{h+Y_%8Z>XuTpI9;5_(S)p#+&Eg&uRQIrFE*~ z(Hp|+*u-Q_3LBP{a=1AjIdkY(!n4`k4;kEa_9kDlW}5IreRa;U0tU+jzloAJ`4~71 Z7-W6F%)D-EyB1W6db;|#taD0e0s!B`70Lhr literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/application_xml@2x_dark.png b/platform/icons/src/javaee/application_xml@2x_dark.png new file mode 100755 index 0000000000000000000000000000000000000000..3f5ef3d2e214d922d0c31b2808a6a86f72c83b62 GIT binary patch literal 1453 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%!-*I5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij|3lvx$?li?M~7v#Ft>tBI3|xuK)6tDBpJ ziHVDokr7OVL91WY_2COp*wIq-C!ng>kmMZi?ON7m;#0|S$ir;B4q z#jT`2|Nq-F8_lpT*IUK#a)DgO>gvfIhK2$1CQOC08@nKsd1!}NFd3T{WHZNF!~q27TnG2zGY2P;3% z|HXG8)l#)DVd1o=Ppq0+XHA>@m}8L)!|9bhJ1&O{xydE};n$n}?|-_>s^tO+UpGGI z;W>V$qnN?aj!DXbKlV&qW8=fu=@VqalAlkU!gj*Kx( zbf&=W2BX9G4DZdnjo%nH$jxsH>rWRpVwtma!AdEXvbbNz4jke+xw%p8PQtJ2@@#FY z?)w{VG97sFv2hu1PT+*rXA5!;{hQHwC|D#l@xjv;7CmhfHHW|js%N>Zfn!?8M z%-rqmmnHwh1^WUfr#O2u8?Z}gZs0#?rfB)#;OqN5@Av&<-TbswG3*cPvwN%k>knQ% zP{iUZQ}FMgeoxa2{R_72>;E1oU{IcR&+w%zqsO1gp=QYz4KfDHPxR!lGq6Z7yp}t= U>Ykj%XHWs^>FVdQ&MBb@01U_w-v9sr literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/application_xml_dark.png b/platform/icons/src/javaee/application_xml_dark.png new file mode 100755 index 0000000000000000000000000000000000000000..d6fb5223c7f16a555d23270b839d325d46823f4c GIT binary patch literal 1189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e}Y~Ggn7fR}%{}XH!E%R})7AOBYKEBMT=J zXJa=fBQuy@m;B_?+|;}hnBEkGUQ?WUK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C~5( zJgD9j+-@<(saGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4)R!mxQa0|TR!r;B4q z#jT`2|Nq-FbDWuLEq>?#uT;Yh!DF6&er%V0c#bq{D6DfAPdT_~f?&7AiPAoYJ>sX@ zcee=Mydu6{1-oD!M< D^J|m$ literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/buildOnFrameDeactivation.png b/platform/icons/src/javaee/buildOnFrameDeactivation.png old mode 100644 new mode 100755 diff --git a/platform/icons/src/javaee/dataSourceImport.png b/platform/icons/src/javaee/dataSourceImport.png old mode 100644 new mode 100755 index 417055dba923fc297fb66f21ee30b4c71c327564..da01da4a5a28f5119f34909c6da6740f4e2b3cae GIT binary patch literal 1451 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e}}hGjms0V`B?*b2CFjR})8LH)CgW6IU|} zBS!;6GdGxCm;B_?+|;}hnBEkGUK5;pK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C~H- zJgD9j+-@<#saGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4)xW8&3L1_mYtPZ!6K zid#!2*=C41iX6ZH=1kq4x;Z;p7E6e@^l+tnEL@(Tps>+1F+EZ7kdmN17c2M14Hpuc zxWYNay3*A>oT|7tUU1mZ(Hfy~l66moOL6tiCw6=8ygOsD`Q*Io6)vCJ&8>}p-<$nE zU*gNRmE7i)-y{^DENm+5D&BXD>DMf_gMUrz0$R+hYM-(`xcRWJ?y$-7!)Ug-+!>vyvw3=h5Sw7_8E3h z6DA!sWH!0Y)DaykT=nyui1wGC2ke(t{yWs<)-K3&A#~CES6lKu#8u9Ivwar&kL&6M z9g&CMHlMqnUN_^^j-(8}XFm1)tFABmdq-U4@?;l9hSVPl+@f0=7oJGm8Dgz(xA@z< z#pmD4?mVZb-ga!m`Dr`69Jczlltp;vNF5Miown!HfwZ&t**j;@6}hY zudDxju=x7Aw9T?Wl+jhB=32+Q^Jn$e?NDrz@l*Mpwn$!S->*4ha(`;RYjk9@UAyvZ z?PY}=1;KqwC)pPLGb#zVu|;{x%Nz4|S!}bJyw2gT&SSfPUH60%n;Wl52`QGSui4P( z(6IaNazopr0Dws$LI3~& delta 712 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 delta 2012 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 OBGgs1mES1YVE+fyZhQd% literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/ejb-jar_xml.png b/platform/icons/src/javaee/ejb-jar_xml.png old mode 100644 new mode 100755 index 4fa3a36c91e6cba439dc6cd1610cd1c743a095dc..979a8d4beff9c793020cb6f41a5173ad47079e69 GIT binary patch literal 1335 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f0L_H)mH%H%kk1b8|yOR}&`_M@v@=Ge>6w zCo^+P6IYmCm;B_?+|;}hnBEkGUPqjIK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C~Z@ zJgD9j+-|YJsaGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4)R*lOV`1_s78o-U3d z6}OW9{Qqyy%yDL}wfLa}yiyH21dn<8`LSL0;W^T*p|H+fJmuh`34+}cCrbMq_K2Tq z-`yg3ms|1AYy+N%&lmZRR-ee45G%l>^k-S!!AA|L3A}}dfd>stXK$(ui2YF5`@f#; z5~K1thnTuw;?7rpy-z6n+V(!d&MKnzjpa257VUf0f6WiivB)#nZ`x3teri#^c;gxM ziOX^n6eSg|9hc&sKL1~8MBOX#JN*tD9vp3-f1PQ|z9qH4zlJB?na&nX3S~iFk*S}UERL^|K!y4 zf9WbGepz0Pi_S3PXFqMJk{Wt~Q&VD=$F)OF5?t$;Hj1e{-266WN~z|r{{_+96T~@= z?3dt7S+?%~c|K0VJ^SY|i6@F%9RKjS*>=KK4iV`VqsexQr`$DU%RBkDVB&oFo&~cW zJ0u=x(iZ-^-%5CXX{l6_)UO-7)UaiMM_ql;Cej#{IWZljocqnUoAnSZHuD}S%5m#~XDu$Nk}n`g0h zAF+x?wUJr1td+W~jk>UxzJ@BneH_KRq0EaY(W_w8%(~gBO5Deg-I^xlz;EcLGV;!L z_SlbDUSRvucl+wP`|7*<>%RQWU;NK${LgOu=d1kaul(t?{mf$h=BNGi)&9+3{?7pZ z&;b70j{fAE{(t44|Evc8uMYpR7yq~;|GO>!$4~#tRR79Y|ITaw(H8&HD*w}Y|I{`3 z*Ma!gi2BR``q6g!*m?TvzgbyQXfv8n#0?d&j*GQ* zb`K9NfC@OI%ZRG_stYMsLIvzH6Etkfg!FRrAOeP-E>2$ZLQ2IUIbZ=sDalm7FgX#$ z!r&~B0Bj>?qLoF8nMg^RZgdPtfF)m0-^f_nBtk7&p#mhp<(MHTtD-HQ9TXVg0}^1i zG&dC#5D+Vmiu8^L8_H{-sU;{Np~DRVU~BmW1O#}PkbTF-$Bx2B0RV<>9-7Xu{$Bt9 N002ovPDHLkV1gicLGb_p diff --git a/platform/icons/src/javaee/ejb-jar_xml@2x.png b/platform/icons/src/javaee/ejb-jar_xml@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..f012149664312a3ab45b5581a39c83ab50d1451f GIT binary patch literal 1751 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%!-*I5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij|w8ft$0lrKN?rxw)aCtBIqFg{6g|xrMob zk+Y+PnKMkUOMY@`Zfaf$Om7N8uOm*qpp=kX0JPa9wJ5VJHN~wcKUV?lW2;QuZUI`3 z%PkPSDY)HYfm5$O&@uX;ctwh5m=G}WfSB-93*^AleQF*su@?bT^{mB@4+1lbkEe@c zNX4xq(|vt}9Yv0(M{x;7J8H2ruj!b`9B(Ms!Okhj7#Jx0*fl9>ibm%Ol_fEz5_*RY zb}#5%aI9IpBarEY<37C^2_|0ALW|YvT$#4q%6+_+n;EyTD|)El$QZt)(Vz5=RS^L5YQFa$gpD>tCF8< zd&J>0E4MZ=Eie;g(md+2#>U~T-HT09{ztUfR>-wftS{VbyWrNf-bQ23yIH@ZM73kz zcq+YZe;ai-{L)PEO$@n#v*xU-+h8KRDR%h@wMzM5{y*O(Iye@bZ@YMPdDV{fHutR8 zaZlU34yg-F&dLQ?{+Qd~Ad|m;gDcbX-2rnnmsCfdU|(Mvyz(~BG#Kkpm&CxI(5aqCJ>yt9!Gl$+2fQT_R5?4wVgmLBE{cRt_V zu(4jL(Nyy6_Ng`-ISx)gwAOBsi%Mg``HCIQTkag^?m7N=OURR=W2b5h=PjBe!u3(x zC){_zmkuMv)*aEJ98Cp#HWaVCvp`&;u{i36<$lAX84Co?CMpOyUN_$&?vRl9(#*%! z@KHhJoy~isI)o#h?OqVNssFlG+9ucE9H-)TpO&zD*z?IM#iv~P{r0y{s_VOF^f>iS zKFu7i!rmQKS@HUl*92C9AA6rXZxBrn+oo`N-Tr{0j%8e&EpcbH6^ah+Gz|$m6XFnb zucEY=7pcf>{slZ{c{zk!iT`;^za2Gw$YJFg_~g*b&G5$4gYv%Sk~lS0sUd zu4r1{m&Ll)ZigHXd=2Gb`RZbQcF{!(!Ha9A^>6mGckEoLoOnyLfz72u@`CD8g^Jll3zxw)fG(khNQ{i?^*#b0{@QZ!GJcys25P`Ca3WrEULNBpCXY V5-00PUDE?qHJ+}1F6*2UngFs9qT&Dm literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/ejbClass.png b/platform/icons/src/javaee/ejbClass.png old mode 100644 new mode 100755 index 5b3ab2957b50cb9830f6c39e35c63f7875c9a852..caf3496dbe5b0aeb2f196cc8897929e3938a189e GIT binary patch literal 1528 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f0*Fb5}UI2$*<4On9mVa^UGcH4m8Bi-4)xpi1=t0|Qg8r;B4q z#jT`2|Nq-Ft2VH@h~)0-)lp*-VoH)%2y5=T%kaq8!G^Qreu6{;OVdmV$>(0&pFenW z6c~Oe*wDnf|Id%L{~sMT|GPYY|C9f}|J!qFY!REyc<{}dGpoOfx=18SB{oc-EZXr? zQiXNr4?Vkz&A*<%-@nkndB%b)mqxSmm#2y+K1oVX{lU&7mLs9U9>g5PeMPzLO;Ze~ zW1gMgf~Nfrt@iutQ*UgqkUD%enEl~8jTxI+eVVT{T(PVEzLep_+9t^d>SxZgUgKf1 ze(s+zA?RXSfwyj}^apXxO%7R&Y(Fw&JKCfd96WmL(1-W(E>{ogHqNh>Qu}_oQY<&2C{h9yu zHBGxNUe=%)0FK&vRVOuR`_~~?9 z!_FCxPd67Ri1HdIoVwkA->&xWPidKmoIOlD=OVxI6b73yF7ET3HUIJafAe!)19{|P zC;uz%p6}qL6l%a6$N1Uh(&6Xt|JDEf$(?bc-XbmGX&rai$B!E??$`aflK-oh^grW` zd5y1v6P=85-_EzMKP+cg`}^n9+5SBD>;AB{GM=}uoPE}SwI@D4^3?n_XA=K>w-!1P z%YQ`t;^#wB3%vRE{Qt6*qoejlMl50`OV9<$JIfG{m3Mph$0P* w?V*iAoRcIp)ZZ~ZDpCkzQ?1q5$19M)pmm?q&9RxU3{)0-y85}Sb4q9e02VMsY5)KL delta 785 zcmV+s1Md9z3!Mg#8Gi!+001a04^sdD0l832R7E6JmjD0%BvqCSBt;}umLye{BvqCZ zB|t!NuOlfpM02oAc(YS`wIo%RG%hMFEiY<~ziW=aT86=7jKn=JC6unzGAt~LtRrPCMqcyVCZ=*!S1t z`rPOG;_Le3>-vbs{Ex)^(c%8t<^J2~{^IQZlwcNaK{CnU|Czx5o5cT|#s8kV=by05 zpv3>6#{Z#iBc#UvrOE%Pbt|jP|E$gbnX=Hz-2cnr|ICXh%+=@4-v83!|I*|C=SXjVpTeV0mKfOTkJt;R-I^xf>i^*E|KaNY<-l*{?f>QO|LCSNQDcDV@c-@d|L*hu@AUuj&UX0CY5LfC z{LNqg+n)ai8(_3^dJi&EfV0t&Fo^>hV$d*p_B z*_lhQ0tMK#yjwckGvgwy%_{+2n*z>^HG>h~)!0Ojz08 zBD=VwvDU=cSPblRE=eW5H2;j~7!zYogy+Q7jE#*&m>H0K&Mw8z%m@IEuq}`}^{`(6 P015yANkvXXu0mjfSa8x; diff --git a/platform/icons/src/javaee/ejbClass@2x.png b/platform/icons/src/javaee/ejbClass@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..1658386b9c44e14aa13bc468ca92158873ae5762 GIT binary patch literal 2375 zcmaJ@XH-*p9!;bONEw$h2#7I(&_WsnNB|L1NWg%E5KyFqEU}Bk4 zGLR;uXUTx*tOzzQYXgtShX<{I1%M=-fCx}F!LO`(vIFc_6eg;sf?C9+fujz}b8uy_m}@2Nw0$}`0ZF6b$iBjyz- zfSe~2N)f0ZDTew7u=zqCo$Fbv3*VsL2eTuJjlCiDM8MWU~0 zxq=1!o$vn?ma{XZ0EPv~B}y4jH#h-eE|io+mH}LaM8=j#(&xLlI!&UG$kQZJ7?})n zjTMUd5|!NTGn~mJF~o8OSIh$#lt8#n04)^qNfaMEkx28V`1$(!;&4=NBG%V0IG9ZI z@x_PuQvLkqxfBUcDFVcbc`pBNF7=z-IVXsuy2unjCd>f%G?_#M`&=@uCJb1%1o5Qsq&gA&XJpK4;W z)1zY?K4~W=>MkVo7Km!)c^P?7!w^1-Z-KK#nC4#(UFmGNY_Vmq)uS{G-TP$_%8)U$ za6!l_qx%|4vQe96x%pxrM@wm**@F0m+M}MT(doqI=-;LBk>O>?(xKjl$@1(wuSZpz z_sR{ZQ6q^yX4*lddD0I`jvWC@40llWk5|X9jMYOyhoR9q=}HiCS>Hi#0veh?ZD1T9 zyF9F(wEy0p(PU4y6}VqDYO>hxldt>AECjZS2X->AyLIYY&A+4J&=aA<-SbUOVleIg5Cdg#<=AJdE}Y_@=!j> z-Q#@WcLN7Uf6_a-zVpNb=gDKe0LWKaL*BjvlRyZYs2M=D`;tG|0sEBOs|^yi}f0Wrh) z;)7T#W7z5yCkbswQjDf5M0*a79+ zvEoMq=0BA%EsfaMi|r`StZTvx-dowddzk+;)$Inc;Ci$MMbnNC1th{#e(@+D05?po zOKasUVzXCNT#sK#9a~yaK^hxpJ%{Z5d0>Ix{BOx!@6X)}wFqb1~7twByUSRyJGZWX!H+Rbfc7@x%{XRUf*vwqa4UFc*7DV|cEavM=P z6({*#w5x~TcQ6e-(c`O_lzDil-z?zWa*YnT*x&?2X$8L|GpjWFqV%QdyDGCCZQq&F zpD#0MyU&_2{!o4C-5a{mbkDyyhUmkyhC39>iK*MTvg5nSEyYs!0`=~ZgLOL<*)xw` zTO4Dx*76(Ie#~54PgZ}r!;yEcdo`+DF>7019_|c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e|M*HzOBw0~ZT(a|=U5R})J!OE))1Cl?Dx z3o|EE6H}O8m;B_?+|;}hnBEkGURRuYK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-QtAP zJgD9j+-`BksaGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4*6Wu+7-i+%TWaSW-r zmGtNTe|u)thR#N(15C*ke)qgr1xsvyZWa8lsnNWlHKzCAcWudMB7*4$xE1E{A6Y-) zNJU5KL1qEPFP|qi99^9%C{u5D`ft*+ny)R<_52&zbi{ua#=kIL{bIX)&zt#@l6FR$ z|Nqrm`R8SXPQW`!fp7t?BjIW5!*|`Zo&UBd!l?3Mde}y9kD{jzGQI|47XRv|J^TIF z>;AK!cOrD!LIh17hzmcr7U<16p&queJ0MfkiR}XebB=irv+>LIR$v2}H>jz4z PfJy~VS3j3^P6i9E! zw_%gM@b~=L>i5y+_R8b-!rt_{+Va%t_~!Hbd9>J)&hg9S_R!|`$>a6p@%rKK`L@~f zuhjC+=J%G7i2vMqLW8-!hAPa9DAB86Q;fXa?fJFX@~+hJrqA%o<@SGXUHr{o_|0jd zZX>C6E47hX-+%A=Jb$>Brnp&EQ^9>4v34J^ibgnnw>5mXo2k3z^7_Z&_IG*?kUi#R1^3HZhq2l!U{o(KW+Uxk`z;Ds#_w@SxONhJI>-f^>_|4|`$>jFo@cNOG zk?5u}-I^xZsY*?w;_>(V?DhP>-t@TI^VI42>GS)alYfPBXIOB2fJC0)>-79ukiAo+ z;`jUgm55kN0000WbW%=J0Jx^GMhuII{{9dC`I%$>T<-b)bM@W9BS`#7JvTADv3~mq~w$|Q#ExB%_69PwvMizzJZ~Uu?bY5*37)LtX!$GsyYH95E-Q! z6RQ*#pO7jF5wKLXvbM3cQ*>~25(5jkxVpJ}czSs&`uO^Zg9I|OvU76t@(T(T6%-_Z z0+Ng%5Ev935~`>mh2$k^1qB5e7GzJ#%E_bfp%wrDD$*gaM-Uby00000NkvXXu0mjf DC^K&- diff --git a/platform/icons/src/javaee/ejbModule@2x.png b/platform/icons/src/javaee/ejbModule@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..5cb822c35be15c1d1ffbaa3d788baaa8de7a9535 GIT binary patch literal 1508 zcmaJ>drT8|96yRh!52;#L!Od?q%};YPW@{PXVGCGgcdC(|dOrf&DK)Yr z*?<`sEwI^hye!D~<`!7JWmbYh(iXt;-J~es0K6G?J61b6(yc}YbxCm_x<(Or5W<(K zkrzps40*7YW&xZmOHQ(4xDrk!WOy>JRN?brIfg4xOo8HxBwS8n1c@iZLk}WGW2q9- zsLL9PC7#rXjprE>MO`kJ%%zag>?#x|2m;0As9c^TB9b_dlQ+AQoLs`Nf(~$2*3R&D z+6jjg%@%qMuSUd7UzFfrMr57bP@BYtp>8vS;xa5$(lF3q_d&PFq^RtwKrVs}!si+gJjZZME~ zC&!zeR-o6Z5m7*9w^JmRnX1dmQe~=AQ&l*gsmxHw6`G7x4VI!*C{q;5VXlt0u5kb- zKg^|GaUEj|ce~}8Af%m1m&~pTi>RAatckn7>!;ew z)f>v!9_q8jY$c0-3#*&-THwuD-)im;EUY3jzvmiq;RRy@hg$;D_f6rO@7m)feLDr= z)B&O5*rveaWmE3>{5cA_s9RIr_j`6qbxqrt}f$t6My#PU0_zKivM0zan;{i*jw<>$`oXAJ{=fk=uTz4LYr1f`e2v2(Uv!@NS`-LME zo7ggCQSZ(3V>|g$RYxp#x-k9ErI+sY-^r*fYF_Uv-tp9>L%xyjgud#yI6g{RxTO_p z3N~NDQm*-FXR4VuTFylVh?uuK(lF1gzRHibpYY%( zm)`8I^Y>ioT0e8@HdHthcn*D7F?q`j=)sNYJbuC#1glqGpkw-bJA~!E2@oS$E~x()_-8w@Gv-;xLrHGy%IpJb91}U#70CR$d6v%Ujg>s-(7^0K5r;k5x_zpc0Q zYQfdRafPpQw|!%x2!ybNC3u6;S5WxJceUYD_w-MX`yuN1v*hR+NqItaxBTO4#FzP0 z)#CPynyVSe49&xcvpyUCMP#6eIdCzebN14cn@gbYrbVBW^h)99QH@QNs);doe%%r# ZnE;`IcFB&d%J9&CSD%@yJCsqp;U9Y9KCJ)% literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/embeddedAttributeOverlay.png b/platform/icons/src/javaee/embeddedAttributeOverlay.png old mode 100644 new mode 100755 index e2d0da45a470491a910fc1505a2fe9faf220b4b0..17f672749ef3649d20b643a692bb48e9039da942 GIT binary patch literal 998 zcmaJ=&ui0A9M33@v8}_)6utP&E)|v^uW4-)n$@*wUBQgn71kk&Y4Wy)EqO6{wb?)z zqT&$2qj(a;gCK$@4<0-?WWqo%Ui=q4c)0bcU1~WC^d5j^QI_-oi};Dvq&+YRIrQZ+%8NhKZfG z>kZP-uP7#Vcq78_q2p0D!{qXzXPE1VfF@eAU6uX${sRkaOJ$eSx~O|a)Up@0e6+N+ zSU0!UP1$1eb08NgRKP*R0HL$t21=;1U0sE)qho;uT?koM*&|a8y$XuhMzU>hkyC70Dnz&6=mO4F3!SM#NZqO?eEtn7* zo&b3DcSFzf{ z1P3kbfnpIPmTlLOIjI`S? zW3N^wLuTUP-v0jXlc#fclo;GT@u`)oPn~}K?uP|ViLg4>*n2zuk!c=0ii^Jw5A%<= qpRL@Re4dz0OzmEcJ-9!@jEpinH>MLWzD-20n5mQ&wKs*EcmDu$jyDnj delta 146 zcmaFHzKC&xL_G^L0|Ud`yN`l^lth3}h--Iu_kS?(USVuFUDRm0nDGqp>=O*SvX)&y zHS8rpe!&b3GoO9_^0nY`Tpduz$kW9!gd;jxKtzm%nT_$Y0*CXCJwAeG4D|K=nT%Z$ sl$>6A3Ya!!bp^BugzR3R5Gui7E6cOB*5$%425z8!Pgg&ebxsLQ019_8$^ZZW diff --git a/platform/icons/src/javaee/embeddedAttributeOverlay@2x.png b/platform/icons/src/javaee/embeddedAttributeOverlay@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..a025cdce4ea970d8e13318c86f72ea1536b22aba GIT binary patch literal 1023 zcmaJ=&ui0A9MA07WNbSrOkwhtU8b!0(I2)6&9A6PrXkVGag|e@46K^-O&2aT7fO1w zrV9o=I|EX_NCYg1HQ-z8wkP@$-O?4wIyh!&(1PHaM4u#8Ru@4Axe&yecv$E77)S^V zALnC9ei}qLKFV@YmXC({h{y>d9|!G^Ced7DRV*sGb}X`!=qkpJ$g+(_gK0z=^x8*6^p_9ibg+qR5GZODRL2rcGCe85a=Nm%*KQMO80%{e z%QIY1QU|E2|A$&u7wzF9Jk9r?!d_{^fou_asP5|I;#MbvP>z^!p@xxLLTJ6y#l|A;Tor0xhFSpg5{9N3Utj|(8#&S0Msn3hRZA4`}>96SYc=8{^QZH)C3i}d*|beD^Fg1d$<)ENcHE&_vB}6dGqJ-@v(XCU?)2=xP345V05g$_b8Mb=MFb-3~q}npZh{X)R|%G`Skhu_1c?v O!IR8q7nG;+%I!ak9zsU| literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/embeddedAttributeOverlay@2x_dark.png b/platform/icons/src/javaee/embeddedAttributeOverlay@2x_dark.png new file mode 100755 index 0000000000000000000000000000000000000000..dbbbc88627655f3442ee6ed46526a82802d98157 GIT binary patch literal 1025 zcmaJ=PiWIn9FA1#7)%&=sKVqeJE&muugkiI#%*mM^x@Nst z1i^uN6FiC@HYTVyMGy8kZ-ROe1Gf>^Cy{3VzrEy&?;`|9;D_>RDmFG>s45Uy19An4NOy1WZWv1 zaamiC3}iEUh+zWTC2WdH&jhY+tU(MauxdFn{r%Nz8d#=GFN+$dxmj4V=9?Z|YA%+H z=9-Z*>6r^49Y{pLhFAxIz3%u@Ak!UPiLAq8mIfUNUX$rVQ)R6HvdDu#WW>0^@sl8# zVtA3CoaWC1f#VY_mtgrsoEIc6CGjHYel&^ZnX6J!$#r9qolMs-b|sc=G#X4J!62{7 z@~Kpc&?LOMaMfk_>KZX6$rVH63^ikb2$i=NrgrQt1>p>kOuY}NguZo2l z!pN^77i6>G?6T#UsNtXMz%@wO`94}<% zrZ|PmCPXDE_P7c%>Na$6k8Ae1DmRcDc7pAa$O`nV4QS>(WP?t|k~P?iGElF}H3xc8 z)PY=w9Vd2ip)@W_7mg2s)E+4xst-L?-=y literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/embeddedAttributeOverlay_dark.png b/platform/icons/src/javaee/embeddedAttributeOverlay_dark.png new file mode 100755 index 0000000000000000000000000000000000000000..383baa3ff1d2e106b7ddcee056bca310f66131c8 GIT binary patch literal 1000 zcmaJ=O>5LZ7!H1vQe3ED%eDwk)5{8OlF24)61uJJrXLHYuG=l$gF>^(>~3h2Nt3CY z_Mo*$$aoU&-=XZymP;}yqFjo zA7U6LQCQMTbRLe!-~jz!_|-D$G)CqtWChnq(+m(ZYvU>c1=p;j5;E4Z-m9sNpQ_254n> zxoqujSgOs=OoORNqXI4>CWzckFVvzO+t$_SIzHxE(1wtW9D8J{ViZ9h2MEZVoVElg zfvn0w8A=Mg1VjO5cp<~XOd5)splVPCosXr_0=uS_^o33=y34T*LVS(qo6RQI%y2lU z^H5b)UJ!XvOjATU-0_GRrM+;ntDvLM3LKv}*aNYmS;gBV$5N+9DY$-5)(bmjq6On4 z)8`>4#3^-whVg%>>-NwgDWPM({}c|(J3it|D8$==MK7*48He(HNyT~J5u6@jv`*Pz>aD5tCM}cz_*$V-7K|5p3>F-7CtJmS${k>%R za(QZokMH%bd+r|5=82cRuBDq^-y@GUdqBJT>X+Xs`XX)=^x1OsxqAJj_wDw;d5}t_ z4qL6(^W;xvboj%;!M%xVtE+D>pIP67FT!)*_tzeOt%Fek76&Wuo{hX=s)r8}!ilZ% s>C<TWs4@7K`}q;X0kEmf6;HAt1fu}>P)*vGY9 z;&u;9N-5dP)K|pBhIpAaY0zyCOh}`!bz)qexT+Gn@QhR{q^S}^<+y7)9tf7~bJ6#G z|Lv1c4-dW4+3{QlK@gqkK{1P0%6;3s_aiP0mW z44W~Mu%r%7oACJbP)?p6m!k^ZcNFwG0v6DqEdfU>>z3fe=nY)~@7-&L1{)B2JVrlG zDxVn!Nn}D0@`rpf%LPF=>gPgSFv7hAc$Nz=Y=GecK8_dIsKAB5=0oFXrcxBL;=pDs ze2UQ}+cpG-sZ=WdO2CiIF@}pqqYTS4JnzE@pEaf1lH=2@Lk$HHTC%Acwu*G%DoO=3 zX~$@s>EjYKV@p=IHrs?7#yFC}aDLV;sR7Jn{vWDoTWHJ9!YBFur?8cqG9Z(M7Me6= zJhLj^Z1ZOu+-7gBu} zg~)?5V%DANz=$k8Iza zMC3wy@WK4=9+vR#@BZ#w*UwLN*IK{)gt+M?JWmq_8vUc=rwb?D|3^ACBwp@+W9A?2 CtBB_S delta 673 zcmV;S0$%;B39bc@8Gi!+001a04^sdD0eVnOR7EdCVE_OBVqQ;OTTf|VNn%}0TUbh5 zSV~t_N>)@!R#Zw>R7zD-NmWxwjEQ|=TS+fNU@t>pR82Z93j>fN^c4$*9bzU@?fk$OfD1&A)S41R$}NP>!)kAGT~WgME4rlVU5qvHRk zX|+JB`n+O9X+wN`wLmVt+qfsL4DX<@s89=w-CzU%)Pi@@BZG2HL>;k;d9 zU{YIIOkG`4VPaXacoeed|F!4;wtyeHauT|J7rN>HYI1UTi<7^J6T|HP#Dg8ih8@O@ zB*&UM$&e<=na6tt`ti8?C zeEj_?6o0uP0#aU{9%hLp1$nu0tY87L$|#%a{6gQrs&E;wfUrSPscnX~Zfv}chM*u& zfJHVnCnnTNJzA|SI~gRvz@cDNo?xgK91@hN2Nq!9RLY7|cXKX|NHT>8F!1VYsai&= z0s&NjflpJ-)jr+A#26$127;=V(l8Ye0YO0lK^hQ%2_OIf)IuUA!*1QY00000NkvXX Hu0mjf5(7hX diff --git a/platform/icons/src/javaee/entityBean@2x.png b/platform/icons/src/javaee/entityBean@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..f63b23966de04fa2c84ad52a4416fea8deb9bcf1 GIT binary patch literal 1394 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%!-*I5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij}3Ivx}jzg{6hLxrL#jtBHk~p}DK0p|QD> zv5A?1n;A^6OMY@`Zfaf$Om7N8uOm*qpp=kX0JPa9wJ5VJHN~wcKUV?lW2;QuZZXGc z9#n4%Zns$A)TVL91WY_2COp*wIq-C!ng>kmMZi>j)x&f<0|Vo8PZ!6K zid#v4{{Oc>?7*bf#>lpqFTqiKMsP}-w=TbcI`c+xf!B;1H3aGzA6Yxp2y}!qf8-3( z@qcOE`jSCLL8wFBN!OL_k3$a6QCEi=i4N|DA2Ozk9auWllQ+spZ(w~i*&)WwmwgXo zQn*5$yVI63rjH>CX-keUDtWy5?C{2^N!dYxyCYqoh((Xxh2bNwg4v=Af|(ayD4%4! zbAd&j=g97r4?1!b^c0UWE?A?+mdYJ?Qc%`mjrSVnJr{pmDPS?aBIsgyK%iT~REAOO z08d9@g8(1%iiaHuNirXV`WdHK9coR8Wnk%Vi0I;Q-?1(9jWc9@|K?{LRc*)(_YXcm>{V2|1{DeP?{x5J*P4R&U;wz4l+Ak%U8kchTI1)u2+))78&qol`;+ E0F86ei2wiq literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/entityBean@2x_dark.png b/platform/icons/src/javaee/entityBean@2x_dark.png new file mode 100755 index 0000000000000000000000000000000000000000..952d584e7af090771dc5b283bd1c335999397168 GIT binary patch literal 1395 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%!-*I5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij}3SshhExv$2J_xrL#jtBIqTp_{9Llar&l z1&}myh3R$4PcF?(%`1WFO+n~2!KoLN5^@WGHoK%2WtOF;xE1B+Du8`#m5JLehB(cG z>P^Az79*T`^?{Dj2gNH=Ji~;5i3h}lr&=Hfp6*lgfQh{bn5w7lzmd(r!1%(`#WAGf zR??sU|LqSuFsZdMvMuIIa1@^roYLm4%P*kLyir`>HRDDNfqKSA)($lS9pTI$IfHck zUs|`mWROu1>QHymb!GeGki&D-)uBeBgS+8}jOk(rmJapgjWW_3SRYMxh;j2}-@}*` zu2ARhw55#cV~9f9k|T^t9&bK7ym4w$c2MB%NEaw#(PMXE_{ghZw&;Rj=7kr^CmHWt zU{U8evU}x&jvNI&#iNW1)~Kz0%=$0^*VbnUn z(^1$Uz{kAeVMjue%m<-<#wk{ZS`%U!So#|xx;Wf-tP9O)7v1^1`F(g3&;4d~7DorZ z73}9Ctt<7z*xxWEaWmOO;4#IY}c)o5waU97Fu-*Scl=Z{{=_sae%pb$6Tp8UY8FdBxE#KRz^*LnX|=U-p}$-v<0>gTe~DWM4f D4b0CH literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/entityBeanBig.png b/platform/icons/src/javaee/entityBeanBig.png old mode 100644 new mode 100755 index fa59d640d44814f8761fd85f788a09c06a38bfe9..48105987483fed017dc019db131559cce9958936 GIT binary patch literal 1312 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gjk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f0*pQzsV_XG;rna|=U5R}&{EQ!`g5Gcyp^ z%-qNrrq?AuximL5uLPzy1)$SnZc?2=lPS(cjOR+OKs0QRv}CT_Qw<1`Pd zHwCv_EO6@82RcR{6t76}3=;w-9uO0rYJnVhx=+mmCiWs=sy5kpzmb7~ajK__V@SoV zq(A@v+cWDj3N!aIa`zZ6Kfx30C(^;)V8PHK+W5m<;6C%CwF*xi{xHlxs9C!_K-Yo! zm%|?Mj@F4sEE;bxba^-K;P1$8{K0SOSR&ie|KQ?rwj-hrdw4s3dTewMU-eU5pq=rf z8HNvSnr zD;A!dn8m5#s`g;>1936m8#*^zjtlA6h}}87kTdUO)X}mDstYT00$EliG9;cqS#4+} zrQs|6@WKx1DJsqH!`}t)zxi8QTw5q$a!%ypmA@;E5)Q|OFdSsccy@5s?#6Yun9^bx zs+e9l&3SNW{Y!&qWzlSIDTm)VZLXKp+iP%rE2FMsxuzAv%7fD;uWqQ|_w@?a_`!YT z;DsL>+`{+#{V2aCCrF2((f`7eZER834m2*;aryak`~C+xF$_!C;tP2OCD5adAjXdv;^~(siaOQHB*g|lT#C7%O!4N zurBN_E;rL;MG(`m8eD}CjY!B*Kn;Y@aZC{rQN-4bo8p)<2rAYj#7!i*D2a9h_t*K> zDHT~noBnvd?>pb^ch2)Z=d}PV{!f_>b}sY(y`ffmY2`ky2Y=_xaVhuoaJ=N^CTsEX za;|!Bj!UVZ!gIsDA4}ieE3<%q6sUChV%35-t{0_F=d!_p)>1dFl)OvBQAcVIJF!*g z(7V82R$vY?AYfsDYvRVmwmkWt zAZ7t_Z`XtR%`<2$c$?<30QBpoQog~KO9gH;9rvfPY#ucSoTmsrO=N%6 zc)r$-Bw1}qr1vDFQtpyBAV7*@lU^nYtEKhyLYm8i#VW$-y0D0xkDh0Tb~M>5#*wF+ zK<+AQ_J4`<&gJ7s39usGdl-T4Q+xVG_&$J?^Qx@ZsVnrPp;*PwMSj%eI@40F6c8;b z%Hbr;ewtLZ6qelM>rRvS5gC@$#afsEf8B=Pd*GJPjXwlTWT;I5FLw_B=nK*K z&ODM9=WPOfTL*EX^F#}+E{2uIU|At(4?<85DE5FyCd~Q@wpR`S=nLAKy0KUuynp<* zlo*pmnL|ysNGXz1qZhX12wO75Prp1RCQ$N_BKIfh<&!OvMMJ1vYeBcL<<~zkCF`oF zO^dLlsSD~vEq>~JOhD=xSbh{Dg)O0ZcjD-?8{E@DmIiNbf!8*}%SruMG#G$1t4GnJ o0yKTvKyIILf6@#Z@L%*dj=B7^(+{HEPyhe`07*qoM6N<$f_V%>iU0rr diff --git a/platform/icons/src/javaee/entityBeanBig@2x.png b/platform/icons/src/javaee/entityBeanBig@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..60bddc9eb2c299db421e1c371194683904720eeb GIT binary patch literal 1582 zcmaJ>drT8|9KW_IO2O7gA_&8y;)-Y=*HTJvbR4$D7TeO)Mk+DJ_Il6?*K6+%TB>f> zJrtaoI3II~A>iU>=G>?gO`JNk)y&O>JsdGE(OEWi;xNJz#W>s*1^36;C3n9^KA+F` z^L^ynY}S>T=?l{V0LU~M^>%iZr{0+}*l!JYbQ`;5(*`HKny8~gE)oMOJcJtqO}MKb zvtuq#OYjm_1^~Q#pTkKzEoK-caH%VWk%sXA%Lah5@^HX~HefX9#_D~3t?2%jUx`4U zM=PpPS>%?04)gkq5fWP+u{zL51FG?e%3lS`!Z0gUCTt^ zID~G{ik_KrT5O<>ATdxSRY_1eR1B&$Qb+|AmqN=yg&b1Kt`V3{lw3Q0psDM8lDAdN;NlPhEjg@i>&s1`r%3QPRd;t2&k zMxmrHK>G+km{N4Pi6&YrVx2xq0S`>d`l;t-Vhbh>}0kl~DABy9XXo|LD zFZ}+eFy&|oU@|*K5ltk@Hm+`QDpUa0k(i4nNC!bQPE^t6C1`^35&=-B0}E?>eh(3% zmX5Qc436oL%JD>Uk2O-YHSQdO!}7DK8D zuAV@faLi9na6K=$rBiZKlYj@<$a;+QHDjJilEA_7jA7r@Uf9S}d3nb5Ozov)O0JAG zBTM!5UwxjqVuvTSot#?sFgf>_pB;9Ro$3Q4H~RsA`=Lo+;Rs)IKY9AJJZ_s|&d}xV zh-~QO@K5y~5Gn0{eankUgoB(|hHwOUAOOd>i4gOMD_k@^x${b(vFgUs^LZe*n-k0s z)^lUC=G=Xq_h3D^9!NAqAN3(G=WhbfrYER2x@=}QHa7$v}Dwoxhk)- zM|@&eEqrqrDeBl^URBL(92wmcLEc3^I@lvd42^|L^12rvGafo5hFkGl8%BUwcH6!V z8#f7(TF~JBy>eM~LHi)*wYidmd&TRR{X267PYU9S+A!C#VC}AfsK8Tes^Td(u$iN2y>yEEegWyV zbL7c}%SYdC?!A;9%eorOFMPyL{EVF5zV6K<8MeQFY`(c*P0-G{oa;Wd=SVcnkArD% zJx-XAC!WGhzp9RJ84GqtnEfRWF>idMU}@%=KX*QDFR%^06d_zyQh4a!+A9I2R9k4`p;Huc;g@G-!-WK literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/entityBeanBig@2x_dark.png b/platform/icons/src/javaee/entityBeanBig@2x_dark.png new file mode 100755 index 0000000000000000000000000000000000000000..9c4b465aa522a597a2b92583ef480a62e88f80d4 GIT binary patch literal 1592 zcmaJ>drT8|9KW_ml@^Py$!qnfx+1KPqm;I{b{w>2Jo-u{qhrQV+M`ssUb#DHVRLKu zKyXGtH)l3d!9?da-6)xw`5MkjG-_~*5;HRw%Z54^MbU|ynY$w3{usOD?)S*&^ZC9$ zxps@`rNo5P1ONaMONwiBx$*S3g86U*y`)fj8?_p*p?r1%1qz&aH42tsb{A?z z?atOCav*9azcVR|3CmI%N} z2vw&MJW0xCw18TiKtZ`!E^7wYV45YQfA3x5tV5 z$W@bYqY*Cgkd)oyKudHQ0WBbQyPa^6qNq?+pe;};6iNuv=PLDbr7Bk{E6B@Hh3OsyD@T&Yp{ER<49j zMiQIrzveuBMVlwKopCLFnDIU8q0LUvuI|r_UkU)seI>era{rIjj~+kHKVgYCaJA{1 zTB>>&oI?ZM0-5#R8CF=7bdwS0CXEAkc;Mg6h%Yd~Oj&{wmEfA>-P7EQ>WxNg^ONfx|lzMI-Gt5r<3W#1t(p46IW?XbVvbQj} zJ^?wxZ9B*eCm+=em`@sR&xu?M*fxatwLr8eYw%cZ(z5t!S!GL4dfQF+^?3~NioRWF zo9n#vGFa1kH?2#3JTMBC0{Isf-9p~jQV9WBs+tVdvEU%YxEnEn!@IVzqd{9@8NX-0 z@IY53eDyAp720GdGY8goZsK`7 zMnOUY>Z^Y($~Ld)yvcZTp=jra!Zm^I9qGJBD^BE8`kCcRU+EeN@|=~$9CLE#NbrTl zwqnejxpgGSS=^c`*JL0j$F1bA(@vH43X_Mk4xC5}9Dk5~+70xx&IQO}(-n>jA8H)D z5ga-{+^a~L{~*}(`|%JPuH;=0lv#!X>hOFRKn(eRa-fF`DzJlX2A-Go>>=hyD~MVv zLmI6+yYIcGfzv7BAIMdZlFHScsZx_Zaqt0rCb8p zWA2WNm|OeVYqgiJEn|PdZgZ2bwdU>pqw|OJtDD{zlynb|6uNps6UxO7;HO1BrKZl# z=;6cLddE)Q$NDyIO{f~}Ol6%4^`#k7KIy)CKO3o!dsZ{X&uRuHaq{QhDViwiKhK>GOS_QC9AQ|w<}qBrTjEUbF_ E9~neCYXATM literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/entityBeanBig_dark.png b/platform/icons/src/javaee/entityBeanBig_dark.png new file mode 100755 index 0000000000000000000000000000000000000000..349feacca909013c45d12ca95f556814a48859df GIT binary patch literal 1311 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gjk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e|}?M>8i=LjwzQa|=U5R})7wOH)f{6H^Ow z16Na5XG@q~m;B_?+|;}hnBEkGUPGLEK`9}(0BEyIYEfocYKmJ?ey#%8$5xp*-D2R1 z(>$o&6r64`aKourALtl;P`o0=GfW7WctA{ess(c3={_|NnAnSesd~;9w^s}dj8i;a z978H@CH?vT-=0~QQJA@xk-Num`3as_KamdZ1`CD`(Z(O<0{598tyOsH@P}dkLCxCb z0lE&%zZ~|6ceGACV$pbmq075*2Y*L);}3pI#}e6&{s$M2vmFt2*u&fL(_^E9_^O}c z0_}_+-IyHTa2>h*F|sMAQNko5Y;s1YsK9#Wq%<8lY;4wuIw4Az78=y zx$*}l%b573F>KV?TFbzG;K@%858Fkp{00n`b_pt1RxzYj2E6++W6N`UOUd4e*UpMH aFfcRZNi^{FF6aye6TWs4@7Ohkapbf?Y7a>*EVB!H(j=QGgfndo# z7k%IN-#+=+=*XeYj@=yuL3Cz@r5s*K_YL^*_kkPhGG2O|bip}{N={X_ATg+-A_N&- zF2fv@)#=G)*iR6?2eo{`DP$iP6r_h_7Za-KCT0^v|3J-@m2v2RA}ni0f?A#blmeQX zpvIzECTohYq7Bbj@bJt?UYQwJc$FGB2>NRR7SN$1gPJ~J*g`EqZRiSk?_Sds*nl|W z3F=l-h3qI0kp)3C6b&j28v!vs#75ajoP7jv3>&7IFwKU8EGIC$z(&F5L*ZzaS`u>7 z&}J-rN>CNYF$J2gR;!_EIE1V+&GI}?GaSuvL5v96(}pA0f`+}fr656Du{6`skO5pp zxrnBm1cfubRf2AA$r|=%n{dPEnrzZ+h;d750khfvhwAzk+IDjAcE0~9Z0DyyuC&(;WeTDNWd~V#geF>D9IYS+*%f30Q3QQsnxUeqy?+Cq%?cUAc4R|=87V0qN`L2I9j*j8_otG3TYYRjc@GPFC_f6cjdh0Wt`w_J-4TfT<|HoJvg z{flxXK@gsYGSXna_D%7x_4NVYzWT97YQd{~zMp%6P1n!g-Tb>zAe+dub|-kfWAW+c zWMd!su=h-yJnK2rMOKNm9`NK+x!y-U?^`Q@ZPSp9pn~fJCB_H`uJya!zb_c1ezd4 z-8}JBcz)$~@7(H(>JQiMn-0BuIq>ll-Tcw|f$wge{QJ@q%1l`ro%lNY=@_YeVwc&%sj$i-I|esX^z Nne>SCLF$>=e*g*&j)MRI literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/home.png b/platform/icons/src/javaee/home.png old mode 100644 new mode 100755 index 5ab0f925cf2d972ab149a723ed6954ef43b3937b..e808b515f56800a61e4e326b4d6686119325b1ee GIT binary patch literal 1480 zcmaJ>drT8|96u;3)7C&h@fps8PTXv-S7=KsEiEmNE-PSdLd~Z0xcfmHyoc9=7TkDs zV<;|@naLhHvOxk{M7B7MnYuD{8zg|vxdgXmK8R5#nKA}LFzv1gxIe}&x%)lx`Fy^w zPi|jfey(Kcnxzl~NvwGmyRgQD-{{4{H*qY43(IOg+sSWZN_a2M0mwu$#Q?Tacqy<0 zoUGi_2QnZ?w88Cg@=n`}I)b6(co-x1QLMm*po~l(ixXvlhl@d}o7N)_&IAzHP3n;% zl}%w|&A{c(tKz`6s(c4gRYqt@B+~$A_;i8*1$Z3xQM+l6&ZkFabalc$e2pUT41_P! zBTtfY+6rMa!vR<&SIGzkmIiCIa!iG#rDL06r2jU}A)h>Pc09g2FrUb#0_&TyqDrqyaug%VXNWdcIxsib+_C!;+{a|#yVAvib7 zyBQh|E8@jWIj={AOrMlMvGcODXSPj3!%!d2qL^F}E@=*Ev;9AmqUO;a-VUDT`=7!d zMV#-rbt@5$l^HCnY%JB;uZo=L=>w! zha~WCQ5O%@PD&ag^5FNHoA(@VuZ;?q{V(WZwx_Hv%_?#w_I-k>o3)EG&9)Ul!MyWYOR zzK0J&na5ToFR@>UaxA-=)G$*2G8VDbu)Lz8Az+M-%uQGiPFLJm<3D&H#{bC|h`%`y z>s;5K6W=*;d%9?mkzUcisJi}aq`0Q;RL|$x$E5z+FJb@TCbj?T)` z1)3$NM{j?h@LK-ze1|A#76->d1t0vnzbts{@9U@QFG^cpnL-Dqt~Axvd7tU8wIv#A zu9Om`{xZXvzr+{b?0B$xu-nj5QgyQ{^ZuPgx;1DZ7x#_oNfyL3bb=@;*!4oZC})^j z?cQWitJP#~`=+k1R`gVdj^6JGyuCd=ExD)qQRT2S6+Mxb^!&2DOE$0ES!W+Qk$?tk zLgS*lcWc=G;Ei)X-l-|ro_iofQpdeRm4$+j)=oUW*K~=w zewLUV6}c`40^)*efj{t~IMEyOVLIvB(2fS>epp?2;O6*n?jd|<&*Ar9t(#QDBzm`m u$kOP~GAx`xnp#yrq-c!J zsexoUU%-22!hw;|ri9I<{|5m7a7s*Pb^pLq|Icz*c0XEnJbzx1a$}KvW|4lFiB6jF zq@U=lq>N*v^R1`yuc-2|sPnR^NC6|;r!$0`|IiZ z?dtpN_>=&W=AM&bPyeYRl-;ENx<@HTQ2)VK|Hx!F|1(EkYyZ%6x>*E|0000UbW%=J z001;+fRC56z{|_b*Vo+K-QMBh>gwz5@9_5b`TlyMATR&`0O3hQK~xx5V_-xB42%p6 z3`{H>;(y{CEKEQqSb$k5B*!Ajv_yazBET$DURP<68fDxh#S9W)60T^da&l0x($y^F zV*(1Wgw_6=oU8s%cET@$yXQ!6xywj#Vf1J+yJn#FvJfF|!d;9$H=CHy7 z%}xJmia;RDnL+e$ctsgrlU49nrcy1y%SJhaE#Cvh%N1NHi16n_aUhB*;tIfUkjqcq z*9-a}5J*R11Y6Dy4I%R&5teJfV3i^X%tj!5e3cR|FA0>R;y{5=OhG?y>qMi3dBRJUN^m@F5m_qM#GxatRrSQz#Tz1py051vr32BH{2JI1djDjKIiJ#d59^BbGTW zE6_n1Pb!qig^(C!P~^rzDRK%L&h(EGM3RrPV%di_!41PHxe^?J#T!am28M?If2c_G z5iOI4gMa4xKZRuxsS*$u4$7buDGwf8ypti6giMoyTsb6-fS}~%F0v9JIV4MfBq$mU zwRNvh%!d@R&)>sCL&;3BOwJYaKqj4nh6S)fAs_A}i9x5rZT9ja0RY331Q6%}bSmA` zpXNy?(zY*i=@2hP1d8R$T>hV2;wQNVCx|3)WI8An?g#k+Qb>e)Uolzu>0CTMsrP}) z|8y>dPjYc^GC0Fr|7*_6SFm{u+mEh=4nuiBN%)3EjRYL=_Th4Xx1qy+pM;0&eO6#;Oe>eBc_qFV;?0eG7 z3;lRz!Ot8Eo3Y9A-ZAy{xoC#}<6)zlLf1H4oOcCssA|bub0*+R>QZ*gc2E4NsRt!3 z-g}FEIy+yEM;h6f6&738km>OE;R15eSGMyP)A#6eiV!F zzLj}DHgnZ+i{TJ+D-IJ_Ne$MRY+iL?(0C}}RJKE4`w2RSZbe90=QnwBV!`}Iz>%*+ z*o5RO*1bS`liP8#$`QnuPR8X*+cB9qd)~)#bD-5AQSksbtTq{X%D59*2~uh{(`-1e@3Udam@kmb1>}Oy3*P# zd4AaN_*eM|)7pLH9K6iJV&>PDvlp(9b(dTG#2_=9<0`*3=9D9Ayr#>$M;hZNOLAex zrZsMsk!q8o?KP~ds2W0B>+qSSCvG9?14O8Ps>FXfLv|HFvE66nXrqeV z(B1l|*0}IT_WT?1bW>J+zji!G-xMW0X_-1~zQ%Br(^#*S|pLT0K zS3NV}V2sXb-k}_7zuFZ6gBGw1QJl+`8 zdCH0>~}tIJhtBImHBsBQ@pZm zNl(3z1@xYi6+_cK5Y$<1?t0xyZM~$uFV{+%_5ijsuT(EIcMhd6T#7=veTQ}_0k+Fo zhDk{3lfJ+y!s1)qqP}2KcH>Rux}*P4Cc7N$8IOG$oLT3+^6h~uo|9+AjA>7I+stY< z(URrg4&KgT>WqdTl?a!HYR(`=wO5GA~y9z?Q4FFr}ZJ1ckX8vompP8f(Jd! zUox1S%6D}uY}V$4D7rm>5Q^hSR=RSrHL3yG*3Ze+>ti77wI*#_nqQH%-OWsfNuW>c zY-CoVy=!Lhxr~V2dAhPQ%UTP!qDR!P|?*#+w%eu4=-AW;hfNp(AtXpqD!rsoC3$6 zU)w2rT}zD3y4({=>vGc%C*7Vw6!=H8Z%}N}rzaGvbt}cUM!4!WW4H^-)=vvBc_-B nbadjt#wqbk%-zxXP9rl!GskskcbZd(;YWhW2%}%7#vc3+l`WZR literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/inheritedAttributeOverlay.png b/platform/icons/src/javaee/inheritedAttributeOverlay.png old mode 100644 new mode 100755 index dd829d5d4a0ba17020379b701ebb5537d58282b8..32a5d15cd5b83f8b9387089d9ebb940373ab98ef GIT binary patch literal 1123 zcmaJ=TWAzl7#>J>jiG_1V$DX-;|QXyJD1&Tl9^_^Yi4$Jp_7Kqipi6iojFN{Waf-B zC+;Na1+)!Rg7Hxhf`TvRp)XRfRWXGaE48ioBtB?M6dxogUTQ3w>6w^~KDZ8?ITya~ z`@jD`|M{V_V|RUBV;x0N_4z$=fy|L$)P~7_^AlesQxs>raTn^tWz~VyE*+I1$eU_E zEI?HsIdB!WQB=(qqu7nRl`ljMnT#4>7|*l`o1)s%o~>$w5Q7rzH>?!>@cbnj7tWy|F1TOC5LhnG#^W)9h`A#cR=t?zZmlTD(A6Bn#s;!Lps1G6 zFiz3L>FX3sdsWtQSIR^R#(JvF@(dTGQ~@f=`=O?}igs}UzVZ7`VYfJ9L$&~2H0)^P z;`+7*p=?odpo)=GL};i|#m)hQkvo8FAW2~RKEu*c+1;@WR}?XCxmdL{n3q#D5nv2M z7vl*&-Ym6eTU%NLp3gQ3yxf!(BstNX%_VbEbA>A-ZPGImrws1In6rug%rXl6ezNN?Q z8|81u{97MwXD(+x=>6~c^T~y&@pC)>y|j7#_lrU_^K|N$@fVdlnZA*ksELjzdU}pGeB-~k z@;5jCl~`PgM$oShLSQOXdb#*)@}Gz4+WOGhT4Ov)g~18`)#2->sbd>5xbfqkdrmiG lntMwpBNL5W!-rHYM@^%zL-#-VZ8CWF`D};$V|(wR{{ilnd=dZv delta 124 zcmaFN(aShNqLhW1fq~)e-A6${ia)?7#PvTItmS4nt*h`Lkiq7nK|fH6sU*lRm|^CB zhi5l{JZ(=G#}JO_l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij|pxp}DiExs!#txuv0@tBIwdiJ6VL91WY_2COp*wIq-C!ng>kmMZi>Tydyw~fr0Uur;B4q z#jT`2|Nq-FOI=_}n*BGH^_xOp^39fJ2d(FJp~1vXzk#hByp z=I4tmb~A&Eqc-idoN=Rt)k4BS;s{$OS#;o~Y z!CG-sa)(9aL5VYLU5!udZ0nb>g=D+rvPb;?_06@;+cm`M_J8@L1a8X+$r%!o2SKJa zJ~5l_p7Q6{ubVt8+^1#n{rLZX{RPPZW+EKX~Bu(Q^k*G4Y55oO3y}U_wG#64UXk z%df9bk&Cl9y6~acC&m+dSwmgT5?H1&XTE51FYZZK`n-1e9N*&$|Eq23S+GK8MyuMi zZ_m%yv!$hZB>n#_{_bGp7LAS>8#wF!e-)p{=8zM`B$m@u|L;%okN^A!m+fZ$r@VB{ ze;yv@2MzxPc#Uby8bg=d#Wzp$Pz03+=7| literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/inheritedAttributeOverlay@2x_dark.png b/platform/icons/src/javaee/inheritedAttributeOverlay@2x_dark.png new file mode 100755 index 0000000000000000000000000000000000000000..1be1b612bcdb8afc6bc93c123cedbaa192da1ff9 GIT binary patch literal 1345 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%!-*I5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij|p*p}B>lv$=)2xuv0@tBHlVv$3O-i?NxR zqq(KCnITNCOMY@`Zfaf$Om7N8uLVxMpp=kX0JPa9wJ5VJHN~wcKUV?lW2;QuZZXAa z9#n4%Znv1>)TVL91WY_2COp*wIq-C!ng>kmMZi?uxJGv=0|VnWPZ!6K zid#u32UwyUawe}(PT_xaX8)&m3KN(f&W^ZZ^ymNo`HeycnvP9pN?OejT372GIgew) zf#37%?Q?eg{ir|Tr&z~*g8)eb#f?83Zk+X-7JW0^SHZQRy_d7aF=xRHu7Go*9XB(d zGMFiRyCV2-Lgy8+bI+b9CJT!_NMJ}5kXB)v63n)$kSWP6%bFo&!DTzd!=c_S6|h!tt8BvAgNIb&6O^XuojR_^wrx)H)W*(p4@tpXNCK;EIx)?3u9BX#MG5fEM(l&A)KM8EUbLkKH(8tqQGq7R~!?h z7AQYzbUNp-cTY&6!?wnZhAxBUI~n+`na$aynYo395C5;{(U4GKo5Z}5aphSf0p4~s zuQV@NhOYl6B?pynx*1RWX%>8b>EjFa!V!EjOSZ_&XjPl`?fLn7wzM>lr2oIg<1U;@ zTELiaNbSep>+uy*3>z~!BQ|jU`}vt)=DUH}UD*%vU6KF)}J()+fCNsRYM?qk5$4I#>IRRr3X5S7#tcH8Sb@ZzIek{5(+BRJYD@< J);T3K0RTv9&?x`_ literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/inheritedAttributeOverlay_dark.png b/platform/icons/src/javaee/inheritedAttributeOverlay_dark.png new file mode 100755 index 0000000000000000000000000000000000000000..c343155d55dba4c5d89e725574a5e242761e5a81 GIT binary patch literal 1107 zcmaJ=Pe>F|9G=`1GbCjp%02iR3ya#FnO&E42Df#cS#zls*_K=(!r7VU?y%0hY3Av! z79@>ukb1z*$>)^0uj(5mO)V;G;E<5rdMcz+mf?7wXIMYu_j?J#YmXRME_w~SsiYu5Td_0~YsdhOqMSiPI82jFS4+^% zby>q+YZGZ0Qw)A(MnQ8nP5}aRW_GC{qwE zC}U)$5E?9Xu_uQxvUA7;q6l{PYKDpm_MR1ZA|b>L8_R|Q<5HL=0zOSs1-}@KiV_!X z4TX4)i?y_hqCX}DVmucj&6n5`S3=5=4h>x5s(-j0Wx0+MbdyAuprs8%wbMd6SgBah z%IDHrR&R}~md}MR%VkJ1jB~Gl-E--Pn8#VJyOwO$eGd&{c8j=r^xn~Dw7`NlhB#Tz|!(^BQsEO<5gXMcKGJZ)UzY*ck@-xPkx-6Za==K zil*G|rg44tt~z~s+r=w&k!IJ#tvl0)s7a3-wolDUQ&)H1t`9YPTpmxrH8FqTEmt*} zt$$O~3A$a}*K3|R70Q{#pYIyS-^^`(-}61&e#&_Gp#og0%q%T_IrnNIQe9gKK6y9Z zrX5?VHIx&Qm)or4#atvCD&0``8BRQTkwW^v5RAdFJt0w{)wc G|MYKp6ll!= literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/interceptorClass.png b/platform/icons/src/javaee/interceptorClass.png old mode 100644 new mode 100755 index cee608187841ef61da87ee2e8829e915005d916f..3abc90a3d3deda8b828afbb6c62cf9e654cc5618 GIT binary patch literal 1505 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f1LQOEXJXCsPY^b4x=*R}%|hSi4vlm^c|) zI2l=(7{T| zLG`BKc8dv4z4}1M=!4=FDV||Mz{CS$!c#4f15fvdWGKMMJ2$;`0+%{ZRd*`~e$WY`Qi+P<`OaA9uBx zedX5+!5-C`aeG8ovpecMT4*LDqU~~f!Zm@(XY0=WN;|nM`^?$Kc(wO$tN)vSPHVI1 zWBzZ<^e4S)mH(#!iEbY6%%leflZ_FZjZ zO%Z0^2>x7Ipx-AsE<=^aG&u*10f5mp_`)ARW#?Ri_KNVlGWtW?t6yGklUndG9s&})@ zoVS5Z-YMxsKPP^o$sVrb*oRQkRY}JC&E8g=OoH$m#yRUrwuw&teZFVyvPx@b!kQ6_x zs4%6ex!S-~*6QrFRo9PLaXr0WpJy$5_duU@-7BlBB5DB!GkM!mcNuT@G$@$xOG`Im zT5aLpZC|T5Ut|h3K6t24xywPhv{`aNbd`KwbYHA&4fp3Alfw5$&CPrg^M1u8&uN;u zuikUJ+*tYi1`ki{UjOzz0sn4wd5AqcUZg9%zbZQT_H^IHyVD|PolMX3*YNkQXOUot XTcvwo+N-7;phDNv)z4*}Q$iB}4F5Ls delta 776 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 literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/interceptorMethod.png b/platform/icons/src/javaee/interceptorMethod.png old mode 100644 new mode 100755 index 689653e68f49bc5b261d8f144370c366850706a3..86d44cb5c3712e25daf024e2fe4efea397330e31 GIT binary patch literal 1468 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e~+tb7LoS7gq~&b4x=*R}%{(S2s%w6IVxb zH#ZY!R~MLGm;B_?+|;}hnBEkGUN@Y2K`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-QtYX zJgD9j+-`BfsaGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4(`t$5W51_mZWPZ!6K zid##94Shrc1^)hjfA8Hrt#TE1_K6oXIC^(p&}8lGRJ|pz)HEtK(d1ay3<+n)#KffZ zMP)}c1cWnu&K+v=66RTPuwbc1HM`}`;{MxzfB!E}d;jf@^P<+td+yG>In(^}^YcMV zMSjX({P@srPVet3hV6`#8!qeKS4)umz_H;syQ9xCj-~!z@BP~{?WDl8EzZkrRy;p) zFHTS6{T&srSmx`O0$GAh5_Ke;m8aY+W7po?-+IBwR&)Q4RL8>qMJ|V;4EF~7oLQJP z!{~I=q)#3X%zF+-oH%)mGw;QLb3VdMN8=j}CAclOKXTu(Wa%zW!AX1K{`KB`cuk#ALi)|L!V|`U?2F&N@@nfl9=`nK*Urs}MKS%m7$jdxEE1aFqxpoH z@eSK8!&>PtOfOt7cpLEB{7;yZ5Pa>f%;rgF8y6}h2H$6^{ik~KMb!KiPmb@mf4O<; zvmW(J=hJ^=%ua~BvdS_|;;iz6vQuJ>L9OgluRdNK`*crgx$v@V7nY<20qgHY7T({t zc*m&?osk*!r{CC5T;y>{v;6#f{b#PXq&y1g4qSlf^@DWgxn_7Q8GbOyUu z&PM0AdQR%*p=yRk2Pes9``^Y_bi{-#Bl3xC&G o?CiBF>A}a}*}ui({s<*7%u04-TNrcD2~?hXy85}Sb4q9e0GjzQfdBvi delta 785 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 LKIwzx3$OeGY_q7F delta 688 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 ZDbtku^Gn7S}le*ke5zs>*v literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/local.png b/platform/icons/src/javaee/local.png old mode 100644 new mode 100755 index ed4ace42f02bebfb0edcd23005bbcf82aacfd69c..5c7de535de17669c1319786a626e0afa49bd6520 GIT binary patch literal 1418 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f0K~R|`jDCqoN!b4No%R})7kV^cRvHw#l2 zH*+UTQ#Y7im;B_?+|;}hnBEkGUL%}(K`9}(0BEyIYEfocYKmJ?ey#%8$5xp*-Qwtm z(>$o&6x?nxz^PXs=oo!ayduRjObD2GKumb51#;l&J~a=R*o%Ov`s(EHbOr{-|DG<6 zAr-fl1l#6c4iMSfr)8bzVz)|#Nl-C0bG6Y9d7cf%PF7PEadj@OzN*EeAZ8{pQA_Pg z*@}>rK`(;-IZXH9_^3E7AR#xigQs-Ps=}tX$9MM0-psTvoY$v%zxrO~_q*TcskAKk ze^8))-kxf)zSM(873?x!lYc+Z+rjlJoyTd$WR=XnUcZX8=AXH=!RQUEzxDE{!&kN{ zFW%SFB`$c&@_d4y+$3$`Rzpoef0r2HtfsC6yQ#j{`1XbFDl4}$==?cLChVSsevj9x zMU%Ae6rZ%bc4WcPIW;?)meyEJ@6qP6l<0YtHZ`l-R7$fapm3ST<;|Dl=9pS$)XSQO zefVv%V!@Q1Q`Fd3v+Vi#L2T*zw2VjJN-ud$o+y+3SM9sDM0m;?y*Z8ZxYmC;Xp!Bx z(L;D=38%7^EZY-3mfKthmNon>^L;1%W`2bFEUECtY>U$W{Q21bc5}E#pUmTR7mZ9K zC;oofA1!~v!e-g|ss1jnc&olVy5%$>`-PRH?_+JPA3`P{Loesddh2)lwtn%agCcjU zZT*){-@I4%SK&2>-{K43Kdip+K>FL}IPtgZS{L2rsJ1QYEWVJC{m3?K`ysX-+2dvJ zFDX|=d#Wzp$PzO2@g>K delta 759 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 delta 752 zcmV_*v}sPWZCAH=aKMalz>OP~GC-tgfn+&QziMB= zdy&zmYg-=w2LMcGb^qL%|G-oK&2ay*GFo;#VbW}viB6+aRDaU=*VXpg*7@1i`P=`` za#wRac=CXF@`QQtae4BAdGdmK@`QZvb$;@JfAWNX@``|=qk!a%gYk`p@r#HyJc-b$ zirSot@{^15m5=e6lIEV2Qb3eaLPTb5aA;w0^KsYs+t>NpPL3Tyu$ zW@kcXYOn6Nu=ujD__eV3wzTxRwfMKT=fb(@#k};xy!gVw^~l2Y$j0`~#`(&~_Rq-p z&CB-D&G*vI`P0wz)zJ9YbZQ}V=5KWKbanE1b@G07@_&KY_}$s}-r4%x+WFqw_2Aw1 z;@$b;;Q8d?`Q_pI zS!YdYuS7lV${>EAwH(s2eR6V|(vAte!Qvo?afrz)Ybh&~I7ImHL!2%quNdR5AY}#j i92*y(2rnlq%=-YkFDpVcsl&Yh0000 zC@9FFRftTM`04-%)~8gUuOOl#SWqy4P==~ZN_jU{?ECR}cddKRIeUHIxA#8#TkEE= zcWhg3WNw5&AeOV33_o~9>R!Vo@K>f(zJ`}IkY^y|FOGoZTq%g~;ETgSBumJR1pPoR zKOy!W=#D_>+Xy&;P$1w#;faN4t`37%2qiEZfpDiOBwSuJ2qDA4NP&oo8mp;CAq9LY zDu4iB0SO(95-^og&|kTO!&64{$b1xSGtyl_fdzyh#6>EEF(Mg7K}EgSrNDb#7=uE- zhd|L()L%sf0&FB*ECrDSG{KpN#knF$WHgR|b9KXQMB=eH7Yx<~gL84l;VD=$1xG-B zcu;UQDL;bZ$ME`)3qDa%Q4l1dU@&sI94&W2i=~km9GOhUVDT6{-Wf(X%MwHoSK%y@ z*)AwBKp9UekU#>l2&q%#hKu7MDhjUjuNH)okFp}!hiif_45Q#mFgP?;*U|zI0RBHz zDEx?)L4M%h_5M#`87DykV*EgvI8Mrg2Nz+hOC_Pur63m)OF3e3%)%|Qqr{L{7A2M- z>2#z+fI!3-%Vm!5;Q&BkiDVF0!~v%m158UzDqJf=~iyW`I&bJjnNwiiODc9a990*Fs)Y z?*o^=cr6}_axri*7~Nd|Yt9QH*gU%JN7urKkG=;*u-T=st3xbvK0zQ1i)GZt;cNGfrrGv+1BTlW^X)StAY9CEfv$f`y5imsjE2O zGT1Fg&SekM*~MFljt2}cvasvp4n%0K$Dk8W*G+HIX!=G*TSj9T%7Z<7diLhX_9osO z%O6`??5A#>Gh6#KGWLPfSkK$s6*cEC>X$^67??#S+b3^Ju_^NX{WrvyDR~X@28=%L z-h+RtXA-?h4UFQKC}i|Lg6c=d^ttgAai^s}nh8RxF1Wjx=|YcM~l zsIyB$&D2u+6LcqEB48m`2}Z>md$s6vFwn8lNYnp z&^y%Lq_-uL#;_R-+f{CAcl1X)?5nN}%R2+fzRM2VS(-S{M{Bn2U-9q`e(51Xz^EzTr%GPO7Bfco!bHI=_Vc4-_MY;Oc? zoea(%`7GaQ&}jU0^$T-%>`$?yLw~TZmX*DjwaQ@iAKU(fQ7H>5BkyXxccUX1AAZH) z*sHRh?=qW^kBsK9irpi%#H``&hw)a>u#lil@qhORO54mCbtnw7{B?$L@`RUx6~{c2 zO`+OU939|a@NPMrEWM2EpC=h-vc=8)8?jw)o!z&b?Qsk#Y+-Yyf^!alW^_34+nTUM5wX@54-st+osn(pU#CFQK(2$Qb7P=8h%t1L=usA?FB zA#RH=Jg=dKRWI$FF7-~%nWwAv$2$F45ZX0VL2L`YsG9le#+%=KpD>c@+NNhmEA^;r zT=e#YV6>WqrskPbW)H`{kCN>L@=B{T880*Jk8dz)VMg85ZnF6IJ~?~N?yS!Vvy(o% ztdj5-w_vVTt|#>6KzHBzE@7G&cy|XEo8B^GK^HD``>9x%%8{P_w{p}ZU{ z!dk6f>Q_H_{$`5kLID%KA!!v(Tm3SPqPK4%Z0Vimh8+=cM<(Orovp8zkDuGU$NcWT z$lLwH?S55$#s#XPs)GF$xO}~dTVzfs!YJ?F@|dQKb=FaL=R=CeuNx*LJ_WWn3ZKb# zf<7w7?UUt3jzon%tq}AbDHpask)BDHvW7`|8}i@1!lXAOHxJy0Hq&rLMeDm8d5Vp{ z;%c*<0@Q)M2bGqEj^V!Lb3b?w%iFVie%Yz!?EW@2?SkE$$>A(bP15ImIMbAC_{KJ; z5?j31WX-YCN2O)bA0>R3Z?K%%17kKD&DVxjMO)Jf@fP*$@iup@n>j6KnQ_g_FVb!M zUB|PPa<_AvI;26w{U>9niJ~T~s;{%HO&tV$4Op-4do(q#DqGoWd}pp{`pwlz>Xh|A amLNLJC$6Wj>I8IuWtQg-M&;J9)c*ivU0YxP literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/localHome@2x_dark.png b/platform/icons/src/javaee/localHome@2x_dark.png new file mode 100755 index 0000000000000000000000000000000000000000..8d5a8d8ae387428d9d8c689aa238323b3fd0b910 GIT binary patch literal 2015 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 literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/local_dark.png b/platform/icons/src/javaee/local_dark.png new file mode 100755 index 0000000000000000000000000000000000000000..e04f7023c59a420b1d4ebfc1a63bae21ba8570bb GIT binary patch literal 1415 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e~AFGXn!R6Gsbkb4No%R}%{}XCo&IS4%fn zLlY+hXJ?pRm;B_?+|;}hnBEkGUMHM-K`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C}{$ zJgD9j+-|YNsaGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4)RntP%d0|Vn9PZ!6K zid##9&--6akf`(a*nKI7=Z;v%?l(*v?MiV^4jrtR;>aYG^yujBgKtvy{IHi;Uu9ru zI5TEPmeO?9mLH#uE=qHHM6N2)J{WYn&Mtqu-dhRv`OhM+eXqUuy!!Xv`|6yEFX|0W z*!ORneBb+c9la_aCrH~RYbedzV#e0McwSzkHr{WG-uJXS3V zQfS)uL?)YUfvd0Ly@Sn8X7fEYxqeniY@KepD*tNc77MSX*{ZXmXK_DXbJDrGtUQ*m+&U(PmOGCf_`@>-eM&f5p4C?%IZ{QhPoNA&yN&0;fr za+J2~J@lM*xS?t5i_JgTe~DWM4f{wEUd literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/messageBean.png b/platform/icons/src/javaee/messageBean.png old mode 100644 new mode 100755 index 37f84fc29e049cb40637ca8da2fec203a7dbecb8..8b2a265728478acb73c439db629ac32b36f884b9 GIT binary patch literal 1235 zcmaJ>TWs4@7`B@%v}uE^GPDJ%a^f;r#bU>~G>K_wQ#&P*NL6Lg7G78!`y?@~FST9b zb^;}hKv^FU(q1McSfxGifW)W<64HcLc9EDs2p$j!m8}}$fhVZCNfjCtyK6cg2$t+~ z(f57-_y6ZVJ~KV_qR0J&8$l3HCe7xo5wqWJm-T&WYlpK2uaPPk$Ca{C<1~mQ1*HT* zM&c?k2RUJ3?j{^X5Qk697mPyoC7M?xg0nG%DXA74K}N?+mE&ii0ZOnU$_f1U%U5t9 z3JLsVBpb-846KUjMGYQboXYcyGkjdY$6f%VCT$5w(BOb6&B{7$Ch%Qd+M3(jBo1~V z#!Lc#V5*Rv28^OX5FsLdK0t**G)_%1##j;ijylNOKO_H@*ji`kPMXQihJRTq$toCWawjo$D zFvBKrOMnnXflj7kY?PUd#G=s&ib{o(@sT7$g#+=Ci6k3}2isg$;pZhN8*Q%ekUP?m zYj=XAT9H|(iLXInQd18b9(%gqwbo+4 z@1blpyJmH@{_EM(2!f_FY%*{DRJy;jGv+u_Khv04>*Bv24mPP&{jDnNOF=jL z!Tav(r&@E3BiOTDt1;{ny80+qLpHtO#EnY*D0bShSq5)+-ML+T_4~#)f_=CVTO6`wi(HUq1Woh2>_m z>GSze=9i@dy@%hpzuo9}oof8p+dA)i&MCTvCx7S*9ZdLsMoW)W&9x-UI@dAGbBEvR z>RWe}9;;sE%s)2JYj5@*Iy^8iu=Z~9?lPRfTYtZN4jmjE>~p)_ r#Y(ekUBr)L#G#e?lTo=&5eQa9wqAkq_MiP9*uR-fYKr}6qPX-A;$D)x delta 642 zcmV-|0)73{36KSl8Gi!+001a04^sdD0cB83R7EdCVE_OBVqQ;OTTf|VNn%}0Tv$k3 zSV~-2N>^1%R#Zt=R7zGx)yRZ~b|TS-(+Ixj4t3ZEtFBZ)$IGZF6^ac6@txet>?Eq>EY>i=MNOe_D~Jxs_!c zmZPsCCd!&J%!eM%lPJ!fHPDnN(xf`om?YMyJlLNs+N3Z| zVt(4LH{7H#;k;er#%AWWJm%`}>h19D(sb^|MegzQ@Ww*$&uH-S^zqSd^4Dea+I{rg zcl6$Y^x~cP;)3|&g!tu%`{{}M>WkW?F+H!cZvX%QB!6^LPE!B?6dFWQXKHYDd3%3? zhMLFB%+A%<-s9u&^Yr@r`~3X<{{9v;cV7Si0Jcd)K~#8NUC2|H!$24S&`I5OQmp;e zwr$&5+xq>@Og5+I^gdohEkP6#Ztm>us-=iULa>#6`Tco2TIWM{R+>IP-aVYJ{)h7N zJ6Rn4je7?tYh3JqeZD7Boo1tcC?>HzoL#+!qq%b0t0JKYwtKf9nM${nkB|@@6lxbP zx7A{|85o8QBtMSzogu({G!C?KT6KV)jR|mpHvA^I(Shcg49PU9MZ+AmiqW}N^07*qoM6N<$fdrT8|9B;(|WB3A69|dwAveCr$dVTjsVYU^iwydcrb>iS?k5cG8xE{8Eae{-b zM29Rw#WjY@iVe_>s0`8BoOYVM;d_JG=>yz`D zvzAPYnis|4aHbhD^%iyoLT_X^`*l}TJY<)-%wj9EoGfHKD2;Iz*~tP7FyN>IvtX#b zy!0HF%Hf2~cV=4|tI3GiNL+-5Fd{Ebv1|?}HQh_0wi1j13NVM0(13SOoCX1>T?6LG zO=1(J!-|}l6*RWIA}iZgQDRfu!SpmB)r+tKIL4rW7k3eE#H#^EbrE(Sx`set6vC8f zz!ynbO=dtx(ik8Y$%QsCECZBk5iEygDtI9v5yMhQEQMgH5SAcfH3G|lu?J+M(e^^b zqR$wM#hx@^5yMaj1bI9jkw+>bX$J(W)oMsAfg}pfkhNQDe(ly>ia}mjq?jn)`bUGj<$4S^pk6SPbH<=Iv z;bu_6h8gr4kQER)opwa4Q%dAIy-KB2YGHV>OsjxltyV76sdPHMUYs$`)swa|93z-< zuKgufJt;Tj1e{_c>oMB77PDv2Bo2&Lj5sIHMKP(~7}q{|F3L%{5St7Xn(M#jJbuNR zC$yb#Eqj>oJw~u*r&(9`t!n*%!ARIRwzS3gp-b@)9#a=ndC9%fL+y?J?Qw%? zM+AZEJ1%5E=Zsb`{?YGLYz{1rDSO&@p!k%@>-%(0z?l0=UPnUD;QpPyYgFd(w)$VJ zseU6;_gJ%SFgX9-JSL%=xTEO(qim=vAFVyi-&|YX-R-!=3s>yid*ObctNmp2&&Beg z?{3^z4bbX3J$Uo0cMmTap#627*S!m5rq%7-l5hC46PLC07OSHI4K78=N44mjpIiz- zb5lb?@z~{Ur3?HZ0E4w`udM{{ajfOt=65 literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/persistenceAttribute.png b/platform/icons/src/javaee/persistenceAttribute.png old mode 100644 new mode 100755 index d77b78007e6bed8e62ead197873cae95f96eeb4c..1c26676f0e19cfd00c284c6268e9b7136daef039 GIT binary patch literal 1382 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e|}4Qwwt^U@)5lNkdl?CsRuo3sXaL0|Nsm zXH!Ebm|mCs?vBK}>ZI^$XI(9kAXkJzQ%mY2`7q>n? zxnRc)^^?}78`YMvG|7e9pZnV=(QMkATCui*)Wgb16<+-utUBHSp4n=Q%IX0g??0w>~=2bWE#4Wqe z_6mmou2`&gUW_#=^(MPb{*EQbUMcACY`y*X<<(&So*fyw_tY-E>)Cnv?c?YjyZjr^ zA6J-cYkdKV8|PDu3SGH&&b|`P zno##zCgqGm&?{a3onNd4Si>&Ozu6fO5F~nX9se=wS9`+GXdX1sby(MS*mYw|x=!|w zr@CiLosSEhm3Q2j{zPEacm=?N#lA<)ipY?lR;>nq~Odbtx`?zkRjOw(h^S yUa4m_U8Wa@TzSjA{F&-U!-*UJ+da=`WMdFs{^QHaMc-sWC7-9OpUXO@geCw0JNIq? delta 729 zcmV;~0w(?D3g!in8Gi!+001a04^sdD0hLfpR7HAFFmFu6{7Ff;Nv-0K1b@yOUJ3eI~q*K);kn(Y1xllReLpKGmj6*P>0}!h_<+ zjO*L9?A*8DvQpu-Q|`=u-+ia`}yh0Y|Lv>)?SHesyr%EOVeidh@Wo>A%wqAw zV*m2M|MSNG_00eF(f{_;|M%7Z_u39b8BG8H05fz_PE!B?DpF>exw*NzyuH4}#MRc< z;p*z@>hACK^!E1l_xJbr_xJev`~3X;{Qdp?{r>*`{+-WJ=l}o!%}GQ-R2WxdU_=89 zj0_A6On)q_JUpx{Oh6`BfSFfP(@ZXD4i~ser-CGDFiK2Dh&gB%)l(A;tKK zs3H{)mdQi)YIwaqB3hzPldz3}8_}Kajx$eTg(GNC&8N0Hl*a8k@>ugMP%f4+)E= zmL{{K_`z>uVJ8krhN3Dq0BE&Zik416)F}YSVzB@!4WQA;7=oc?v7CXH2J*>pcuEt!Qwjmh6;mnhT{Ge!E?{G{4;i6@vpuvu*Y2AAY5jIO=De#LIv$lclI zCi#}%dD;n%GTa3giBaF?RrHEekmO{I^C+qv%dT2Uz4J)4_11x@o8>IJrZV`OtS8>? zi79&yemsjjDw|(8IBk|%a=%esgY+gPw;?Dx5}=7X+o^;`VDcBh{+Q4Bc#*nXenApX`Qb8 z*e!ImdH*`De|1%&R()s^7;$$w5vEJ}GCk*uz~}Z*`R{>u`__)5=S{o4Li$yG0$p#( zcF$tRA5i6xs1#pUdFPj76>Y;7?FG1H2S9O?bCLGexz&{+86{x*a;V{FFtBCS7Qg!T z-n9`G1t~KdlyPMr$K0)Rqy9`S`Y<7Z^PF(ckb1IM#u&YjU%~T<=q#mnyS2Se zEF9gHRsAFEnFQH);QO=V&uptYS%d%75K^8k|JPZooVL3sTTf3fpt3$Qx!OGS-u_>Y zP}W>B)23_M8}&2V0dgJLa$|>ALr*w&{E}?EVuWzmz0qzDFEs5%t^eWD>khH|)1I(W z|0wnx|D^M@qk4M6%&j_J^eo=xrwM)6WV!6$jU6B;aTD44lxDn_(T2A=9?`-+C*B=R zSc`X>b+NN%@=C5wt=_w0Y3ljgK~4{?Hw9c`hlWElkBaqN$7@Z0v^~wsS4t*cveWy< zdma>bYOLxO8?L*xSM9Yq^*EXDxzfSqMxk(8EAPCVYEZ8@G!(4=#$u-U;y&38T9HF_ z=1x@##bK)F*`W_~z~I=Cak!M}vP<|_)jqm>WU;|8thfWY56*fwbnz{9-XXcy4!-L5 z_=-^b$RnrlqqDw+hwNic%fVA8L;sxadof^Yg)6->`6KfpiW+~yLO}$-mb*Fozw{V6 A2LJ#7 literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/persistenceEmbeddable.png b/platform/icons/src/javaee/persistenceEmbeddable.png old mode 100644 new mode 100755 index e8ada102599b988d49cfb2b673c129076a10348a..f5989616ca549868c811a12eec189c0e9ab6aa7f GIT binary patch literal 1198 zcmaJ>Z)g)|9KNozbf&r$Ke!ITw-?>qXzp_P)8vlEG|44x#FUZ-%m-y&?%t$Fd-vY% z-Zs~uTP95H2ca+#$3(^u`fYBXgsHPIKeVG2R+$~!U}KDytxPAnA-I~oSDU&I%MR|| zKRnO#`}c5@g9Clrw!X5JqNr`@elbhdmz=k?g?x8Es7Yk$z{xxwLPcDbOi0BPRDd9@ zNhO$tk}~nu9PFW}=1w)2$N9`bK}H%QIT*&)48o?Uo~Ug|@(9GB086SKq3>P2K?7BZ z(1(HK*^MIkGu zHe!)egdWD&5LmWcE;D66gUk}k@jTCZeXP&tAqbB(p<~JR=$5;#AVNzvRRgO?2acjt zKw~&UlT4qMpc$L8y0y_J(lFMR43=ZOPDyoOCiDMLP1{6UI18WU`=7#AZo+_U7FuY` zl*!Bupq_WabbWt#@&77-3`$BLgH7VBaBCS5Vn{eI1_32x;BIk}kuv7@>&( zqpFIKjCb>1F~)~Op*Y7S1AL0~DG&(rzIZAbh>3Nsh~zO1>bTBTo^fLhxsDSwgG3gg zsg6S>Wg-o%S1hQFa|t!n+u$mVa|t)(vLqSSnd`siT)!gbakiVTC5KJlL!Fr2B(BE$ z+7yava;L>u&i=0OcdZs}-do)wcB$J}cP_8YE3zb&l$)2Elpilg-+B9swMWN4Kii5r z-LqS+PQSWVDi-$4E#Ig;@l$_#PaLUU3QhK}JvdsKX}R{~k2A4@Qy;$Dcc6T+`f*48 z=P%cW+TOf)T3|?Jeh5XK%T`aTSF{ zP}%=&H8i+V-7|H)`eOCrg~#C3lIzi7>-k^an_nDnF#>l#IQMY(%kGbQ#XDG8__}oE z^nw2HHLAPI@82=K{Oj%M9XnlTPJPAQ{Oxz4otbHO^_{-uLeXQ7_r5W^aB{&Vb{H%7 zzYmOepPT!k)?t4((X@Pcl-lLG%^Z)lAN%yu3%l%@Ui$n}({pXq+2o|v8oCpA{vhe( LfcQ!L=!t&-S*)G< delta 673 zcmV;S0$%;D39bc@8Gi!+001a04^sdD0fSIXR7EdCVE_OBFGFA`IaDY)Q)p5*FGFBj zTUJ_RbT30-WnWKaU{GjkYi?y#iD)*7eP)S5@3=pfBp&#p|?F>)y%igbVJ>fk8mA|J8v1*oXhzl>g$U z|Kg|r<+T6kxBuw4|Lw*9?Z*G|)&KS5|MuYj_u~Ke<^T8R$$v4=o?g?*w$!C()`}0> zz>sTbS8H{CY=3rwZEVhMcZ5hs!&g%DT3}{iX?0;*PGMeI@T)=dz-jf?k@eP<_Q6K> z#$EQ#clPAB_qbR2^WFN)fBWC4`}O4g#A*Hb>i^V^Vp~vVWX@)1XlHD5X=u)AZ+B{O zd9#m2wQVA{YaO|GE5B{rUg? z{Qv*|RDKe20000PbW%=J001*QaD}d~ud~3w%g*ob@ALEd`uh6%{thS%!2kdN!AV3x zR2WxdU_=89K*Yqt&dmh`EKCpq4hef(D@zM=Y3Y0(uz)~AeVwC&owcirvk+K7L{qn> zwz|^INq$dAFQL@KFjq=aQZgVDEFfNyl$_=-C8?~WAPZ5E>h5KnCnc#UA8ZB| zVAW5zsS1?J36jy40}C)R^YVL!A{hz>oSd9&oEjhi6MzE%yLu!AeeO?T00000NkvXX Hu0mjf=rdYj diff --git a/platform/icons/src/javaee/persistenceEmbeddable@2x.png b/platform/icons/src/javaee/persistenceEmbeddable@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..da95888a0bca035aad0dccb79c88fcb40c0e1f70 GIT binary patch literal 2307 zcmaJ@YdDna8lJ{6ErsorRAUf|IYo2G2s7i@*fOfAh%xgG6EokK`Gzr0Nr~1@4kf2r zvXYKUmqslLp%R-yDHGZ`6on+TO3NCpwDyl}f7kVX@8P=d`?;UzeSW-YzCP~SS|(aB z7);yKgX*W85%WV+UHKQwWFM8&N{GgU7$6slW{Cip3kM7V5T1NiDBuUMI5Ck;fFlg1 zV#f1lLQMKr5*y^BSo0W^lrL1WVKB!nQXz{S4nT+yAe1K{Bgd<1kO&@!jNIu!$Iyio zAdKfB69EjFk3U-$&L(n@TbvM%Qj$`D4?rx0lpi4wlcZ$iH(io)J%5ZwBECVOa5C~Q zQ%t%qf&z*FgagXKj*Y?EBk)8N)&Xlzz}g~k80iaA+LPPKmG+#|R*n)J`BaUr?X| zVz!7Ugm|C;F|Wu90VNO_sdV~R3Vh)YS%LU_nUn=XOIboR7KNElX#q&5|9>c-{{tT1*ybCYPA7Q^#1Kos20W=`q*4II<8eqB+$I;iauD!%3KmPVcctO+G%B7*adp{9 z#A5IZTq?+x@Bsm|z~%hSbzPJ@-wAx7GBOnq@uC2Zn+W71zGY0}E$)S|sNQ!jXK^pY zMY(9D8T9d>2l|p4Z45lXaq`LS^yBl`yiO}C} z>?E#vSE6W^%TxAR+gTUCFgMZFQl$lXq<-!+jvx8CTF1U2H4Njm)j7M{DjwscqxW9T z)k0k*&46y^VRKyW3`PvgdqxG(q0wUrrK5tXD4Mrn;XrdsYir@$=DxX8bF=j~%e?<+ zOSYVwtP4f8R^BeSWvd4v3_nU<$h;qKCOOWS Kg`vK@I0xd~rC{Fzjr2!&bBX#2_3egX%(AxCeB=~dWhVZ1fP zsxD;3HX!L(17jKvUyUDM-BW#TI{euB3ozDTu}!l){=ii|>bv3RZzdi`z!=T>c^Kc+ zJOdB><-Ax<3T%6Zibdo)|L$w*i8W5u;Ba>1E!BJM?uKJVg1G80gQb1RACDIM4P+bV zSl5j_H@!veA9BoEw>x2YG$7CR>|N129$Yiw_f9l^w~MX3NJmX&AH)81`@MD9zfg+7 zpPI*-RyIl2^h#5n5Oq7!VOJ(N`R793e#pPRvIJN1sik}HW7enD#fC-W6R)ORBCrAI()2Ya3&al*|5O_U}@!EaXJ^M3-CU>-E764-54_ zE~j;$4%`u`c~W7kSX#cO{Jwq9-ez3AjO3uHR&>_kB)tB^fO*lXsCx(3d}>?P;b0a_ z+2tI#{OTi;a~X8liCI;=zDuR&D|^(jId0lN@OLNUQZK_p>)k>st?NGLX=J$bXIo8| zSb=fKpW}MJbe{J=afv*$Vp`iB6{^W0!-h{xx7NL7XQ$P7+8#nV+w?@NaL?8#d!g0S zsA^xDcP-zC`&Bn0(6YPdE1zRyv31^gJs%N&`EJv&vq=X%f?@4gJL zi)=Zc7I^>3)TdNxz@DP2y!)~YjW9I}c=I(RclDXc-J)kRX+h&$WE_H*n6|~*k{xb?uims& zceS^F@J&*5cZ-%nJxddB@t$O{A8Z$A?i38oehBP{)F2RbA|o~@-6UZvhGz}WvmaVw z^wX!@6P_#|zw1>yW}r_f^BH(fDyhJIxn}4Cpc3m3G_QQ~sBvbFQJY*)^Ptbb8(#Uj zm+5G4LQha#Yg!o?{jNN!@oL1rPuHpvP2c`f*q9<}&FgGs?J1kVm`^!s>2@Qx;aghz zXO{T{6HIGrxG{s_Ozvi=V}xUQr>o+Wf>EBf+}^^oGcvw6HeSt2cq4QG$!+O!)ICqZ z?y|bnPLc)Lfw`}fdRqoJ4+ySb3v$bi(Y)ek6sPm0lr-l--rvs%o+)WPbD{fUZN5QB zBd*(7i)#{p%ELG(@OYIG{pHcoHs8ai2osZ2jLO5mwoM%ic(xxEbE!`ZoIoyfxvaOA zWU-{6(>D9J1J)V*CR|@i4?1D0*64HMC(an7IK!rB?U9bxi7~9iB=Y-{Fcld0u2`lm SsW6^@mUz;9sAaCf2mS;~QO%S9 literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/persistenceEmbeddable@2x_dark.png b/platform/icons/src/javaee/persistenceEmbeddable@2x_dark.png new file mode 100755 index 0000000000000000000000000000000000000000..c7fba9acd0ddb6dc1788359809cf5f312b187677 GIT binary patch literal 2315 zcmaJ@dpy&7A74XBlS?JU>1X8VU^g~xEVsFhv6$!-wYDD?+i$jElN?r0<+yZFxg6uPC&mWKH`+EI;-^=U$et$0C_aEORy0@FUn!Xwg z22=NNr}!#nVBu3;uJ{XMW2Y69p2#IoOtvKQDQE|S zDH(AXfucZ~7l{RNQOpGlO3dXe*f5x#y_nBrg@YnsFBr<RY-utCL;szGz^XJ z42E&sV+EjJtT%%d8_puKk@i~wJ26Qizy(E2K+KKc2}xoy@{2A>v0gYvBY`gvQ8*d- zcT#~gI^YZmKmd=zTe2`%Yruwx!s4;kTd)=Y4uiEqW313vD@!bngdvi!c;M?mDxwM4 zAtYal>(^L{9T^!W67flBbWBVPD#i*02}03WB9Vy3;Ltdnr2=6ol<-7Mu_aGvyr@6{ zg)9MwFXBKvU_p_&7m5;*k%~Pf#Jk!!yEqb^ zu>>b49KmIgOMzHXT#zSPu@4CAnxtGU$bS{jYmoJW`lvVfoFqip@9QgFJ=V1qxRq1DqOQFqH%kiX%h(sxBZr z!VlD)Z~l~%TRw{F89tSYE&oMTa4d|WtGSkjIB~T~=VFyt%15Ke7LPp<$wsE)#fufC;V*LEy*|)PtvKyp>wW?)X_Lu>4`ya_XJ&t! zumrmalAMF4$0WrslW)8I))IUMUXd`A;O}7Bw<0b%XTN?X>~I3WU-n+*XvoH}`M!E0 zT-U$av5)IuRx6K-X@!l!-YwJTuYLdi@pJZF$piS)Q=R6Xl`~rA%}SO>%U0wCyZx23 zB4ll9hx(rK86W?R{Ck>~g4%=5cXhehDLACN?V=p;I>HbF?0op3682?qFkWJB^+_ zUmdBRe7;!s%zIBzu1zFp`(&+B6$Mot7``0U_#izU16;8vTr9y8znC>FrN<=Sg4^hAGsn zRjl^-dt{4F<%Dj>wn4$fxt2LMYr1`-aX;b|n2#x2)dc5z1k+|AfIY)1BxZ z)t*}TdYub~XGgkiix7Fw)kinhTimzD zzE2ct<6QG|kzPw{qbIp-^lIUTYvz@?^Ct?dqCcITRonH4#>OAek&?=iVlA=TG_|?& z#i5eyOpgAx?h=3eR#VOHfgG6^;my#pD{$?!{IKt?r)?QMs8=yLYc)bsy(R6o=}CtV zxRc`vT@PaBuHENl6w8Re=G?3oNPBC>I;m|h1!GBevyXjdxEMjGR|wl&+IAm5_{emGjg4Fv5^3I-^sx+8_znN2WYZuy&^_PX3 z)+=OihoH81GqszPS3NBL*nBU)I=m~y*1u;sU!~l~=4N767h}EtNt2Pgq>20S4SsBR z#{T+d)}x4V?cIhyKV9CsDT4o|;)e~tOU|SB&j#P^`kYeyR`bWpK%C}W5$Ur#IbmvD z@sQKZlV>ISdheZ%>rlIrI52Jffs{+PzHb(T&aU2Rn;U5mJ=O&U_#jeT^9&7a@2m`Z zODKxtl$i+P$Fwy_CaaIMTdbKG!Mkh&UYrC!Z+KTZIeuWbD&k`-l!acMxWZ5|TsBP> b!IWSYDY3+JGLuUS&l3+9Z%U!l9_fDofiKv6 literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/persistenceEmbeddable_dark.png b/platform/icons/src/javaee/persistenceEmbeddable_dark.png new file mode 100755 index 0000000000000000000000000000000000000000..d6afab5d6198c7ba11c5a185098a1c8176338ab6 GIT binary patch literal 1201 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e~9q7efn2CvyvPb0UI2$*<4On9mVa^UGcH4m8Bi-4*6abQv@0|TR)r;B4q z#jT`2|Nq-Ft2VH@=w$M}7Jv5qOiFTMVtUGv^^7U^*W1_E?fd(qcGnb+d`0CGth<-1 z{Y_6xQaSl-|Nno+3||eJVjGs2cY6H&oKSUuZO^|Cy^cN;W;eQfmCtKfBpLDO@ZVsb z_<6ByuPZ)&+@SRAR;HKnoX|MWwLADvMPn=V}%AIC)NukQ_ zMuU04^9Gd(dmH#0zHG>Dd;FEj?z#+P<-%Q79gH%))yq`>vLEBn5SVBxTlvfXpI9I# zXS?`;wyj&YKD-hW8tNLOlkr?5sUvo7k^Dm@nT-W4FZO)+c6fXIqNY1JH}*J8VJw&1 z@0*;SJoC)o`HkYU#S_jQWjnCZ;O!-G5yz9ecS|-kHA!4s8|`keo|#30A*QG!axvRc QCr}~c>FVdQ&MBb@04!dj00000 literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/persistenceEntity.png b/platform/icons/src/javaee/persistenceEntity.png old mode 100644 new mode 100755 index cf9264f273869a00e9b703f4a19e0ff1eba28b6b..d8a4cf0af460e16dd2868658ea7f1504bdf229d7 GIT binary patch literal 1208 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f1KJBR6vkOH&JTb7w zJgD9j+-@UI2$*<4On9mVa^UGcH4m8Bi-4)R=&^nh0|TS3r;B4q z#jT`2|Nq-Ft2VH@=w$M}7Jv5qOiFTMVtUGv^^7U^*W1_E?fd(qcGnb+d`0CGth<-1 z{Y_6xQaSl-|Nno+3||eJVjGs2cY6H&oKSUuZO^|Cy^cN;W;eQfmCtKfBpLDO@ZVsb z_<6ByuPZ)&+@SRAR;HKnoX|MWwLADvMPn=V}%AIC)NukQ_ zMuU04^9Gd(dmH#0zUVyhJ^GrpW}PL|C#O&q={S9vm;Z!Ixz9azpY)UY$SfY7cKts| z2cENTNDO7m;mLJqRgjY1a**eMIQMP&|Beecs-?!nF$m7vq{H+4{y(P6FBnw##A<&( zysaPTm}iy~r*Mk3TyDQ_a(eR2Gk@ndir?jKiD5YBb6Ky}apH}d4=OqzIG&X@FfcPb X)tlqv-TQ7Es4Vex^>bP0l+XkKmztr8 delta 716 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 CRlk}5 literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/persistenceEntity@2x_dark.png b/platform/icons/src/javaee/persistenceEntity@2x_dark.png new file mode 100755 index 0000000000000000000000000000000000000000..e53d5d7e5b6d31ee6476e37198bab4f84a237e12 GIT binary patch literal 2344 zcmaJ@dpwi-AAj63A-CpfE(HKU zpYBHuQLW&@3tOW4O62kx)nXx~F{PoxSgDL9h5#~07z2THJ}V9ifmocB#BRs~05oj4 zVN5AA;71}`$VagjFsNj{NW}&K53ghqi=6;T!5AoxDi@-vcP0MPaq*Cli*);iK_j=H5v|nfk+cb@V}E{ z1~5R1Pz-^16yBMQ!McL$2q-Kb>*|Je0&y6u3mW5s#=1CTaYPJ(h{c0nAGj)-m=jA3 zq56J}r8<$|@lvUXh(^m~GL*~(B^1Y@u>=AEjlrRDIA;~YS&|}NFq!UvsHtOMJ$985h-GbB^8RpghJk87a8$FsZbIx6oC{9xH^I> z;0R@sHDBNX0Yth$B4r8K5S>bbs{~M7E{8~<;mLS{&pNkt>nK<(&6PmI`S@UI6kk^i zg-jsh7P(X*JBbeoq>Eh6KU}x(au=My7pWpsAu)G5#PJmi`QVp|iQMn!g8#1GS1#xK zxvc#z7p+PLy)f7Rn)Bk7$~+6(Z?07xzWE*!sLU=_xw>oA!W;m!O6XK_Sn~b$h$x z)qKTEGVEBep6$ID|I7lPXIgUh24U0iH;XLh>w8{oAHT~y-$ie}SybdQHsAX$ zeavf~Q3xGdKNvrgW0fGgWt}=S^-;|o=miRaYCugP+$RZA?*L{M%e-|TIe{?-mFZ)j ze$lvnLoFLP3+z&Nx+OEapx`U60QxUo9%Wk1jv(GBE&OaRpd$agVo;R$!)>5pdt3ho zX79FW|2s@;D+AJKv7n6UV-gpC)#qMOYyQBpeHFv%o$%o3<-OP(D4rT>T+ZDVn5AbF zyURN3T&}dudyNUgt^%PvkHL`eZECq=4n3c7B|FJF;o81o9CQ0?Su{_dlic#lFPMK~ zC`O%JrlwXNEBGoJair_qW9HqXkG-G28Okn=!p>U_+Fb&2O!H3Gv69__3|C_B)&#Q= zks6H$OYZkdHc8Rk?Hf||TCm6I1ctEp#DRmQ@;16r79(2e=MHqBOFoZmLb#ch(kS?;VHvj2FQ37S3=1!2-3YvXYQL-A`jKtgZ4BqK zzO4jCz-p($2hCb~ZH*Z*TO;i257{F>PFo`GcN@lX!FJfqetpXj4;1-;=61W^Hucp1 zNPuC-VdQtw?+28+Jzkkp8+k`pNFTe?o2MG5>Aj5i2PeHZYItAid*CTb;^B5Eaw=}?tgf2){dj)+ zT!YoIsJg2~x$#5A#T}!L8ptHx9HqTH&%em_bwV(FN_Tz>OB_oeC?eONIJ z*`J%A`+hFj-(8>XJkt_Roz9%=PdZ#-_1Mo-oA=o|XaWhl7CMQFF5AV5w5aKxxvX<$ zc&_$CkF5UCne_R}ksS@b9mJL6mk1yG8!M*wd7rl2{UAnT#6+tg6w-#!U`7vD%Ku=}n)Gq?z`6%onq-rT#Tv zuc6-Q)Iu`V-Ai4us>yDL(O7-M`LIUwk_&Iv&K5X29N~)|^xo@YW^15N*UVPd3s=7N zB5G*+A0kw_ww~LJ2yMeV*}_-nC5I~~AIp~hu=CiRffAFvo#<<8hiWG-m6#3)hB2w9 z%8kx24%mYGYn08;FRyxPuySY5mNv8K>%4w;^EN;G8tRd{-5#>T{eepFi^FM-TV9!g znu8vIqXD_9PmP%K5Z&w5=K)Mgu1*!cZLRuX(rl9V;q}ia6i;T1`;t7$$3LehYU#H2 z4E+jU>b~Ri#TsO4HoWI!R`1yihm^bsL6k%8W?*}+wu9}mWmS8SbNX637#jGzQUCSIe<(YY>mKudy_;;bx0;#n=(L4VG1pUGM literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/persistenceEntityListener.png b/platform/icons/src/javaee/persistenceEntityListener.png old mode 100644 new mode 100755 index cee608187841ef61da87ee2e8829e915005d916f..245d3c174e589cb1496dc50646658590a9311678 GIT binary patch literal 1505 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f0*pBU2}17fTCsb5}z{R})7gQwwK9b0afT zXBRVPLra)mm;B_?+|;}hnBEkGUPqjIK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C~Z@ zJgD9j+-|YJsaGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4*6$+f-|1_q`uPZ!6K zid#!2`(_9`iX6XxChhaaPEW7vOMO{fuV@H0SA2frsvoL}Uuh?oWuH0Q7_avJZS{Zi&uMKI zea!!jnf|0#ZG83pL{kJSdrbZbe(3e|IzJ1G;#>EBCj?LZI@YY&KuA6DkN!NVt_N56766+>^uKmiK;_v(A zt)r6T_Pl57)uJLAzx)EZ6<*(Qdeg7=F()igs`={b7w(N4#lj7Uu_UlApMD=c# znUk0Aee&~qeA?ov$39It7~-lju`1}qG~<)n4nKU4beH)1xxHWZq(%EeuIaQfclVW#A9gJKu+45p+`H-?;hy0u6t#5RYWboU?y){>MrB$o(2UIerf4O zOsg&2yX|ZB=8H_B#s?4eDR((2mo`f-h^~^)i|&h+t>ON>V^aA3sJWR>V&1Q~OncRI161gGy85}Sb4q9e05)_uVgLXD delta 776 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 a9DPJpCo--*9ZAicpmCg%^-VA(_f literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/persistenceEntity_dark.png b/platform/icons/src/javaee/persistenceEntity_dark.png new file mode 100755 index 0000000000000000000000000000000000000000..60ae7a4f0ccbd7ebbe1bdca328cbf1670b6430e7 GIT binary patch literal 1214 zcmaJ>ZD<>19KW=rj=pTVFVbz`(@WFdD2)q@h=+HAL5oEKGBkN$$rFmfS|NN@mqmN~n!v#-#2gRd zcazE_M?pl@A@Fwcc zSm+eO3#O^D1W_y&Jw@81>Un}<7=|FdgxBjv2)8k%n7rjy3|CWugNC3>nklIYuod~N zI%$S*l8k{->~!p3)$Zf`&S& z3utgTmmNxDBRb?wRZpwxM6-*d1=UoIf~tW?1U$M|Qbe_AJhlo?CfS5yn7ksu1Q)`Q zfJc%mgGQih7z!N-cAtqAm5-xMIs(s8~xbfs!HYx&CX;%`0Rcd%NyhbXfO2RFK(q zWQ8_U&aSHy~}SJb3N;qA2iuUc7MHAznTme&NU$_1n*X z{`v;B&$Zy3d+*_TK9}vkcgLYX?i`I_B^E`s&c|?3+jTJW)JR zey2C{%UAWW?q^Qyf2m^q_Gi~y?!LwL@7s4=sUG_@0X8m(voU1K8HX9}zE~pD%PCkKG3jO@H|Ijmw;PUd?~e(Q*D zn>hE=rprfWI`xnFTHBMJ&uX{jEst;gMyxiv=WiSUSKG9K;kjGRXts9#Sod7la_`fB f6*n(dFh>V=fq%pK!Sd{q{YObeN4QhF4^ICBevzkJ literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/persistenceId.png b/platform/icons/src/javaee/persistenceId.png old mode 100644 new mode 100755 index b1e9983904d61672fb0414fc9fb9219bc4a4fee4..84e66cc3a50d2a21a606b9a8eaad93271e7a939c GIT binary patch literal 1429 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e~AJLsw%1BV!A5b5}z{R}%|UOGjr*M;B8I zLvuG56APGLm;B_?+|;}hnBEkGUK5;pK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C~H- zJgD9j+-@<#saGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4)R+U`Cui!pI|x;TbZ z+*&gEyuYxc$npCd_Wx?u%k*O0XlSBnTJZ9qb$L(GgazVzOYv-@ymnEWpzY!Hr09gzCy}3(#~iu>kKL$Ik$RtDp1eTv;NvB~Z~IMOjatdIR~#qX*UPDUJa`j`s>5b;=fbM!kme-V}_ye{@t5jUA<#?e~E9#qaV*&-?>c6 zY~!0#t-CONiK6bhmy>wkxmzt-wl0(5>n(dl-ps{dq)cUr<_-w zx!-lkc5gQQP4S88>p8j(X)Vln<##zr;B)1EHp}H%%oTaft?t2`(vbAo4*!hd= zj?R5FXMgk8qMdWDT`f4gZ@o5y@#*)D!4fY%HtsQ)DQeR9P})X2^v%bD0MpV?OFx?( zHTT3@H^tvsy8Zr^Xp47l(*#x>mn*t%e~5og>azzMj>uj=IPZE&Tl*xl*)p5vnO{|C z+>9%bDB_5af&G+IuUxo0(I>EvT{T^a7 y#ddiwnvu@q@F%yQ^Vg+WNq!<1-!uIYOkfcIc>5Duw`dQjp!9V0b6Mw<&;$T8_!-~; delta 734 zcmV<40wMjC3+n}t8Gi!+001a04^sdD0gq5jR7HMP%{`S}Y_ul`{GXLgrs)#C-Y!IA+OP!K#Sz=(SlUKN)VBNf0 z<;I5e%VYQ8p7_vb_}Os!)^_^mp!?i``}g9Pc`^Upg8$`|gI)>$?y&#wwg2z9zr3cv zv5Q$`Wmj8AjDKq%SY>RKm2{PG8J3xbSzl0>d_!4ZQTzAf`}pho`Rx1o^Zee7{oaQC z>#+UpwEgtY{r1}Z_t^dT;r`^5{^p(j?!5l<%l`Ds{`JoO_SgRS-TwOJ{`%VY$|Mt}X_tpRR+W+_5tK>kY0000nbW%=J001gdW^gw+A^z`=k_xJbs`uqI+{QUj>{{H^{{#l+RT>t<8+DSw~R2WxdU_=89j0_A6Oe}1? zylgB?Kz}A!fSFH5Ltj@#iklfCz$~too88<{=cOdV3=&}CSC5KtPRyt-E0*JA0t&Fm z=0zq2_?lOGxVcKQ00r1IbHX#zt31M5JWF)MfC9V*Sqa|e`60nRrlBqtAOXFm_@c&? zR5Mc}BcmVzpcd8onu4_GSW_cIe=9>1prO*WaaR?7g@Hf;E3g0)k8)|Ulf9#*i; diff --git a/platform/icons/src/javaee/persistenceId@2x.png b/platform/icons/src/javaee/persistenceId@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..b1a9abc2cf9d0a072aae4464f96a998b499f4d61 GIT binary patch literal 2252 zcmaJ@X;>3k7L5dHWRXDy*_1NK&?qESLOLWSIFSSbLl8q`2MtLieqReeXNx+xr11e2ayEgfiDkA zmrcrxC$VV0UvlYo6ck@Bmyj?Rg+hT=;Lxx%0Rs|=M2rU(gT=b*5biRSSk6(pi)Bu; z3N%Q@l?o(s0W1deikvt&NlroOD*dwsk>snaSoYN&;b6kPJ?ea&?1?chaYlkbI;NM-EHbFf5$C#b7=xhh=R=b1U!xk z5`A#=HTYRB4dy0^AhCRw%lnH<{U%rM1d&9SnFdJ($q>(13X6cx9g_s#u7&VTy)Rte zw`=kGCKsbC2BV+rf6aOJNM{~>_|>(#%~#(;Vx8HgI#;W28H^whbE*C`DqGooH-CGe zebORLUrdT3FE*t#ShK&D*OJq+tH3P5b0Gn{FTQ@*v2z#gL9|+TyTBcFlkVaKLF*w($awQFkCLd&9x9gScJQXe8q|XN5NP zNyeI3^->k`#vRU53#ola=B@o%PNOKl+oCCcUHYLeo7SjJsr$x~$y?H%`VEoqr9XBw z>~%62d9h>j=6bJ~)*Yvs0LjeM-1KWmhc!Zz1|0W$xFmHKhWx^yP6dJ{a&t%w=Q^q zuSmZc5E-$)8xPIl3S&YHXISP;myYQ6-KHsF4S6`kAsFmCX7OOBW<#H_`f8>3TieSQ z=WUYAFEE`ZlT={2w67L{dv26{aD$1>o1e+=wx798?;Y04${IiVp$U0P z4daU0$n9bG(H$QxDi$4s&G$;2DwiLKJz`&*Q1-mkkTquQN!Zg|(0bm;CL*1)vDNvK zC2{$@hVW`qijdt)Jo+G#Hen_ztrsS zC9aH(W{pG<`^@2@v!$==&R!q1G2{h@LZweUd#J@3@+kA7oNmOqHPuq~wlS8OQFUQj z8{=;$hJ_iVnpC_7zim9M>v*TFj|!cCl60vcE0m%suMc|e#SOO_t9*!9QEYA(`op7F z4%!Vf4wfOo=;vJ-Mqr&mur%dw`j`xne(Rvb%{qWtDh$h+-Iq64XKiG&1Ae~TWnOS zXy4K<)@bb?%kJzpm1*WiUc^Qx`BlT$$FDtAYz`P**)`XuKOWoET=X!t^J<-J&!bZ- zu-Bs}FWhc^#<8(Ev9s6_PAmDXi~jCyS5?Ke$3_owH~hO;Tz|oOxif9WA%k^`_6_A| zmn*Ac?-+-i$xP`yMX6{nH;B?9i&lO@s$2LxJY% zmk3vkYeQEa3zz`T@_ctd-2sq6xv{0nM8*7Wh?cDUITF)jS!|gXP*`l9&3FYI&tA#D zBfOM<)Vpx4OVeZq-*94bZH^1e)@m>}B6xkp3+HzBhq#?{y7-~BKR%wpu5qdcSN-%m zu?71HJ-E@k)W&KpuA?Fr5py!d)GK~|gWWpO%X!hC&^%>pCAr3-tLmU7W}QoV?UP@M z*z993=084ZJ%zK{YF}b$H?}P4pN--H%76>6-tES@=|b$U9~zg+vW{o$%}>?dJevml zL}>}u)4bfpTROLqZ$Y-|Jx}2qHIoa@hmGYHbihl0_Z?sSj4-fzjuFD-ldZO>LFlXh OzwoCA(JrppnD!rn2ct6p literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/persistenceId@2x_dark.png b/platform/icons/src/javaee/persistenceId@2x_dark.png new file mode 100755 index 0000000000000000000000000000000000000000..c92242a20df5bf53f8a67f2a3f63413405f68f6c GIT binary patch literal 2254 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 V%w}p_-F;92=jrO_vd$@?2>>jm;LiX6 delta 576 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 HB{Ts5kVOCA literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/persistenceId_dark.png b/platform/icons/src/javaee/persistenceId_dark.png new file mode 100755 index 0000000000000000000000000000000000000000..98cefa6b6a0af569261a839c1a13325e0da77991 GIT binary patch literal 1431 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e|N~Gb0NZQzr{^b2mdnR}&{^XA?JPHzy}2 z6AL#31521*m;B_?+|;}hnBEkGUT2(oK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C~K; zJgD9j+-`BisaGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4&*FxjP^fq{v~)5S5Q z;?|PMXZ?j8C63*HS+;xa1=S^&lr%eMv3c?fCI67_=`5O{ApXGN0CVTX2M3R^_~_r+ zQ(+Y@E6+Hu}*~^Pg|e?D>3V^XHQm z&%f9|6rJC@)3E%V(hQbzhv{cj4{}v-@=5W;Ts$u^n|Ir`ttPJ(gSI-TX8zOsD)W4k z?a%wa`wbokE}3@T_(k}hS4q_-$7=o^h+ijlYnHv2qwSLA<=ez^Ps!$yXzL0g_ zJ9kcHd63lo`CENO>eJWUniK!qHF~9uCYSa-sTnJH*R^Jxx2m3C;^*bEE%Irxk#}%& z?3XWbJu%I~4JU(+s2)#P8lVv}?LmR%o8>Qe=9_H(5c_5M(sz~*Hm!LwbH}M2or!1a zjD@&f*{u(%kB(n5#o~NL(%}{E2doWPf*v#)H{1T`c_%MdeAuMm*|gcWWv_*o9j^Gl z>YN3aT}4c1>h3e|(>ERc6Zo!$huM2$uA|IXb*1NBr8}pzZQs!HW_iuYSuEuj_p$MO zU|!RxxpKFr`R0QSPqM4kR`$2tadFVdQ&MBb@0JJ9> A&j0`b literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/persistenceMappedSuperclass.png b/platform/icons/src/javaee/persistenceMappedSuperclass.png old mode 100644 new mode 100755 index f51d41d3c4f2aa5a6ecc894b16ad8d080f20c828..57b2b86e7dab8c12be9df0d1f2eeff25f9520379 GIT binary patch literal 1355 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e}ZFS2JTrV-pK=3j;$#R}&{=7h@L_11C3E zGgC8XS3{Uym;B_?+|;}hnBEkGUQ?WUK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C~5( zJgD9j+-@<(saGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4)x<(TRU1_s6ho-U3d z6}OW9{QqyytlGfpqLaz@TKw7bGbzc5iRmdv)-$HuUvFPux9{(d+FesP@)ea&uF!1=(i2K5_2wgkp z84aZc(r3K%h~D%2ORn9G2J?XD4KWRGSQT#Y@H~l)-}m1uAvtvuKm#_OX3ywDI)6ZeDR z%YK6sH*YY6#IVg5Kgamdc)|Rq4(Ht19SQ}$PT_Rf_xHnFah+Diy$r_|tVl{svnu|5 zFL{j~1Di@m6pz`1bC0)Y&foX%56>wL1$~FTi3blKt$XnFb@}#l@jH)x05aGD_Ay>m zurm-l$8@!%$@uaX?|6e8f!p&=J$RaPl%Yp!Lb`T?g;a;5B3IF+Acc1fr|Q``3>btf W@5JpE-rxW#-aK9XT-G@yGywpaG4!PX delta 691 zcmV;k0!;nO3cv-B8Gi!+001a04^sdD0gq5jR7G-fa{vGTgoJo{dT@4jZhd`)FGFB2 zLtu!9h?kd?hlh!YiHn$+mwJ4Gh>47|v$Kkfk%fnhw6wHfVr64xXk}+=Yin$9aB&*5 z`htp?X?Kt4=l}Kf|N8m=YjlEacZF?yd~SDyaC?kYW_yE*rhkNpo`#E`h>W3(j{r|kb)4uEfz`^3c!`8#>|HQ+| z$HeBx$=%4x(#p&0%49?hhT1mb9#x@)b!TY_S)I`b9|27 z^8Ml9^5NkBcz=PFc#D&x;{T`P|Ec5us;tMVx4NsV%~)o8S!sh?YJ*&BZqd=@($wPA z((}~UHq%z|NsC0P_?ER0000ObW%=J002x_maDF_(9qo6@K3Ob`K1D?RB%uUKtO%}gG!0DnufNtwQM zes-3O5Pw)ethmP5#8|dYMngdyEWnp4ry8Q}UgQ#`A_x``E(x=)^o_Q$Fbyq*sK`}R z(~3-pH&BiUXJ-crh{!j37&;{B`WWe0Hh={9YQ2+VoHHaP3-babK?0&mc7F9zx)o{m zX4S!973Tgaajp_hjuJos5@5~oERdBlDo<~!3M>i)2{1DA3fQ_KsQ?3Zc6K&)5P%85 Z0RTX;COY0HuS@^{002ovPDHLkV1oCQgYf_W diff --git a/platform/icons/src/javaee/persistenceMappedSuperclass@2x.png b/platform/icons/src/javaee/persistenceMappedSuperclass@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..4dec24e7b7cbd76704efa30dbc813964fdd2d910 GIT binary patch literal 2629 zcmaJ@dpwkB8=h7|uE>^prKZZfTpCMAN zJLK=8s1#o?Q78t$C@9K_2}ihqH)Eg(6v73K*aUWlBakpS5{5uJA)K*r3>JX`e|aF< zY+}|vtRKniOD=8X4q;2BA}kChlgXemBvdF4haoT+3=HlJb9Q#pBAg^K0x4bYB#_vC zRUiQprkEp=a)bi#yds?;jFP%Tw3YsS1-|H;tU&UmP1=URs%ERaa)0wzEvxkI!9P!5NMMG`QcF0LdJdNUf1KzO=fh#sz9 zn_aaL0RtzXJ-%{DLS_^n5J0$-%fOajE5Xn^G<7V^QLZ;a)9zZSxG z^}cXf->-%ET`o*p3~YX`|25~YM_TjDZ@;-#8+`LUAkdm!tabG{K@$!HTBIVAJOboB zb-`SoS)f@hZmjQZv}}ir8&gqnePEqKg04%Nnf{jK19j{NO7M}w7=U1c#d z*T{PC2}P({qWHL#_uv@8@rq5E&P%mN|J265yE-U;Ta(m=-c!+QXN|VeKoN8<^3qe6 z*A{vW1L)F-PpjKvXkBDT4-X%R5haDRiEterdG?pdb&QpZnu;0c z?rtKk4!>fs%Jr^kK{wfYS)1LQNU9O^6FYbWq>04=J9y1ETeY)a)pB(rT*ofwlyneE6v;9`^du3c1Pl6uOC(a z(!D9cun@L(NY_KQtM9a?P!NQ!}u(E_uU|kV9VERN*MEs$)y@EcHycT@Ava?W(Pd*ej~U zbAe7Go{chZtCQ~An%@#Oj<&`b-+1HFrw{ijqy)A`Q~dREs1YO zJB48XF<19dmpY7dsqv~ltq_YpxkpEs4Lgm?*SQ!<497H7O30astCYy#Wgn|tGh;eO zHIT>|)4Ygrp1y!;n9a^G` zj_N+({rB42K>@qZLx1d_k=hmC z;$!kIC98(k^i)(9vEwTJFBIQiCtP5-m)7E_Kdf?%usU0mGV95B9na8&wHb{3+w)aR z{>R~W@>|7ML~H$;o|D!{ANBR=hI zN-c|3LeS4g@MeQotcN3i0jf1gQ$BjfQO`WL`??(6tUPXXgP_0d3J|w*%YSd~r3nv%( zZf-414B0k&xs~&}RAHXf7?fMv)q_g^WZ&p((3pXkLHCGLJ02SsjbqRj2HR=ZV-K^l z=q>rX-aHe?Sg#aC4#T}$nv-gOdzX=OXrdrRvdS!wyN`4!v@7HAc)Pbw1p0@|IgVWE zU{A{;Wmo(L=Mz|y#UY_n=>zJS%D+0EAcEybO7#s(2x4XGPyO$5eKh#$l0PGqHEBjU zzUbR85_@y-x*SnEHYA~S=ivT@qJW46#stUw+g)YthWpG;j3{ocHye%C%ir;WoKQCB zHq|kb(0~5Z;PW-Gis>7NQ-0lJHiQez&^W;F7RKOn1Xl|DO-m+vo<7Zd(swc1XQ;i( zWr^BCB|N{Pcx!7dCNlHvz|YwXbDt*e!&S$7*F8VDA+oS_;@)gPsqxMHxw7v1ZjaT) ziLSP)=uH;38j*wPht3DXneoe2nsb~!xO>p8_e=7-^6uEDUeoUz?8Ho6w!1{Ni>xQ? z_2VB*3JeJIgCKj)&=U>Du0QzWz=`x1#<$?T%ng~V6yaqJ{+Z;2B_I5T7uA+vc5!23 b=bY4_^kn0}BRo6W{Er>k(}#445SIKO5;k5k literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/persistenceRelationship.png b/platform/icons/src/javaee/persistenceRelationship.png old mode 100644 new mode 100755 index 39537283d2e37b6c671561caf827ebf64827e238..b9a2223dafaa0bf1e762b0571a02d4878bb60228 GIT binary patch literal 1304 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e|-aBS#}kCkqR63j;$#R}&{Ub0Zf+6E|lg zV^>R4OJkT`m;B_?+|;}hnBEkGUQ3*MK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C~B* zJgD9j+-@<)saGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4&*$><9(M=|z#x;TbZ z+)DcM|Gz!6Y6GiFNl8h9$B&cu9G|r@7Rm~&X8M?`kjL~WH0olp0-FGXqRyHeZC4dh zi5r%c5_NU|7yW(qvw3QL-G8Q&Ym*KwJXwA@d1|f0pP!%ew@p3t=n{{N%p0Db|Mkt8 zf`yW7E4n2%NM2w%ve&_ewPR^zWc}a7^t6N@|9?x%Y<9e}mW!WR_R0{`lH|weP>quUD`Os8QX;nAj)OzoT*6ezr~P9TxMk zIdpApXw=&Be&-$Y8EH=p7~H3>lCfBIsYK!M@N zT8BIRZ|r9OVTV0p9p=d@sWE}9J}wGBpF7lWb$DMiRo=~z9l|Ia zC}I#$+3?BlhDkGnvW9tF^em>NcIHA`fo3P3DH>9V3wckO>|jt{dQ(#20E73rUGa}R R`fEXDm8Ywp%Q~loCII&&#`FLH delta 477 zcmbQi^@e$ZWIZzj1A~Sxe=v|b9N-h;`v3obedmNke>NcL5m^jmBowseRQCh9Hh!59 z@#zaUq(#c6N6O|WX&JaA8oMSLyCu6v7F8tiR3`HRRRRTpD$TvqokH@1lB*`oU9)q# z!q&;sJElqRn69*AhSJU%$}jinzuc=?|8k$&%e@*P4v3+-apTJEGjzAl)ZH;tXU8nv zXM6OY?=|SD_jtZX=fz%~-bT-fE#ChxnErd(`0r)^zgH9gy_)pz^^|{Kcl|%F|L;lt z|NEK$AC(DQQf~zM$E+mCFPK5r*fKgMC9|NUs=mIzfBNDjOIEE}vwr>NoqG;kdG@US z*{fHtzXQRKA3uNn27^C;{`~!GKX3P9pb?8aT^vIy;&RWY^B+q$m6}kaOL)cgTe~DWM4f{nP4p diff --git a/platform/icons/src/javaee/persistenceRelationship@2x.png b/platform/icons/src/javaee/persistenceRelationship@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..a2b1a9149beb6f778024554132d3c1e6829115fe GIT binary patch literal 1719 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%!-*I5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij}FkiKDBrqoakng@K`=tBIwBp`nwZfsu=; znW2%JsX0uqOMY@`Zfaf$Om7N8uMVL91WY_2COp*wIq-C!ng>kmMZi@3DDSQ(Ftg}*x;TbZ z+(rbnlbP7eC063QP`Ev8!);3DW) zec4-jO4Eyj{R=7r1$D#%9e+E`_BA`1w>dKX(#=_UW%KjQTIFPZlwPh?v)(+p^4Wgv znaen>Gj%r{zV_^U_x$<2R&(Duty5AyVQ2T9b*Ae(W$$T^FWgi=tNI{8ed2PD`KmuI~;;Tg4B(70j4;M(c~^%vbDD%JSddew^(fVA*Ul|F5Aze@6V&BmRHl`&^PQ z%zVMLIjF4Vno^(^(}nq`>t=mmDUz04VLLNNKcv6NhA|*gIL@K(_`(HR2Yjs_nl^?# zQ7bxoi-BY7hwPL%zKlqlHm2OQ2~v+(PPFIND~oPudcEhUoZ{4y_jl6Pzq;F9ANcbA zh0A-@3RbE8FnqGMng8wQ#I+#}1sWQAB0O(*{66a~eCg`DPtUdW4mP&)JSqD5Rf}WA zuQj)|^*Jxp`6|wzaGYsBdq&-UvGh$}VUzE2`=;z4gHeKD$&_4BGw&eP(8>S-h)2a?>onVX=TsiCPw2A{h z1)|nJ&hf*^8fh3%_ko@CXy|2lU3`1TsP4{NjZ%BJ+c-(w?a zx-?5q`Ht3WZ+*^~EVrvNZ~KKLx| ze`=D_=DG1ujt z6*ehIxbUhbth{BSHGRq2sfyR`u{q{h?9Fjl7tppS@5;(qms>vnPJ0r4b=&8=7Xq(N o;6K4@9{M@^QvLt3Kj96G457z5&Po)q2!N^*Pgg&ebxsLQ0B3NXp8x;= literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/persistenceUnit.png b/platform/icons/src/javaee/persistenceUnit.png old mode 100644 new mode 100755 index 4198f3f2e53d2f653a6a02e1770470b36963bf45..f81cd03550f1dcd2dbc843cb4f3b2a1fdd37665b GIT binary patch literal 1210 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e}|`OCvW!LstuP3j-i!;^ge?YUyZbVPfcL z=3;7L3e)S7pIn-onpXnTn}X2mhEp#nCFB+WZFWg5$}CGwaVyHtRRH_gDigO`oN<~5 z)tiFbEiO3q>H{644~kc$c!mi96Ay?9Pqjb}Jl&_}0TX)>FjWh%*flUPFzS1{IEGZ* zO8WEvzdf^RLuaGY0VbtyzW&Fa_OL1BEjhxf!2C+{E7OSy|1Aur9%A4$5L&4(IGs`B z!Q12c;w(QczRr-4H01fm-t+(a{C&?Kn=-73oZl(9d$B`X)6qEVSBhOmX*V~;9eKg(YSHXXg zFz$K#f7*!WGz343xnkf^$aI-MzGlv$)ARqo;&R5e{`mTTl|TL*4ryRu ZX5e33wCmDizw4mV#M9N!Wt~$(69BaPscZlM delta 778 zcmV+l1NHp636=(s8Gi!+001a04^sdD0r*f%R7L;)|1U#ehx%_|){*VfNZt`|FT&QzoQc7VF1z z{{8v>`SJer;_RX*m_!Ays&dS#Oz6Q?{r1uK*-`r0Nd4-4ntMaml`yq$9{>92`0?ZT z?4$YXpZe^W`+w|^^Wb;)?68xOf~uT)t(tAEmt&NNV9Kyx>%&*^=djteQU3Ye@Y`?l z+i3afosf=&_xAMv|NQ^_-T(8&|K^_By@|VvN2O8?qDBSTe-EyuX#V~6=D0`w`|k7E zhkI2dvtt+SzF+p|z3t3}@1->Fm>s4`2mbx^{`>ICsDDevwv?22N8Y1G&VnuK&7anz zV7g!#wp9(^jvoH|?f(1h#&RL}(182y&-mM-`L<8_t2DP&3;z4+{`%9lpoZX?BE6zH8S{rTbj_}k&CRsZ3c|M%Vh>$?BPX8*lJikhh<~VsPO+g^_w29t?5))`)JXsU04j7+PE!B?)!y0F)zwj4-Pzf2)z#kn{&?2s z*7Vls*YlL<_VefJ+~rNN@bkJ@E)ALQ0001^Nkl=MqZ?2r`#($t!~Ykj&3YJSr~PDL;D2EJ%);>VmF~amKHT>k895j^ihwHE zEi}3qsu@@PW&{C{mK{48m^v64mB0eRKtnYd;ozC&DHaB%n~X?+2`Io1Wy^qwTR;J= zeGCjP$SS4-ofCj0@C4+(Ho0`T00b~`5)|lTtYKtqW@G~Zz*{63v}kQQ00000NkvXX It^-0~g5tuo(*OVf diff --git a/platform/icons/src/javaee/persistenceUnit@2x.png b/platform/icons/src/javaee/persistenceUnit@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..5babd8419dd59bdbcb4d7c09fa33e2e2045a7fbb GIT binary patch literal 1838 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 delta 737 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 literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/remote@2x_dark.png b/platform/icons/src/javaee/remote@2x_dark.png new file mode 100755 index 0000000000000000000000000000000000000000..35446a0622d2a2900c9046da7ffdd63bd7f3b126 GIT binary patch literal 2062 zcmaJ?dpJ~iA0Lb`Xscyil1@V^m$@2dh8Z<8tl2SQB0@5k6BBbWbC}_!E!uWeDzt0K zC3cmvtEF6Wsor(l=wi23b`>I0)0P*j?IqqbZQA#b*L$AloZsd7d_LdX=Xp+6P~gYr zC|eW)fiP$Lvv}|d=w9O$@K>3dIs-2@kZ(A&L$()E@f9Fqn@A=A0k(u63-Um|C?)X* z=#4-aY!HWpL*d*2s!%4u@O2oBS|W$p2!ywfTFw{7gAgD9W5rS$`epMqG$0ny&|xGl zjw@$^abo{e1-K(MFhrOdFQkajK6JoaO@##{AjAjMk_4%es-~ge>Qdpo?iz~*-a?>w z8v3uK!nr{JQ>Fj`5{Bd^#NpimPYMQ4!n>34t^fgtCt`6#ES~6wCs1(|DxL(qd(dz+ zg=jC8$MSm@3qH}%aS$Y@VzDZf3Zo)oWQtfUowOWlL>4N z6H7%hm2%5lIG0OhOO+5`Dg@aq8X6YBh{Yl*!GpqJG6fhSKcE=6u zw4m3zE&2vNVC77Wb~^r1C{yh;*Tl)*izc%$&)M)G33HQI0?0QBieB6Ir#DOZp(yoSuy(*c0 zJyE1QVI3O!DAB{pdwd+fV*Od4pa0F@^9%H7=DB<3L;Lolnui)|!O;b^WsT-fn}3l; zx&|BL#J>d)zWZa-tlbb0(-(x_^_0}^)x^8x^b8PmY0R8ctmc&dtQt_ybgZpEJwtuu z#hZf&O$H(gK+;cGJvg>Dq(xML`eL8qREM32V6)i*#hNi2;W|#CavS-l5hmXxgR|Y2 z`qK{&vlF3s3u<~9SKqoNJpW_nN%I4}TejAp%B(oe0W6QQ(rnpwtTp)(%7)cj$L8ef zoKw>b?6Iy+;PL3?*knwEm;G9!niGSlNzKcX?es`w_3h|&eT!FA@_1zV536v_1{T$U z*UxNlNJFAGXNqzH9BW!P>O~EAz7Qfe&6ohmCiRPTeH+i1<@yrX_0?@Z>tD=mdu_1a zdf3Q5;!0wUYi^b#-#++s@u~uRYUMv;9C-r?_r|Xl9n|i*>3%c2wZ)+R+T}JvIeN1) z@gUEzC7WDzB{I)&mRB^Fxqo7EMda0?l1AhC%J2byVPSmTCJh{=gfm;%nqf6@?(|DN z!y9!BPv;`?Y?{O&TU`A+{nYM@Rg@0`dbcBl(Rv-h^oHh=sjR^gyu;)nkAo&1Pff%s z+D4bwj$6iYMy7}79WEho*-fsu^<9Q!d_8&ej&GZf{}Ab8X=~h@wzzg$GL&2<5G zPxzIK_c__fmHUu!^t#LX(mIyYoP9cQH{if+Z3nN$!X@;R>$TAw{a52e+bk+03!+ld zrX!lZl9`7S{(&grsT#wqf^V9(J6yNM2aqE{@-8M4#W z>`t&vXij%?ZPl*f`a=mEt+v$z^eFB2PT}=@|Eyw*W!kQ+f_ z@_KXl^@j~Rol1#LV@IMQPbypS%+*_&0PWCD&w|(I)IG6ktvZeQ@hkEutrWlpbFZcrLN8ZNZ zM%DW64uxB@pmFyDXifi?o}|*Rn5F6n?AK?VJErRE#%kB)|LCy5n&07LbF{c&fk1HL ze)npRiSKGcR{zEOD+dbcw-(CxnJ1cVV>2oYx}N9VoXyWM$?2gkG<14*-%(Pf*&}&S h`uG1(`unVkK^(`0A3kR#9nt-v*}j3SYDP@Pe*kRPLm&VE literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/remote_dark.png b/platform/icons/src/javaee/remote_dark.png new file mode 100755 index 0000000000000000000000000000000000000000..1fa0df0d53dfc4d2ad54118edd37d316eb8f934d GIT binary patch literal 1421 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e~9)11DDta|<9cGBk8Gv9NS?b1`r>F>-P= zaWS+ofa!I~PcF?(%`1WFO+o0j#HkmQ5^@WGHoK%2WtOF;xE1B+Du8`#m5JLeW;o4* z>P^Az7IU0>^?{Dj2gNH=Ji~;5i3h}lr&=Hfp6*lgfQh{bn5u<}!$TMtn3z0W978H@ zCH?vT-=0~ufz>5s&I)%iVa7*F3f~x$Ojq3CRk+7;WOBm~-Zn-Lg&7kk7Oq>;z_MRr zJ_ob7wRpsb+voFtt+(5IvHssfSGx;GJslQqy}`qgmYf*9R(0{Y6K4Q;7 zbbsvr5L;bT{B^zkey7AX1IMc!Ou6%xD=t2E;^euLAKw4BUn8Ny9(0%`g!_te+nc5s zL&iWmzOu5m{SF*V?&7kkJIWqNHBaafXkN5Ysd?gl!3dcpZXzqbJ^dZd>X0XThPAF~ z4--#)$8pWG~bwc)=&^Z!5p4;TDP zJHQok{pUiL$IJNV+rQkrar42Y=k;t4e|Y$^y6yAo^R6|uzgr#8^FQkH-rf}M!Ev_d z$A^!HOBZnK88%HaGEnVeT>Noc&lVARX=&-Itlk|});X+wQ_gU7w}vke`S#{$_y7C# ze;KTP$#Y!`h!tc!`rDtE-IX?bZ1&u-iQ!q3vqs^g z=>Gb@eH9-p7~gR%xGewp6nA!mp5=$1m!AXUu+{CVzCs=UmQa3=`%GE?7&pt#X5_hW lCye!|!tD=f=?x6b3|I3WPAECxECMPZJzf1=);T3K0RW0N3Aq3O literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/sessionBean.png b/platform/icons/src/javaee/sessionBean.png old mode 100644 new mode 100755 index 2b3cc8d1236694cfb4be1aa04cf1d98c4eb72f63..4fc9f73944e9131c473fe221ee58feb06cc2dc26 GIT binary patch literal 1208 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f0vBS0hs=Qws}o3u8k=R}&{AV*_UcM<-K5 z7Z+nkGXt1jm;B_?+|;}hnBEkGUQ3*MK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C~B* zJgD9j+-@<)saGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4(Ge`BgB0|TS3r;B4q z#jPcm480FKNF4iUJ=v{0Ku3c$eJRHym8RK~oB6DEteAXm*AGFKg}Wof-8XhOD_Hzy zl!@7T?k`K1*-qtu{6Ze@^uk^obyB(VGL zc`O$GOQ}j$~MpY z;?^?byv0{m6YgGF(M|7t8o#!QYP+N;uD_upv!a%9uam>S+jD<@{(8yBo`b2HA$D!4 z<^!SQ*H&abds4MnanY|S#_xapUVf!nKPNGv-)e2)xs)dcUoYJH)7bk)Z_DRL2A!G7 zFZML9Y@av##&Ipbf($7!ZKjY1bxohxJKmftH*#8;7_N5drpsQV1$zRIJ7v9G`=85z YL1S;=6>eb_Jy2QV>FVdQ&MBb@013*amH+?% delta 690 zcmV;j0!{t63BLu98Gi!+001a04^sdD0gO;gR7EdCVE_OBVqQ;OTTf|VNn%}0Tv$k3 zSV~-2N>^1%R#Zt=R7zGx)yRZ~b|TS-(+I&E4raAZStTrDeiK|qR8hI2)EXFi2< zMVNp@Ttph5ghYsSL}*hiPd*@ZUNo73M`chbgJv>UL?nq|A%Bi?J0#=)Ak+XL&;TUu z044AMCh`C#^#C>h5IFx7O8+QI|0_|5NKuJMQi(`Zi%VFOS7G`^WBNsJIR$g{TZ>v2 zk4goTP6(A{9G7<}oLv%}gG--Y3Zq*Jt8N*sY7(z<8nJj3vvU};eh;>J8n%2BwtyeF zbsD&a9lCN7x_^EbyMZ3Nfgikt55kWi#Dg8ih8@O>BgTy+$&e<>nlj6iD9nc*&XXu2 z;Q%Q305SgvA52R5i>wJg%K!iXCUjCxQvd)I8bnfOYH)RVdw+t4n#a!7*V@|N(zet50`006v6L_t&-S7TsA0}PA|%={A4l49%(KmZnC67a5WZmLz_ zg$Zz|1b^gLRhCz%azh1#iW^=1bMkVtlz1QlG7a^0&TcUg;i2-ZU;**$!jc+$N1s4X zD`BvJplx(!QK?r@Mx?I;Sb#;=FC;9g%rM>9C`D8hzS(>g^GDLuZPtL-_&_GWoRvjw9z$Rsvsw*3(mZSj^fC5o%wM2~sWC0N{KnTD9 Y09c(P(W@7arT_o{07*qoM6N<$f&^_Xy#N3J diff --git a/platform/icons/src/javaee/sessionBean@2x.png b/platform/icons/src/javaee/sessionBean@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..b87bd49fee883ecf83fe6eb01e601e1ea34fb68e GIT binary patch literal 1434 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%!-*I5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij|3xi<615g|UUXg|VTbtBHlBfuXahiLsHJ zk)xZ5kp)bzOMY@`Zfaf$Om7N8uL(}Qpp=kX0JPa9wJ5VJHN~wcKUV?lW2;QuZZX7Z z9#n4%ZnqfW)TVL91WY_2COp*wIq-C!ng>kmMZi=YRP)b-fq{wN)5S5Q z;?|q#r?p)IWsbk!b4Ir1ShBm$6y8b~E^fu6hYq!wddjJC);FG5tTyH7ANFfzIVaej zZVVJNdoyLtp6Bz5Yx~b#DY1T)$Y(b4^oKXrtrlbbS@3AScfSC!fs|7fNEz4iW6I zQu*MN6yf?n)3+%{wJMZFE_PCia^TY{2}M4~-HTk}PwmrJ$#Uf9h@R(vqIva^Struh zb`(gNol4RAIB7~p=xfQTVP(n%%zQc1l6Os9!ToaAGyV&wxXTqPu z9XIv6lQ+g^Fr5iKFy*;bu{3A1q3(eUrbWG{RD^|$A26=5@HxYBydcQkVavibvr8{< z_2urXHr}x?)oH?x{0`ei(P0M{1-)aLy2$ET5}!e{1yhgCgdT5CFQa630oI-#)||;t z!wx)Yn0Wigo?q2*((etNe{an^LB{Ts5!zc#U literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/updateRunningApplication.png b/platform/icons/src/javaee/updateRunningApplication.png old mode 100644 new mode 100755 index b7f806f47818be49cab088a972623cf198ce2ebd..722553268f9d2c697ccb6e9313c229a2756ba12b GIT binary patch literal 1463 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f08$XE!%D7gGy!3u8k=R})7IV^e2K15*Q6 za|=gDM+=x zJgD9j+-@UI2$*<4On9mVa^UGcH4m8Bi-4*6*f;xC3=B*mPrb zi(ksLYvr62^ubj`JV`Q5vV8KKr7DeY#Wz1^KWR|*zI3K)#L-QXd`lX|-5&f}WY3s< zjkjx_ly7-?)vNiB>j zoWbyJ)rt)#R(@x>#eT2&&A$97w|{T`er2y$UOnrOhE7pf((k*|D^gd+9Z1dFGAs8| zj!a0cenh9sm%W##&fBcB_{3b7dFr{6Y>%ET-}yS)oh8Iar*_7%@B5$a-uHN$Ek~2V zK64(~8M%!o&$x-4ygmQ9+V)*@l$o^j>{j-^+7))_yv;SghcB5G?F*lOH4r(!@9gvM ie2@PN{J8!@_W%Q{j@ZJzxBcrtMX9H&pUXO@geCxjawX*e delta 617 zcmV-v0+#)^3xNfYBYy%&Nkl6h(l=Ws`|ktvS{Tr4Knvg)VL;oa@7_QKAq$WF z51f0LkCf;H6Sl1ze}D`Ko`3Ye?~MJtBpYDWy#9*EY4P zR>hdrt@bjjU9Al_z@lMohfDv?|GqO10u9)A&Awv`KYzMrem!lHLZ)W zY+R=RHvnj=jD5%E&mL3v{`Z=`@4s{3j%!v;>)nAGc#JBR^8&F0(17XYb!%o>w`^#& zY2BC#G=vo;Az3!8jd1SW{?8L=h{u#Y|DAibe*s4CTZ{U&&w#dq3_J`B>~%nkrU7Xs zlrVr{>td$$kuJSEK7+!;W73{quKhc|0u6fS)V=MQQ_uEmK)l7VbE^?XAR=R{hINvT zo!i=7`*vP-pRoIz`^4REf%E|&zsRX;n;_O$pacT|HnN&%IE?>{00000NkvXXu0mjf DM|3-M diff --git a/platform/icons/src/javaee/updateRunningApplication@2x.png b/platform/icons/src/javaee/updateRunningApplication@2x.png old mode 100644 new mode 100755 index 6c5e3f732f045503ccee159c7b8020e6e31698b0..acd4a9a665eefb870028ce4316722b9241fbf454 GIT binary patch literal 2430 zcmaJ@c|25mA3m~AmU5Xa7h@FaHXFk*BFk7t#xiztGtC@K%wlFR=z7UmqD6UYQnv6` z6s-tZaub=-6(aQ!J&tQw$0I+K}pG~1gfIQfKFpSQ$f=|^q!C`co72MC1geI}=!Em~B zJO}iOck`ykM^G(j@ZHw1U3|P)fC2I-Fg_!a$;I=n;9qs|;{Dn+3J&`U;YC=%|4z!E zp1aX^?U(iA~OW3Vus1rlS5!J1=s!i>=v6BOD6g)u>3jPYm-JjN9E?SYG6$l`g z%AvD)bQTk~rbyY(iso6t#hLzH0)zcsmdX9rCUL`1d<&2i=?7>onf&e*}!&fI}u zYG;DBFh=9nxdaw9ngKF->s;DDT*42zYffOW#gPdhhaLmc962lo>}$n%`j2z5{h{7B zF73y;*!_@;5+{RNo9lngdHqUkp0(|F*NP9{eGf9lX6J}qJ=~eu3jop|hy+`2{=hxI zpiADM>aQ!-Hy8GHhKHQrG)%xj2=3X!kK2v2j&*eDToFL()ICF@ZsnDwV@p&J3N3gV ztU#aN+#!pA+v|1+<&3TDlw%S+xy+U2sm8g-Kj(AbaPAi`r?*b#u3oKboU0Hu)u^;# zR`aVOMRKbtK8q7ordMZEUB1ka)vAgj0;68l3|@Zq1fdUUJZnD&&D^g_YF3T30z|=$dj;J_F27jR?M)k_`xo z(5fR#61}@Jv_^t=_y3gEl>^*_n&}X?9(i@dI-Rp=x7z*?^80&OF?V##du4vH!Q)Nh7Q+<^jF zxTz+2i0lpe^SsLG=*Yc5|_}rR%e51z2pXq|M-PyY2R|xnLZ>(M#y6J#5qhzl18? zY;n=<#8M*!NGp38Rx*V3-q{9~>Kc=MyQT20T+z5@q*{d_puOmk@tCG$1ys_eXZQ>~ zNN|C&6FZc5!lWU*@H*4p1$%`(65eHJ_Ra%3o{~>os2_L3AMt3#9Z*NRDszav7)`hweT01zV;CAL`U7Rz5lt+oUq)4K0l`PrG?A9Rs0;efzc! zJd#L74t)uLgiOou?nW=x^k@JI=g;fAqx+A!Mv*8}bK|bFVVkwc%9E?fL49uJ64y9s zx%88kb-qbsB*JRKUDf9ogEBX5E^KaZcu{icee(Nl{m-2|Y1ftR9j&A2PF|J7F{2|m&u4MhT|Mmw=G3<9SZDY>ST1eJm)*313zL#L+>6dvL=&40&T+>SQ0mz zL6i|h&M*qJGN8aoX`K4~@da&I2y!TSL&-Dr(TW0}kz|BjE)97Q*Za_NxpAom29vKU+VJ=QLBiyGREOPft8@6?2sX zzs4k(FSef0_3RhI6KK8FY{z=Y0k*UC`+M4ydqC|U!6y>OYIKBG531iDW#;o%wQ*0 z+OYezutZe{RlXj;e<+oz-b6Bl&t4I=RH;B?v-7?HF)B8FwWd?vm%w?mVX}neJ0@3D*lXS8rO5X&!xc1-hAAr z{KO_FK$twa3u4^Udi!8f;XXa?#XD#78F$WV+x5H@BpSUq`-^tHvv$))>6vy|+`Mg&V3aUW}MH=a-q|hKLBZ#s_ zfe=^@0;2{>9}rGdYLbm2Cq;vdiW+1Ty=;Y zoxjUDzt1^$n(GS$^?sZ2IEh!Lz_+__19%HVTPy~nC{l3(V#~c%)>@@a7P)oT(KrFo*VEK#z780PoD zK$Dqa2+k`a$B|kUMWqJ);=X>rIEgbK;l!>ujxnBryoG`B8raI_N3GRqhT*)E1>+Hs z3;pAt<#o`jtfWZT;@yU==$c+{u#2>WJ-Rp`47ND1^ncrRgm#1|)2x%K?y6j+Y0RcJ z1nXw)S}jgA^ z_cxWEDI3{Ka6tKOHZp;B!_|kJhezLG;c9;^ zPRwyt(^4vqxw?X-|8O8-lOKru>dC^P9_}R1bKWcUFAh&~Znz1|4~6U;_-%NG_;Fl{ zy+0{bI`7nkoIb9l$rr_Xb`YGunUT<8a(@bPkdfw$-Fho$LG6yZvTo#cq{6Yhi2~ax zxt*;3i(o5jud>E=<0$F~B5QNxI>(7WRyaVOKj$#t>O(2c|%V&Uz2aco{3n|Svj zs=7;ic4esjarj`K8HvPT&VPwvwmBhoB*4}akxVya_Zu6>+o{DniXzRTl{2FcRFWgT%YGLuo^Kg`y1>dLMJP z+fLr!rf9Mext3u?7L1n&!(8AD+El9!jiMVVL_WNXR2O<*tAn`ms}q@KjDP!921aTD zie(xwyN$r53s!SqaDUEge;Oygf;#yp x^OO&xybdE=rs<;b6_fOG|95QEW&ZpvzyKkB#k&q-x7Yvx002ovPDHLkV1h2E@__&V diff --git a/platform/icons/src/javaee/webModule.png b/platform/icons/src/javaee/webModule.png old mode 100644 new mode 100755 index 7e93bfff0f5e46742c2d8b03ee55298bfe51240b..10be8d585968bef634f67aa8a32006a69172a600 GIT binary patch literal 1235 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f0*_XBRgMa~BJ93ll>_R}%|UBNJy!XG051 zOA{AEBS)BCm;B_?+|;}hnBEkGURRuYK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-QtAP zJgD9j+-`BksaGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4)RTxSPA0|TRnr;B4q z#jT`2|Nq-Ft2T5tIvrq2uJF6(y((B@`*W+{cTI^24BQi6@iBZ9RjA{7>ODE>fR~us zwB>ATwih3{X}@9a&sC=n{QP@$ySh%-X$eWmeqo~r2kP0jxmV5U_ik}@kzDI?-!SFW zo5X~F->1Dk@N@O?e_!TrP!M4YmzcS8^1V;e25hJ2Cp~!dAnnJO=IIZA>zlDv_g?4m zy1y=0`AO4qA0Hp5S@PvZC%E>qv;CBBdv9N7yyyRq{)e}mIotYs{xq>1W|$KG?q68i zj-vN+&3%8o*~*sH^K3q6ZG0!;LR!W7vmORgOaK4-`~8(*x6~%c<_ir%1vrqX* zLF>_$ho|Ki-1X@(pBQ_fL;0lsuaA$vcUG@i zoT=#vA%;7A?XtO2^q7)LSA6iD@GN%cvE__RJPeJx1s``Z1U~{5GoG$~F6*2UngFGH By8i$G delta 734 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%0Dfd2aE%-zmxIrhNbY{{M2e zNr5RdJ|F0R_+PxN?RI&K#JUYL3~GKdZ<*csQEd~q#KzeNfBZS#e_#FG#x5gWt2GA- z-mPXjTt4qUPyN3?zuBksB&$rB+ZcHCf!WVBniF<%bX;9{$lP&O`BSO+Y#as*0glBw TD-PfA1ryB+hj=}4W!t0mB>7>TBtf)Y&+4Zh|FR|M7v)c3l zJG8vp*#SPe$$#VY$>a3~Ubx%ep4{p5>FKlUsRixLCG^=-`TV*3!vg)e1OCti|JEM= z-!lK?EdS;}|L$o2@p1q6egFH7|Ng7BpECddpbgQ_+W-InI&@M_QvgFlU}0-+JLM^MCa9_4W4m`1<<#{r&y@$Ap%( z0001-Nkl-qiGRJ}nb9@^9qegFUf07*qoM6N<$f__aaSO5S3 diff --git a/platform/icons/src/javaee/webModuleGroup@2x.png b/platform/icons/src/javaee/webModuleGroup@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..7bd5f99fd77f7e2be91afe0639045f6271912a2e GIT binary patch literal 1721 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%!-*I5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij|wGnX#FrmXg^8h|tBI45g{zy9rLnP# zvx%jVg%M1zOMY@`Zfaf$Om7N8uNzLipp=kX0JPa9wJ5VJHN~wcKUV?lW2;QuZgIwG z9#n4%ZnwDL)TVL91WY_2COp*wIq-C!ng>kmMZi>@*)O30%q)7IE{-7; zx88(Ddxr#y{QEYuxM*E(vEkM^0ec#jIJVk~xLji8-dbf?%~AbAcS{u)Q@z7^C6O$+t6xvg9K&1NK+mK~TLxgqWRy$$Doo!frx*EJqv z9_H#yrf)YcF&ufzK0T@`Sd(kp&SfRbcYlnrV$EcLKx^-hVwJu}XG~=X+B9$3=lyT> zxABBowbX&at> z`cQ|q(!D;m3tNjA!)t19mM(4P)wdHf-w}PUeC@%~$qj2}@!$B@t#LK;gye&R+%gXr z<|JM^%GU)gD0R4MX!zFgbHUjgdjxFGIYxxG_CW*2r-TGQcqJUNYsy+Y>3ZOVy?yPf>$_ES|D6$HD|xm$p@+9(FW(QN zxjUxb>{}4*-gdV+AmHGW?;3M1aXp(BGUfT%!yVoRLPGPth%XLaYm>>!T<$W_aY~NG z5w!<*x3lfH?pyehXA3`@;N;RDcZ`bmPGM?R-Mg=ZtIBDgdKAL~F98V^+qP$$%og4B z+jAqZI_1oo=O-rhecjQtbVbA08N%`DwicpMhfnlycet%y!yxeF?1J@r%)7j9TjXx- zoijPLGNfkSw#6ptl5cB&RxFKgWq`rAmoII$w~-6? zRa=%~uT~+YQDKqfp8lvOQl0Cm=d{WB_Y=>x{{LI-rIg}jSo>C4-<-WiQy((d!s5t9j~(9$tR`tJ1;rbRUc2>63q~O+%VjI-K!^!XCGJE j?W{a!9z1Q!d?p@-zOHE51#+^=pvuJ4)z4*}Q$iB}fx3&O literal 0 HcmV?d00001 diff --git a/platform/icons/src/javaee/web_xml.png b/platform/icons/src/javaee/web_xml.png old mode 100644 new mode 100755 index fc32397ca6fc2cea145460f48599b893aab27dfa..01d02b550678a527681ccad9a2f059ae382ee6a9 GIT binary patch literal 1398 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e}|~3nL>VQzHv=3u8k=R}%|kV>4$HXE$d9 z3o}<^0}Gg5m;B_?+|;}hnBEkGUSphkK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C}^# zJgD9j+-@<%saGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4*6v*g|D3=E8~JzX3_ zDsCnH`TyUZnd8h{Yw<$|c%>S42p;qF^JBa0!*irrLt&k}c*?;=69l^@PL%dJ>=8fJ zzPm;6F1O;J*#CdvdgO3_g6L<>^0}mRQ&fZiR5c{F9_kTUx zB}V0Q4l#AV#GSAHdY@4Cwe5X^o!NmV@6Y#M@0Wabq_FwtTE;on!D6+$Ia2I8O;VXT zPcm$@3uD%^|9g7FpDX%1^8b@vY8#DHo3zv^`jqN9_MG{Ydg>LO=`VlSp4p7y{zF1PP~;uU)!7` zK0o$ji(L5qK*{g+hrj#p^SrnJm%QU!K+{8I<^2lWK}npAYLm8Vcz*c*zq7nv+c;)t zdB3CkKUHSy%l2)N&*w_!8Dtpmd7kFNdBilJdBWFn!~efOKN6h1=*b-RI-b9WvL*8D zpQr3Nlyv9=^9v!iW%cHqscN;c)6$C@y8hq)t$Aw0iw#VNw{$<_xxfE^+K<1#@7o7F zN^v^v^5Vu~Tjd3O5`oX`>;LZF_-6g@|I#wA{{R2;vz%EYeWUjEA0`eBj0|P|7aScp R4?hQ$gr2T`F6*2UngF~^5d;7L delta 405 zcmV;G0c!sC3a$f?BYy#PNklG4AaLzf&n*?4Z&vs z0~QPtmjdGJFhg(}@L{zd13E@`4NM%}fM5`|b8uq7g<)#28UPgdPa?)`!1OYY|5;J4 zV0L!2E0|BT0U*U8zRoC$LwsE@49VVn8`FTp6TJTe{fchW6MrC{-;v{9eQmZ+Dv(_b z;$t-c?1EAcu#HHXJ3|`goGI+>`4`){_it?;x8z>zD11o4NP@ zn(fp7e}B;U|No=x|JRNr|MzX%v6z@xsCMi*_NRH#lK*e6*ZhBeqx=8w2l@YhUQhfV zRx%;bcWB)CpP0N*ZP$79chJ1c z|95Su{{Qc0;{WzJv;GInz4YIv6c51at#XFw6@e3{niT(Wc`V*k%wP77GB*43pI#C=LfY00000NkvXXu0mjfE^gC| diff --git a/platform/icons/src/javaee/web_xml@2x.png b/platform/icons/src/javaee/web_xml@2x.png old mode 100644 new mode 100755 index 1b9d1582e236dfffc6e755cf1c995e02ea674009..2c6a0067d0bbf1e24598fbd0213fd3e526ec8148 GIT binary patch literal 2033 zcmaJ?c~BGg9#0`0LG%g8>Cq)nsz|a~!jXhSL&Bvbg#c`UZ+#xpxwL?r z|IGJqh0%yKB@7B+6iHEu@WCZG=t3!392G3Y5LE<%$QHU7nuuTsnusU?4hLAfRjLpp zYINOOIFH8)R-l+rA%cUsK4e^gDwT>^o_?P09Ej%1@MO>-$ls00;QBGxkU!Tgz?DPi za2B{+M3f?j71#n-{3n;bC|BnMxe|}eg;mm2SR9~2dZuEJeiTirHKAP^IRx$Fo{=Z&q=Au*9FVrOn% zHKm)zBp3!H+PBl}a%-l-GNbm&Eh-GEs-?jqx6F;N&U+Nzxbf|55YKI_*(OP9@tCvW zWwzGX_hnv3g!z7}&X&ou0%D=wxLtxx!bsOnYQZvn2fD%2;4LG+9?qEFE_uFl+PCrW zzjJ4Q>*%|(k`%WFoJX2K_>(MNlZzeSum1q8FM*IZ}k`c2X4t>2`Kx-+hMm_ju zm|vqe$+0arUyzkg*WL>ci$A5x>O0Gr;&&qkf;DHK)C-(^Yy-#)uj)_cOjWU&=5Hpu4H4~NjrRt(LcN(M70flO~Sld=I zVU=A`W!R^vskmf&H`B(fzCPO(ohLb>*R0GN(wWCT3?nD+4w^L2{eWzC^y9+K9e)3_ za5ny`hR@Es=|!rGJ@UK#j&D9ZXZl~eF8OCJ=q5E={do5hnML;e&5`L%lA@ApT_qXc z$t6FVxF{d(AGo)hkmy2oLYO_ zc5u#X-S}FaBLqOD(gO{`!<=TDRDUacl-e+e9B7Jjm5`XER zzkuXMJGGYN<`hgt)vjJ*x96t_qJ#Izi+t04Vv%IbG<`(;L17D;^xS~mv?8|BVrAcQ z(n+&;t+9Q`x9rSRW6lAO*`4&k%a0p}dfP5TYx`~&4qVUZzU69grohv2a!hnKW*7hB zf$tdIHpLjw!y{^ZM$+Se9$|k`y;F@U@C52~({!}#^w%}!*9tcdb~rnS*nBY*-a6n_ zS7%6K-zj>%r~k*nRis8k@K9;7dVJ8ZffH`IuhXREVnP+~BjS@?y=^hRFTV^Jh`zT} zEBnDFd3KBgezYef5Oiud=GAQliOKH33bQ(``$^Vaqb;%k zX^)FVl%v_Y(?(uQBjX1zhLRi7tWc+nS2J%+XavjAX~bXuw+p(TaIin0`yao!&;Ji} CGdgGh delta 895 zcmV-_1AzST50wXyBYy*2Nkl{wfl|M3D)(>?S5jqHGM48WSXoe=f|*kW!6gna<^nA-x8(7VK;vKhe622&DA39OKu z6Gq^}$gz-){ePXaAHYV4HEJ^0oRWOAxO>toy=})sSj)Hwx*7MpA;X583 zfuQEOX;n=fiIPG_tBQq2nSyS45pp_vFx;O6%~%Nd#gCcPilz>S0jxksQ!AU=d8Gxo z+n_`0%SlL;D(F5I17FjC^#ouw0{YnqM;x7=PdZ2;~5|wJsS0jDOVxGWzGB z{Zx$Ko6mqBVlbQ8Fs=*mYk>*G&={-r0+N1O{!aA2B>3fZ> z#Z1WG)<88X!HV_~^b104Oz;Rm1elo^jLGBSS@hwJvjBwd`6Gtw)jIHM`oOHl02>eR zb2*ck=YK*sngzoW58o!aSXA(^tBb{KuK=$6F2j*O$EId-$sS<>>SmBwQV)Cy2iBrV z-Fa;7cUR)Ds*Z<#Dhf%}U8rjmK~UO^bD2ZTkyk|K0KPR-2rui$&U_@8mC!v9R-yQ= ziH5ko9JgB*a7(5^kZ1_>9A_=dg%|S_hAU+xaew0+g6n6{+VK?3V&tCYqp&>8M?}>y zf*NMwFPny^NQDde@3)-=AoUfEsND<4*yO Date: Mon, 22 Dec 2014 19:27:50 +0300 Subject: [PATCH 07/34] dist for UpSource: include version to sources file name --- build/scripts/utils.gant | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/build/scripts/utils.gant b/build/scripts/utils.gant index ba22ca404a99..fca3be9c9fbb 100644 --- a/build/scripts/utils.gant +++ b/build/scripts/utils.gant @@ -628,13 +628,12 @@ binding.setVariable("zipSources", { String home, String targetDir -> notifyArtifactBuilt(sources) }) -binding.setVariable("zipSourcesOfModules", { String home, String targetDir, Collection modules -> - String sources = "$targetDir/sources.zip" - projectBuilder.stage("zip sources of ${modules.size()} modules to $sources") +binding.setVariable("zipSourcesOfModules", { String home, String targetFilePath, Collection modules -> + projectBuilder.stage("zip sources of ${modules.size()} modules to $targetFilePath") - ant.mkdir(dir: targetDir) - ant.delete(file: sources) - ant.zip(destfile: sources) { + ant.mkdir(dir: new File(targetFilePath).getParent()) + ant.delete(file: targetFilePath) + ant.zip(destfile: targetFilePath) { modules.each { JpsModule module = findModule(it) module.getSourceRoots(JavaSourceRootType.SOURCE).flatten().collect {it.file}.each { File srcRoot -> @@ -643,7 +642,7 @@ binding.setVariable("zipSourcesOfModules", { String home, String targetDir, Coll } } - notifyArtifactBuilt(sources) + notifyArtifactBuilt(targetFilePath) }) /** From 5d80fde19b64286c752151b0351ae276213187e3 Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 22 Dec 2014 17:21:49 +0100 Subject: [PATCH 08/34] JavaPsiFacadeImpl: remove unused method --- .../src/com/intellij/psi/impl/JavaPsiFacadeImpl.java | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java index 13232679dcf5..b48ca53f6c75 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java @@ -279,18 +279,6 @@ public class JavaPsiFacadeImpl extends JavaPsiFacadeEx { return result.values().toArray(new PsiPackage[result.size()]); } - public PsiClass[] findClassByShortName(String name, PsiPackage psiPackage, GlobalSearchScope scope) { - List result = null; - for (PsiElementFinder finder : filteredFinders()) { - PsiClass[] classes = finder.getClasses(name, psiPackage, scope); - if (classes.length == 0) continue; - if (result == null) result = new ArrayList(); - ContainerUtil.addAll(result, classes); - } - - return result == null ? PsiClass.EMPTY_ARRAY : result.toArray(new PsiClass[result.size()]); - } - private class PsiElementFinderImpl extends PsiElementFinder implements DumbAware { @Override public PsiClass findClass(@NotNull String qualifiedName, @NotNull GlobalSearchScope scope) { From 19b11f5b3d7772532388e18e4c2869d319045730 Mon Sep 17 00:00:00 2001 From: Sergey Ignatov Date: Mon, 22 Dec 2014 19:31:01 +0300 Subject: [PATCH 09/34] update javaee icons --- platform/icons/src/javaee/JavaeeAppModule.png | Bin 1011 -> 130 bytes .../icons/src/javaee/JavaeeAppModule@2x.png | Bin 1200 -> 253 bytes .../src/javaee/JavaeeAppModule@2x_dark.png | Bin 1196 -> 245 bytes .../icons/src/javaee/JavaeeAppModule_dark.png | Bin 1014 -> 133 bytes platform/icons/src/javaee/WebService.png | Bin 1321 -> 384 bytes platform/icons/src/javaee/WebService2.png | Bin 1441 -> 516 bytes platform/icons/src/javaee/WebService2@2x.png | Bin 2079 -> 1035 bytes .../icons/src/javaee/WebService2@2x_dark.png | Bin 2046 -> 1022 bytes platform/icons/src/javaee/WebService@2x.png | Bin 1938 -> 843 bytes .../icons/src/javaee/WebServiceClient.png | Bin 1402 -> 474 bytes .../icons/src/javaee/WebServiceClient2.png | Bin 1506 -> 598 bytes .../icons/src/javaee/WebServiceClient2@2x.png | Bin 2242 -> 1204 bytes .../src/javaee/WebServiceClient2@2x_dark.png | Bin 2198 -> 1201 bytes .../src/javaee/WebServiceClient2_dark.png | Bin 1494 -> 593 bytes .../icons/src/javaee/WebServiceClient@2x.png | Bin 2128 -> 1072 bytes platform/icons/src/javaee/WebService_dark.png | Bin 1430 -> 506 bytes platform/icons/src/javaee/application_xml.png | Bin 1189 -> 252 bytes .../icons/src/javaee/application_xml@2x.png | Bin 1458 -> 419 bytes .../src/javaee/application_xml@2x_dark.png | Bin 1453 -> 406 bytes .../icons/src/javaee/application_xml_dark.png | Bin 1189 -> 255 bytes .../icons/src/javaee/dataSourceImport.png | Bin 1451 -> 531 bytes .../icons/src/javaee/dataSourceImport@2x.png | Bin 3042 -> 1973 bytes .../icons/src/javaee/dbSchemaImportBig.png | Bin 3042 -> 1973 bytes .../icons/src/javaee/dbSchemaImportBig@2x.png | Bin 6391 -> 5517 bytes platform/icons/src/javaee/ejb-jar_xml.png | Bin 1335 -> 378 bytes platform/icons/src/javaee/ejb-jar_xml@2x.png | Bin 1751 -> 655 bytes platform/icons/src/javaee/ejbClass.png | Bin 1528 -> 558 bytes platform/icons/src/javaee/ejbClass@2x.png | Bin 2375 -> 1200 bytes platform/icons/src/javaee/ejbModule.png | Bin 1154 -> 244 bytes platform/icons/src/javaee/ejbModule@2x.png | Bin 1508 -> 523 bytes .../src/javaee/embeddedAttributeOverlay.png | Bin 998 -> 116 bytes .../javaee/embeddedAttributeOverlay@2x.png | Bin 1023 -> 138 bytes .../embeddedAttributeOverlay@2x_dark.png | Bin 1025 -> 141 bytes .../javaee/embeddedAttributeOverlay_dark.png | Bin 1000 -> 120 bytes platform/icons/src/javaee/entityBean.png | Bin 1196 -> 266 bytes platform/icons/src/javaee/entityBean@2x.png | Bin 1394 -> 393 bytes .../icons/src/javaee/entityBean@2x_dark.png | Bin 1395 -> 394 bytes platform/icons/src/javaee/entityBeanBig.png | Bin 1312 -> 343 bytes .../icons/src/javaee/entityBeanBig@2x.png | Bin 1582 -> 528 bytes .../src/javaee/entityBeanBig@2x_dark.png | Bin 1592 -> 529 bytes .../icons/src/javaee/entityBeanBig_dark.png | Bin 1311 -> 336 bytes platform/icons/src/javaee/entityBean_dark.png | Bin 1201 -> 263 bytes platform/icons/src/javaee/home.png | Bin 1480 -> 513 bytes platform/icons/src/javaee/home@2x.png | Bin 2229 -> 1091 bytes .../src/javaee/inheritedAttributeOverlay.png | Bin 1123 -> 234 bytes .../javaee/inheritedAttributeOverlay@2x.png | Bin 1361 -> 453 bytes .../inheritedAttributeOverlay@2x_dark.png | Bin 1345 -> 456 bytes .../javaee/inheritedAttributeOverlay_dark.png | Bin 1107 -> 232 bytes .../icons/src/javaee/interceptorClass.png | Bin 1505 -> 554 bytes .../icons/src/javaee/interceptorClass@2x.png | Bin 2314 -> 1226 bytes .../icons/src/javaee/interceptorMethod.png | Bin 1468 -> 537 bytes .../icons/src/javaee/interceptorMethod@2x.png | Bin 2323 -> 1287 bytes platform/icons/src/javaee/jpaFacet.png | Bin 1198 -> 305 bytes platform/icons/src/javaee/jpaFacet@2x.png | Bin 1806 -> 881 bytes platform/icons/src/javaee/local.png | Bin 1418 -> 461 bytes platform/icons/src/javaee/local@2x.png | Bin 1919 -> 837 bytes platform/icons/src/javaee/local@2x_dark.png | Bin 1918 -> 839 bytes platform/icons/src/javaee/localHome.png | Bin 1467 -> 504 bytes platform/icons/src/javaee/localHome@2x.png | Bin 2050 -> 911 bytes .../icons/src/javaee/localHome@2x_dark.png | Bin 2015 -> 884 bytes platform/icons/src/javaee/localHome_dark.png | Bin 1465 -> 502 bytes platform/icons/src/javaee/local_dark.png | Bin 1415 -> 459 bytes platform/icons/src/javaee/messageBean.png | Bin 1235 -> 295 bytes platform/icons/src/javaee/messageBean@2x.png | Bin 1572 -> 517 bytes .../icons/src/javaee/persistenceAttribute.png | Bin 1382 -> 425 bytes .../src/javaee/persistenceAttribute@2x.png | Bin 2033 -> 955 bytes .../src/javaee/persistenceEmbeddable.png | Bin 1198 -> 281 bytes .../src/javaee/persistenceEmbeddable@2x.png | Bin 2307 -> 1242 bytes .../javaee/persistenceEmbeddable@2x_dark.png | Bin 2315 -> 1243 bytes .../src/javaee/persistenceEmbeddable_dark.png | Bin 1201 -> 280 bytes .../icons/src/javaee/persistenceEntity.png | Bin 1208 -> 286 bytes .../icons/src/javaee/persistenceEntity@2x.png | Bin 2339 -> 1249 bytes .../src/javaee/persistenceEntity@2x_dark.png | Bin 2344 -> 1253 bytes .../src/javaee/persistenceEntityListener.png | Bin 1505 -> 554 bytes .../javaee/persistenceEntityListener@2x.png | Bin 2314 -> 1226 bytes .../src/javaee/persistenceEntity_dark.png | Bin 1214 -> 287 bytes platform/icons/src/javaee/persistenceId.png | Bin 1429 -> 447 bytes .../icons/src/javaee/persistenceId@2x.png | Bin 2252 -> 1119 bytes .../src/javaee/persistenceId@2x_dark.png | Bin 2254 -> 1128 bytes .../src/javaee/persistenceIdRelationship.png | Bin 1357 -> 399 bytes .../javaee/persistenceIdRelationship@2x.png | Bin 1959 -> 834 bytes .../persistenceIdRelationship@2x_dark.png | Bin 2003 -> 860 bytes .../javaee/persistenceIdRelationship_dark.png | Bin 1388 -> 400 bytes .../icons/src/javaee/persistenceId_dark.png | Bin 1431 -> 447 bytes .../javaee/persistenceMappedSuperclass.png | Bin 1355 -> 398 bytes .../javaee/persistenceMappedSuperclass@2x.png | Bin 2629 -> 1462 bytes .../src/javaee/persistenceRelationship.png | Bin 1304 -> 342 bytes .../src/javaee/persistenceRelationship@2x.png | Bin 1719 -> 668 bytes platform/icons/src/javaee/persistenceUnit.png | Bin 1210 -> 315 bytes .../icons/src/javaee/persistenceUnit@2x.png | Bin 1838 -> 870 bytes platform/icons/src/javaee/remote.png | Bin 1411 -> 453 bytes platform/icons/src/javaee/remote@2x.png | Bin 2067 -> 905 bytes platform/icons/src/javaee/remote@2x_dark.png | Bin 2062 -> 905 bytes platform/icons/src/javaee/remote_dark.png | Bin 1421 -> 453 bytes platform/icons/src/javaee/sessionBean.png | Bin 1208 -> 306 bytes platform/icons/src/javaee/sessionBean@2x.png | Bin 1434 -> 503 bytes .../src/javaee/updateRunningApplication.png | Bin 1463 -> 575 bytes .../javaee/updateRunningApplication@2x.png | Bin 2430 -> 1629 bytes platform/icons/src/javaee/webModule.png | Bin 1235 -> 364 bytes platform/icons/src/javaee/webModule@2x.png | Bin 1755 -> 834 bytes platform/icons/src/javaee/webModuleGroup.png | Bin 1251 -> 373 bytes .../icons/src/javaee/webModuleGroup@2x.png | Bin 1721 -> 800 bytes platform/icons/src/javaee/web_xml.png | Bin 1398 -> 463 bytes platform/icons/src/javaee/web_xml@2x.png | Bin 2033 -> 994 bytes .../util/src/com/intellij/icons/AllIcons.java | 2 ++ .../icons/OpenTerminal_13x13@2x_dark.png | Bin 1134 -> 223 bytes .../icons/OpenTerminal_13x13_dark.png | Bin 1083 -> 115 bytes 107 files changed, 2 insertions(+) diff --git a/platform/icons/src/javaee/JavaeeAppModule.png b/platform/icons/src/javaee/JavaeeAppModule.png index 33406cae8c2b520d697c295ddd78719901db24f7..ba55aac029e7d933cf14aa1b29cfad59ecd777e2 100755 GIT binary patch delta 101 zcmV-r0Gj{v2Z8~RBwk5LL_t(|+GF_t|33pIn1N~rcud;!pF})r06h&z#D-@VnlgYe zQ3e1N{>O!hHUI|D*(4bNvlW>=xLkl0LqnUe3vgkW0k|*#&%mY3BsWW400000NkvXX Hu0mjf1=c1} literal 1011 zcmaJ=J#5oJ7 z48x2T@=A%$$HOr+NdITP9cpwMC)p|~;|1btE@Ea3TtlE>X^W_YG-GvTAEg;);H+7x zlB#+`(y_&9A%+Vqhq4(aJsmijzJv&;Q? zuPy1K!A@TV=|G|a79tu5tYzDif(+ZzmFPM==2_5!kfjWJWU8vp0U5gpB)CLG7hoKu zL=GlkdY_bTLVx`JQ`oDlI*2bJ4>w$$UfjY&7|M}k7ik2$6^xfVRh+A1 zg1tI+fGmT_dDAwq?_FxaRaGk39?@(a6_gB11vt|*q**1IjKyJYDwPr;%*Lm(VoprR zN-~xd<1m%za22dKEM$`o*XVMiLQihk36?`6E66qPAtUEv3$!wp%-&vU-#TOqRkU7yIo5+-M&XQZFZM-^}(G_K7A4Of-+MHKGc349!?LOU*CK% z+w9ka;>YXH%VRG;OXV*cHwU(AeaG^97sl@IZfnI8D}(DN-@RtjkIwNs-=FmBBw5ge zr*B6ds@r|St;g>xjlPNG$Vl_&kK4`sh8e{*!};p98*re2s#)P0t2nba9$G;LNt^|MxGc1LI{4 zUSJ1&dixYE2EsITz=r+=lwbxq;KR!Y^oxQ4cfgw`H~+tUa9SCRm(;m~9q{GDE4bM0 zGuvtFfD3yU{y)053yc?3*hAC6Gq~8kMb)Ee0Ivf`#?WGwYT1xt2T)WHk%N&PKygt_ bZwCMX|Jj|Lvah>500000NkvXXu0mjf)~IN) literal 1200 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%!-*I5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij|AGv5AS3i<5=9xuv0@tBHk?k%fzyrJ0kF zi5oD;j9_|Q@{>z*Q}aq-dQ%X3opI^~rG(r9pv^9+MVV!(DQ-pixe8z(TV>*QizQC; zpn6kqyTuWwUVWfr^g;286wfdrVB!HW;i(qLfv5Y_JYZrk0;cLi2W2Z57#LMOT^vIy zZYBNs|KI+w1Cv@CBimxW1V`}?bM{QX*4b28z3y{{NRL&*6~@JU5~T-LFc*Zor8IFQ ziL%{apE4uZrIx*cC(d!nCDFr1Tn`jhB}#Msf3S(oAXolsgVMe=2fNMq7#d%@UpJ_! z`z~|l--l0j%?&%04&S%mFL5q!zUOZNhDLRBf1^EhC8FopEg#&Uf1juPT%P>Cn*yvi zTEd!|WmwA2Yd1z5Id}BIbbJ0Y|GqrqJlwdnbW2Z@Fi*Vw9+u7j|NLTH_W$o+=KiMn z@%ER@Sma`E^-p3uz{k*bVyp7%b~mX6mBk`1nh#U1oR$3H`t-n?=jG=dYEB(GwIJyY z=XK_8zF97f%St)i9FLqibS&Z7?CysQZdqUYo{P+E)Y!x$^}&QeAb~;YOzPh8e{*!};p92ha)KPFvtRWbqi__ErNj|#&3&QllxIfbv z>;Myeb+{M^)6@Y?iAE^F403?Ep*sDdV89(TWs4@7Y={@&0gC9*&^DFhuIYFnShCMW z-}n8uPhOfBf6VVY?87k3pBWQ!XvN*P(~G`Vy}pH(L$+A3Ct=yHNhZKj3M>IUqe;^s z2P9?g_-9}Q!#o3OzF-%!k8?8ANXf;Jj%FY>hK(d0Ly~8JjhDc*swarwKfFlbs*)h4 zqFFj?@SviO)lD#2AJ5D68JSgxa49-^5rMTaRS9ArWq&2mf>-+c%a%~Z-PZg4UdFOHNR?23raOuw+v;Y!&Lbt0o<-#-6Nh?Y0RujB+G{Vo2I8sRhht{~xMpduYqffxG$sr?8cuGXRwX7Oa{w z8eDnM4P|h=2_zeuc?f4)U7V;u8(I};;5?59rc_;lHS6dOJe%b*x@Akc3^GE3Kmw$y zDx4VR#Z)LQ#$z#-VZ;aouC;gvH(o= zX`rM{sNp*mb87os__lhxT%~<3LR&6{lA+wW{%g*yD`XybyXRVT*z-Nmk=ae;>Lk2Q zU|7dMMo8tIX6e@Uc5?lZeGfg~;a%%4rusHlKYH!krN;4R&i+~HS>}r0bgXsvS3iE+ zV@#!$MrWzld-YvqWl}hKVE*8fsWV^ou7`Zrip}4S1x`Soq%T~*73=w9Xlk?>$MzrW zz1)A}1AO7(&(}ZQ{A(lWEtkFCBh~Ka3s`61#rHyEK6?G{;sNaYwcr=SC(aM}F3O!hHb7NX6^zl@BpCp+6`4J_T!0lrLz}P*aABAMxG(@Qp?vIw8k$M~0000< KMNUMnLSTZ8j3=A` literal 1014 zcmaJ=&ui0A98awb85>hjm|lElDjVATYP%+}b*xRd7ERgO!U}pYP2SefCNE1~ZB{(Y zc^V$n{RQ3x54xKN4;vE%LGY{xJ?cphUK|MXrE5D6*1*gA!RPb&e!k!LeVYq~`O)EX z!xTl0=5tDs%qN3!Vu<|D|2)vhbQWhTxP+E*OLHMLYoICwc}rV?MW`8TtM6cvqQV!< zas^k^o3f59Mhh^EZ#jfbQOOzK(eygRpbA$^J4OF^y+Z@jNYP7il~bJzteLsC3rp=n zS#Q^M$)IPhgQPDL0SjUc_*TRAWIsiBbY-#*j#(OXAh@2Q4^36n1&~251aT%F(K$W_ z5)#A5`IyLG1p>!MSuV=*(FiZdoFwyc(EVr<%{7+gqB7TwMRqB=hOr~FY^&8`T2ThM zD=aTb63Yp!AVdfv;;q?O^CPx5(Nj>Mr@N+uO=N>WQLCaRPSM2aVG5Shm$kianMlD{ zUvpTV;ewQUKvn%e)Ux_$4;SH)-+u~wj)kMs69QMz4ws zHH48@Lk`Gfz~qu?8>rONh=WP#bwhr@3iY5Y#X&Q1yl*Cyv5fu{&iRZJi^mJ61 z%ZeFA6k;65r+Zul=}imTxW_e)xUqrUpc5>IL{^|{-i5}Ti!9K|ST+ZH;Rotyke{-^5igM*pyrS;AG z>D^2KNNx^*}js{{eD2|4T!Q`{C8ITK=yjMACiG1;l z<*#Qf>HS|bbJoAy{)JCKVjwxFnp|`Plz{j&R5HqI;)$!RYkxQYzkRmt|DQ)y|Nq~Q z`=8%4{}D(Iss^N13E2Q-|B3m{zVz?)rS$)wZrA?*{jmK1`Tg1d8+s@Ihk6ID7N-H; zGcNp_w0P?OzxU$)KRcW9KVsgQ|K5{N{l#a1F;cWexlKNM1n7$Y=Qfr7pE9feKhVJc zK(RwWxk#jFHD5*##5`CaR!mwd2h!lyfAX)}q|<*vY_vek!xjtKNY1+ljXF^%jz-dq zGa4I6NJtI1l5ztyLFEJSMI;Rup<-Du&A1F8FEdes0cN&%r3COtQ2+n{07*qoM6N<$ Eg8Y@Q{{R30 literal 1321 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e|N0M^ht9M>h*|3sXZwR}&{w6C)Q#V;2)6 z0~bqkBNv!nm;B_?+|;}hnBEk)UMB;bdO;~6w*Y9fOKMSOS!#+~QGTuh*vD3xxZUD{ z(>$o&6r65xbj7JxALtl;P`o0=GfW7WctA{ess(c3={_|NnAnSesoMYUMPmjA#(ADD zjv*DdlK%YvZ_ljS!0O^N%Y<|G96f>frcGZPei-d)+Ox-|gVAGwTt~b!Z=btRJi`(0 z#vkSa-He6GUEC8)%pVl26ckZr-k|8?!L)wj4gLlTwvM9@Q2Uw=^J z&5!QhpFLXVjVG$dSN^a6bL?MF`^=kBkN)5O>rm;M(w)eos?gWGDO>Mf_)RsHQ_7Fl z{G7b-;Ah6iOB(iGx?lI#j%QNys?O$Djk_P{P4fP>p`cLLGx+YI1Lri4efa-BzKxr| zLXt&t|B0q23$lC`R7uR-(0b$k{{Irw;;$q>NUJ;X;n&&dwsXHbd6wTi^FJ~8bW6%3 zOO4x4zrWvq{M(-msXHoMn-cFv=C+;RAJOpfc#Vk0bDq#*zE$k+S~p*)U~>)azW867 z?|EH@&dMFqIcE>>Y-#@ZKJfAX>&cBpzZbp|clx^E$f0!uu8yIJ)KT}kF%9g`sut4=` ot;bAFw&*k_MmMj`#tsdP41eURHz?{Bse%eGPgg&ebxsLQ06b0LuK)l5 diff --git a/platform/icons/src/javaee/WebService2.png b/platform/icons/src/javaee/WebService2.png index fba89103bed0450261fd174709e9e02c5392bd28..590f3a50d1dbf890395e2641eaa0290b8e877e71 100755 GIT binary patch delta 491 zcmVQuM}+t&~*f)O7WDo<{3bHk*sj*>At^%X7|ezf%MNMgJlF zsFCmdg%YG4aUv0U4%PYE96LGNc? zfx;3?_3OQvuuSg(4ZdR;?Xr!CPv!7@%Ng!+Ml33D{>6G|J#_TMPn zbMy!*H2sFs&cg6@M3`I9Md2omIjFqnV9`++(xxmiTV$^>T%21#x636yeXUk7ab^yu z%-{2&J<ZHuUUoqe(IS<2fP>9z7S*&hZl1NV96{@GbF@u%@h-@|_SprZ?-Cy( hM#}#3gJlZ-!xyTlu^IWQO|Ad{002ovPDHLkV1obS?)U%z literal 1441 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 diff --git a/platform/icons/src/javaee/WebService2@2x_dark.png b/platform/icons/src/javaee/WebService2@2x_dark.png index 36ba06cc491aa96220a74be7e44f8ac270ce0920..46daeb43859577146345659a0952e03bfda02ae9 100755 GIT binary patch delta 1001 zcmV*`BYy+MNklAZeZ0stldl9K->z~L@>BiM~}BCn9o$bV}@N#-^>z;@&@l0rZN z^_l`)9g3BzEL?MyJw}qd3UsM1U6|1}HN~GGK&cFj2 zO?`h%S1`B}P;T^!%qwgx=v;|ql_hpVpt+ZyAC?VJK}9dzS3y6R)yUeJ%n zGc{x_(I8qUdzfo{T~ziltg^D>cW`U(dy=^I(<0RNh{&AW2E#ZfswEmkOJNQNvF;nP zr(gi(V5qFo6-#waK8IdhoXb^9NYcE;%}Lf1h!)X2)x%s`@yQ!NO@*6U#yIH4MaHRY z6qK~N0e|arYlRRkqDi!61Jv3gY}*6}U6Y9{@|oWni-~HbAeyKhkqw}Au=97ZxZ`O& zL%wZqeiY5BD+JLb+Oh$3BkU3>Zh!I{wN2W*X_U>>6a&#j?e9ed2rsp{qi`3g9hNrN zxgzQL)j%{+TRwnxI5gin#)5VvoIX@?%^Pt14u8(Cmb4~n%LdR`gKVQS3@3WBkJn>p zUhfFO?MIO{VHk}7YRmr!)n>o`+yh2*ylU)06bY}HCT9pL&3^gEu)I6n!DP&jpn0X$ z56#Zty3pDKDTRqHlMAquKQ4cpBPz-VjU$0|p>qVFnqnq|$9=v4jPUBO3^H)j;a@j( zHhuICstZKm1j0SA=5ItW_ z(Ld7QcQS@^dZlSqFRDgy8eS84f^*3K$qylW>Lww+G$2){V4s670+yD1+`mgu} X1!C!D52^1(00000NkvXXu0mjft9jl$ literal 2046 zcmaJ?YfuyC8eT-ChKn}@1UZDD#TLjt5F$YXArNRN#MFQTXh;@VCE1uPB&33X+G0nr zpoqoW;a-Xw4hIy7ax2Qkf~CqRsE7=VfL17=f)qF#EB5?2oSoVIF7rIk`@HY>&bP;d zgZ#`eHW&Z^%((t+K00Fc?1qiSta1@B;N<}ds9~4Ov z54MAz0AT0<2||%j-WLopEX9lT7`$34N7(@2xkD`%i4TAXHVTY^WK7(+t^tRIBut!; z#v}6NK42{5uTg-zG(iHf=788kg4^MR^;9!Z0V#-xuxe?XOvz9)aqo2*=v==|z+vA* zkONHIU#3EN!B`(y0b*%*nyZ*dqGH`W@FW_EN+-Es$wU%`K%@{z6ju_NLG)mdXxI-A z4vnUeL^Jqo&WBj&iiwLw5IKWDP^naS6$K9~VhAJ;4-W#7Odyk8QG}~9QHF@rt}>Jq&CK8D>x;vdlBKcBT6c)#q!*ZjN zs4QmgVX@K`KWhvq1%v07^ItSc-k0F#}rO3uRfo4_wLe zUZ~4*38)!@{#^g-oR_xH=Fv|-b}hR2*!Q3eZFU9P)gn$D2LM(oxonm|-8UrU#o78= zBvW*ei@!6tkBYWJ_c~np0hod+`M~a@_tSz6972Ble64XyhWG5~x`U}WgN=jD`KJSq z+2FB7-x>N_IHVnIG4PLd7`pqNO?Fkh_vWvq<6RROH@OcQY@GzmiQSiOT)dF<^jxp| z(;FgwKwZx5QOk4nho%O$?|p2#s7sAWInwC1Z?HhIx&x zDF%n`D}e3mqqVntLn6e+^uq1dg+WxSEY2?P4zBQ5)hUy}{DQUGf+zb2$6lXV@z6ZV zC#JN(VL`H`r8>Q9TM;QL9k8_YegoQds}kLmYlnKYrKxLDSp(2O*l^{i#x`MZHy?q(yesVTXmDsS?xNB#nYjTlm z$%R+xkc&+ec5C+7WczJ)U&-E5t9I>{^o%zNP9tu2f>~w$PXjwEwLS{-j@-1w|n9jzVEqj&Of}~Q{Y+>@=n{I6ViTkAf|bfY&hbN zAKl+Il^C!Q%_CDK<+5`WOO_M5kVx}$e4xllOWXGL?b)hzmpWc=Ett$dB+cA(veZ&) z%X1pTba#w&PMF`A5Nr`FboDqcCbI@lKv3K;k&ApD_o_GSmj#<`atWMC*rZzG#StvX@=J1Hd{uXYeAsexBwLRJ6y%r_bZ&nDacDJ=vj@LEJ_khj^S-#T)XG_fz%^+zd~BBr&5R)53bLIQ}(w$>A5QI zEAxJ~r@FxLSOl^vZAFdU5Meeqh@78Qyk2H^t6W1Huenqlm-h)~AfovEox^p!pw;4} zq2g{G`BbOQ2?950?Hg}4KC`{Ga=xNz-&-HaLrq(jmYl1)^kuKhM!}gK&vgxH?*_BN zo059h@u{bJqZ@VWy&`QR3Z_y)kC(wcrDqqNeeAc0U(wyNmD`#wTl!sWx4LB_4tq1Y zf6b>07sgtLZRs-#s^ga~mMuo6{->{>xt%+<3%NC0eB+)yJCbR5*pS(O^QXweQ|6Yi z<;t(=ImL0O?>N;J-v4&e6!duE7ZjgJb~hOmogTKb6PkX}*JoW+UVUoa%PRNR9g))& zaaJipMcO=R&(-Fjo~Pphd9~LHe^5#I3E@|EYLNxZ%*vV3=nH1Oiwnq~TEGw}Jsx73 T9x(8|{*TP{4PsyQ-k0_tM&M6U diff --git a/platform/icons/src/javaee/WebService@2x.png b/platform/icons/src/javaee/WebService@2x.png index c4dba849cf4891db069812e3f0ca8d691376dd8b..516a1b7d2927749fa64ad5d9690a539df428d3fb 100755 GIT binary patch delta 821 zcmV-51Iql856cFSBYy)DNklN?XSPI)C@)+Oe+F%W6gGdrC+F%T% z5euu3e1U5RRf2uQm>;2UL@p6SY#=rhdx@)jO)h4PYlhT>*JOlhGmGoCCzZX?XBn&J z@{OgQ1bwq7zJIW7>Ohg@Hd~`TW|=rms7<(ya7mLZOFr(*e)xR0qa_E;P1n)Tq(?pR zz4ts^_Ec!@o95UawpSAC;+jDl5F`SVS;e(GP82q{)Rk?}v<{-?bq$=3JAg9}7)b|) zQn1vYipz$oS^g%R5)EM`1BpJgOM-LvmvrkAOm?X2hks#h*THHj!s2)dMtW|*X}g4l z!87m-s4(?51Il~tdWyLs(XjaDkTVddgJZ~m^VpMqyl5=I@8L{LIyC5fcNgRKJj@IT zSp1rT#ojc`cL_+;)XeZE^{W}GfsJv-ZZ|XV^Ydw7SWT~807f(Lqb~#VUsQPCn2jt` z1FB885Pw(L>EAt1>4Jy zXVeVrW+jL(w;{3G0o7A0W^HNSntL3nC^r=#sd@m1EA3F0TA2Z7I3@6HLW?9IhczLU z0jv>ODPEaHxUCo9?oP+q(nfFcgAZ&hIYSpt6MqIghU{pO@I;)^ibEAW(3CyHlI0@m zDs*J3hmwCupdj|g7f5(3SkKgHPi{&q400000NkvXXu0mjfkmiGM literal 1938 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%!-*I5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij|>(qotd(p{0eng{h&TtBHlVp|ORrk(-%? zi-n_sp#e;VL91WY_2COp*wIq-C!ng>kmMZi?;->WLiz`(-p>Eakt zaqG$S*bI?yk>mf3t#@Bmnf*r1aHUFSc38_YMK;mgKMYH21#Tz&PB^mdMtfMTr_`1p z5y##ei~JX5)&?j~af%9%=MuZ*x`E@Wi?hj%1ri?2rmM5J%)Z;ZD}J-_Jn46*3g#A? ztGz(yY`^f0^<(xvu3NWn$M?z> z6eXB%d?@)P|AEyU`^Mgnd`iANg0(K1A0;>5OZsEpGXF>K424-8hg;gezn|I1Z29;B zm!DAVk+i%cUb8Ih1=>5-`yR7?Gbcc%=lPOji_ZG}F}t1jvL%$~j#7}m!o8rF?a2ai z%F~1urCq;w$ht7!PtrG>f8*ruH7Z9+X z%`erH(>E12JJv3o{`F&p;8Tt3Gs^|02}ZjbsW|POWoX^fB9~c)x0$lG4w24Axn8mw*3Q5pp$b7AL>Ysr;(y zCF=z~?&3nirx1 z9(@x%t8sAoEB%I$9S7onh zRq#ktux1v=uDg0`g8UXN{8jHFm$kztsA+pGr$}YcgrzzrzOCU`17)Odw-o7!%0!$w z+4*D&=UF2i&lxA>>}J*Ws%ftHlC?r-o`VY8j;Aboywe|FdCR|n;lIMW`gT9JAICoL z>9bvvb0V#jr9Dki>iWx6p$m^Rw7Zm~iXT4@F#Z>u_3?PKnna$tPvnQ476INZ#xr$x z31@HonkD`2c!-3jcux!a^7ZH3_AKDCvXls3W>h-k{LE?0*}h-69^0w)8M9x~t^84&G}*P9du<-;L6LPS$0sK!+P7ysYxQnDYO_o` zqf|cP?E$w(GJ&~|WsEoUODA8w#GEwY$Gu|~JJuD)Y+uZrv*8!hE5@r?ft!4vDoyiC z-lIFKeW8ZDwc3{V8&|D*({$mD%Pe-$Y;J+vJr1Hv`@ggPxFKeD{o0Ppu@@4fYR^4j zSzl5dx<0Z_q|WEYoUr9pmtGpZsyO!k-q%zArM=ewz5h{}k&VG=a?G_f-UHh~wWO!3 KpUXO@geCxY@CK0p diff --git a/platform/icons/src/javaee/WebServiceClient.png b/platform/icons/src/javaee/WebServiceClient.png index 9e1c7579ce45e59afb1b7c516f3fc9b6d4d5ea9e..a5a951aec840d890ec7bff9b6d17707235e45312 100755 GIT binary patch delta 449 zcmV;y0Y3iv3fcpZBYy#*Nkl3Zepvqh{Qm6!4ZV~9L%jo6duz5k zb_2X;T=+L>@zno+@5TLpb~fdI#Jn^Ay(gdA2bAN4Iv*;*QGdi?*6)Sdcyx*(>mk-J9O^;48*R)W+ow^;c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e}lJa|;V2VUI2$*<4On9mVa^UGcH4m8Bi-4(Gxi0Gg0|VoGPZ!6K zid#v4{{OdUR&8K)@tI}9IeU(tKz!4tuMIzp{Fo;=*b3}#>pHI7sn77J)!~nH$I*rz zg0mSF&hlEsWU(AQ!H~ltJn2BT$~R_(KE|X%jlRaNg9oH@^b*=GeUCTbvi_HpY`6H- zXP+l0!|(l<-@noRabnuGX+Qp#*$2c4-b|8k=InU9;LWV=|DoGBJ3n<;WdBRa_)v4e zLNj6gm+kTU`J10C$a=J(>H*sw)+Aw#YJP6<>1nfGiLn*#d(ZR#|Nqn-9~!1RPWafZ zetPBA{d(Y*Z()v*}vlWgxuOm51&e#wVnGd$us}vzqjST%l{Y$Sn)@j zH2KV7<;|RafB%2E+n*0#yY=jpb6c{$ilp8DWX5Cn@2`9&qptLGrkxq{)jz*K&Q}(` z$(_FNBM+0V+y8u*zdt_yE;xGkLH+Ey8-JLkDsKGv|25X(tnC?|`k##v6J~$R7O&Fz z(|W0E(*OH1AO6)Z5zDACVAfdrKfQo?Qe6+v|A|+N7cFNFR58<7HI3n;w#GTOq;=K% zMXwzasrhp}w)Y)VgceI?0_!7{3^|6zNcFmtn{s|E6b(DLeG20Xp|)-QhP4Zhw90Xx z@T`;%O1t&tkNo?*3EH>pT@OF0Y}hfE)8CKvsok-!_FE(xKmO&LWqq+x&Y^*kq3Fqy UE!rPbDnO;7r>mdKI;Vst0I-t@oB#j- diff --git a/platform/icons/src/javaee/WebServiceClient2.png b/platform/icons/src/javaee/WebServiceClient2.png index f9cbd8f9cd9c404d94de829659ac8460cc56dd47..114cddaa64d4ccbb12171cd4c30f6e60b4b02808 100755 GIT binary patch delta 574 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 G68-`T?5Mo} diff --git a/platform/icons/src/javaee/WebServiceClient2@2x_dark.png b/platform/icons/src/javaee/WebServiceClient2@2x_dark.png index c99727025e5dc6f246660201a244266c3121cdf1..c4734599e65a96352c16f4e7f920d9606f4e1578 100755 GIT binary patch delta 1182 zcmV;P1Y!G@5wQu7BYy;VNklbUjv6nZ)IV!13tL(~W3j3J9oeA3JW zG6l2p^Y<^Oc-nJ%GZKCHq$lV6&iDH{|C64aQw9KK|0QMr8-IbfdZ~lp1*8Z068Q!B z2C3!F9F)K_$QY7DKmf@<5~wppj*2Z&WxYMdG>*i6k~(7B$QEwjt+z+R7p+m%DIML3 zvzs}J)7&dbpcacIwy3AY8Goc2Pe9l0Md+Shf}WY>6gQ@pK4evtuHGWlPXcErWqxfuXrOU}VuuFG6KM%`3;%Si|3^IeAaA$9^nI zKx~dQU3SHjn#m>5Q&{T%yEKj36Nhr0k5?|TF`#h8cg2=S3n%j>_V`Fa0g-v3TH%iG zcH`B3;#-D6{|b**cN9)!6~C>eplvLcI)|J~GDsGi>wjbCUe7B~JIoxFJEL1SrV^m6^DPOMBCsz@=a0A+d*f<>WS~ zC!)Mrl0mX+hC>0I`vZ9~uRyIa_-vailI)rO4EpipZ0amQ!SW7IRB)a^vPkATee_4! zx0)v)F@J~JJI14+#glY1nbeqt%hfoaJgYmjcPe?49rJ<$q;qgm1w}aHDgaf!5Jb>Y3_JpgKVs30m=5L)a3%}vvQ>aM-w zA%7M@7QZ3Ka|)DeQ*SW)NSD#G_$z`jdis z_Cwp~e9<)9{7`40L}bZHS=Chogoe(hAlt0KRxSaWd-dmxG+cJfm4wtv!^Z<&5ib9B zo)vf?B=Ab+%LKK8SF_t{_d_W(n0;_wKYuH_W2yckkHDmmfQcjUGjjN%k!q4z>14Bw zhGMBV`QV&>M%$^^w|{Fpy(LioEAku>ctab>5V*$?*nf)=4SLTsny5{g#RtVuKTP2Y z%&dRVJ5}c}$lnwYcs~6%%ocdW5qORJxUA55FVqZr=NrvbQfi?fAD4!`_s{F6-+!&_ zp`OA5S+)S#ha3_T*x(2lkSCCrkpR2zVWrOdo_NTs#1f{#L~S&fsXtTTHrXd0npI%= zVGKTke1(930IGA@6jXcg3c#M^}&)$w75Hs>>F&`}) w0cjECX{7(!rx{0JwFH6HgAmv$K^I{AFRfXN+mNfh-v9sr07*qoM6N<$f`uwiod5s; literal 2198 zcmaJ@c~nyQ9w(n#=~x!NEX};4uN^KZ1fobNqA0lFKIs_3)tK0XOMulmE~QbHnx*4b z<}~@VDa&4|rKw5wrnFFt+_I-FT3K1P+t`C9oB8AQ?m74Vmh<_1zT4-Is|gA6v$C+W zKp+rSOn*AZumZ++j=AA0Pf2-YSeC%P(Qud~5ms_#5Q4^+BtQUD#7%-Y5SOn`{tfa( zApYhg2#r6JHLwu~PpV4FK&%^xb3@}?$yj$XjsSdlP=;tS zej=GeXMBleI8jiWU|329L8VfOQMzFyvLq1a?(Pm^T|rk@v;l#ZtHm%^g%-=5XB6m= zoF@}VVSz*p7!|n*5(P{_88ZE&1d;TstXTe~O@@YnDy|g7VX(%MW`Jz=|A&f1U(s@y z1O1ur{}h&otECXgf#ec}jAs~JqO&oSlA}c1>k2@g(4(xZ$#?Fj`vdM_% z+vs=0rEN`ki?_Y^V~1bVH8myBkZXE>TC*~SXm_i>vdj~*{vgVOEV_xGa4 z2a2v06wGQh-vpyU(9Ac9+f{+AB=qmRt~+Cc(;x67arF5k0_~ZKYqgc-tNyv=!{Dp@ z)D7Je^DM{($?t4v9qZiYI$&}-ygi!+8}@X^=jo8qONqx*SSD@IiF5_+b%<`w_RxDu zL4?KY>BK73>E7@zWvU$g~GB(bntom70>y-8Jcq&fC@# zx-(9o?nRc zgQDiL?V*?TwUa`}_l`VVJt4nCJ}qssaN>(4;0NpNx86N?b9yl)7u$QQf|DI{@h%#< zdfDP^u7=nOXfs$NXP}myXo09qCss%}ksulbo2$ z$h_9mub-E!@jCsy%=#kQjkXIh3Mo_!#B~M`hh+MB-Wuh;u zCPvjSaE|w_`1tQ_yUVUDs2$gHUY*~&cHWixCzCnIrzPVcYVzNi({SP6j7um=9rZOJoI%d6b@ah}4 zPU}fHpQl~c_=zpMlpfFU>(qJlskL3DDpDf#deSrhw08}u^5by~VIAW?2h>!T$Z|D2 zZT=#!>W2sYt*)h(TSGc_2?tIE6~6=Zam;}WFBFZxq@NRgvcMt&YdS*neKtfG{}h=H;3(*9SBYy%INkl-}@s$?i!p@7x;Kpp|g%mBgG#4cP^jjf4MmugKgO>7#wI-WCuai*AP z;^LdRbI$pF$=o|*0RYSYpj~#4=Kh6Eh#Of#z9RzFI|MeVYJas))SLpZ&$GMrAA~KU zzU~(DU$GC!2Si0yI|MdK-68PW!ce*aS0B#8jmLA~OjH5G6olSTY57=K?!xsp)7`}AB0b*tjg8Apb5~>#5gE-aN_pW+D{MF=GgoZpbcdi{ zD!th&YR3fji8A=ovd)EM1c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e|}aLuWTL6H5zo3sXZwR})KD3s)B-6GK-= zQ)4G%BS)BCm;B_?+|;}hnBEkGUPqjIK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C~Z@ zJgD9j+-|YJsaGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4&*@y3}q3=B-(o-U3d z6}Og5KASD|d(sntJh{y$AOJ-XB<@w@P* zHl06$1~1(DZ&*bZ`s5xm(|9rC!`e5DvyNZjG4$4Vk=XrVYs~HZHV5kmGlUJ5tYSOe zw{Y?>%oY3*v*zG&CsvMg{a@S_^IkGnhyJVC&7;4e$UBy?O)Y)w^cZB{Qv;L)vCv+J-co9WVBA@n|-vc(jwF8 z(xQxK3;u~HKGAxn!>yyn_G{q^;{{JX_O7k{zop7v(pVucXa#%k)SVLw9&|t5ob=UY z+A}pyL7DdL6T;UrNT1ETaGO$b6C2&1Da)QX zo9ZYOJ}68QT*m+GUE+5$sc7pNu30Xz&-dST6TOhL+hbAst{>hFj11k;%#UYVPrn5! OX+2&2T-G@yGywqk@iO!P diff --git a/platform/icons/src/javaee/WebServiceClient@2x.png b/platform/icons/src/javaee/WebServiceClient@2x.png index 38cc043356e2483de18879d280401b044969c8c6..30a584a1ea72d34ad2e3d9e769bd59cb1574a986 100755 GIT binary patch delta 1052 zcmV+%1mpYA5U>c4BYy+;NklF7{|$yxn$Es_hI`!oL|%|`!te$*s^4! zP8=#jqsg3uc0(Ejokrf)*7_2W0hX4rma=RxHb9Ic1dJl6+bH%$e$hY_+^^x+6-h?!>)KErE=wFU1GBS8w?BeIA!#EZl$#M?wJzb7?kgx6Hmgx^RM zI+_U70sRCHNzIriVBQn6rX&3TVcb5y8Hrk zt%ImJUjvUj5Ab9I!>Pcn9hmP+#@D8bNxl*uQ4MVxUq; z86h}|Fgt3-u=5Z+-Fq=J_yrdFlQ8~!8dL>s`84N%sD?w7@sxmE2d^Ok&!<22;Z);s z%nhYu%&kMmAKzlsm5qn}TFlsR7*f-+ zYk}Ko_4zTtR%gHiSCVhfaqDy9 zGmKvO3Tj&mHvia*t)^D6vHbB2T63^0R*}G3wgqw4ZX{N^k@T~G$!?8r&llXuu-cDf zOJzScmb;)T5tsmLz*WRyB1Htdc2i0qut6LmfqzWagtQG{jmWm*Y^?!aVHdoesra&_ z(HFk{`)(G_*vDQ@zgTh(bXgOw4V0~$zFwx9a@*E7ohwawkM2cF3CKQ%?9rmacVaC9 zHrSldl~!Tiu^V+ZBS|?ayvrYchsG|gwq&PK@FWF6#5nOrD1o3aA{M}cn272~3sk1d z{(oR!IDZj+C|DCZB*Ojt8cHCFzdpsiP|H`sNQ|&%@yd*A4)*(%V?bS1hJYwYA+LS5jp%G8>68;pOsmGM{)v@_&U}&ZJS&&0%zm|43Ri^ zoG#gGq*a)c2!Bk(FoE~;nuBhELE=be2!HcPCJ^rynTofT78|O>0(Q%OEd{?2N+3`| zd??k*97>akm#FZYALN~L(O+D#Cj1lLWs3*9MhL{pPy&95u#e@eAhDbn=0VtBWcCF+ zZJ$7QqQEZzK4w`&f0%HAtbmYE?0XghmlOzGTCBiR@NmYM0)e{``;{9YFsDFZ?iC4M WS-*fi{)2b`0000cx literal 2128 zcmaJ?c~ld39uF0wc+ldJZ4n_Rh$%wukVC?i06_>sL`bOxLo$#c$;8P(LZDiy2Qe&1 z@!%B2;sZqll*7UUMHCPeam95JIaCm#NLN^J5$FahcK=v*-kbRy@ALV5ug`m<^Y`;w zv(jQE0)bfL&EpCTD|+Ewfi!$oTJ5A^`3m+B!n?o-SS^A8gqs8m2hiSfQ6wM$M3T7u zt$-5(v23#}PzVe8zAP~)$BPy)c#T|XU?UJtE*hmsybplU;XtHJ!N!c&Hek>)2^$kk z;}iKx4j`5Bv=FdM>lY~2?h`X57#C->lZIswkOQy?t&vA7R4fe}^Ffzo*e_fYFz62u zcpn?{M^Zw*KbiwV0GfuUIf#iQDw@v3lV~I=gJh2;6G;>TkwPF*97tpqk;x*_&>tU+ zAsQr!UX6!l`H~5tybgJ6g&t;5=cxYlRzXB$Ycit!a)_MfJGVyg$lc< zzy(xdNT!5kpaQ+1C<+H-U^d2(=^rJ?m7io4s*i0lG>o7TDG4MzaiOF|AfNyLp>p{r zvIUF=D zSf-GGYSq^t;Cw#ITcLtQ3Nhf#Wn&Bic$rMX@}N3$sB}jLgU+ClNFG!sl}PmTU{D>o z6gLW$=Dx_~g5nrCpnw;-l0Ui3CAkYukSh(5xd0@K1tgvjC`W&&m?c{}7sn;_K5`{X z=R#kSOE4ruSeWa7&3W<4V4j8TC)XMdpL`D}3}%N6t}Yuc>_Z@oZ+mmy0yW)Dr{kj6 z$EMiOXScG4k4=}N@ z+Dr9}GG3cRdxR`Gx&meAUM7$VMmoEyMy4v_?+xbM19Ms#wNE{GVQ;+;Olg$ir67qgG{`EJk5&ijUJ80%%oX3-%S$W)dIoC?A37qeD&UR&2 z<|I{{cEH%Pp|sOOaW(mEB|hfJo&3xp#?ujf0>IVp-_3x0abY3;8P@ z39ljNN0o1~5_&HWP5m7%)(R);c8=fZ#ci!QDXkW^7rmS=uo(q4b(jOgK8?Ha)|QVE zzPZK$*KW!((ix8adTQXXB`)&t5&cQi%7<USH z8Gye%N?LLDT%fI`yOVhf7HQ&kx97#T`i_p7a(U-=!jaquFt| zg3Oz^Dh#nAwp<)dHX8`x*Sb}Qsn=PjE&I0J$ovIrW6E^IK#B?HCF0nwL*d3uqeL|4 z6lcTZoWs~>PEG+*W|){Br)S_Qe$Gra<1w#H8?SPqLasTkWY~Kt$I7#^wzLBct!jo>s4Q&SwC7@;IutD^+`hS7@c_a1||JlRqWs zYAHwqYHYQ&f+%o{R}Unpu+PzC4bEI1$z&btzHVwej*011HI%qFxX=!FM^uo5?CNzz zwBaxgSe+=1*r7H3R|~=BqHv&~en8Yc@xVcvt(HcWUy!E`-9Uyf7wP+Rqt5Eg17?rU z)#Xi`;(j@A+l`WVket73t;4{kBU=wPSvQbYfdj)VXq1W!b-N`)ZFL?z$%UZ1=gNAvcZ2 z9R{xZB$*X3g6tG^hvyFFwwSuWCac`POk%w%-}cW)IM`A(K0xT?>E~V28m$$mrgN_> q-avC_E(IUgebF2oG#mVb5#oVaae0^hg|UTyytjuRx72-a;(q}8fpEwG diff --git a/platform/icons/src/javaee/WebService_dark.png b/platform/icons/src/javaee/WebService_dark.png index 9fea41ede95bd8d3be784250db8a9f2ec00009ce..118fb9b0cd2838b62139680cb99b5c3a21bc6371 100755 GIT binary patch delta 481 zcmV<70UrLA3;F|)BYy$GNklAn@=T-uL-0%<@hR0Mt}N z;nKDg{ttDC0l7oo5KYAbC7V*HTxmwbWiE7^nH-^XiZ`9s$bU2HfIJ`~l9v@IS+PaK zrLWAsEKKj7!ovO;Fzys!n1ax~8h`0?2(7qoLY^cA{f?wUi{VLs7OaP7uo5{3om(sf z+Yv1<0%_>E#{DeLrz8a`r=T0(PGk54Y~fQ-b3!p}^ri|k(#X?gk9kpRloT*r@?s{C zK~oln){l!}!+(|t%Qz!QBM*5gBPlTQ$kQ`!TC3KA`aau%qV(987MQ+E9uW)D@Sh*7SWpdL Xi$-}ltAd9Q00000NkvXXu0mjf7}?-T literal 1430 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e}YmBLj02Co>Ck3sXZwR}&{^QzJ`rCpQCU zCs#8I6K9xSm;B_?+|;}hnBEkGUUQs!K`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C}~% zJgD9j+-@<&saGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4(GOusdsfq{wJ)5S5Q z;?|Pj^VwG%MCy!Zo>bYb_-A=K5pO#vmGH;;-U0VQ=j2Z=ClY)d5}!W| z^5|L`bx!)u!5>FvD7@`zh+6g4{%F|?;g$ElKmKxY!~esIjA^mDzYiRcNh``y9b yVIJ}9ai7X|YazDZCY#u!e&`lmc>Tw{fsw(t^1)92zP0tBlG4-F&t;ucLK6Ug8W<)3 diff --git a/platform/icons/src/javaee/application_xml.png b/platform/icons/src/javaee/application_xml.png index 80b5d50e8cc8635b0cc002df4afa020f84190b61..c7772fed3f1de80cd8d500e5581cf42a10c47939 100755 GIT binary patch delta 224 zcmV<603ZLQ3H$+&B!9z6L_t(|+GF_t|33o=&zUplKLK11#0)SD)5k!90XLBi!Dj#i z77P-X0^;j1LvR}KVYMFvI!1R5vK+Dj!60ns;KYCnBdftM0Lb}I2F7i`^fHhCSy8TF zc6PKYm`}6;AjKiR&M1mQd|j{^f@#3v3EuyKeneK32*W_}L|LFboIktJ6o(5+J-{}? z3;-(pj|<}t1E3)wzrzfG0dzJou>dy!W-BrqBORb8B9K3casi$^K(q@88bHVeSTW2C axG(?c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e~kVQzruhHvr(0azaO%|uIz}H9uSoF>69Oh45EGtifgE_cPt5}+_99@a&bC>zjDdks%G1R$ zq~cc6pa1{unK{nPwH7~gfLE$vhu|?!KR>q1K0HU7H5Asli>Dl1G(oUi;zVhm!yfTd z?Ymn9?{X{tnQg!m@%bYE(drXf6JiCJl>RKMJNT#}HG#L#Fz}#(>FiCF0kIznd;iz7 zU1C%|=MYo(OWgVDulEUMU)$a%*qI$@@&0`8^?u1)OqK`#Tx0N4_|G5aY>@Qu)8+j< zr~Usn{TAey8sNc zN$KXzY}_~A8%(%V&ee1Arp^u@HpwQwXCgBbH_V(MnYhAp)-|&hY#wc@vsXwy?=zKzqi5xUmwq+#^MDqtpNrY9IO`}GXrGPNjXzcIl$$2Jb$GG;Qi?V zrjvV~Uee%z@9b679>*gi0KFrU0e4p?aC^DWbG*GgUjr|qc73{o0@$R~DX2fd>oqI` o;PoLwY{Qj{(EC&D5+A@XG3J=m#l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij}dGqk*f5k&}g)v#Ft>tBI4jiKDBdvAKzv zn}xZnu{lhyOMY@`Zfaf$Om7N8uQN`)pp=kX0JPa9wJ5VJHN~wcKUV?lW2;QuZn4B^ z9#n4%Znrq%)TVL91WY_2COp*wIq-C!ng>kmMZi?;ID5ri1_mZ|PZ!6K zid#v4{{OdUHkx5wuD6Qe>2{-~V)%Rm%kuzHWTZ z!*l#hM=^t;9g~y=f9#pK#>R)Q(J zpuYT~Czofd^RQ35_OPc($Ampq_}g)xEgBXFKYTsxZSed2dijK3_wU<((D?E5tFmWi zLqc8h6+i!9^`Z|u*r$J6yo7NBbAw{h+Y_%8Z>XuTpI9;5_(S)p#+&Eg&uRQIrFE*~ z(Hp|+*u-Q_3LBP{a=1AjIdkY(!n4`k4;kEa_9kDlW}5IreRa;U0tU+jzloAJ`4~71 Z7-W6F%)D-EyB1W6db;|#taD0e0s!B`70Lhr diff --git a/platform/icons/src/javaee/application_xml@2x_dark.png b/platform/icons/src/javaee/application_xml@2x_dark.png index 3f5ef3d2e214d922d0c31b2808a6a86f72c83b62..f2c6e615946590bd916c20014482c65deffe676a 100755 GIT binary patch delta 380 zcmV-?0fYXn3zh?rBYy#1NklAoWyL1)f>Z5LM(}ETjW~ z77+^YtwV$YT822msTX94Z!))5N=Ll zp6B_P1JXDWHFXv*fN2I8;Hlhh{LKuomqhJsLFWLM*YWQyB>p_J03|9`J_oLV) aK7b#cjwaG^^_Q&x0000l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij|3lvx$?li?M~7v#Ft>tBI3|xuK)6tDBpJ ziHVDokr7OVL91WY_2COp*wIq-C!ng>kmMZi?ON7m;#0|S$ir;B4q z#jT`2|Nq-F8_lpT*IUK#a)DgO>gvfIhK2$1CQOC08@nKsd1!}NFd3T{WHZNF!~q27TnG2zGY2P;3% z|HXG8)l#)DVd1o=Ppq0+XHA>@m}8L)!|9bhJ1&O{xydE};n$n}?|-_>s^tO+UpGGI z;W>V$qnN?aj!DXbKlV&qW8=fu=@VqalAlkU!gj*Kx( zbf&=W2BX9G4DZdnjo%nH$jxsH>rWRpVwtma!AdEXvbbNz4jke+xw%p8PQtJ2@@#FY z?)w{VG97sFv2hu1PT+*rXA5!;{hQHwC|D#l@xjv;7CmhfHHW|js%N>Zfn!?8M z%-rqmmnHwh1^WUfr#O2u8?Z}gZs0#?rfB)#;OqN5@Av&<-TbswG3*cPvwN%k>knQ% zP{iUZQ}FMgeoxa2{R_72>;E1oU{IcR&+w%zqsO1gp=QYz4KfDHPxR!lGq6Z7yp}t= U>Ykj%XHWs^>FVdQ&MBb@01U_w-v9sr diff --git a/platform/icons/src/javaee/application_xml_dark.png b/platform/icons/src/javaee/application_xml_dark.png index d6fb5223c7f16a555d23270b839d325d46823f4c..0d20c5b29a1b3c367898c2b26568b144a986d8d9 100755 GIT binary patch delta 227 zcmV<90383N3I73*B!9+9L_t(|+GF_t|33o=&zUplKLK11#0)SD)5k!90XLBi!Dj#i z77P-X0^;j1LvR}KVYMFvI!1R5vK+Dj!60ns;KYCnBdftM0Lb}I2F7i`^fHhCSy8TF zc6PKYm`}6;AjKiR&M1mQd|j{^f@#3v3EuyKeneK32*W_}L|mXeoIktJ6o(5+J-{}? z3;-(pj|<}t1E3)wzrzerRaFIJbT%=u0554+9iS&7kUxoX0iHZSvc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e}Y~Ggn7fR}%{}XH!E%R})7AOBYKEBMT=J zXJa=fBQuy@m;B_?+|;}hnBEkGUQ?WUK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C~5( zJgD9j+-@<(saGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4)R!mxQa0|TR!r;B4q z#jT`2|Nq-FbDWuLEq>?#uT;Yh!DF6&er%V0c#bq{D6DfAPdT_~f?&7AiPAoYJ>sX@ zcee=Mydu6{1-oD!M< D^J|m$ diff --git a/platform/icons/src/javaee/dataSourceImport.png b/platform/icons/src/javaee/dataSourceImport.png index da01da4a5a28f5119f34909c6da6740f4e2b3cae..b882c72b90242348db05ee14d74fe3b92078cd36 100755 GIT binary patch delta 506 zcmVocd(M*?pCUe}s7|(WlW;orsUvIL# z5J(Om{{R0!1B1>~M+4LOUf*q2h5mO~ANAjUUBrK@O0GRG13HQ+7{F zO7frLv31YXq{M9#<9;k|3hf6Qpf|&%By~a9qU04ZYkfDx-G6o3p77scbL@Z1RU!Y4 z=Xn0ep5ixo$F#&`uc;pU^=7&L2O5?L#Q%3qN&F8s0OXWCQxlf~>1rTW4POzNWwR;z zll7*k|7I(L{_D+k|7S46<+9;I@Bc=NeLx1Nf(!uaK^U;SH5?@I|Kx`L12-=o%~*VR zex=>oi07v3!hil7uMGTexZMB0$?D+$221_^FKrG3y8xsIZa_<>3rH{#XaLBNJ3w5x zVogK7(MrGXhHC=;8vrqg)?VxZGa#`w(=8Ehz;2*(pe_IzVs&JFkDA_8`;A(QUH|K@ z^nzoJ`A#4Mz+Tvm!wdg`UYO}UD`czERP+BDiyZ!IEpu~*W7Rn}M0sH*)Fp|~5C>zB zMi?gKg+w9@!0QDt2C+e6FbvcP#~}X7Hr!r-V>|{Vwo%m!D_X;UlIn#OZQ(x=UdV8X wU*8@5>BM@%URcr;_8+7cqz7yOh@b=m05k7esh-%4W&i*H07*qoM6N<$g1+ANaR2}S literal 1451 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e}}hGjms0V`B?*b2CFjR})8LH)CgW6IU|} zBS!;6GdGxCm;B_?+|;}hnBEkGUK5;pK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C~H- zJgD9j+-@<#saGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4)xW8&3L1_mYtPZ!6K zid#!2*=C41iX6ZH=1kq4x;Z;p7E6e@^l+tnEL@(Tps>+1F+EZ7kdmN17c2M14Hpuc zxWYNay3*A>oT|7tUU1mZ(Hfy~l66moOL6tiCw6=8ygOsD`Q*Io6)vCJ&8>}p-<$nE zU*gNRmE7i)-y{^DENm+5D&BXD>DMf_gMUrz0$R+hYM-(`xcRWJ?y$-7!)Ug-+!>vyvw3=h5Sw7_8E3h z6DA!sWH!0Y)DaykT=nyui1wGC2ke(t{yWs<)-K3&A#~CES6lKu#8u9Ivwar&kL&6M z9g&CMHlMqnUN_^^j-(8}XFm1)tFABmdq-U4@?;l9hSVPl+@f0=7oJGm8Dgz(xA@z< z#pmD4?mVZb-ga!m`Dr`69Jczlltp;vNF5Miown!HfwZ&t**j;@6}hY zudDxju=x7Aw9T?Wl+jhB=32+Q^Jn$e?NDrz@l*Mpwn$!S->*4ha(`;RYjk9@UAyvZ z?PY}=1;KqwC)pPLGb#zVu|;{x%Nz4|S!}bJyw2gT&SSfPUH60%n;Wl52`QGSui4P( z(6IaNazopr0Dws$LI3~& diff --git a/platform/icons/src/javaee/dataSourceImport@2x.png b/platform/icons/src/javaee/dataSourceImport@2x.png index e9df9cb86bea0474deaac052ccbe7673719bb11e..1e9697c8aaa56a284214c476ae9dda64ff54e9be 100755 GIT binary patch delta 1960 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 diff --git a/platform/icons/src/javaee/dbSchemaImportBig@2x.png b/platform/icons/src/javaee/dbSchemaImportBig@2x.png index 08c93018108024797323b2396bc42ba4e41ab595..af5281303f1b284590bfe9175e0f9629ae0080c1 100755 GIT binary patch literal 5517 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

0mCceJV1JOUifQ}tLKU5~Wezhgc;(VYJ^Ek2t zeH-*FeTxP3L0+VX!AYERVX7wL+GKUa(uEMp#Y?jRApc*?w+RuMY0$a?{vs%fx$!C{F-@U`yjTa#^Bm-=hdK4>aQK3-Fjd9WyN^JMPU zgwd?j*x}4A>qZtLJ0o^HCnIJe!JpN?(T^nsgA3x%8cYe{j!=?AEJl+S8Q_s+{nwZ>=%1a$`f-x7 z(qdoEN{u}nZ{#-`mb-ngX$R}TO9u`dP^0`}2FwRH zd=Qv|Q2MtypbE5r{$EJwfP7xpfE3^X)af5a%?iJ31OD~T)BiHypOgOu5~(zx1H|UK P00000NkvXXu0mjfk(Yc! literal 6391 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 OBGgs1mES1YVE+fyZhQd% diff --git a/platform/icons/src/javaee/ejb-jar_xml.png b/platform/icons/src/javaee/ejb-jar_xml.png index 979a8d4beff9c793020cb6f41a5173ad47079e69..a2761bf29bf876cfd2d4970d8ec94b8927cd27a4 100755 GIT binary patch delta 352 zcmV-m0iXW23i<+&BYy!wNklG4AaLzf&n*?4Z&vs z0~QPtmjdGJFhg(}@L{zd13E@`4YC}v0l^?_=itPE3nQz+FaXH;PX@+q!1OYY|5;J4 zV0L!2E0~Y2W_F<|b^}0)Lwuc)74Hb~b?F3(=K|Rv+zArHYJb4t3EuyKeni$h|Hf?h z(k0~aDlp zGyrA@(C?j#%gygh$umDYz0@sZd8H+aAwV2WC>C<(6q)`6DPB=!c^2dnG()apqyt#| zf}97%SK%6ptyy=>nNY6x{g)7JfJWxYU5i(#05GT&A@!N*x y_jOQ1RFMrp!AM?!;aDKP0>s~e_%IMFg2VyKvtV7akAjW>0000c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f0L_H)mH%H%kk1b8|yOR}&`_M@v@=Ge>6w zCo^+P6IYmCm;B_?+|;}hnBEkGUPqjIK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C~Z@ zJgD9j+-|YJsaGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4)R*lOV`1_s78o-U3d z6}OW9{Qqyy%yDL}wfLa}yiyH21dn<8`LSL0;W^T*p|H+fJmuh`34+}cCrbMq_K2Tq z-`yg3ms|1AYy+N%&lmZRR-ee45G%l>^k-S!!AA|L3A}}dfd>stXK$(ui2YF5`@f#; z5~K1thnTuw;?7rpy-z6n+V(!d&MKnzjpa257VUf0f6WiivB)#nZ`x3teri#^c;gxM ziOX^n6eSg|9hc&sKL1~8MBOX#JN*tD9vp3-f1PQ|z9qH4zlJB?na&nX3S~iFk*S}UERL^|K!y4 zf9WbGepz0Pi_S3PXFqMJk{Wt~Q&VD=$F)OF5?t$;Hj1e{-266WN~z|r{{_+96T~@= z?3dt7S+?%~c|K0VJ^SY|i6@F%9RKjS*>=KK4iV`VqsexQr`$DU%RBkDVB&oFo&~cW zJ0u=x(iZ-^-%5CZPb+yR-^)9Jg2ngX1sUi&J0Y# z;-AUP+?@04ok#CThG9r_2qA{YXb_1Nb1#f^2>>p_FTfcO;eQvPg@QVXO)W74|W4$QUCK@1;4IGkCvZUBc8Pv zv50s}op9gt3fPCJx^{or@{t1sY|9vk=tX>(qzY5qEAQAm_irc!Zgt4@i~2H35M6K3 zA1QW-Jqp2o6N)aw=_01YiZ2-+V#*RA8VdmC7GwnS0UtHUF=Q8lH{&&W>|Y|Q0OVz? RFhc+U002ovPDHLkV1g{l6g~g| literal 1751 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%!-*I5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij|w8ft$0lrKN?rxw)aCtBIqFg{6g|xrMob zk+Y+PnKMkUOMY@`Zfaf$Om7N8uOm*qpp=kX0JPa9wJ5VJHN~wcKUV?lW2;QuZUI`3 z%PkPSDY)HYfm5$O&@uX;ctwh5m=G}WfSB-93*^AleQF*su@?bT^{mB@4+1lbkEe@c zNX4xq(|vt}9Yv0(M{x;7J8H2ruj!b`9B(Ms!Okhj7#Jx0*fl9>ibm%Ol_fEz5_*RY zb}#5%aI9IpBarEY<37C^2_|0ALW|YvT$#4q%6+_+n;EyTD|)El$QZt)(Vz5=RS^L5YQFa$gpD>tCF8< zd&J>0E4MZ=Eie;g(md+2#>U~T-HT09{ztUfR>-wftS{VbyWrNf-bQ23yIH@ZM73kz zcq+YZe;ai-{L)PEO$@n#v*xU-+h8KRDR%h@wMzM5{y*O(Iye@bZ@YMPdDV{fHutR8 zaZlU34yg-F&dLQ?{+Qd~Ad|m;gDcbX-2rnnmsCfdU|(Mvyz(~BG#Kkpm&CxI(5aqCJ>yt9!Gl$+2fQT_R5?4wVgmLBE{cRt_V zu(4jL(Nyy6_Ng`-ISx)gwAOBsi%Mg``HCIQTkag^?m7N=OURR=W2b5h=PjBe!u3(x zC){_zmkuMv)*aEJ98Cp#HWaVCvp`&;u{i36<$lAX84Co?CMpOyUN_$&?vRl9(#*%! z@KHhJoy~isI)o#h?OqVNssFlG+9ucE9H-)TpO&zD*z?IM#iv~P{r0y{s_VOF^f>iS zKFu7i!rmQKS@HUl*92C9AA6rXZxBrn+oo`N-Tr{0j%8e&EpcbH6^ah+Gz|$m6XFnb zucEY=7pcf>{slZ{c{zk!iT`;^za2Gw$YJFg_~g*b&G5$4gYv%Sk~lS0sUd zu4r1{m&Ll)ZigHXd=2Gb`RZbQcF{!(!Ha9A^>6mGckEoLoOnyLfz72u@`CD8g^Jll3zxw)fG(khNQ{i?^*#b0{@QZ!GJcys25P`Ca3WrEULNBpCXY V5-00PUDE?qHJ+}1F6*2UngFs9qT&Dm diff --git a/platform/icons/src/javaee/ejbClass.png b/platform/icons/src/javaee/ejbClass.png index caf3496dbe5b0aeb2f196cc8897929e3938a189e..c296e7b447daf062798d2be7b1d1f387a557c86f 100755 GIT binary patch delta 534 zcmV+x0_pwu3$6r^BYy$)Nklsh%W*04=BC>#7$5+ z6!qu^1Q&0*{h{yZ^Z(1Pe*C}b?l&+7u|Z-$xsM<)Dwejz=dh&-u+*A?F$%3WETIgnzJ6nZdMGf%q^GD}uxU Yz)z&Lmk)-0OaK4?07*qoM6N<$f|6tl%K!iX literal 1528 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f0*Fb5}UI2$*<4On9mVa^UGcH4m8Bi-4)xpi1=t0|Qg8r;B4q z#jT`2|Nq-Ft2VH@h~)0-)lp*-VoH)%2y5=T%kaq8!G^Qreu6{;OVdmV$>(0&pFenW z6c~Oe*wDnf|Id%L{~sMT|GPYY|C9f}|J!qFY!REyc<{}dGpoOfx=18SB{oc-EZXr? zQiXNr4?Vkz&A*<%-@nkndB%b)mqxSmm#2y+K1oVX{lU&7mLs9U9>g5PeMPzLO;Ze~ zW1gMgf~Nfrt@iutQ*UgqkUD%enEl~8jTxI+eVVT{T(PVEzLep_+9t^d>SxZgUgKf1 ze(s+zA?RXSfwyj}^apXxO%7R&Y(Fw&JKCfd96WmL(1-W(E>{ogHqNh>Qu}_oQY<&2C{h9yu zHBGxNUe=%)0FK&vRVOuR`_~~?9 z!_FCxPd67Ri1HdIoVwkA->&xWPidKmoIOlD=OVxI6b73yF7ET3HUIJafAe!)19{|P zC;uz%p6}qL6l%a6$N1Uh(&6Xt|JDEf$(?bc-XbmGX&rai$B!E??$`aflK-oh^grW` zd5y1v6P=85-_EzMKP+cg`}^n9+5SBD>;AB{GM=}uoPE}SwI@D4^3?n_XA=K>w-!1P z%YQ`t;^#wB3%vRE{Qt6*qoejlMl50`OV9<$JIfG{m3Mph$0P* w?V*iAoRcIp)ZZ~ZDpCkzQ?1q5$19M)pmm?q&9RxU3{)0-y85}Sb4q9e02VMsY5)KL diff --git a/platform/icons/src/javaee/ejbClass@2x.png b/platform/icons/src/javaee/ejbClass@2x.png index 1658386b9c44e14aa13bc468ca92158873ae5762..a7e22c53bf3454b9ae36cf83a17856c4e89aeebe 100755 GIT binary patch delta 1181 zcmV;O1Y-Ng60ix7BYy;UNklrYc>9LIrW`w#Zk7fY7x?OtpyOQvS-l5M_G z(2b3oP^V^{v{a=~U^Q_R7&-={7us6xa}b%NE@lc*0b_`xLJ{Onq97{{jJBnbk^J_3 z&Q9Io^f|q3Cfkco+Meh4{C=Nvp38ZfL_|sdB}xAqf%*~uCVzgO4{btsVJ;bL16808 zEP*E?zkvZzDaItr^GQLwKwJU{OaXad22h+#f&HxSzY;*uOW^CZ74d`j5)we; zhvL}McY_avJAZV~B?jwr>V_{Y!E$YnO8^b8h}LBFtR`Goj>WSQmRM#(8dU%np98=0%=mfE@LH7@p^VNzx7 zr%V()W;jWP@)|OpZXo@MDpF=j;UY-#u|t4xXbMw-1c~2xkZ6%JOLkT{9z(U zKTbw+=zriB!lQ4w<>R);LpySd0!w!7Ye@{Lz`7uSKpt6p_fcMEj$%6q0XHxLjf@h| z+&&px5(Pqv0&TG5AqZdsDzyV^+wGNnm$|spVR-+ZymlG2u{I8P_4cB7?<-1xTH|N^I`>Q}Pv9Hj<#ThD8j)O1 z{k16!!(Ph8JYe6&>+Z(k<$Om)&VUQW@muYRL&9AAQ8zx5|>WLXSB0nf}-kKra_~x)s;odPL6K0WNh{r!gFL zbU<~OveMEt<|A7d!%1yNw=FtR9C2#rUlNN^1lUB}B7YgFn1JEZU2>pU9BAwXuWxKh zjG_({N1NIaTcVoxIv!#Y71x)kVKfjOuYX?~As|XL^m+A&QL|5*{v9QW38e!`fJsyj z{!X@0e>609{Z1b@IV5a-BYNae7oWYVw;q3cffM&c=}5LKd?YjBNm#soB}y8q4)iKL zVs_`OIPx4mX)(WwYhGE*Mzlle2jQa`n-jI3M?8UM>%}WZ?0A1DNw7N?i?enAqJK=n zt0-XpdpL%|$LtcEYN`iUs1BQMS)(xr3H zep&Zb`t<}Qtl$OdJ`f8gvR&LU`^CRz>*8Fg!uFbGF5Y!M0f~sMI3c7-WN5)!6p03| vK%ztuU~B=W*g9uR4XgtX$Oq3$V;27e2lEA-#u_gI00000NkvXXu0mjfP0%s| literal 2375 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 PfJy~VS3j3^P6C90izBWb-<_t zMz{lJ7n(94V`@8K2N1UbaRC}`0OA!u{G65!nCm@pdtOyt*0M>ZF85{@S^S(;Wd37H ziNmATs))_eU32q*YT{_>fR4(LLqJ3SW5Ynld~c{poJ9)<%zuU9@SY`=Kp#KDrfWI0eS zIjVbJ!n9)Bhktk+(MhobfZ6Q_y1^iygDeNiN5*u`iI`q&b03ETE>i3OVBBMkYmm=D zmIKxJ#dXdMm|kRk4~x3blscfHtukyIt{?{a9Ar6Aol8Q;6!#fLR(GiFfJL#LGYe)F zqNW2BM*w{evK*+^BDKBO7ASTFN&YCM4tNeKUZEu%&TA|O@;S(Ipjtg3Ulhp^sn{Gq z6h<#np@j>+e18RMIRliQ2E@!{_h_&<093s8k>CjIB_Rb4fZ+^K;=<#I>9lqL2ulKS o3lN_N;xABq3>4=;%z~^I0EBb}f=(?w!TdrT8|96yRh!52;#L!Od?q%};YPW@{PXVGCGgcdC(|dOrf&DK)Yr z*?<`sEwI^hye!D~<`!7JWmbYh(iXt;-J~es0K6G?J61b6(yc}YbxCm_x<(Or5W<(K zkrzps40*7YW&xZmOHQ(4xDrk!WOy>JRN?brIfg4xOo8HxBwS8n1c@iZLk}WGW2q9- zsLL9PC7#rXjprE>MO`kJ%%zag>?#x|2m;0As9c^TB9b_dlQ+AQoLs`Nf(~$2*3R&D z+6jjg%@%qMuSUd7UzFfrMr57bP@BYtp>8vS;xa5$(lF3q_d&PFq^RtwKrVs}!si+gJjZZME~ zC&!zeR-o6Z5m7*9w^JmRnX1dmQe~=AQ&l*gsmxHw6`G7x4VI!*C{q;5VXlt0u5kb- zKg^|GaUEj|ce~}8Af%m1m&~pTi>RAatckn7>!;ew z)f>v!9_q8jY$c0-3#*&-THwuD-)im;EUY3jzvmiq;RRy@hg$;D_f6rO@7m)feLDr= z)B&O5*rveaWmE3>{5cA_s9RIr_j`6qbxqrt}f$t6My#PU0_zKivM0zan;{i*jw<>$`oXAJ{=fk=uTz4LYr1f`e2v2(Uv!@NS`-LME zo7ggCQSZ(3V>|g$RYxp#x-k9ErI+sY-^r*fYF_Uv-tp9>L%xyjgud#yI6g{RxTO_p z3N~NDQm*-FXR4VuTFylVh?uuK(lF1gzRHibpYY%( zm)`8I^Y>ioT0e8@HdHthcn*D7F?q`j=)sNYJbuC#1glqGpkw-bJA~!E2@oS$E~x()_-8w@Gv-;xLrHGy%IpJb91}U#70CR$d6v%Ujg>s-(7^0K5r;k5x_zpc0Q zYQfdRafPpQw|!%x2!ybNC3u6;S5WxJceUYD_w-MX`yuN1v*hR+NqItaxBTO4#FzP0 z)#CPynyVSe49&xcvpyUCMP#6eIdCzebN14cn@gbYrbVBW^h)99QH@QNs);doe%%r# ZnE;`IcFB&d%J9&CSD%@yJCsqp;U9Y9KCJ)% diff --git a/platform/icons/src/javaee/embeddedAttributeOverlay.png b/platform/icons/src/javaee/embeddedAttributeOverlay.png index 17f672749ef3649d20b643a692bb48e9039da942..475c2ed43d4681aa30de9ae6e37cd0b1f953ed13 100755 GIT binary patch delta 86 zcmaFHUNS)?z}nNrF{I*FvWBki-+pdpM=1g02ZwnSTED-$d-#Bgw7`A^kv{fg3|)I1 q0u`J@A0B4mUBJ;VWst?d!OT!n_;V_&tJo9)0bcU1~WC^d5j^QI_-oi};Dvq&+YRIrQZ+%8NhKZfG z>kZP-uP7#Vcq78_q2p0D!{qXzXPE1VfF@eAU6uX${sRkaOJ$eSx~O|a)Up@0e6+N+ zSU0!UP1$1eb08NgRKP*R0HL$t21=;1U0sE)qho;uT?koM*&|a8y$XuhMzU>hkyC70Dnz&6=mO4F3!SM#NZqO?eEtn7* zo&b3DcSFzf{ z1P3kbfnpIPmTlLOIjI`S? zW3N^wLuTUP-v0jXlc#fclo;GT@u`)oPn~}K?uP|ViLg4>*n2zuk!c=0ii^Jw5A%<= qpRL@Re4dz0OzmEcJ-9!@jEpinH>MLWzD-20n5mQ&wKs*EcmDu$jyDnj diff --git a/platform/icons/src/javaee/embeddedAttributeOverlay@2x.png b/platform/icons/src/javaee/embeddedAttributeOverlay@2x.png index a025cdce4ea970d8e13318c86f72ea1536b22aba..e7fb7f3da11c7e0260783dd5cb2a6017a727feff 100755 GIT binary patch delta 109 zcmey*-o-dUB`wg?#WAGfREmwNr zMB#xGXIYiEtF%bD=q>AFW)tbRO1Q$fm`|egzzSwJS%X&%f$Tk23=BsMZhdHvA6PrXkVGag|e@46K^-O&2aT7fO1w zrV9o=I|EX_NCYg1HQ-z8wkP@$-O?4wIyh!&(1PHaM4u#8Ru@4Axe&yecv$E77)S^V zALnC9ei}qLKFV@YmXC({h{y>d9|!G^Ced7DRV*sGb}X`!=qkpJ$g+(_gK0z=^x8*6^p_9ibg+qR5GZODRL2rcGCe85a=Nm%*KQMO80%{e z%QIY1QU|E2|A$&u7wzF9Jk9r?!d_{^fou_asP5|I;#MbvP>z^!p@xxLLTJ6y#l|A;Tor0xhFSpg5{9N3Utj|(8#&S0Msn3hRZA4`}>96SYc=8{^QZH)C3i}d*|beD^Fg1d$<)ENcHE&_vB}6dGqJ-@v(XCU?)2=xP345V05g$_b8Mb=MFb-3~q}npZh{X)R|%G`Skhu_1c?v O!IR8q7nG;+%I!ak9zsU| diff --git a/platform/icons/src/javaee/embeddedAttributeOverlay@2x_dark.png b/platform/icons/src/javaee/embeddedAttributeOverlay@2x_dark.png index dbbbc88627655f3442ee6ed46526a82802d98157..942f4cbddb5a4c20fb0194912a42147622b40868 100755 GIT binary patch delta 112 zcmZqV=w+Osk{ROZ;uunK>+O|=f(INpTrTQ%g)Mp<6t1M^x@Nst z1i^uN6FiC@HYTVyMGy8kZ-ROe1Gf>^Cy{3VzrEy&?;`|9;D_>RDmFG>s45Uy19An4NOy1WZWv1 zaamiC3}iEUh+zWTC2WdH&jhY+tU(MauxdFn{r%Nz8d#=GFN+$dxmj4V=9?Z|YA%+H z=9-Z*>6r^49Y{pLhFAxIz3%u@Ak!UPiLAq8mIfUNUX$rVQ)R6HvdDu#WW>0^@sl8# zVtA3CoaWC1f#VY_mtgrsoEIc6CGjHYel&^ZnX6J!$#r9qolMs-b|sc=G#X4J!62{7 z@~Kpc&?LOMaMfk_>KZX6$rVH63^ikb2$i=NrgrQt1>p>kOuY}NguZo2l z!pN^77i6>G?6T#UsNtXMz%@wO`94}<% zrZ|PmCPXDE_P7c%>Na$6k8Ae1DmRcDc7pAa$O`nV4QS>(WP?t|k~P?iGElF}H3xc8 z)PY=w9Vd2ip)@W_7mg2s)E+4xst-L?-=y diff --git a/platform/icons/src/javaee/embeddedAttributeOverlay_dark.png b/platform/icons/src/javaee/embeddedAttributeOverlay_dark.png index 383baa3ff1d2e106b7ddcee056bca310f66131c8..e59fa89a420bc557cb2e70725dceced084c4d9a9 100755 GIT binary patch delta 90 zcmaFCUNJ!>#NN}zF{I*Fa>Vw$yY(?M8XFbg{{R1<=Z68a$HLA|PByih4L?{H7T6fD u1w3KxViH`!A+MIfpvbzItw+j%hm9fP$f4fv?Dx4DfWXt$&t;ucLK6U|pCQ`- literal 1000 zcmaJ=O>5LZ7!H1vQe3ED%eDwk)5{8OlF24)61uJJrXLHYuG=l$gF>^(>~3h2Nt3CY z_Mo*$$aoU&-=XZymP;}yqFjo zA7U6LQCQMTbRLe!-~jz!_|-D$G)CqtWChnq(+m(ZYvU>c1=p;j5;E4Z-m9sNpQ_254n> zxoqujSgOs=OoORNqXI4>CWzckFVvzO+t$_SIzHxE(1wtW9D8J{ViZ9h2MEZVoVElg zfvn0w8A=Mg1VjO5cp<~XOd5)splVPCosXr_0=uS_^o33=y34T*LVS(qo6RQI%y2lU z^H5b)UJ!XvOjATU-0_GRrM+;ntDvLM3LKv}*aNYmS;gBV$5N+9DY$-5)(bmjq6On4 z)8`>4#3^-whVg%>>-NwgDWPM({}c|(J3it|D8$==MK7*48He(HNyT~J5u6@jv`*Pz>aD5tCM}cz_*$V-7K|5p3>F-7CtJmS${k>%R za(QZokMH%bd+r|5=82cRuBDq^-y@GUdqBJT>X+Xs`XX)=^x1OsxqAJj_wDw;d5}t_ z4qL6(^W;xvboj%;!M%xVtE+D>pIP67FT!)*_tzeOt%Fek76&Wuo{hX=s)r8}!ilZ% s>C<e$Jh+;1>#>o{2vY90Af{q28aT&H&h}7hapdaSOu2>(}DOmR5Lz9ZUHejHUpkR z6%b=c1vUeIASnPF;xTCtE<-MY*?~%2$Jh*DfF_n3TWs4@7K`}q;X0kEmf6;HAt1fu}>P)*vGY9 z;&u;9N-5dP)K|pBhIpAaY0zyCOh}`!bz)qexT+Gn@QhR{q^S}^<+y7)9tf7~bJ6#G z|Lv1c4-dW4+3{QlK@gqkK{1P0%6;3s_aiP0mW z44W~Mu%r%7oACJbP)?p6m!k^ZcNFwG0v6DqEdfU>>z3fe=nY)~@7-&L1{)B2JVrlG zDxVn!Nn}D0@`rpf%LPF=>gPgSFv7hAc$Nz=Y=GecK8_dIsKAB5=0oFXrcxBL;=pDs ze2UQ}+cpG-sZ=WdO2CiIF@}pqqYTS4JnzE@pEaf1lH=2@Lk$HHTC%Acwu*G%DoO=3 zX~$@s>EjYKV@p=IHrs?7#yFC}aDLV;sR7Jn{vWDoTWHJ9!YBFur?8cqG9Z(M7Me6= zJhLj^Z1ZOu+-7gBu} zg~)?5V%DANz=$k8Iza zMC3wy@WK4=9+vR#@BZ#w*UwLN*IK{)gt+M?JWmq_8vUc=rwb?D|3^ACBwp@+W9A?2 CtBB_S diff --git a/platform/icons/src/javaee/entityBean@2x.png b/platform/icons/src/javaee/entityBean@2x.png index f63b23966de04fa2c84ad52a4416fea8deb9bcf1..3b527da79f3049801c2db1acca84dd62821516c3 100755 GIT binary patch delta 367 zcmV-#0g(Rk3W)=dBYy!CCmM{~lDn}5F1J@*crphXIV>KPqm z0puAFuP%fOaH+Sw#DM6g1stNO9$qjZT4?~+)-VS`eX<2AU>LIi2Vy`4Bz^B3h$02B zax9P)(V+k)o<*`C#uUJqu+RoketH)sB4V;TqlyEx34n7{K{*SNLsitUy3jLM6hM&x zs9{)glynlld1wHQp9UQ3Tg?lIqG+4_?8*mF-G&ATeUUf;5B-mA_OmN0KwYITA$Pza zx*-9kyPZE~?YCZmojM~%>QD)>1Dni=7Zjii@(T6mLu3E| N002ovPDHLkV1n0ypXLAn literal 1394 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%!-*I5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij}3Ivx}jzg{6hLxrL#jtBHk~p}DK0p|QD> zv5A?1n;A^6OMY@`Zfaf$Om7N8uOm*qpp=kX0JPa9wJ5VJHN~wcKUV?lW2;QuZZXGc z9#n4%Zns$A)TVL91WY_2COp*wIq-C!ng>kmMZi>j)x&f<0|Vo8PZ!6K zid#v4{{Oc>?7*bf#>lpqFTqiKMsP}-w=TbcI`c+xf!B;1H3aGzA6Yxp2y}!qf8-3( z@qcOE`jSCLL8wFBN!OL_k3$a6QCEi=i4N|DA2Ozk9auWllQ+spZ(w~i*&)WwmwgXo zQn*5$yVI63rjH>CX-keUDtWy5?C{2^N!dYxyCYqoh((Xxh2bNwg4v=Af|(ayD4%4! zbAd&j=g97r4?1!b^c0UWE?A?+mdYJ?Qc%`mjrSVnJr{pmDPS?aBIsgyK%iT~REAOO z08d9@g8(1%iiaHuNirXV`WdHK9coR8Wnk%Vi0I;Q-?1(9jWc9@|K?{LRc*)(_YXcm>{V2|1{DeP?{x5J*P4R&U;wz4l+Ak%U8kchTI1)u2+))78&qol`;+ E0F86ei2wiq diff --git a/platform/icons/src/javaee/entityBean@2x_dark.png b/platform/icons/src/javaee/entityBean@2x_dark.png index 952d584e7af090771dc5b283bd1c335999397168..0a946c280b2b962499ff26131ce22dadb1251784 100755 GIT binary patch delta 368 zcmV-$0gwLk3W@`eBYy!=Nkl89TRN1kUAsu3EeL*uf>Q@;rMI~& zVs%!WT}nm7uc1Rh5V~~f*Eot|!QDc9Qj${AyW~CY)i^l(ha2AXN3NF$DWwRR_y_zs zz~k9&S_O29Mrei>=o3xRE!uO;CYA+ogx-<#G)7HsKpA}yet+Ebg)X^wpn>KY5UM-0 zl?PB}Ks>k*EZ+dvngy?4hoLIvg2=&R}OX#fa*LnKl3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij}3SshhExv$2J_xrL#jtBIqTp_{9Llar&l z1&}myh3R$4PcF?(%`1WFO+n~2!KoLN5^@WGHoK%2WtOF;xE1B+Du8`#m5JLehB(cG z>P^Az79*T`^?{Dj2gNH=Ji~;5i3h}lr&=Hfp6*lgfQh{bn5w7lzmd(r!1%(`#WAGf zR??sU|LqSuFsZdMvMuIIa1@^roYLm4%P*kLyir`>HRDDNfqKSA)($lS9pTI$IfHck zUs|`mWROu1>QHymb!GeGki&D-)uBeBgS+8}jOk(rmJapgjWW_3SRYMxh;j2}-@}*` zu2ARhw55#cV~9f9k|T^t9&bK7ym4w$c2MB%NEaw#(PMXE_{ghZw&;Rj=7kr^CmHWt zU{U8evU}x&jvNI&#iNW1)~Kz0%=$0^*VbnUn z(^1$Uz{kAeVMjue%m<-<#wk{ZS`%U!So#|xx;Wf-tP9O)7v1^1`F(g3&;4d~7DorZ z73}9Ctt<7z*xxWEaWmOO;4#IY}c)o5waU97Fu-*Scl=Z{{=_sae%pb$6Tp8UY8FdBxE#KRz^*LnX|=U-p}$-v<0>gTe~DWM4f D4b0CH diff --git a/platform/icons/src/javaee/entityBeanBig.png b/platform/icons/src/javaee/entityBeanBig.png index 48105987483fed017dc019db131559cce9958936..4d81661e077834133813e62fcca9e0331be54c22 100755 GIT binary patch delta 317 zcmV-D0mA;E3fBUVBYy!NNkl8~ietAriqN@qa`FoZ`63Q3j?S?S zSzSAKH){CV6>$YF;0vk_ks1b} zKw&KC5-CH0wY4BNa)2=v*g6))Msh0f>se$+Dk9KQftFY(Be&0WDDoq&(dc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f0*pQzsV_XG;rna|=U5R}&{EQ!`g5Gcyp^ z%-qNrrq?AuximL5uLPzy1)$SnZc?2=lPS(cjOR+OKs0QRv}CT_Qw<1`Pd zHwCv_EO6@82RcR{6t76}3=;w-9uO0rYJnVhx=+mmCiWs=sy5kpzmb7~ajK__V@SoV zq(A@v+cWDj3N!aIa`zZ6Kfx30C(^;)V8PHK+W5m<;6C%CwF*xi{xHlxs9C!_K-Yo! zm%|?Mj@F4sEE;bxba^-K;P1$8{K0SOSR&ie|KQ?rwj-hrdw4s3dTewMU-eU5pq=rf z8HNvSnr zD;A!dn8m5#s`g;>1936m8#*^zjtlA6h}}87kTdUO)X}mDstYT00$EliG9;cqS#4+} zrQs|6@WKx1DJsqH!`}t)zxi8QTw5q$a!%ypmA@;E5)Q|OFdSsccy@5s?#6Yun9^bx zs+e9l&3SNW{Y!&qWzlSIDTm)VZLXKp+iP%rE2FMsxuzAv%7fD;uWqQ|_w@?a_`!YT z;DsL>+`{+#{V2aCCrF2((f`7eZER834m2*;aryak`~C+xF$_!C;tP2OCD5adAj=_9!W$S<{1FHw3rMmpkSf9( zm>OWfg2Xn#5D?6j4Gcll5ncf!1OXbR38eg*TuE2f?(XSbyBiZE`|3P(JM?BpdO87F7aj=s+=|&5IBPcn|Cs8!u5<@Xu|tNo0C0mH^V&KCyyiI(zkt2-yN;q> z7mW(wMf5emN4)E}go5Q`9&9ZD{-;wz$0ZbQgB`%N1^C;J68nG7mM%-^Pi(iD(;C3i tZV3%0AhRVzZQuZz9ccb7VE9`JVn5{Um_>drT8|9KW_IO2O7gA_&8y;)-Y=*HTJvbR4$D7TeO)Mk+DJ_Il6?*K6+%TB>f> zJrtaoI3II~A>iU>=G>?gO`JNk)y&O>JsdGE(OEWi;xNJz#W>s*1^36;C3n9^KA+F` z^L^ynY}S>T=?l{V0LU~M^>%iZr{0+}*l!JYbQ`;5(*`HKny8~gE)oMOJcJtqO}MKb zvtuq#OYjm_1^~Q#pTkKzEoK-caH%VWk%sXA%Lah5@^HX~HefX9#_D~3t?2%jUx`4U zM=PpPS>%?04)gkq5fWP+u{zL51FG?e%3lS`!Z0gUCTt^ zID~G{ik_KrT5O<>ATdxSRY_1eR1B&$Qb+|AmqN=yg&b1Kt`V3{lw3Q0psDM8lDAdN;NlPhEjg@i>&s1`r%3QPRd;t2&k zMxmrHK>G+km{N4Pi6&YrVx2xq0S`>d`l;t-Vhbh>}0kl~DABy9XXo|LD zFZ}+eFy&|oU@|*K5ltk@Hm+`QDpUa0k(i4nNC!bQPE^t6C1`^35&=-B0}E?>eh(3% zmX5Qc436oL%JD>Uk2O-YHSQdO!}7DK8D zuAV@faLi9na6K=$rBiZKlYj@<$a;+QHDjJilEA_7jA7r@Uf9S}d3nb5Ozov)O0JAG zBTM!5UwxjqVuvTSot#?sFgf>_pB;9Ro$3Q4H~RsA`=Lo+;Rs)IKY9AJJZ_s|&d}xV zh-~QO@K5y~5Gn0{eankUgoB(|hHwOUAOOd>i4gOMD_k@^x${b(vFgUs^LZe*n-k0s z)^lUC=G=Xq_h3D^9!NAqAN3(G=WhbfrYER2x@=}QHa7$v}Dwoxhk)- zM|@&eEqrqrDeBl^URBL(92wmcLEc3^I@lvd42^|L^12rvGafo5hFkGl8%BUwcH6!V z8#f7(TF~JBy>eM~LHi)*wYidmd&TRR{X267PYU9S+A!C#VC}AfsK8Tes^Td(u$iN2y>yEEegWyV zbL7c}%SYdC?!A;9%eorOFMPyL{EVF5zV6K<8MeQFY`(c*P0-G{oa;Wd=SVcnkArD% zJx-XAC!WGhzp9RJ84GqtnEfRWF>idMU}@%=KX*QDFR%^06d_zyQh4a!+A9I2R9k4`p;Huc;g@G-!-WK diff --git a/platform/icons/src/javaee/entityBeanBig@2x_dark.png b/platform/icons/src/javaee/entityBeanBig@2x_dark.png index 9c4b465aa522a597a2b92583ef480a62e88f80d4..67628940b6af6c773da3e15950fbd102a51684d5 100755 GIT binary patch delta 504 zcmVpbKQ9OLT?~(FU3jyk=;!0Apwu-G3v8qfc~$swkH>U=2NS z-gvKG&~{pY8v2fL^ZwdsDrrDN(#?Clp+eG2NH*dFEvp37(UD?AhZi9Va39z&HY5qe zicG*LdI$_j0x>TOupcr+HR3hu(@6wy7coRNq8%47!!blPq8tZcat=|6c<#0B-~}8D z3{r`xPyy$HgMU;ZuBiZM@7PL|7ESx`el0 z7NSW3jI#$QHllQTYj_b6w*MOb`fVjz#GBq^XJ3<53?PcWzeQDL*IK0lD%39@T--^b zet;45NC23F0x;NyiVVn4&vg~{x@aN*w=3NNlkAY8EpfnL$Gnct0JlX>#4liBuhCW5 z>!MKsyoiAYc!+l$myo|g#DlE`!25J+>9~Y~ZLtHmwg7M2QD*drT8|9KW_ml@^Py$!qnfx+1KPqm;I{b{w>2Jo-u{qhrQV+M`ssUb#DHVRLKu zKyXGtH)l3d!9?da-6)xw`5MkjG-_~*5;HRw%Z54^MbU|ynY$w3{usOD?)S*&^ZC9$ zxps@`rNo5P1ONaMONwiBx$*S3g86U*y`)fj8?_p*p?r1%1qz&aH42tsb{A?z z?atOCav*9azcVR|3CmI%N} z2vw&MJW0xCw18TiKtZ`!E^7wYV45YQfA3x5tV5 z$W@bYqY*Cgkd)oyKudHQ0WBbQyPa^6qNq?+pe;};6iNuv=PLDbr7Bk{E6B@Hh3OsyD@T&Yp{ER<49j zMiQIrzveuBMVlwKopCLFnDIU8q0LUvuI|r_UkU)seI>era{rIjj~+kHKVgYCaJA{1 zTB>>&oI?ZM0-5#R8CF=7bdwS0CXEAkc;Mg6h%Yd~Oj&{wmEfA>-P7EQ>WxNg^ONfx|lzMI-Gt5r<3W#1t(p46IW?XbVvbQj} zJ^?wxZ9B*eCm+=em`@sR&xu?M*fxatwLr8eYw%cZ(z5t!S!GL4dfQF+^?3~NioRWF zo9n#vGFa1kH?2#3JTMBC0{Isf-9p~jQV9WBs+tVdvEU%YxEnEn!@IVzqd{9@8NX-0 z@IY53eDyAp720GdGY8goZsK`7 zMnOUY>Z^Y($~Ld)yvcZTp=jra!Zm^I9qGJBD^BE8`kCcRU+EeN@|=~$9CLE#NbrTl zwqnejxpgGSS=^c`*JL0j$F1bA(@vH43X_Mk4xC5}9Dk5~+70xx&IQO}(-n>jA8H)D z5ga-{+^a~L{~*}(`|%JPuH;=0lv#!X>hOFRKn(eRa-fF`DzJlX2A-Go>>=hyD~MVv zLmI6+yYIcGfzv7BAIMdZlFHScsZx_Zaqt0rCb8p zWA2WNm|OeVYqgiJEn|PdZgZ2bwdU>pqw|OJtDD{zlynb|6uNps6UxO7;HO1BrKZl# z=;6cLddE)Q$NDyIO{f~}Ol6%4^`#k7KIy)CKO3o!dsZ{X&uRuHaq{QhDViwiKhK>GOS_QC9AQ|w<}qBrTjEUbF_ E9~neCYXATM diff --git a/platform/icons/src/javaee/entityBeanBig_dark.png b/platform/icons/src/javaee/entityBeanBig_dark.png index 349feacca909013c45d12ca95f556814a48859df..5edeaaa54c37c65d45cf8a40c5aa721864d5b5db 100755 GIT binary patch delta 310 zcmV-60m=TK3eWD72;^?NEA_#6G4o+S`@E9%*F5W=! zAFi%mLRammqd0j95ye449O5q}g&2~rq#6qk6lwbQ!={XL&U|8j3oQB#T@J=@ga_Q< z03#?FuKy4hsKFVy#S^BGP8!I-k_bfBkaY=E<;`6pJ5$6I$bZ8LRtX{jq~ZcoWkHh2 zEG}@+7Pv-UP^JQR!y?znkP2Kai}c8f2<)lAo>&-0TJs<-auL@=^uUk^^q?)?6ox~- zF>U#~s>_r^50vE}WenhnxGU2}n^A#mp%PNhZEOKC`o?E~$!)(i1?rtaNIkcq0#Rh` zYl4XQ6i?)*`7h@asEW|^F+oV#IDRHj17A&GBW^B^uQ!@6Z)o+!#y|8Dn*aa+07*qo IM6N<$g0T9CcK`qY literal 1311 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gjk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e|}?M>8i=LjwzQa|=U5R})7wOH)f{6H^Ow z16Na5XG@q~m;B_?+|;}hnBEkGUPGLEK`9}(0BEyIYEfocYKmJ?ey#%8$5xp*-D2R1 z(>$o&6r64`aKourALtl;P`o0=GfW7WctA{ess(c3={_|NnAnSesd~;9w^s}dj8i;a z978H@CH?vT-=0~QQJA@xk-Num`3as_KamdZ1`CD`(Z(O<0{598tyOsH@P}dkLCxCb z0lE&%zZ~|6ceGACV$pbmq075*2Y*L);}3pI#}e6&{s$M2vmFt2*u&fL(_^E9_^O}c z0_}_+-IyHTa2>h*F|sMAQNko5Y;s1YsK9#Wq%<8lY;4wuIw4Az78=y zx$*}l%b573F>KV?TFbzG;K@%858Fkp{00n`b_pt1RxzYj2E6++W6N`UOUd4e*UpMH aFfcRZNi^{FF6aye6e$Jh+;1>#>o{2vY90Af{q28aT&H&h}7hapdaSOu2>(}DOmR5Lz9ZUHejHUpkR z6%b=c1vUeIASnPF;xTCtE<-MYS l7+_IEwhO@V3k1Z(0svFW9WFw~1~>o!002ovPDHLkV1i&VSFQj6 literal 1201 zcmaJ>TWs4@7Ohkapbf?Y7a>*EVB!H(j=QGgfndo# z7k%IN-#+=+=*XeYj@=yuL3Cz@r5s*K_YL^*_kkPhGG2O|bip}{N={X_ATg+-A_N&- zF2fv@)#=G)*iR6?2eo{`DP$iP6r_h_7Za-KCT0^v|3J-@m2v2RA}ni0f?A#blmeQX zpvIzECTohYq7Bbj@bJt?UYQwJc$FGB2>NRR7SN$1gPJ~J*g`EqZRiSk?_Sds*nl|W z3F=l-h3qI0kp)3C6b&j28v!vs#75ajoP7jv3>&7IFwKU8EGIC$z(&F5L*ZzaS`u>7 z&}J-rN>CNYF$J2gR;!_EIE1V+&GI}?GaSuvL5v96(}pA0f`+}fr656Du{6`skO5pp zxrnBm1cfubRf2AA$r|=%n{dPEnrzZ+h;d750khfvhwAzk+IDjAcE0~9Z0DyyuC&(;WeTDNWd~V#geF>D9IYS+*%f30Q3QQsnxUeqy?+Cq%?cUAc4R|=87V0qN`L2I9j*j8_otG3TYYRjc@GPFC_f6cjdh0Wt`w_J-4TfT<|HoJvg z{flxXK@gsYGSXna_D%7x_4NVYzWT97YQd{~zMp%6P1n!g-Tb>zAe+dub|-kfWAW+c zWMd!su=h-yJnK2rMOKNm9`NK+x!y-U?^`Q@ZPSp9pn~fJCB_H`uJya!zb_c1ezd4 z-8}JBcz)$~@7(H(>JQiMn-0BuIq>ll-Tcw|f$wge{QJ@q%1l`ro%lNY=@_YeVwc&%sj$i-I|esX^z Nne>SCLF$>=e*g*&j)MRI diff --git a/platform/icons/src/javaee/home.png b/platform/icons/src/javaee/home.png index e808b515f56800a61e4e326b4d6686119325b1ee..5d6e70ee7e0ae39efcea16f97d973b795913cc6b 100755 GIT binary patch delta 488 zcmVbL8G0Zd&~0&OPV+yShvQ0>|-xp@=3ow7x1={@`LYggHfl`059628fttADG9VbLZ(a|f=$Fj~0vHIf+(9S{=|voN1pX4JIRgIVNp%^ge+>_iML zX|(GwhW6b}KnL*liwT&!UC3#h?1Ylaa!{(PxS&Ok!yh4isf2JHv9&S*Mffv16CRkk z@zS`xX=CVXxLn#7n$jq&uOK1KaNOHrXI>;zbVPC_1YrdrT8|96u;3)7C&h@fps8PTXv-S7=KsEiEmNE-PSdLd~Z0xcfmHyoc9=7TkDs zV<;|@naLhHvOxk{M7B7MnYuD{8zg|vxdgXmK8R5#nKA}LFzv1gxIe}&x%)lx`Fy^w zPi|jfey(Kcnxzl~NvwGmyRgQD-{{4{H*qY43(IOg+sSWZN_a2M0mwu$#Q?Tacqy<0 zoUGi_2QnZ?w88Cg@=n`}I)b6(co-x1QLMm*po~l(ixXvlhl@d}o7N)_&IAzHP3n;% zl}%w|&A{c(tKz`6s(c4gRYqt@B+~$A_;i8*1$Z3xQM+l6&ZkFabalc$e2pUT41_P! zBTtfY+6rMa!vR<&SIGzkmIiCIa!iG#rDL06r2jU}A)h>Pc09g2FrUb#0_&TyqDrqyaug%VXNWdcIxsib+_C!;+{a|#yVAvib7 zyBQh|E8@jWIj={AOrMlMvGcODXSPj3!%!d2qL^F}E@=*Ev;9AmqUO;a-VUDT`=7!d zMV#-rbt@5$l^HCnY%JB;uZo=L=>w! zha~WCQ5O%@PD&ag^5FNHoA(@VuZ;?q{V(WZwx_Hv%_?#w_I-k>o3)EG&9)Ul!MyWYOR zzK0J&na5ToFR@>UaxA-=)G$*2G8VDbu)Lz8Az+M-%uQGiPFLJm<3D&H#{bC|h`%`y z>s;5K6W=*;d%9?mkzUcisJi}aq`0Q;RL|$x$E5z+FJb@TCbj?T)` z1)3$NM{j?h@LK-ze1|A#76->d1t0vnzbts{@9U@QFG^cpnL-Dqt~Axvd7tU8wIv#A zu9Om`{xZXvzr+{b?0B$xu-nj5QgyQ{^ZuPgx;1DZ7x#_oNfyL3bb=@;*!4oZC})^j z?cQWitJP#~`=+k1R`gVdj^6JGyuCd=ExD)qQRT2S6+Mxb^!&2DOE$0ES!W+Qk$?tk zLgS*lcWc=G;Ei)X-l-|ro_iofQpdeRm4$+j)=oUW*K~=w zewLUV6}c`40^)*efj{t~IMEyOVLIvB(2fS>epp?2;O6*n?jd|<&*Ar9t(#QDBzm`m u$krYcj6u=AqB_^Bb$NdY`#QNZaiJIt&)<@eQ zWLE@r6-3ksqO@pNfnpyN3TY7u(ju@Jq^MY*koZZ1??=|958Gzf#KbQg&lzW$QtrJS zz(ha%!fDV!S2~S%FxPFngX0tPg_8K^RC4!?o1k(3cos zG3u+IJeMg#bC)hi00*o>;-auW(!&bMKx1hRm!KRg<|Tlg>-pM3oPT=OV5msqJJKz}TBR}!H89Q^SfxcsqK3Lzjno^o@6$ivDq9g!)(HXh%{ z9`H*d1XTK+S+Ka+m^1{gNFxLk`fR>R z)1A|P^M7qyRTv8ZL2Zg*ZX?zpwkZj)AEA5N3*NY23L(J%Pawy9@4Ur#EESKbaQI*e zgb$Q335vD9YAp`6n1E0cu(FrWYX`K&d{PJjY$uSzzGtm}gzFAZv4Ukq5cq8!gW4=s z`{%Q!gz2a_FS&RzY{Cy7u3fI7m znl%t=+CD>2n_|?*B&tj4?=Q0i_{)f16j1x99$e9O8H#$x&Y!$rec(SzJX&mkzz#j! zsDE1rq2`@4V!f$NG3p!LYXJV^q`lx*rPndNGU43RMQ}vha$$T>RsNY0j+hG}xC;x^ z7eL6q8`8xE7#p<|urV~2OZ=~NAXzRBB(_&ga4G81!bpj(@7V(VCjHE4!v-v5oLf9C zVFVh3V__KQJgnRgYDcmHu`yYn{sk>jw|^SOp`Dwdd;ga4kZt3ff(=s_*mFNe1jqJn z)VI=HtwU*nxDz$_n`r#U0rrSH8)Mgz!Xf*=E|by~^G(N~)Q19j$k|-Sa$1f_am=or zsAtR4_`w0q5f|a)7*%h(3Rql6%;&@8rN)QIyafTvP1v?002ovPDHLkV1fr?1=Iil literal 2229 zcmaJ@dpMN&9-lQ8M<}9nL}QTFn#*fUnqk6RFhY~iICkeTW?o}3^G-9P8DnUq3#*Gu zlG5ZF+Lcy12+P*cK~^>oU8s%cET@$yXQ!6xywj#Vf1J+yJn#FvJfF|!d;9$H=CHy7 z%}xJmia;RDnL+e$ctsgrlU49nrcy1y%SJhaE#Cvh%N1NHi16n_aUhB*;tIfUkjqcq z*9-a}5J*R11Y6Dy4I%R&5teJfV3i^X%tj!5e3cR|FA0>R;y{5=OhG?y>qMi3dBRJUN^m@F5m_qM#GxatRrSQz#Tz1py051vr32BH{2JI1djDjKIiJ#d59^BbGTW zE6_n1Pb!qig^(C!P~^rzDRK%L&h(EGM3RrPV%di_!41PHxe^?J#T!am28M?If2c_G z5iOI4gMa4xKZRuxsS*$u4$7buDGwf8ypti6giMoyTsb6-fS}~%F0v9JIV4MfBq$mU zwRNvh%!d@R&)>sCL&;3BOwJYaKqj4nh6S)fAs_A}i9x5rZT9ja0RY331Q6%}bSmA` zpXNy?(zY*i=@2hP1d8R$T>hV2;wQNVCx|3)WI8An?g#k+Qb>e)Uolzu>0CTMsrP}) z|8y>dPjYc^GC0Fr|7*_6SFm{u+mEh=4nuiBN%)3EjRYL=_Th4Xx1qy+pM;0&eO6#;Oe>eBc_qFV;?0eG7 z3;lRz!Ot8Eo3Y9A-ZAy{xoC#}<6)zlLf1H4oOcCssA|bub0*+R>QZ*gc2E4NsRt!3 z-g}FEIy+yEM;h6f6&738km>OE;R15eSGMyP)A#6eiV!F zzLj}DHgnZ+i{TJ+D-IJ_Ne$MRY+iL?(0C}}RJKE4`w2RSZbe90=QnwBV!`}Iz>%*+ z*o5RO*1bS`liP8#$`QnuPR8X*+cB9qd)~)#bD-5AQSksbtTq{X%D59*2~uh{(`-1e@3Udam@kmb1>}Oy3*P# zd4AaN_*eM|)7pLH9K6iJV&>PDvlp(9b(dTG#2_=9<0`*3=9D9Ayr#>$M;hZNOLAex zrZsMsk!q8o?KP~ds2W0B>+qSSCvG9?14O8Ps>FXfLv|HFvE66nXrqeV z(B1l|*0}IT_WT?1bW>J+zji!G-xMW0X_-1~zQ%Br(^#*S|pLT0K zS3NV}V2sXb-k}_7zuFZ6gBGw1QJl+`8 zdCH0>~}tIJhtBImHBsBQ@pZm zNl(3z1@xYi6+_cK5Y$<1?t0xyZM~$uFV{+%_5ijsuT(EIcMhd6T#7=veTQ}_0k+Fo zhDk{3lfJ+y!s1)qqP}2KcH>Rux}*P4Cc7N$8IOG$oLT3+^6h~uo|9+AjA>7I+stY< z(URrg4&KgT>WqdTl?a!HYR(`=wO5GA~y9z?Q4FFr}ZJ1ckX8vompP8f(Jd! zUox1S%6D}uY}V$4D7rm>5Q^hSR=RSrHL3yG*3Ze+>ti77wI*#_nqQH%-OWsfNuW>c zY-CoVy=!Lhxr~V2dAhPQ%UTP!qDR!P|?*#+w%eu4=-AW;hfNp(AtXpqD!rsoC3$6 zU)w2rT}zD3y4({=>vGc%C*7Vw6!=H8Z%}N}rzaGvbt}cUM!4!WW4H^-)=vvBc_-B nbadjt#wqbk%-zxXP9rl!GskskcbZd(;YWhW2%}%7#vc3+l`WZR diff --git a/platform/icons/src/javaee/inheritedAttributeOverlay.png b/platform/icons/src/javaee/inheritedAttributeOverlay.png index 32a5d15cd5b83f8b9387089d9ebb940373ab98ef..8e04255cd9d93c7f31d6101f7aa8eb1b6afc7b8c 100755 GIT binary patch delta 187 zcmV;s07U=e2od zAaP<`0V2{scz?RV|0CH(|3NfN42XS*F#v4H_C&q^2Q!WSgJ`H`q5~0Zz@}IopzS9{ p|3Nfa24KM?89+83HDFj60004v@&Hh|pwIvS002ovPDHLkV1kKTS8)IU literal 1123 zcmaJ=TWAzl7#>J>jiG_1V$DX-;|QXyJD1&Tl9^_^Yi4$Jp_7Kqipi6iojFN{Waf-B zC+;Na1+)!Rg7Hxhf`TvRp)XRfRWXGaE48ioBtB?M6dxogUTQ3w>6w^~KDZ8?ITya~ z`@jD`|M{V_V|RUBV;x0N_4z$=fy|L$)P~7_^AlesQxs>raTn^tWz~VyE*+I1$eU_E zEI?HsIdB!WQB=(qqu7nRl`ljMnT#4>7|*l`o1)s%o~>$w5Q7rzH>?!>@cbnj7tWy|F1TOC5LhnG#^W)9h`A#cR=t?zZmlTD(A6Bn#s;!Lps1G6 zFiz3L>FX3sdsWtQSIR^R#(JvF@(dTGQ~@f=`=O?}igs}UzVZ7`VYfJ9L$&~2H0)^P z;`+7*p=?odpo)=GL};i|#m)hQkvo8FAW2~RKEu*c+1;@WR}?XCxmdL{n3q#D5nv2M z7vl*&-Ym6eTU%NLp3gQ3yxf!(BstNX%_VbEbA>A-ZPGImrws1In6rug%rXl6ezNN?Q z8|81u{97MwXD(+x=>6~c^T~y&@pC)>y|j7#_lrU_^K|N$@fVdlnZA*ksELjzdU}pGeB-~k z@;5jCl~`PgM$oShLSQOXdb#*)@}Gz4+WOGhT4Ov)g~18`)#2->sbd>5xbfqkdrmiG lntMwpBNL5W!-rHYM@^%zL-#-VZ8CWF`D};$V|(wR{{ilnd=dZv diff --git a/platform/icons/src/javaee/inheritedAttributeOverlay@2x.png b/platform/icons/src/javaee/inheritedAttributeOverlay@2x.png index a2ad0e432aa7d4cbb10502750f611984a531afb1..2cb2c2774d085be533d63ee312bbe43c8bc0fb34 100755 GIT binary patch delta 428 zcmV;d0aO0b3dIAEBYy#mNklv-i1Qg`7Qhbb{RSjC4F>rmF=Tr2|5Oj2U+5?zi&G#SbvU4jpt0`A;_=u2Dr`e|apvG1NrSi4ICBR(`Q4 z3wG$Bi!*%K!Bnd87kEp#oEP++a-AZ*YJUf$P)f1UgXF7OMQ2_P1Ze0000l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij|pxp}DiExs!#txuv0@tBIwdiJ6VL91WY_2COp*wIq-C!ng>kmMZi>Tydyw~fr0Uur;B4q z#jT`2|Nq-FOI=_}n*BGH^_xOp^39fJ2d(FJp~1vXzk#hByp z=I4tmb~A&Eqc-idoN=Rt)k4BS;s{$OS#;o~Y z!CG-sa)(9aL5VYLU5!udZ0nb>g=D+rvPb;?_06@;+cm`M_J8@L1a8X+$r%!o2SKJa zJ~5l_p7Q6{ubVt8+^1#n{rLZX{RPPZW+EKX~Bu(Q^k*G4Y55oO3y}U_wG#64UXk z%df9bk&Cl9y6~acC&m+dSwmgT5?H1&XTE51FYZZK`n-1e9N*&$|Eq23S+GK8MyuMi zZ_m%yv!$hZB>n#_{_bGp7LAS>8#wF!e-)p{=8zM`B$m@u|L;%okN^A!m+fZ$r@VB{ ze;yv@2MzxPc#Uby8bg=d#Wzp$Pz03+=7| diff --git a/platform/icons/src/javaee/inheritedAttributeOverlay@2x_dark.png b/platform/icons/src/javaee/inheritedAttributeOverlay@2x_dark.png index 1be1b612bcdb8afc6bc93c123cedbaa192da1ff9..f61fe9571bd49a320227002f9f8c358155230e2a 100755 GIT binary patch delta 431 zcmV;g0Z{(I3djSHBYy#pNkl%=zybdM|4$J{2U0+s z5}?XIb(W{xUl0bdfnv!(EJAAs@Bwjxoh*0zTyOcGt3p-&gD{8<5(COb0x>(S9KZ&| z;W{E5HPb!hKCKB?{l7O=2aG{%kQhh~sKyhB8L906kb&N!Tz@PD6I^6ot_1pePm0d} z<9UW)3}S=CKyo6SEcrmS#?*Fz4F?NTR;!)V^`$|||92*7|38*v`2S?S5g3EmATf{} zNDU_oQzlT4EY%#q$jFdhWhrrDp}*4qt?^p_4`mqueQtz;L1G{|kQ$I$CPsz?pxwMw zaX^lt==OO&ihut%Mr-~*kZu6l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij|p*p}B>lv$=)2xuv0@tBHlVv$3O-i?NxR zqq(KCnITNCOMY@`Zfaf$Om7N8uLVxMpp=kX0JPa9wJ5VJHN~wcKUV?lW2;QuZZXAa z9#n4%Znv1>)TVL91WY_2COp*wIq-C!ng>kmMZi?uxJGv=0|VnWPZ!6K zid#u32UwyUawe}(PT_xaX8)&m3KN(f&W^ZZ^ymNo`HeycnvP9pN?OejT372GIgew) zf#37%?Q?eg{ir|Tr&z~*g8)eb#f?83Zk+X-7JW0^SHZQRy_d7aF=xRHu7Go*9XB(d zGMFiRyCV2-Lgy8+bI+b9CJT!_NMJ}5kXB)v63n)$kSWP6%bFo&!DTzd!=c_S6|h!tt8BvAgNIb&6O^XuojR_^wrx)H)W*(p4@tpXNCK;EIx)?3u9BX#MG5fEM(l&A)KM8EUbLkKH(8tqQGq7R~!?h z7AQYzbUNp-cTY&6!?wnZhAxBUI~n+`na$aynYo395C5;{(U4GKo5Z}5aphSf0p4~s zuQV@NhOYl6B?pynx*1RWX%>8b>EjFa!V!EjOSZ_&XjPl`?fLn7wzM>lr2oIg<1U;@ zTELiaNbSep>+uy*3>z~!BQ|jU`}vt)=DUH}UD*%vU6KF)}J()+fCNsRYM?qk5$4I#>IRRr3X5S7#tcH8Sb@ZzIek{5(+BRJYD@< J);T3K0RTv9&?x`_ diff --git a/platform/icons/src/javaee/inheritedAttributeOverlay_dark.png b/platform/icons/src/javaee/inheritedAttributeOverlay_dark.png index c343155d55dba4c5d89e725574a5e242761e5a81..398e25c21499a57bfb055dfe0b2bf1585f3620cf 100755 GIT binary patch delta 185 zcmV;q07n1Q20S*Cn=H#iK^7qz8sQw4heC*6QKyfLe z3}9kpaBX*zIlDDp^Z)*Iz5gH@$Ug%V_a(}J5(|m#8=^J;AIQ-Ee>B$+OmB$R_zw~X zxq=ukq=E4Mbc6p#vW@F|9G=`1GbCjp%02iR3ya#FnO&E42Df#cS#zls*_K=(!r7VU?y%0hY3Av! z79@>ukb1z*$>)^0uj(5mO)V;G;E<5rdMcz+mf?7wXIMYu_j?J#YmXRME_w~SsiYu5Td_0~YsdhOqMSiPI82jFS4+^% zby>q+YZGZ0Qw)A(MnQ8nP5}aRW_GC{qwE zC}U)$5E?9Xu_uQxvUA7;q6l{PYKDpm_MR1ZA|b>L8_R|Q<5HL=0zOSs1-}@KiV_!X z4TX4)i?y_hqCX}DVmucj&6n5`S3=5=4h>x5s(-j0Wx0+MbdyAuprs8%wbMd6SgBah z%IDHrR&R}~md}MR%VkJ1jB~Gl-E--Pn8#VJyOwO$eGd&{c8j=r^xn~Dw7`NlhB#Tz|!(^BQsEO<5gXMcKGJZ)UzY*ck@-xPkx-6Za==K zil*G|rg44tt~z~s+r=w&k!IJ#tvl0)s7a3-wolDUQ&)H1t`9YPTpmxrH8FqTEmt*} zt$$O~3A$a}*K3|R70Q{#pYIyS-^^`(-}61&e#&_Gp#og0%q%T_IrnNIQe9gKK6y9Z zrX5?VHIx&Qm)or4#atvCD&0``8BRQTkwW^v5RAdFJt0w{)wc G|MYKp6ll!= diff --git a/platform/icons/src/javaee/interceptorClass.png b/platform/icons/src/javaee/interceptorClass.png index 3abc90a3d3deda8b828afbb6c62cf9e654cc5618..f543e27872388b9ff5c9f7be94d31d72a111856d 100755 GIT binary patch delta 530 zcmV+t0`2|b3#tT=BYy$$Nklsh%W*04=BC>#7$5+ z6!qu^1Q&0*{h{yZ^Z(1Pe*C}b?l&+7u|Z-$xsM<#f>ljSKj;z#!l{DVE@AS z=y*9$El|%-6a$uA|MGw7jjv#A3v}{gpkHBpAbt+SD}cBShzk~9`vP+Q0u(PyJNNGY z!fRi^I3lz7e}C1S^)UW(AfBAOdD1-V`N7Xj=X(CJniurUYhnFFlt64f`1Jq$t6#u) z+VLm!p0>j0Ae=Igc{rKmG3i)Qg`$xXol~_%ow*!T*idhrlt2ud~SO3ck#A z8Hj%Y@j{oyb^W@_z5eU1@_}OzUv0KSI5q>YV%52J;hIaFuW2oF`30gue2_Q*v>LVE UV?O?601E&B07*qoM6N<$f|O<#&Hw-a literal 1505 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f1LQOEXJXCsPY^b4x=*R}%|hSi4vlm^c|) zI2l=(7{T| zLG`BKc8dv4z4}1M=!4=FDV||Mz{CS$!c#4f15fvdWGKMMJ2$;`0+%{ZRd*`~e$WY`Qi+P<`OaA9uBx zedX5+!5-C`aeG8ovpecMT4*LDqU~~f!Zm@(XY0=WN;|nM`^?$Kc(wO$tN)vSPHVI1 zWBzZ<^e4S)mH(#!iEbY6%%leflZ_FZjZ zO%Z0^2>x7Ipx-AsE<=^aG&u*10f5mp_`)ARW#?Ri_KNVlGWtW?t6yGklUndG9s&})@ zoVS5Z-YMxsKPP^o$sVrb*oRQkRY}JC&E8g=OoH$m#yRUrwuw&teZFVyvPx@b!kQ6_x zs4%6ex!S-~*6QrFRo9PLaXr0WpJy$5_duU@-7BlBB5DB!GkM!mcNuT@G$@$xOG`Im zT5aLpZC|T5Ut|h3K6t24xywPhv{`aNbd`KwbYHA&4fp3Alfw5$&CPrg^M1u8&uN;u zuikUJ+*tYi1`ki{UjOzz0sn4wd5AqcUZg9%zbZQT_H^IHyVD|PolMX3*YNkQXOUot XTcvwo+N-7;phDNv)z4*}Q$iB}4F5Ls diff --git a/platform/icons/src/javaee/interceptorClass@2x.png b/platform/icons/src/javaee/interceptorClass@2x.png index 996926fe982e09aba9cdfb24d0fbccf709e797b1..01837fbc874671ffade2366b63cea518db240445 100755 GIT binary patch delta 1207 zcmV;o1W5ae63PjXBYy;uNkly%HzNheV+43If#i|7|H=T0-aziU5?B5(4f^{ppmW>-=EqLx zomvLV@5^xIiIcfTVikQ)-Hi+&Z~h|#C=emfNg|Te^w7>M#)sB1ySouP62C437?iMk z3#SL3Gk4fKwSPXyoKwHdxJ-~-F}w_5Ac%DhXRPzzvEPEZI_@2Jqr*$Zupq zEqmu10mwd{q@L@%$Lci2>ye8yIl0b)ZWy ze%upwE(vyYWkJl22qx5 z*m+gv6QUv7kjB_yt^A3pORgi?9@mkq z3ZF#du-zYuP-Dt!q&X9|U)jeCq7`09w);AiCb^Dgq$cXD3%(2}x3y>4BD$pzVSi5N z2WkaI$&kNed626nm{$}}HR^#msK>ViR}{tYOn VPf|*T60ZON002ovPDHLkV1h6@Mb`iT literal 2314 zcmaJ@X;>3k7L7O}qHKz?NcSWG6p&C!2usog1VSJqVKV|QEFmdOgd}AuKwxM#5fO9* zL1kpou&5}aCJKls*orNKQ3MnbV>b#C)U;w;K-BKS7JGh-Q{Pwh-n-v9=idA7`B6JV zg8U8iE%i|-lmR1v7KW_onO9F2`NC;wuaU(<;uk4dD~gw-u*D$Cn=6U~(F_55GZ+T4 zxv5*bKo1mZE{4yFlteNEDIAf&i9LgHk_sS%jY4^NNg*~T0hFNQz|DLi75m~sI~L97 zQn3*(Ogt0v1$q2{G%>g~Er`WQOW=^XST9eshm?W{2tWxNEfpjRVTzQB{j5tt_A_As zi~bCeBv7$`78S`1LHmltAlk*r1;@b?NN6{*6TyW*awj;ViFkrDfOiH6&Nu>*f+tf5 zF6b{07Re^&##6#*^e?%P6BWyoNFWLTq@<)cr8ql@#G3&EnM?-oM1V-dAqX6tDwMFL zI3a93t3U%`j+hTg_#z>CMv)ySN|I2qNTq+aAb`Hg3gIu;gj^UPWkUeL2|v@)ERf0k z|4@P8D;k!Bfq&KeKZRjdDg**yAS_A}bCAKsThF9|D86ElEfI-XB2nV(Er#$!5)sT3 zL1Z^OHd?T`UryKX**wf4dg9 zZ|Z&Fa=%@R`!~4&QVcLN*Z-RHYzQ&W%=W8mk;7NtgF?jYV#L)9!#k5G)Vxdv&6_2? ze>GxbqUk#GPfuDE&B6m3p9^&^s(JdfU9teZeBQ`q(}2K!nzd1m`EF11-IfNxL7tQl z8oeuLV%aXt>hzv!o=zxM%4l)z~DVXFpgo45MN)}dp+@6C@~XCD$j;huD1LHE6}!x41O z)jdTKIW{kiQw^=g!_FqEk8Ho)mR)GE^zp&V{ZqSM>L||?2S{#}p$yWCTB*5|cC75& znPr$x)h0C7bG@AmQyXg|s(#k1XDzSD@T9|3x=qIM_ltY8lAju$?kunIK6{Q9^4O%q z_@ueE_0Lw3Hkr_qat>v7{_y73o`Em%bRKx}uYvV9)L*utl{5Mpg zEcE&{aSi3XvA`h8!;L-zbFIyp-@`Ys^x)96jh zK0tQmIrFX6sZ*8a&mVPduPCUp_Tr#Zbq2FN%UX4x=vOx!Zme6n>d=p>Hvx+!rbpA9 zp$Aj&jv-S(nuWg=+!*fLtP)Jfv{93fPiT7Xg!Tg)3aLK zXMJu=ahJ2cR{i*+V`NltmMXn}$498pih_GJZT9yLM_%OAhw%PRv-3_Y`=>V+O!t&H zbnHCRr`O;}c#{vU2^q^!8U5%{*r^G|^vaFhO0MPt}i>{8Xg-=H(RPF1XP7guWZ)<8UG zO})bYXbaubmb7qcn6yazL-wZMbTxLe5-1z5PB+86QuYIwvn?jE7759+$Xv(3V3Xm= zxRFnkT-Mm3d|XtNa5y8}sP;}~$^2UxAE2~`<|yYo?|XHxu6D2ttSEbynI0TcwF==k zM2wP_?2V~%g|)~1izpf9s`<$^N9^ZhlAbh84j|-5UW30(eBT)f0D48W3(f_e=;?R6 zJ1E&&3kzuHr!`G^5i5d{dMl%!sloAgMF%$7-ZoBFJ?!YRcGqfxEIX}RA$!^$vmAeK zZ)Kc^s=Wq~SzZ*sE0kA5@`&t_iPgp{TsPW)22uW)L;l`^6dq-{MV-5u*L;@1{(AsYhjdYVF@I9US#IzN6)0SJQCHXx6|pgTLANq;(WxRV#0v zf8gramn$2;e!_v24QbDE-y=aP#!uIr#vIdK ztf?APJ&Wp=$Bwv+&=uGB)DJZ_$1xt2h2x7Ylu8>-^mX;vi+vxXUzWZ(<|recRO`Q8 zu3$IiIG#M@ll7k!y-R|ZT8Z>phqava zr)|7V(_5}Nl;@Xl9%1U&FG^VW(BkZ;hpx6S_N{N{m6exlH2k#kX2*aCD&XGu^8;bGLyvuJPWL-@o$1JLZDUW(Ds4n~?8*hEMfA*7aGXwevAs!)gLWUW$p3 e_};gfb97OyHTYh`fxMxazY~UE5UtTCHs=ooV%kjr diff --git a/platform/icons/src/javaee/interceptorMethod.png b/platform/icons/src/javaee/interceptorMethod.png index 86d44cb5c3712e25daf024e2fe4efea397330e31..146cefb39413bff2cdfd98809d289456a45c2347 100755 GIT binary patch delta 512 zcmV+b0{{KI3z-CvBYy$lNklf9?J6KYP~fNdbVA z|3DwFGp2Y_31-3_Au4lAFv)8we`0|4b#~+_x?=|+d;rqbDSrhu&XKie>iHo+`?fgo zDTD(cU7sZd*U%Fm5(`Mfbm7Dg(q;Hp&?BEDJwCt`buNQ+!Tt&K%6(D-ZiS!+r1K*P zO;3QKqeJ1)GN#h#L9g6oB_Jwc(@p~rnle)}>Kof!QjK1+=R*}BvOW+)`@mX8!N4$7 zN0w${nj?CXXn!Noed4j#NcOC#UV-;+fq1kB?6~QB6VZ`{Y1ACimVu>STZy%fD_O4> zH1;NLXt8rj)x>wl0*FC3u;yVf=yX&^<|a{Zj&Ju{i?^Gh!l#3(fS!(6=h~`uv4C{? z89fdV{jNle6&tNwnV*5GP&a78J#@r6-_h`(zDV<9pLx7{4Mg8oJbi`E7NIn#hqB`? z1*{8PEgy+jxt*Nk<$Y}yc-Jb3yBmnH+}Xwz9%!K`(5`@Wjc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e~+tb7LoS7gq~&b4x=*R}%{(S2s%w6IVxb zH#ZY!R~MLGm;B_?+|;}hnBEkGUN@Y2K`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-QtYX zJgD9j+-`BfsaGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4(`t$5W51_mZWPZ!6K zid##94Shrc1^)hjfA8Hrt#TE1_K6oXIC^(p&}8lGRJ|pz)HEtK(d1ay3<+n)#KffZ zMP)}c1cWnu&K+v=66RTPuwbc1HM`}`;{MxzfB!E}d;jf@^P<+td+yG>In(^}^YcMV zMSjX({P@srPVet3hV6`#8!qeKS4)umz_H;syQ9xCj-~!z@BP~{?WDl8EzZkrRy;p) zFHTS6{T&srSmx`O0$GAh5_Ke;m8aY+W7po?-+IBwR&)Q4RL8>qMJ|V;4EF~7oLQJP z!{~I=q)#3X%zF+-oH%)mGw;QLb3VdMN8=j}CAclOKXTu(Wa%zW!AX1K{`KB`cuk#ALi)|L!V|`U?2F&N@@nfl9=`nK*Urs}MKS%m7$jdxEE1aFqxpoH z@eSK8!&>PtOfOt7cpLEB{7;yZ5Pa>f%;rgF8y6}h2H$6^{ik~KMb!KiPmb@mf4O<; zvmW(J=hJ^=%ua~BvdS_|;;iz6vQuJ>L9OgluRdNK`*crgx$v@V7nY<20qgHY7T({t zc*m&?osk*!r{CC5T;y>{v;6#f{b#PXq&y1g4qSlf^@DWgxn_7Q8GbOyUu z&PM0AdQR%*p=yRk2Pes9``^Y_bi{-#Bl3xC&G o?CiBF>A}a}*}ui({s<*7%u04-TNrcD2~?hXy85}Sb4q9e0GjzQfdBvi diff --git a/platform/icons/src/javaee/interceptorMethod@2x.png b/platform/icons/src/javaee/interceptorMethod@2x.png index b5c5d3fc28b9523d541e1756acaf776a33806747..ca01ef3f5ba17f5a5a5618b6d735bde37800c315 100755 GIT binary patch delta 1268 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 literal 1198 zcmaJ>TWs4@81@>NSVs|}P_{jE#$giGh;K<~Z6ym$+|V%6h9uI;BqSXBwDmgsIQA)a z0#aL$m?riBOe&x~Y}!i^4`_e{Odz$RRIqW8*vk+P>q^8b^wBuDc~>(*5G|QrDUa9t{r8@&_`CatC*x%&>KQ-s9?^;eXdwHHs6d^TeGKjDCT0^vEa956G6E1;0z;Y+rzimB<-whN|5Mm5R!qR;felA3 z1rKg8=!Y`Jlm%o2ts;bn>s`zZLj>(%Xp*TE`Pc!?P@!XYti!WeF=NAOSe2P5!f?+bRs#^q_};T_rG7*@#&&ixYo2(nJDHid~{5nzX{xy z-qSzb{p|c?z`*9qQra8O>QeNkFJcr)_lFZRBQR_^|1#R zKeV=Sz3@@XOxniG@qc(;4@9^3SWui+kF?uKeOG$KD$JwR%^px4Omz zwr_8pJ<^}Jx)8l`{GA_Tt$!?LO1m!K3t{`r8*e{Qn_F)BVQA_&ZJqtDb-Mifn~~sb z5Usw{pSa?jb2P@7l4Kk5yL7^sA?;7mut>ojJI2>-)vCX5h)4 zfvrpVgXeC}KD>Ks<+sGi^Ik2yx8{v~qm3`rE}a}}-{-Lpku$`hwnKll-FM3H{~(#3 LKIwzx3$OeGY_q7F diff --git a/platform/icons/src/javaee/jpaFacet@2x.png b/platform/icons/src/javaee/jpaFacet@2x.png index 613c1bd610dd98430a2c20830a3ae1bfb9cfcb7c..d317d01a1edd3861ecf66526c4c994bee2bfaeaa 100755 GIT binary patch delta 859 zcmV-h1ElQ81`pv=t!U4ho{__BgB!v?synh?XD!?vafCQ9*V!*qo zr*t0YBsKvWVpS7`MESizF+XvGs!iDMYfSuXY)(ezmJ~d~@0j2_gE$FwH*gO+%46P( z@}s6;^kv`@n*hAV(s;j7oQ#~EIcP@9LmrBUU^M5#*Wv4@IocpEhrU0q=nz(y8s zy6OBKJ6+0C}J=0f!(Nt52R$1*a82L@0g2!){mR{Rn6@Q?zEbTd25ranLX=rvxf#xjj zXx{qGq&h2vUdTNp;G*&NOk|a&qQ?A4)Kn0qXZH$J0uw2J;4ml(-o9LLe^^99glVBB~RaETKQ6h$-#3sqWpe(4z+@FVO zsOAt7S%3X8c>EE70Q|1Hcnzxnbw$ye-NK}uk&Z(Dq*c3Sx6;cKR-O0hsK$;>&?O;y zCAmj(rrp|H`;GyeW^iCzedBwE-o5rBpW_jN zn^Xs!-gxji0W$%Zd}v&miJ*oE{>RQXz!gv_Bd#y%YU6hMMTuYVf#j^i2xe|MJdpG> lBph^9#C(Jby72G8<*$lGSq7q*=ga^A002ovPDHLkV1icOrvm^0 literal 1806 zcmaJ?Yfuws6b&&V3O+&5fOfN>0+MVtA&^8OgakDX;Sr)BK59r76Jd8lvXT(nD%ha| zwrUk0BlQL10}*^Hq9S4esnwzu5Jef#8Wj--s-S?~sAzwb?#%A@m~+lO_kQ=A&5DYc zJ9-p-6oo<=Et@A*kRxDw9qh@k(PHT)hsi`(91(*j5+;=ap@=nj0s_cT)e1y`s5EIQ z*N`9zWf()Jj3eUY;X*ZzvQ#z<%Z%ztHiZ%tY}TvPNeBTXAS-m32z*&q4gxxj2#n>) z*>b%E(dy<|3`mS6LaDYSsRbG^cs3AZ7Lo!eLZ|>Unv5BRW)b*7S4hrn+YktRfDlO{ z@S~|Xc@!YQ4G6$v@tA5h><3G(tMm}eV%t(01j^Xd|IOzWDu5 zVWTolk3b5h(WIA3zs(}*VYNBo{TI-47yZAGsl3Vz=w>5x}m*rhSdAS)eP;0J0uq(%|Nzu z{nt4UZjsGnn||(Ea`CzE5sYkh1KHI-g+wkUFUvZaRID^Nwa5Mz>8u*J=iAh$u1zl- zvqSEUtDEOU%X5=}aL@V4t?+m!KobV zO@F6)U&}(qx%u6fH8XZK<2zrT<#y%vx^m^t0|hOe8z0jsi{7_XwVkbA>eAS=ZsrUh zzMY=h65KJYnrS*))zWL-fvi~;Z=!`r-%fZ6-s0`|RrDTOgS}pze8!oQzkhmB^@+B1 z49_*QYOHnkJNJ4|s7`SjM)Z4Ssxs0K6z{iMLX}guow@qPI>3vk8>!0+pkCq;v17w< zLAO00L$mu=J`sxZ_k{4j$v*J#I@%dn{`hPMzcBqlabm4xa)uMJ+ukSj5#yLUBXjye z_4uz%JJjwT$APgGK2sbj`rUIIWWl#QsNGkhX@&IZ)3WMEy3)#nJ-Tk4tH^WnoV4WO ziF)In_OiPVv~vsaO&=FnPgk*<8w1Wx}xn?)khe9ak_&hz4=scSz*wf z(92u=ybJBK9?^mNAR`T!@G^W|{1i9+><3Nt&J0=8(ukW;JN@FGU)bB&H$1xeXy_(n z!A!=b8@sTv;c24qs_~T4B@U&Pzq?QDl$S4Vtmz0EE#aQtLcP|2c0tbXeE1DH_r}~z zD?XmyxAQK)%^_sk_Kq?1;VhTVC;7>Hlc}uSwK~7zMYCd$|8miRx37Mrck^ZC0v_0P zIMj3)WbvsX-?zq0OhYbL;#EzaOG7sKyTovT^<_TZuI)uW3*NL-k1br`*L91t^4A;M znv`W(2PDoJjGo(1p=DGj*T8grG;4jPSKIN(3-M(Y?4xz^0}j;17w_ErS$w)RC-dZL z|0RmjJ-Ws}R3&z3x&8g{@5&PW=z0Eqg3&*`%`D!0%CYt?&6?dAt2MVMOWE8}+uyZC zWwjO+`A6g}w7}&(ul#Bck7aUsYm$W80_AosnGBd8`O?J+T|6A zIWaV8Wo*PoO=VKpz--93^6CBjsa0XHSGw9N)IWdWU1J40b%%X(YFoX8n=XhQBQH6! ZDbtku^Gn7S}le*ke5zs>*v diff --git a/platform/icons/src/javaee/local.png b/platform/icons/src/javaee/local.png index 5c7de535de17669c1319786a626e0afa49bd6520..36754143ef8a142f010169396ceae47331756ef1 100755 GIT binary patch delta 436 zcmV;l0Zaah3(W(NBYy#uNkl+ z0iCfYV1};VN6+6ZAjZ-D;dc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f0K~R|`jDCqoN!b4No%R})7kV^cRvHw#l2 zH*+UTQ#Y7im;B_?+|;}hnBEkGUL%}(K`9}(0BEyIYEfocYKmJ?ey#%8$5xp*-Qwtm z(>$o&6x?nxz^PXs=oo!ayduRjObD2GKumb51#;l&J~a=R*o%Ov`s(EHbOr{-|DG<6 zAr-fl1l#6c4iMSfr)8bzVz)|#Nl-C0bG6Y9d7cf%PF7PEadj@OzN*EeAZ8{pQA_Pg z*@}>rK`(;-IZXH9_^3E7AR#xigQs-Ps=}tX$9MM0-psTvoY$v%zxrO~_q*TcskAKk ze^8))-kxf)zSM(873?x!lYc+Z+rjlJoyTd$WR=XnUcZX8=AXH=!RQUEzxDE{!&kN{ zFW%SFB`$c&@_d4y+$3$`Rzpoef0r2HtfsC6yQ#j{`1XbFDl4}$==?cLChVSsevj9x zMU%Ae6rZ%bc4WcPIW;?)meyEJ@6qP6l<0YtHZ`l-R7$fapm3ST<;|Dl=9pS$)XSQO zefVv%V!@Q1Q`Fd3v+Vi#L2T*zw2VjJN-ud$o+y+3SM9sDM0m;?y*Z8ZxYmC;Xp!Bx z(L;D=38%7^EZY-3mfKthmNon>^L;1%W`2bFEUECtY>U$W{Q21bc5}E#pUmTR7mZ9K zC;oofA1!~v!e-g|ss1jnc&olVy5%$>`-PRH?_+JPA3`P{Loesddh2)lwtn%agCcjU zZT*){-@I4%SK&2>-{K43Kdip+K>FL}IPtgZS{L2rsJ1QYEWVJC{m3?K`ysX-+2dvJ zFDX|=d#Wzp$PzO2@g>K diff --git a/platform/icons/src/javaee/local@2x.png b/platform/icons/src/javaee/local@2x.png index 2f166dc3db1387293a24d566c75a5ca119f0e687..477284ed3ef4284949a3f4d4884b2adbf90fea38 100755 GIT binary patch delta 815 zcmV+~1JL~c4#ftLBYy)7NklqkcN-)rFTRRl(Qiqek2mMEo~2;JU!nV=Z#~T-A-E)J^Yf% ze7yJDeLJ(e0RRa6O9KCmz^FUr%afh%8l)K+Kz0!q`6+Q_Uw=r>sVNalU?qSPYmrXm z2mwouNyV6*TRHVSWGHMc4HXsmyKNEe~CjTH&t zglkBa6UW_zNN5Air8QE5VldvHeyU|R{`c+d-s%_V3s38XMgy3jFWdD^}PK&1*F6cKA1uuU%*5< zTnZ&XZD#P`B`3dyT+)*J3uqGJPITilG4kDkaX0LR5}-ED4R-&jd50l+X#uSq`}~>R zlj;{`898xa%$?Rz0=+4fm}_2dNNy)k^keeL=SM^dXj`pOd*Dh7@OPRIweq)X5P4tp tYbe&H2{e>QT(N*Bdcca0;%cZy;1|hEgy6O=9R>gZ002ovPDHLkV1jr*dyxPD literal 1919 zcmaJ?eKb^g7@la>N3>DYs?2R!C-7dR`P`C2$){W&(N=0ryE6wFOZ;EBnnPKG-4Hq;Yi^`5D1ZrlR+UUmZoiJ z1z8x3`4UJJi^K}Tm=ah{5}Pn2tz3z+F&LJ=RwWzb5U3XIZ)izK@B5{4A-zXD)snW%sqM8tqro}y4QwQT%*T_!p=ZIki9dkC_g zjsIXORuBmU!YUA;ljuYVh3XCXGDuW9)!UEi3D781FEYi8O!XpCX-o=(Nu>jm4<3!C zk|r^QJpN=Xbj8NY5Jbr&lQkL*N#jL=Rmo&3gTWwEXk;3Vh$4vUGzB8o5*2EfDFq&= zmZ%^l0>KKvq$o~=QxP^Eb^0L%x$>i|LOod~v|wbdSV^XmD5jLAfC9n)L*??1Xf+}P zKl%MnVYMht36h1N8ctP7(1S~IF@;hx1680HfmI?HPMNA=qzp!2wG37Qfq{Tq45X04 z8nyd-xIn-RQK%8ILIQ^H*mzWc1VK_JpHJa17+fDeUtbQD8syDj@M#>bk53@S&&!L; zr%Z8quq0IuDv&9z^b^;2TCS-R3k7@d`YthBWz6TX(v#Zdqj!G&*FP8ae2#+Ju_B6+Y%I1DG?_w8h zA8+s}vD^7s_03wvg~+Dyrjq-(nW-)plznTgqm_L}MKd*3Ji~o{^}@_tOFd4+GZemv zstn@N50w+B@1!iv_@1yoi(7Z#(sy}116B7fzPj^jFnMWo^yAE0r}55{Ro;wuZ}hI> z{s$VX%Y+1r(=%iij@vJlHo6VjoHu7dPa;LL*7Rs~T@~BS9Gg?hTpF#G7>~P~RmS2x zvQx7coC?@|lsIdj<=XH2n5T;}>u)QB(&GKMJB+cn0?rAE75!t0S*n~xuEGu0IoyIU zLfrMxM(U6s#`Ve~k1aXzl-rmF&+bdch>?XqKDrjt|ALcWHXfPi1Dnaf8x9wr76pG0%MYv!2Sf-lm3q zUyeA^!idU!C;`t-Ico){XLDzX1zg6)=(|>uMSo-qq&3LD}v5i;i ztJrK~U44tOG`*KGo)?IHVZL`pYAx2M=1@J0wEtFbHS6BZ**Og-3Z8Qhjx0YxcOH`7 z#TTXcF!ciyvf)~x-PO1wShG#9Ym4STKX5Pl8;iTTxS9t6WdGYkV|a(f26g@Dq6l6* ze5`TR0M=}KmkqS{V0NKwG2dF2hb6u1^bEKW7DqVJ{d6!sc8k$Jq6J^JtS<53x~0h= zmqTJz6MY zocYLdP(`)dHE}pi;M^7zg}dy%anrGh*By1i+VOK^!%bj$%dk9MPphzrz}>gh*AN@W zbOlzlx*cFZ@x+`P1=l=8!$ z`zM@^w0C+tSYx|fa`oGwkwUM`1VY2#ni)6?mZZe3H2k6P4~M9%N^omi`5D)kO&00J zn;({27p&N8^TQp)%HVv)uG@9pw+J{msCm);RQP);5U0r4Y|ux)93@Z{Zv=+j311#>chw-xNFTC;xX4e5D}Vb!a!yT&SOO~noLGx= zB8LcAawyl-RwaOw8j)QN{4CWEk#8|r%&b5%zX=ST{c%VZHpP{eL$a_1qX!c#L9tq`1aROI z@`Dyme3^o^{C`$eOkxZvK{1z@3QsS0TK<;y~)nX@eu$*7>q$m0WZnU@m1@-x@nZcOa7OgP}w1}(U3&Bz@>5KE; zfqM_`sN~e9zEbNbwv=cw3D5}#&esSea;sLbfbD#WEq?|2OagDk?N86aLT=d#7OA+iY*0PlYlsQW=|6kw}b`aWvtN-CNF_SYgnM1HGTr3 z1k;%~#Io~NumHA$Hel=^<{;W`E_?_OXCA`vNfe^lxD_mb?H~q&O3(#D;^p(%fvL=_ z6)b@5bAJ&K2T@O|4oMt0FDQ}z}Q@Z29tm~ipP$_5YEIrc@%kA zd=x7I91ohnn4J6?}C7v%$J6sVK0Oc>aI1x|X( z79~LKVlWmbzap>REFdMC_=9BdXc)%R5gU{MwSRR6k489o2U5@5&r?83T;+o)^zj9Z zrNgCA0@P;u_g`}I>&OKyxxauWA?`#MJ`+RV9T;`PUMK--kY~61d4u4KKcBJC;@G&HEIuBX#xID^PyJ$cJ(9g viYk81+BAWN5{WAo@I((-@ljk2)d>6o_YUfCpk!HC00000NkvXXu0mjfdFFI2 literal 1918 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 diff --git a/platform/icons/src/javaee/localHome@2x.png b/platform/icons/src/javaee/localHome@2x.png index 974cc233475e3e2b98ffdd635b919203b0895805..fe5706fe056b55b6e46a3a4018710a79d21b1a51 100755 GIT binary patch delta 889 zcmV-<1BU#95RV6tBYy){Nkl^ub0WQELN|dnByMROmHN_Y- zN_<3O1jIl=3@wkA+R_pV((ouPsA~il6cgPL0zMN7eb9E{iq-L)ai+Pqz0(fXL>FH& znK^ULH+OnxdMyB8`IlJ!8v#emWm(R=k@9G@s|=||`j9mwhJPG#V!Y4BW6CI>3>;@D z31DD3(v0jPpvW$tQ(lq)22~&%BJtB`KX|_TVK%V#nK!uK{=|G1aLJB9IWMg3-;|X2xXSpN{>P)vjQVK zE+Ij=YKsairGHmw;5hP=Cc3_Q0sBf~9CL69%2`=Z06UL~Js;k2vVHy=P%bVJ>8gb+}T_rw z=nf{Cz^pPt;3#v1z+q>*g~;22i9`VW$r&Yt0Jb$1Ft>&^h#`OX=cKLj9f;Taxgb={CCM%AsWY{GVc?VHXv=2Oq$$~sv8-yG8 zu4Vn+XsX+uDKV7z89A5#qz-Q-Kc=t?F_I zR9QQvk3N@^*2h3|^yfe^%K2wkKeC?lX;v>=sSLA&=#RlfmXZZZp%j5%WO)8Aw$TGJ P00000NkvXXu0mjfPI8ay literal 2050 zcmaJ?X;f3!7S01|k*Z*!RgobCltIY^Nk}9{Ouz)W5+N zC@9FFRftTM`04-%)~8gUuOOl#SWqy4P==~ZN_jU{?ECR}cddKRIeUHIxA#8#TkEE= zcWhg3WNw5&AeOV33_o~9>R!Vo@K>f(zJ`}IkY^y|FOGoZTq%g~;ETgSBumJR1pPoR zKOy!W=#D_>+Xy&;P$1w#;faN4t`37%2qiEZfpDiOBwSuJ2qDA4NP&oo8mp;CAq9LY zDu4iB0SO(95-^og&|kTO!&64{$b1xSGtyl_fdzyh#6>EEF(Mg7K}EgSrNDb#7=uE- zhd|L()L%sf0&FB*ECrDSG{KpN#knF$WHgR|b9KXQMB=eH7Yx<~gL84l;VD=$1xG-B zcu;UQDL;bZ$ME`)3qDa%Q4l1dU@&sI94&W2i=~km9GOhUVDT6{-Wf(X%MwHoSK%y@ z*)AwBKp9UekU#>l2&q%#hKu7MDhjUjuNH)okFp}!hiif_45Q#mFgP?;*U|zI0RBHz zDEx?)L4M%h_5M#`87DykV*EgvI8Mrg2Nz+hOC_Pur63m)OF3e3%)%|Qqr{L{7A2M- z>2#z+fI!3-%Vm!5;Q&BkiDVF0!~v%m158UzDqJf=~iyW`I&bJjnNwiiODc9a990*Fs)Y z?*o^=cr6}_axri*7~Nd|Yt9QH*gU%JN7urKkG=;*u-T=st3xbvK0zQ1i)GZt;cNGfrrGv+1BTlW^X)StAY9CEfv$f`y5imsjE2O zGT1Fg&SekM*~MFljt2}cvasvp4n%0K$Dk8W*G+HIX!=G*TSj9T%7Z<7diLhX_9osO z%O6`??5A#>Gh6#KGWLPfSkK$s6*cEC>X$^67??#S+b3^Ju_^NX{WrvyDR~X@28=%L z-h+RtXA-?h4UFQKC}i|Lg6c=d^ttgAai^s}nh8RxF1Wjx=|YcM~l zsIyB$&D2u+6LcqEB48m`2}Z>md$s6vFwn8lNYnp z&^y%Lq_-uL#;_R-+f{CAcl1X)?5nN}%R2+fzRM2VS(-S{M{Bn2U-9q`e(51Xz^EzTr%GPO7Bfco!bHI=_Vc4-_MY;Oc? zoea(%`7GaQ&}jU0^$T-%>`$?yLw~TZmX*DjwaQ@iAKU(fQ7H>5BkyXxccUX1AAZH) z*sHRh?=qW^kBsK9irpi%#H``&hw)a>u#lil@qhORO54mCbtnw7{B?$L@`RUx6~{c2 zO`+OU939|a@NPMrEWM2EpC=h-vc=8)8?jw)o!z&b?Qsk#Y+-Yyf^!alW^_34+nTUM5wX@54-st+osn(pU#CFQK(2$Qb7P=8h%t1L=usA?FB zA#RH=Jg=dKRWI$FF7-~%nWwAv$2$F45ZX0VL2L`YsG9le#+%=KpD>c@+NNhmEA^;r zT=e#YV6>WqrskPbW)H`{kCN>L@=B{T880*Jk8dz)VMg85ZnF6IJ~?~N?yS!Vvy(o% ztdj5-w_vVTt|#>6KzHBzE@7G&cy|XEo8B^GK^HD``>9x%%8{P_w{p}ZU{ z!dk6f>Q_H_{$`5kLID%KA!!v(Tm3SPqPK4%Z0Vimh8+=cM<(Orovp8zkDuGU$NcWT z$lLwH?S55$#s#XPs)GF$xO}~dTVzfs!YJ?F@|dQKb=FaL=R=CeuNx*LJ_WWn3ZKb# zf<7w7?UUt3jzon%tq}AbDHpask)BDHvW7`|8}i@1!lXAOHxJy0Hq&rLMeDm8d5Vp{ z;%c*<0@Q)M2bGqEj^V!Lb3b?w%iFVie%Yz!?EW@2?SkE$$>A(bP15ImIMbAC_{KJ; z5?j31WX-YCN2O)bA0>R3Z?K%%17kKD&DVxjMO)Jf@fP*$@iup@n>j6KnQ_g_FVb!M zUB|PPa<_AvI;26w{U>9niJ~T~s;{%HO&tV$4Op-4do(q#DqGoWd}pp{`pwlz>Xh|A amLNLJC$6Wj>I8IuWtQg-M&;J9)c*ivU0YxP diff --git a/platform/icons/src/javaee/localHome@2x_dark.png b/platform/icons/src/javaee/localHome@2x_dark.png index 8d5a8d8ae387428d9d8c689aa238323b3fd0b910..44d95fe500c01ad6a5dca63fc6dcef5f5f1531fc 100755 GIT binary patch delta 862 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 T`E$vf00000NkvXXu0mjfm3!@9 literal 1465 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f09FXD4F=BMS?2b07)_ zb5|!5Gc%Z8m;B_?+|;}hnBEkGUQ3*MK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C~B* zJgD9j+-@<)saGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4)xndwIW0|S$ur;B4q z#jT`2|Nq-Ft2VH@gv?ptE+)+QNJ-%vW0L8L8@vklSdL6?_`%!8=%FxU;>5yrOBz`A zOU&nB7Pl6U_;CAt{;&0RdoR}id+2I+;i#v>!mT%WIMR|6qt~h~K6m2m!QLb-b9M7( zC4ugb-5+ABi;BOlx8LuS*k<5(wSy^l-g3po$4;C)ck;vg|MqJnRM>+KvxIP8QEq$F z6l2I3XvbGp*0$e)gUMZ7Hg!kY1F7Z-Jp#>(HYznw+%Fg*v&2ng#kZ%w!&x2jM9;9+ zHSJ;Isc+nNV1w%#)#ipR3eD5H&6@YkXY7*k&^4LxQ13!QI`gf6|MjD0{A0J4jg?s< z#&N~;)OJNC!6zkd3NBaqOd1}>vz&=GU@#Kl_@}V@!LjM`@n0-0EdqIe@EcZqmpdz( z@V~z9^n$(FQinsg`?SgLxy7Tu$?3ty4KEKr_fJ@U=)+1?bxAv$+Vcf?$^K1)^`}1HJsZfL@wm1`};58Y%WieQx4Ckg>4B^ zX&h%7!WW2qdvmn=|NZ*E3|7D7xym}(y>X)WHHO%t z2cMUpcXfEf-K7p=fS?83{1OPA38Y}<+ diff --git a/platform/icons/src/javaee/local_dark.png b/platform/icons/src/javaee/local_dark.png index e04f7023c59a420b1d4ebfc1a63bae21ba8570bb..f42e1ed579175ca4868c9aae4f0df699081cf1ed 100755 GIT binary patch delta 434 zcmV;j0Zsmg3(EtLBYy#sNklcsgeqr+a<0Y4Mx6ob$iGnK?6~0|4EB zP!3DC>nwf9Hj+i^Dj7sndtAO%U|PO&zWH(z$S-k7Rj(CjO@B4)y;G)}z~o4~8gd~H zm#;S+p&n&eNmI~I_DCTH$=cPQP-f-lPV}rm^yK_-QA=qo>@C8G(EygY8CVNBxgKTJ zIcb7S=s66rYJ$UTp9WWQr>#y|b;z2aep-%$Tsh}3+owQGxZCQK#XX;#;G`UdaOI3c zuv=jxu_fS|xhtc9{h98OFLm1V+6IvxW^-2o cM>E)sZw7dvnql}X7XSbN07*qoM6N<$f}lLW=l}o! literal 1415 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e~AFGXn!R6Gsbkb4No%R}%{}XCo&IS4%fn zLlY+hXJ?pRm;B_?+|;}hnBEkGUMHM-K`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C}{$ zJgD9j+-|YNsaGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4)RntP%d0|Vn9PZ!6K zid##9&--6akf`(a*nKI7=Z;v%?l(*v?MiV^4jrtR;>aYG^yujBgKtvy{IHi;Uu9ru zI5TEPmeO?9mLH#uE=qHHM6N2)J{WYn&Mtqu-dhRv`OhM+eXqUuy!!Xv`|6yEFX|0W z*!ORneBb+c9la_aCrH~RYbedzV#e0McwSzkHr{WG-uJXS3V zQfS)uL?)YUfvd0Ly@Sn8X7fEYxqeniY@KepD*tNc77MSX*{ZXmXK_DXbJDrGtUQ*m+&U(PmOGCf_`@>-eM&f5p4C?%IZ{QhPoNA&yN&0;fr za+J2~J@lM*xS?t5i_JgTe~DWM4f{wEUd diff --git a/platform/icons/src/javaee/messageBean.png b/platform/icons/src/javaee/messageBean.png index 8b2a265728478acb73c439db629ac32b36f884b9..a249445a785a9621d1f033217d54cd469ba4f800 100755 GIT binary patch delta 268 zcmV+n0rURT38w;(B!BKnL_t(|+O3j54uUWghr8pbH_#IpPhs4=goedQ&cMiGj2qm5 zn}7>(CmKd3{|xp0$SbL}1ri;;ytMtjue4N1Da9{{zX?veg%jcKQPIra*masS8xtY(}*S1V5HS z7gSZ%HlbqNB@p~<=LqC^F5@_EDw(qQ;|<_BV$&@Y S(3b!J002ovP6b4+LSTYvK6YvV literal 1235 zcmaJ>TWs4@7`B@%v}uE^GPDJ%a^f;r#bU>~G>K_wQ#&P*NL6Lg7G78!`y?@~FST9b zb^;}hKv^FU(q1McSfxGifW)W<64HcLc9EDs2p$j!m8}}$fhVZCNfjCtyK6cg2$t+~ z(f57-_y6ZVJ~KV_qR0J&8$l3HCe7xo5wqWJm-T&WYlpK2uaPPk$Ca{C<1~mQ1*HT* zM&c?k2RUJ3?j{^X5Qk697mPyoC7M?xg0nG%DXA74K}N?+mE&ii0ZOnU$_f1U%U5t9 z3JLsVBpb-846KUjMGYQboXYcyGkjdY$6f%VCT$5w(BOb6&B{7$Ch%Qd+M3(jBo1~V z#!Lc#V5*Rv28^OX5FsLdK0t**G)_%1##j;ijylNOKO_H@*ji`kPMXQihJRTq$toCWawjo$D zFvBKrOMnnXflj7kY?PUd#G=s&ib{o(@sT7$g#+=Ci6k3}2isg$;pZhN8*Q%ekUP?m zYj=XAT9H|(iLXInQd18b9(%gqwbo+4 z@1blpyJmH@{_EM(2!f_FY%*{DRJy;jGv+u_Khv04>*Bv24mPP&{jDnNOF=jL z!Tav(r&@E3BiOTDt1;{ny80+qLpHtO#EnY*D0bShSq5)+-ML+T_4~#)f_=CVTO6`wi(HUq1Woh2>_m z>GSze=9i@dy@%hpzuo9}oof8p+dA)i&MCTvCx7S*9ZdLsMoW)W&9x-UI@dAGbBEvR z>RWe}9;;sE%s)2JYj5@*Iy^8iu=Z~9?lPRfTYtZN4jmjE>~p)_ r#Y(ekUBr)L#G#e?lTo=&5eQa9wqAkq_MiP9*uR-fYKr}6qPX-A;$D)x diff --git a/platform/icons/src/javaee/messageBean@2x.png b/platform/icons/src/javaee/messageBean@2x.png index cb0e521d443107e37ced25820271b2bfeffba536..b5e73fec8ba8c80772555610cf8052d390d7d69d 100755 GIT binary patch delta 492 zcmVS5P;)ZPo-}mLM;fsgC`GG#Xf@~{@le| zz!XZ17!P@XUiHvZAZ_WzS7>j=Di)etEvz#kTb7t)XU&QpJbaMs?#z5llL<8#W5#b{ z{0sa!frrzrJl22{pbNYJ3t$dB12@2SL2M=}0*AmGz$64fU4OSg6?i8U=X?N{x;wB5 z%oHS$TVSP(KvjdpeUU_wz(LaXx&{ebRbUl(O@e2dB+gX?j#I%pB=D8ppbB&|66lb4 zq6*}_?>Z!E6oExSg0d3V6oH8(Ng0VDMPNus6ib+f=V6EOzK61XA=>;St!B_&Y- z_JC%J{UqjyB7aaL2s9v==^$?sK1u|dKP|AHeANmCEX!i;cANRW&!Q+IfoCxWV~Yfk zGfD>rg8^BB7snV`2ROD&025Or#Nv2Q6~IsFolHO`kuI(xz$I*%K%PWaaa94%h45fD zvILM`ueX%o#e*RDa_&0Qw@pw((A ik6$rH`M+FRpe&y|j-P;loT)7U0000drT8|9B;(|WB3A69|dwAveCr$dVTjsVYU^iwydcrb>iS?k5cG8xE{8Eae{-b zM29Rw#WjY@iVe_>s0`8BoOYVM;d_JG=>yz`D zvzAPYnis|4aHbhD^%iyoLT_X^`*l}TJY<)-%wj9EoGfHKD2;Iz*~tP7FyN>IvtX#b zy!0HF%Hf2~cV=4|tI3GiNL+-5Fd{Ebv1|?}HQh_0wi1j13NVM0(13SOoCX1>T?6LG zO=1(J!-|}l6*RWIA}iZgQDRfu!SpmB)r+tKIL4rW7k3eE#H#^EbrE(Sx`set6vC8f zz!ynbO=dtx(ik8Y$%QsCECZBk5iEygDtI9v5yMhQEQMgH5SAcfH3G|lu?J+M(e^^b zqR$wM#hx@^5yMaj1bI9jkw+>bX$J(W)oMsAfg}pfkhNQDe(ly>ia}mjq?jn)`bUGj<$4S^pk6SPbH<=Iv z;bu_6h8gr4kQER)opwa4Q%dAIy-KB2YGHV>OsjxltyV76sdPHMUYs$`)swa|93z-< zuKgufJt;Tj1e{_c>oMB77PDv2Bo2&Lj5sIHMKP(~7}q{|F3L%{5St7Xn(M#jJbuNR zC$yb#Eqj>oJw~u*r&(9`t!n*%!ARIRwzS3gp-b@)9#a=ndC9%fL+y?J?Qw%? zM+AZEJ1%5E=Zsb`{?YGLYz{1rDSO&@p!k%@>-%(0z?l0=UPnUD;QpPyYgFd(w)$VJ zseU6;_gJ%SFgX9-JSL%=xTEO(qim=vAFVyi-&|YX-R-!=3s>yid*ObctNmp2&&Beg z?{3^z4bbX3J$Uo0cMmTap#627*S!m5rq%7-l5hC46PLC07OSHI4K78=N44mjpIiz- zb5lb?@z~{Ur3?HZ0E4w`udM{{ajfOt=65 diff --git a/platform/icons/src/javaee/persistenceAttribute.png b/platform/icons/src/javaee/persistenceAttribute.png index 1c26676f0e19cfd00c284c6268e9b7136daef039..293f978d9422494a6bcca0b7ad413eb67bf1df41 100755 GIT binary patch delta 400 zcmV;B0dM~13aJB-BYy#KNkl%Fi+?1YGz`LC}<_5YwP61i{2d zT$r$O3&xGQ@j=v}QH(JdgBXcx*vg}{7<9onQ%lp^l*WX`*WTW9=A@m@wE=*wAC${` ziqkWIY#>FXtx`Z@s-}6(0vx5Zr%^c%Lp`?xaz3d*YuZCiB!5q@0LRCnztceT*K^Vo z(#X>d(FY7tdOf!Zt^A%P;a70(2UAvF4R&V)=vzDJy6sf@2W$IzaF{Auuz-Xyi3E z(Oyb(Vl}e}(sjs^8hXfU{EdHubl~Y!F9OiKS}=t)@|X=$7iTHOHOogn_&l2jF~cj+ un)XPu8fD{QdP9B?8F@k0dmg5K_yrcJ(_{OAjhp}g00{s|MNUMnLSTZ(g|~(P literal 1382 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e|}4Qwwt^U@)5lNkdl?CsRuo3sXaL0|Nsm zXH!Ebm|mCs?vBK}>ZI^$XI(9kAXkJzQ%mY2`7q>n? zxnRc)^^?}78`YMvG|7e9pZnV=(QMkATCui*)Wgb16<+-utUBHSp4n=Q%IX0g??0w>~=2bWE#4Wqe z_6mmou2`&gUW_#=^(MPb{*EQbUMcACY`y*X<<(&So*fyw_tY-E>)Cnv?c?YjyZjr^ zA6J-cYkdKV8|PDu3SGH&&b|`P zno##zCgqGm&?{a3onNd4Si>&Ozu6fO5F~nX9se=wS9`+GXdX1sby(MS*mYw|x=!|w zr@CiLosSEhm3Q2j{zPEacm=?N#lA<)ipY?lR;>nq~Odbtx`?zkRjOw(h^S yUa4m_U8Wa@TzSjA{F&-U!-*UJ+da=`WMdFs{^QHaMc-sWC7-9OpUXO@geCw0JNIq? diff --git a/platform/icons/src/javaee/persistenceAttribute@2x.png b/platform/icons/src/javaee/persistenceAttribute@2x.png index 29ccc4def9b63c642697a47dcb02f9ddef11d95c..58ffb227039b56e1757dc71f021ad4861c6fcd4b 100755 GIT binary patch delta 934 zcmV;X16lm>54#7DBYy*eNkl;DMVo)|NJEOpfPlck3d%Lkl&U`0%CM znK@^^o!Qx$RRDnEZ=(2T1U|N9ZpAJn1gS=bkwwJKv&ffSM1KzQZJGHb1so>rCa`=r zl8U@Tz(=TU8pXP2t||n?d3_SVvS4IfNWAbU2W*4I;2f&~*F+<@r&~Gbn#ycL#atVa z$ON))TLSn$9C3I$&IX6I3fwc;;mnmSXyw|9M4Xfh>wFi$>qE#lO0fJ?5ALaE@7?+g z#;lqQf&}FX_kT$MfA=D*6u35U9+Nfi2pi@Qjl_PY0RO-rymU8m~ zD^dc_xQB4i;E|9)ofHFQxe1%fZB-s1%!8xdxWU2cM)aVl-IX;RT4PE*%FtudB+xt4urYdFQ?7ewH z=d-lw$!$hz?$VodfCc0H3>|o3z+b_6Deo>K1-=418=b)+;#t6%c)xWbn(!*AJ6f zK4y=4*a!CsOw_nFU0po&wA3nx88UO$Q07*qo IM6N<$f}2pV)c^nh literal 2033 zcmaJ?c~leU9u1o&6be+Rl{ExVL6XTN0g{xcWC0=s5m8oi9FlZXD4i~ser-CGDFiK2Dh&gB%)l(A;tKK zs3H{)mdQi)YIwaqB3hzPldz3}8_}Kajx$eTg(GNC&8N0Hl*a8k@>ugMP%f4+)E= zmL{{K_`z>uVJ8krhN3Dq0BE&Zik416)F}YSVzB@!4WQA;7=oc?v7CXH2J*>pcuEt!Qwjmh6;mnhT{Ge!E?{G{4;i6@vpuvu*Y2AAY5jIO=De#LIv$lclI zCi#}%dD;n%GTa3giBaF?RrHEekmO{I^C+qv%dT2Uz4J)4_11x@o8>IJrZV`OtS8>? zi79&yemsjjDw|(8IBk|%a=%esgY+gPw;?Dx5}=7X+o^;`VDcBh{+Q4Bc#*nXenApX`Qb8 z*e!ImdH*`De|1%&R()s^7;$$w5vEJ}GCk*uz~}Z*`R{>u`__)5=S{o4Li$yG0$p#( zcF$tRA5i6xs1#pUdFPj76>Y;7?FG1H2S9O?bCLGexz&{+86{x*a;V{FFtBCS7Qg!T z-n9`G1t~KdlyPMr$K0)Rqy9`S`Y<7Z^PF(ckb1IM#u&YjU%~T<=q#mnyS2Se zEF9gHRsAFEnFQH);QO=V&uptYS%d%75K^8k|JPZooVL3sTTf3fpt3$Qx!OGS-u_>Y zP}W>B)23_M8}&2V0dgJLa$|>ALr*w&{E}?EVuWzmz0qzDFEs5%t^eWD>khH|)1I(W z|0wnx|D^M@qk4M6%&j_J^eo=xrwM)6WV!6$jU6B;aTD44lxDn_(T2A=9?`-+C*B=R zSc`X>b+NN%@=C5wt=_w0Y3ljgK~4{?Hw9c`hlWElkBaqN$7@Z0v^~wsS4t*cveWy< zdma>bYOLxO8?L*xSM9Yq^*EXDxzfSqMxk(8EAPCVYEZ8@G!(4=#$u-U;y&38T9HF_ z=1x@##bK)F*`W_~z~I=Cak!M}vP<|_)jqm>WU;|8thfWY56*fwbnz{9-XXcy4!-L5 z_=-^b$RnrlqqDw+hwNic%fVA8L;sxadof^Yg)6->`6KfpiW+~yLO}$-mb*Fozw{V6 A2LJ#7 diff --git a/platform/icons/src/javaee/persistenceEmbeddable.png b/platform/icons/src/javaee/persistenceEmbeddable.png index f5989616ca549868c811a12eec189c0e9ab6aa7f..03f46d92bc53a2988c9a7d29f749f3c4af57ec5a 100755 GIT binary patch delta 253 zcmVZ)g)|9KNozbf&r$Ke!ITw-?>qXzp_P)8vlEG|44x#FUZ-%m-y&?%t$Fd-vY% z-Zs~uTP95H2ca+#$3(^u`fYBXgsHPIKeVG2R+$~!U}KDytxPAnA-I~oSDU&I%MR|| zKRnO#`}c5@g9Clrw!X5JqNr`@elbhdmz=k?g?x8Es7Yk$z{xxwLPcDbOi0BPRDd9@ zNhO$tk}~nu9PFW}=1w)2$N9`bK}H%QIT*&)48o?Uo~Ug|@(9GB086SKq3>P2K?7BZ z(1(HK*^MIkGu zHe!)egdWD&5LmWcE;D66gUk}k@jTCZeXP&tAqbB(p<~JR=$5;#AVNzvRRgO?2acjt zKw~&UlT4qMpc$L8y0y_J(lFMR43=ZOPDyoOCiDMLP1{6UI18WU`=7#AZo+_U7FuY` zl*!Bupq_WabbWt#@&77-3`$BLgH7VBaBCS5Vn{eI1_32x;BIk}kuv7@>&( zqpFIKjCb>1F~)~Op*Y7S1AL0~DG&(rzIZAbh>3Nsh~zO1>bTBTo^fLhxsDSwgG3gg zsg6S>Wg-o%S1hQFa|t!n+u$mVa|t)(vLqSSnd`siT)!gbakiVTC5KJlL!Fr2B(BE$ z+7yava;L>u&i=0OcdZs}-do)wcB$J}cP_8YE3zb&l$)2Elpilg-+B9swMWN4Kii5r z-LqS+PQSWVDi-$4E#Ig;@l$_#PaLUU3QhK}JvdsKX}R{~k2A4@Qy;$Dcc6T+`f*48 z=P%cW+TOf)T3|?Jeh5XK%T`aTSF{ zP}%=&H8i+V-7|H)`eOCrg~#C3lIzi7>-k^an_nDnF#>l#IQMY(%kGbQ#XDG8__}oE z^nw2HHLAPI@82=K{Oj%M9XnlTPJPAQ{Oxz4otbHO^_{-uLeXQ7_r5W^aB{&Vb{H%7 zzYmOepPT!k)?t4((X@Pcl-lLG%^Z)lAN%yu3%l%@Ui$n}({pXq+2o|v8oCpA{vhe( LfcQ!L=!t&-S*)G< diff --git a/platform/icons/src/javaee/persistenceEmbeddable@2x.png b/platform/icons/src/javaee/persistenceEmbeddable@2x.png index da95888a0bca035aad0dccb79c88fcb40c0e1f70..0d4858bbc10093679b221ca9cbe4fdd96085efa6 100755 GIT binary patch delta 1223 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 SsW6^@mUz;9sAaCf2mS;~QO%S9 diff --git a/platform/icons/src/javaee/persistenceEmbeddable@2x_dark.png b/platform/icons/src/javaee/persistenceEmbeddable@2x_dark.png index c7fba9acd0ddb6dc1788359809cf5f312b187677..85dd10a3a5d85b56bbe984d94ebdbe99a25799b3 100755 GIT binary patch delta 1224 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 b!IWSYDY3+JGLuUS&l3+9Z%U!l9_fDofiKv6 diff --git a/platform/icons/src/javaee/persistenceEmbeddable_dark.png b/platform/icons/src/javaee/persistenceEmbeddable_dark.png index d6afab5d6198c7ba11c5a185098a1c8176338ab6..94a876d7aeb86dd1ef57e1fad6ce14a1a14baa81 100755 GIT binary patch delta 252 zcmV`3|P?`{u7@U z2pZ6m;S#^TJNna!_1L{YFbt+%{EULZ@e2gR!~y_Ky@b^^(+M5`0000c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e~9q7efn2CvyvPb0UI2$*<4On9mVa^UGcH4m8Bi-4*6abQv@0|TR)r;B4q z#jT`2|Nq-Ft2VH@=w$M}7Jv5qOiFTMVtUGv^^7U^*W1_E?fd(qcGnb+d`0CGth<-1 z{Y_6xQaSl-|Nno+3||eJVjGs2cY6H&oKSUuZO^|Cy^cN;W;eQfmCtKfBpLDO@ZVsb z_<6ByuPZ)&+@SRAR;HKnoX|MWwLADvMPn=V}%AIC)NukQ_ zMuU04^9Gd(dmH#0zHG>Dd;FEj?z#+P<-%Q79gH%))yq`>vLEBn5SVBxTlvfXpI9I# zXS?`;wyj&YKD-hW8tNLOlkr?5sUvo7k^Dm@nT-W4FZO)+c6fXIqNY1JH}*J8VJw&1 z@0*;SJoC)o`HkYU#S_jQWjnCZ;O!-G5yz9ecS|-kHA!4s8|`keo|#30A*QG!axvRc QCr}~c>FVdQ&MBb@04!dj00000 diff --git a/platform/icons/src/javaee/persistenceEntity.png b/platform/icons/src/javaee/persistenceEntity.png index d8a4cf0af460e16dd2868658ea7f1504bdf229d7..9f942f970782c919b1bac1fba3d1b7542cd1fe63 100755 GIT binary patch delta 258 zcmV+d0sa2C37!IwB!A^eL_t(|+GF_t|33pI7)&f~3hm!EG498nsY(C$PQ#BuYCvj1 zdVqY00lTIo64Z!}p?V+&?3oHTAdyJ?AF2mp!1C5`umLAG^#8wk@hBLB*vK|6Z4QHD z5Fe@sVn9o#3)p0kCS;7qfW+2Jw?w!ByP;kHYDz@L$j%08gnMI<+TGOfg2$vic)ftn z1*$+Vs2)0W2(K4Zfj0angz${^romh|Q1)^Lq_2Op~42oY+6cG~(0Ggc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f1KJBR6vkOH&JTb7w zJgD9j+-@UI2$*<4On9mVa^UGcH4m8Bi-4)R=&^nh0|TS3r;B4q z#jT`2|Nq-Ft2VH@=w$M}7Jv5qOiFTMVtUGv^^7U^*W1_E?fd(qcGnb+d`0CGth<-1 z{Y_6xQaSl-|Nno+3||eJVjGs2cY6H&oKSUuZO^|Cy^cN;W;eQfmCtKfBpLDO@ZVsb z_<6ByuPZ)&+@SRAR;HKnoX|MWwLADvMPn=V}%AIC)NukQ_ zMuU04^9Gd(dmH#0zUVyhJ^GrpW}PL|C#O&q={S9vm;Z!Ixz9azpY)UY$SfY7cKts| z2cENTNDO7m;mLJqRgjY1a**eMIQMP&|Beecs-?!nF$m7vq{H+4{y(P6FBnw##A<&( zysaPTm}iy~r*Mk3TyDQ_a(eR2Gk@ndir?jKiD5YBb6Ky}apH}d4=OqzIG&X@FfcPb X)tlqv-TQ7Es4Vex^>bP0l+XkKmztr8 diff --git a/platform/icons/src/javaee/persistenceEntity@2x.png b/platform/icons/src/javaee/persistenceEntity@2x.png index 9e53ce1d2e5569521dbd18a691922b1bd072d4d7..8da8fa56771610359a5e97753b01508396e1666e 100755 GIT binary patch delta 1230 zcmV;<1Tp)g65$DuBYy;_Nkl` z5uCuI3bAlRlbYfQY~vwdhbbh6c)(!r010NWF~<0Tsnw({K^<7Mf(24qp-4nkTB1~; zQFVK+@qGe62a(h?UHldv?m6E(=iKkS9E4ELizMfNBVe|>ihuA5AOt#r7_b670MIk? zAaypDiX}|NW^$zqH~_eT$Ip>$uWY7r9O#x8?GzAf6aTS~iFW|GHn0F(1xA3^z<)H| zRk82MBUdVrN6-6|9H!uj@?NK)^c0lH z8Xs(2-XS11@Z181O@gHx%|bJdjdQ50K4>OhzzCS^IDHRp0zGs|V8nk6bbmpOU$2)% zJ(sMs-+$ts9kTeRT`C3$oDn#i1p4lFX*iuQ3({^y5jCjiNk+^fJMaTs!+R_N9iM-q zAx{C*yB2e+<5NzRJ>1`93_2U-L5Es~1rcDVG?{>*O#;Jb?$dItASM7eV2QR;nB5KNA4UXa)N8D-5ICYv4&qug7f) z>7+}mi3}LbA%_xBU=ET1i9~`S{qt_H1nAG@Rm0l-lgt3_b!?y^K6j%vK>N*Z+Gn;$ zoJzvGSr>q3;DYF=dIqjiMk4~Y`2f=brFV`Y{qt_H1f1vR*5gHiJsV%cgipJ^7k>d+ zs{lCF2H4~zyctQ!GJ;+k=Z0JTiNKX;Vyr8U_d|-ptP6mxwX)^cRh!s~BfUz0&@MMl z*p;%;o_a}|5xti67D!4DJ7ImUZa1QIAK2Fxz=qNTAt?Xv_+|1%2zVLb*Km*cEVcPR z2W|2vw7UT skY>FCM1b|jhr2?SNY<@*uVh=mKk+DD09`r(S^xk507*qoM6N<$f?OIu7ytkO literal 2339 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 CRlk}5 diff --git a/platform/icons/src/javaee/persistenceEntity@2x_dark.png b/platform/icons/src/javaee/persistenceEntity@2x_dark.png index e53d5d7e5b6d31ee6476e37198bab4f84a237e12..830e28ea190d15697792084fef0f5f76e11797ab 100755 GIT binary patch delta 1234 zcmV;@1TFih66FbyBYy;}NklFk(XuQ_CnV(3T#AR!*WVwvGBVwUWCt#`zy*n0hzVwK!??)I z^6q&{-!IUw5_Dzm;&;)*`#k^ed7k(Gd>II#j2B79|3<)+rGJd@Dj)>ffhe#9JOI!$ z@*r_GnusM##Ab3O3)llVfyd90Y^SUza_q6l^R@~Iw21%M#l%~HTx(bWt^y;#t>ZtM z=qTCsr3H@Mj(j5F9ILc^vaGzPzoLw_YnT&U{ZD)EOrmVh$_2ac9= z4oE@7BL3qouLj-rY0>vn?hR;H{5!(aN{?HYibV4H)A{?Ua>&IJprnp8@v`2ep!5`! z$QzW{?ZEW1Gw1s*b^Z|RlJkV7u!-5DfRH{_K(8ht`Gxn%CW)S0t8?Zo|sdWDV+PtBcPsV`{EHTl8Nec%KY!1y!MRuhDtL#Ei?ZJq!4*{DVM(_D zXz?wNo-ZrPc}F1SWgcS*7%~<8QYHSN9rqstWtK;J>-@I^o%7$0+n49UU8`TZRSeLk zl;As_U%ziCbqCWGn69nC52>^$hCjH05G-{Qr@E|@7A~YF1aGSx& z@qa9U3B{sjY7OVGD)J*a9drhU5l|^Sd>j(rA*IA+{>r0Szcb-j{U&5v{Cdo~Fyq!N z&baEA0WR!~l)!ZZL|mA5(U7UQ1Y%Mch#6;~QJ4)ac#S0h8<9Bo-BNJ2APsAi^qQFg z0MA6?dkPMtbifE`IiKqh9DPfI%LslTi+}VegR>sZ%6}#RmeCUQ=~oy=r(4I9l3tHk zYotMkS{3fo8OOR5Kn-R;3Gm9^HyDyXZwE_&_H0%;tldA!4B%cz`|4uTH=6yl*XX1@ zMqAjfAiSS;0eA+^iw@UL!c|IXM8GB=U|O*6w1y%1^LDTVoa1L!<3)iz8(+g&kAHe~ zCj!z|0dT4{u*o328A-`9f?n&V2b#UJ{wtB$;f@&I4+(P9E&#UH(uQA`tz#<=cPqRB zn_NF?Q^!?f_ung zs?7d5V3j|iopoq#q8oh|?ce=dKufk0h220?a=?+!nG#(r(2&CEWu40nUz%VhVru`2YX_07*qoM6N<$f|}+_F#rGn literal 2344 zcmaJ@dpwi-AAj63A-CpfE(HKU zpYBHuQLW&@3tOW4O62kx)nXx~F{PoxSgDL9h5#~07z2THJ}V9ifmocB#BRs~05oj4 zVN5AA;71}`$VagjFsNj{NW}&K53ghqi=6;T!5AoxDi@-vcP0MPaq*Cli*);iK_j=H5v|nfk+cb@V}E{ z1~5R1Pz-^16yBMQ!McL$2q-Kb>*|Je0&y6u3mW5s#=1CTaYPJ(h{c0nAGj)-m=jA3 zq56J}r8<$|@lvUXh(^m~GL*~(B^1Y@u>=AEjlrRDIA;~YS&|}NFq!UvsHtOMJ$985h-GbB^8RpghJk87a8$FsZbIx6oC{9xH^I> z;0R@sHDBNX0Yth$B4r8K5S>bbs{~M7E{8~<;mLS{&pNkt>nK<(&6PmI`S@UI6kk^i zg-jsh7P(X*JBbeoq>Eh6KU}x(au=My7pWpsAu)G5#PJmi`QVp|iQMn!g8#1GS1#xK zxvc#z7p+PLy)f7Rn)Bk7$~+6(Z?07xzWE*!sLU=_xw>oA!W;m!O6XK_Sn~b$h$x z)qKTEGVEBep6$ID|I7lPXIgUh24U0iH;XLh>w8{oAHT~y-$ie}SybdQHsAX$ zeavf~Q3xGdKNvrgW0fGgWt}=S^-;|o=miRaYCugP+$RZA?*L{M%e-|TIe{?-mFZ)j ze$lvnLoFLP3+z&Nx+OEapx`U60QxUo9%Wk1jv(GBE&OaRpd$agVo;R$!)>5pdt3ho zX79FW|2s@;D+AJKv7n6UV-gpC)#qMOYyQBpeHFv%o$%o3<-OP(D4rT>T+ZDVn5AbF zyURN3T&}dudyNUgt^%PvkHL`eZECq=4n3c7B|FJF;o81o9CQ0?Su{_dlic#lFPMK~ zC`O%JrlwXNEBGoJair_qW9HqXkG-G28Okn=!p>U_+Fb&2O!H3Gv69__3|C_B)&#Q= zks6H$OYZkdHc8Rk?Hf||TCm6I1ctEp#DRmQ@;16r79(2e=MHqBOFoZmLb#ch(kS?;VHvj2FQ37S3=1!2-3YvXYQL-A`jKtgZ4BqK zzO4jCz-p($2hCb~ZH*Z*TO;i257{F>PFo`GcN@lX!FJfqetpXj4;1-;=61W^Hucp1 zNPuC-VdQtw?+28+Jzkkp8+k`pNFTe?o2MG5>Aj5i2PeHZYItAid*CTb;^B5Eaw=}?tgf2){dj)+ zT!YoIsJg2~x$#5A#T}!L8ptHx9HqTH&%em_bwV(FN_Tz>OB_oeC?eONIJ z*`J%A`+hFj-(8>XJkt_Roz9%=PdZ#-_1Mo-oA=o|XaWhl7CMQFF5AV5w5aKxxvX<$ zc&_$CkF5UCne_R}ksS@b9mJL6mk1yG8!M*wd7rl2{UAnT#6+tg6w-#!U`7vD%Ku=}n)Gq?z`6%onq-rT#Tv zuc6-Q)Iu`V-Ai4us>yDL(O7-M`LIUwk_&Iv&K5X29N~)|^xo@YW^15N*UVPd3s=7N zB5G*+A0kw_ww~LJ2yMeV*}_-nC5I~~AIp~hu=CiRffAFvo#<<8hiWG-m6#3)hB2w9 z%8kx24%mYGYn08;FRyxPuySY5mNv8K>%4w;^EN;G8tRd{-5#>T{eepFi^FM-TV9!g znu8vIqXD_9PmP%K5Z&w5=K)Mgu1*!cZLRuX(rl9V;q}ia6i;T1`;t7$$3LehYU#H2 z4E+jU>b~Ri#TsO4HoWI!R`1yihm^bsL6k%8W?*}+wu9}mWmS8SbNX637#jGzQUCSIe<(YY>mKudy_;;bx0;#n=(L4VG1pUGM diff --git a/platform/icons/src/javaee/persistenceEntityListener.png b/platform/icons/src/javaee/persistenceEntityListener.png index 245d3c174e589cb1496dc50646658590a9311678..f543e27872388b9ff5c9f7be94d31d72a111856d 100755 GIT binary patch delta 530 zcmV+t0`2|b3#tT=BYy$$Nklsh%W*04=BC>#7$5+ z6!qu^1Q&0*{h{yZ^Z(1Pe*C}b?l&+7u|Z-$xsM<#f>ljSKj;z#!l{DVE@AS z=y*9$El|%-6a$uA|MGw7jjv#A3v}{gpkHBpAbt+SD}cBShzk~9`vP+Q0u(PyJNNGY z!fRi^I3lz7e}C1S^)UW(AfBAOdD1-V`N7Xj=X(CJniurUYhnFFlt64f`1Jq$t6#u) z+VLm!p0>j0Ae=Igc{rKmG3i)Qg`$xXol~_%ow*!T*idhrlt2ud~SO3ck#A z8Hj%Y@j{oyb^W@_z5eU1@_}OzUv0KSI5q>YV%52J;hIaFuW2oF`30gue2_Q*v>LVE UV?O?601E&B07*qoM6N<$f|O<#&Hw-a literal 1505 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f0*pBU2}17fTCsb5}z{R})7gQwwK9b0afT zXBRVPLra)mm;B_?+|;}hnBEkGUPqjIK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C~Z@ zJgD9j+-|YJsaGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4*6$+f-|1_q`uPZ!6K zid#!2`(_9`iX6XxChhaaPEW7vOMO{fuV@H0SA2frsvoL}Uuh?oWuH0Q7_avJZS{Zi&uMKI zea!!jnf|0#ZG83pL{kJSdrbZbe(3e|IzJ1G;#>EBCj?LZI@YY&KuA6DkN!NVt_N56766+>^uKmiK;_v(A zt)r6T_Pl57)uJLAzx)EZ6<*(Qdeg7=F()igs`={b7w(N4#lj7Uu_UlApMD=c# znUk0Aee&~qeA?ov$39It7~-lju`1}qG~<)n4nKU4beH)1xxHWZq(%EeuIaQfclVW#A9gJKu+45p+`H-?;hy0u6t#5RYWboU?y){>MrB$o(2UIerf4O zOsg&2yX|ZB=8H_B#s?4eDR((2mo`f-h^~^)i|&h+t>ON>V^aA3sJWR>V&1Q~OncRI161gGy85}Sb4q9e05)_uVgLXD diff --git a/platform/icons/src/javaee/persistenceEntityListener@2x.png b/platform/icons/src/javaee/persistenceEntityListener@2x.png index 36320066302482dfd3bfdda55b2e0da667935c2e..01837fbc874671ffade2366b63cea518db240445 100755 GIT binary patch delta 1207 zcmV;o1W5ae63PjXBYy;uNkly%HzNheV+43If#i|7|H=T0-aziU5?B5(4f^{ppmW>-=EqLx zomvLV@5^xIiIcfTVikQ)-Hi+&Z~h|#C=emfNg|Te^w7>M#)sB1ySouP62C437?iMk z3#SL3Gk4fKwSPXyoKwHdxJ-~-F}w_5Ac%DhXRPzzvEPEZI_@2Jqr*$Zupq zEqmu10mwd{q@L@%$Lci2>ye8yIl0b)ZWy ze%upwE(vyYWkJl22qx5 z*m+gv6QUv7kjB_yt^A3pORgi?9@mkq z3ZF#du-zYuP-Dt!q&X9|U)jeCq7`09w);AiCb^Dgq$cXD3%(2}x3y>4BD$pzVSi5N z2WkaI$&kNed626nm{$}}HR^#msK>ViR}{tYOn VPf|*T60ZON002ovPDHLkV1h6@Mb`iT literal 2314 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 a9DPJpCo--*9ZAicpmCg%^-VA(_f diff --git a/platform/icons/src/javaee/persistenceEntity_dark.png b/platform/icons/src/javaee/persistenceEntity_dark.png index 60ae7a4f0ccbd7ebbe1bdca328cbf1670b6430e7..10c8b599bd003447de6d9e7856943568cffc133d 100755 GIT binary patch delta 259 zcmV+e0sQ{H37-OxB!A{fL_t(|+GF_t|33pI7)&f~3hm!EG498nsY(C$PQ#BuYCvj1 zdVqY00lTIo64Z!}p?V+&?3oHTAdyJ?AF2mp!1C5`umLAG^#8wk@hBLB*vK|6Z4QHD z5Fe@sVn9o#3)p0kCS;7qfW+2Jw?w!ByP;kHYDz@L$j%08gnVO=+TGOfg2$vic)ftn z1*$+Vs4_D%Hg$d4VVwv}Cx%ukVijbYeZG7l?Af)Qg`{FerXOQAA8E0071Ua(BvI@9F>m002ov JPDHLkV1fpmbr}Ev literal 1214 zcmaJ>ZD<>19KW=rj=pTVFVbz`(@WFdD2)q@h=+HAL5oEKGBkN$$rFmfS|NN@mqmN~n!v#-#2gRd zcazE_M?pl@A@Fwcc zSm+eO3#O^D1W_y&Jw@81>Un}<7=|FdgxBjv2)8k%n7rjy3|CWugNC3>nklIYuod~N zI%$S*l8k{->~!p3)$Zf`&S& z3utgTmmNxDBRb?wRZpwxM6-*d1=UoIf~tW?1U$M|Qbe_AJhlo?CfS5yn7ksu1Q)`Q zfJc%mgGQih7z!N-cAtqAm5-xMIs(s8~xbfs!HYx&CX;%`0Rcd%NyhbXfO2RFK(q zWQ8_U&aSHy~}SJb3N;qA2iuUc7MHAznTme&NU$_1n*X z{`v;B&$Zy3d+*_TK9}vkcgLYX?i`I_B^E`s&c|?3+jTJW)JR zey2C{%UAWW?q^Qyf2m^q_Gi~y?!LwL@7s4=sUG_@0X8m(voU1K8HX9}zE~pD%PCkKG3jO@H|Ijmw;PUd?~e(Q*D zn>hE=rprfWI`xnFTHBMJ&uX{jEst;gMyxiv=WiSUSKG9K;kjGRXts9#Sod7la_`fB f6*n(dFh>V=fq%pK!Sd{q{YObeN4QhF4^ICBevzkJ diff --git a/platform/icons/src/javaee/persistenceId.png b/platform/icons/src/javaee/persistenceId.png index 84e66cc3a50d2a21a606b9a8eaad93271e7a939c..f4d960e10e90ddc8cd6f2641b68a46a291dc7367 100755 GIT binary patch delta 422 zcmV;X0a^Z)3%>)9BYy#gNklMBsZN2S9XbTl)G{n3mZhLW zgK~5Tywov`F4aX#DlE!~P(lo)vqpBvbUH&i`0Mw^ww}X8=#4B@s_4)u~Ibm&9&wS9x3LxcTGSVkwIDaRSn!f^!FGr4E6N|s{ zv4O}Osi8yEfN_%E$ZkO=w>uQ6QFdaW1Ndrk6*`YQBO$fqoC1M>7Et)S4ngN(TT?vo zgV%0>m3eb1>YEdAj8|bTInYHqpxe%dLAs9&B6!`-C>GZcP{{q{Z@_I3q`Q!2Kg zG{d^f!Vg%idVkX%p?<-EbmQ09W~b#=%xv(~f*{$p(#m7nAy!UZ(9Uq0h-U^oHY0Ej z)36=X)Br;{!HV_tGPJL}dO~tc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e~AJLsw%1BV!A5b5}z{R}%|UOGjr*M;B8I zLvuG56APGLm;B_?+|;}hnBEkGUK5;pK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C~H- zJgD9j+-@<#saGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4)R+U`Cui!pI|x;TbZ z+*&gEyuYxc$npCd_Wx?u%k*O0XlSBnTJZ9qb$L(GgazVzOYv-@ymnEWpzY!Hr09gzCy}3(#~iu>kKL$Ik$RtDp1eTv;NvB~Z~IMOjatdIR~#qX*UPDUJa`j`s>5b;=fbM!kme-V}_ye{@t5jUA<#?e~E9#qaV*&-?>c6 zY~!0#t-CONiK6bhmy>wkxmzt-wl0(5>n(dl-ps{dq)cUr<_-w zx!-lkc5gQQP4S88>p8j(X)Vln<##zr;B)1EHp}H%%oTaft?t2`(vbAo4*!hd= zj?R5FXMgk8qMdWDT`f4gZ@o5y@#*)D!4fY%HtsQ)DQeR9P})X2^v%bD0MpV?OFx?( zHTT3@H^tvsy8Zr^Xp47l(*#x>mn*t%e~5og>azzMj>uj=IPZE&Tl*xl*)p5vnO{|C z+>9%bDB_5af&G+IuUxo0(I>EvT{T^a7 y#ddiwnvu@q@F%yQ^Vg+WNq!<1-!uIYOkfcIc>5Duw`dQjp!9V0b6Mw<&;$T8_!-~; diff --git a/platform/icons/src/javaee/persistenceId@2x.png b/platform/icons/src/javaee/persistenceId@2x.png index b1a9abc2cf9d0a072aae4464f96a998b499f4d61..a19c74f3f9a9a6c4d89595f12825d0a6b0c85011 100755 GIT binary patch delta 1099 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 OzwoCA(JrppnD!rn2ct6p diff --git a/platform/icons/src/javaee/persistenceId@2x_dark.png b/platform/icons/src/javaee/persistenceId@2x_dark.png index c92242a20df5bf53f8a67f2a3f63413405f68f6c..21ada9090f86bf14d46d0cd682c11c8f5cc0d14d 100755 GIT binary patch delta 1108 zcmV-a1grbb5$FhzBYy-hNklDBl^`@XU#iBlIY78ebfxNsf0X!~1;wux^LVVN)$q-H$I+caq)L2eLrd)XmVEc7s znG!tu#RAD-cYpe7a|X|O;;v^B%b60I0{Ht9@`O%Y82JK|b^jxxn1idtE4l*8hNE>u z`@@h3p4<>9mm+Z$*`y~>&el9JaRL%oyEX>Qb+_NdB#c@Dbno7wLC?k36@d*TCNwjF zF#nw31-7NH{)*#Y;7k6_ctcH~lRBfG21s1C>mq(U{@0msWUD%Lt?x`mov61=xs5A|J#Fb{d^<*)blBn?A;BH#&X^BWHG%A zk|>G>f)|*lPFZS$#j*Ch>1nQ5F8knZ0o#2@Ct_QJ)MisEZC4Zcodgy~QDF3FzAT?R zQFFG=Y=1gE8Tfg6O!Phrh{B&Z0q{^v@_S;JJr}0&_*HcQsRe1(=OU=U_zW?*)97Ut&WQc#;>)W=DPynjF-wF$lTD-s$Q_w9k!1I3wfhv4_8 zuRaoqKsYqijqw7WNN}K&`Z$5)n%i(;@H3EwCQXXp+XcrPOIO9BBMlCp&%4AD)73_T z7dx=8falJH%T9fqK$I7thXdSmR)g%T*W_qjG2U{!!1Z+{-1xx^BYo9yxO%Un|NQsU zEPwIT)Ksbpto)2{I1H1Mlf1yG%ttXjCLuOl2eQ|q%KW9z!EPym(xTm|YM3kD1$R%S z^QN=utKlJcl;3DHA#0O>BuV__zapD6Uq;4s6-Ex`gN*bpc&%L_p?_Ku{Yz{wtQ8Pq zc-%*mXWoXyCgd7PJa(Bt_SEHrj5rYoVt?ZVs6E64sM6Rrs6B}I??C!^fTx%6Q_OQ< zJ!lHhP=ai-*GEVO36RW?3?|S>QBe_(LbVD4 zk0ZFCfT*A->q7ypB9E;Ps09@wB4AY%6>;fHtk`~dzBy;+znpvTZ@V96Utqv`w2`F| z3WY-ZaoNG@6{~p-^wnQkditz-S%LUQAR$mZBIip%6hjEbfmlB=e=8Ua@`Y(Bw?GdR zO2<|d8i7Rc{OJNnjN@xCIE5Hivr#AyZw1U3B!LJv4%{k|cmmHF{{>)0LQf#vjYr_Y zEHFXDO_zcp=>egF^dtdI2zYy8Jrs1cfEYyhScN!QBBLujfls=0^<}4n~Q)zBx5Nw9MO$PrV^d8Bm&VDPjJN(U0sMII)O$fx?w**fI6B~ z7*7vob3VsXpFDvC1cB*zyj(8F$z5@fbSs`nqtWmL5}rhIQ6pSrX%d95aFNJXEhw-- znLsLn5fLQ8Y83f#P%7dHs5AYu1Tp+YRwDb{CUwK`3ONJw`jF=23}{o9-uuGHqyY`?fxefZ*gP@*=wRPE|}kBZlzP_MfymGT? z$*bzYZB2Cohq{o7a(l7LhjA{ia1XG%Cvy zgCMQo-Pp|)-&6#bY6llx%3D3egSjT(>$*0=s$Ji=DTdxtataz2e0)r<%Y3>wAhG7 zuT3G+cV3<)kCEq#I>qw1L&$V|$5J0RqFamGlI56d&%s) zWvVQ=WX>Bd!}Ng>aaM0)D(AnA~zk`|>>LRL8+}4YAMXR&}2u50DJ9 z^Ws(8&AuJpRGLLiTX{9XJmMB*o|U6rwx)3J>H=m+j>`(cRsN>h`)KFr`pw)E zdN&-PYe$Mic^2r#H8wWQS0?wrw!T(h&_j6wH)!v!|B`e0H0+UG6hK<#PDngQi6zfz#L5XI#2rAl?#o z@S?cP#}e3BUPG$d82q11XRXyXuMFGwTShpLe!CWQE^&R9-I^m_zRQ^Y6WGH?rV`p5 zkJmWg>F!R-s_?Wubo|~&Y9#Q_&9U~EwTw7$GcM@J?G6*2mX0$!7Z1EAG0pBN$>!Mc+vNL{)DV`yhwSvT);Wkd0h$Qdv)6t z$+cj#u|HpL9oD_h$%4lbxrh3QP0-P87XoH0S@NP_O$1rlsDA0-Sp=n{!W##|Fr3B1Z+g?Nj!$5s=)g8AJ`)Iz z^p7>%CveOu%wRNx5fMhEBIl@Aje~Ry!L3NlDOABd_|UO`v-492RxAQJ{YYwG+WlM{ T{>0i!00000NkvXXu0mjf15C74 literal 1357 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e|-a7eh-I6Gsbkb2mdnR}%|oM+-Mg6H7-! zOE&`pM@yJqm;B_?+|;}hnBEkGUMHM-K`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C}{$ zJgD9j+-|YNsaGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4)xqSvW}fr0Umr;B4q z#jT`2|Nq-Ft2VH@l$4Ytc>Fkd&+%CsW1+0TYNn653VBSALJOEV8U)0`woO%<#KrSw zjt!6f{`!k`pZ^>@1!Ocn2{U|n;mPio8&BCO{QL9M{I*wOVI~_NUm4r6|N9Sa>Da-; ze8rXL22Td#qd0|mOh+#5S+oD&24iD`KmY&o_T5x?7j`tQf&auwha5JZ=Fvw3faxzCWFwTu(S+c6(55Gs-v%S^d9iuz?A9Gu48y`M@ zzh3fQ?Jq_l`vzSB--ZhQO$-;N)h5O4e{#Pr{q5i1^8*DuUs(#MD@zMJ)A-mS{o?uc z7lB`2Nk?l>5OUeNSNYQ=js!dFj_v{j!-7;sES%>_>e>yy#hRn*!k6HBe^!ybz z3##!MFJO!hah!Xa!DlP$frh($Dc78j#vkAbI4TyNZc^N#}>F`ddQrJGF_FK?b2(8F)y#4I4j&BMUR#=v8H V%w}p_-F;92=jrO_vd$@?2>>jm;LiX6 diff --git a/platform/icons/src/javaee/persistenceIdRelationship@2x.png b/platform/icons/src/javaee/persistenceIdRelationship@2x.png index a034dae12963379732edffb0bc6a3ebf5ebc5322..0b37bf06d49c0229244c3e92b9ca8412b27fdedb 100755 GIT binary patch delta 812 zcmV+{1JnGc55fkJBYy)4Nkl?|Kn`< zneI+^mx6eB5O${f-|YPPf9e4M&%ea;-wMn<>^H-QWRY29U4JlxWW-q8{GAp!h5SUo zf)z1GEs)FQY+(|7lLA!>mtna)42`#Uo6zrSA#6x&a*3T1*e_NGKZ&E1}fv{q5eFggyuL&!afoF zlgI-r0l#q!=L>t+6qx+EPnutPlK@X>|zu8T^S9u6(af@ z1IyBiLB0ur4vV_q5)cx{ktEWO^dY?xBzb@b-%em%2zc!X5H~V|N3!X`$El(CLNbxi z@fk?0Ayp)gbgBe=Pwoxq)A?r7D7zXHIEpk(f?Dwl=`s^=)YX{4r1A1tEC%6l7&J|T zP$<-bo`2C8lbDhP9CtM)&{{nOjzl7KbPprFNEZrt@Yxv}<6FW7Ty-@juq+ACF+L## z4hey?lE4xd$hhfhOyGg>;%GFw0JAh$>gY!4;BKnRre{ld<|d;p$Oh6t-Xqr(&B)dl*lr6PqYy|* q-6gLijkgQ9MZRE2aEWfSIe!2jKE~k3>x+v30000PouE11%9vDkwhs1XrU))Bq|}MbTiFqFvpI6}x{do%d#b$NPLf-|O?<>`G3I zajcwM-!_B?!zIf=Vhw*%(YnxJo7v7J>+n3yLLBD1KUd0S`z-q4;zv zm&BE^!F)+g3@czN0 z(d42$CXW;SJ{Eck#pff4j7cOal}ds#kO0fYL^6ZHAd)CV3MBwV1Sm=&M4$?Q6h89` z98e*YOJs-yh5)moAQvt{Lh)#(f0Q7VeUOC|@7shnjHnXGh-3oET+%#{%l&JpRQds} zKzQJv`Tk#FMOvv0B=SH7Tp|~ugUj#4f^nQsJSsqtNJPvv92%WMk7Ceiv}iIpDu~XYQQ6TPRv?YS zrjnx=^IQ%rERli`GS3zL$z?6bH9J8nLnCuQxnv_Kik8Dt;9bQ`$-=qN7Swys6)l_# zeL*e}O@?Tm>;KGo{t7jZdHcb&=;4F!K?pUw9Ch_*%K!_5S>zeVVWp{V_cpH2$BMC+ z2aED(+F-3Z%Y(b>Ckt*zc6ZUKi-ypAsB~rFY~kt*10p34jVAdTjIVqZSN8Dl|aPC>hD=QrZ+Xq zY!_EGN2ce9M811F-#FXXHrvEA)vbG6yZyepao}%-U2Cr|d8Q@@w$)rM&t7>bYVm3- z@vy4mQNj&F&+fe^g8Hx{Uwo&^Q<=9-*@Ea#+GXr#wRufOg_4(Oe@{+^3-w1 zDHG1}~l54Tp0b^Ej-Z{joWMKR(;LR4|p zOsB{1_UG-cy|%!v>Tq$cA?b>pFoW%mPpSvMEz$>5|3U5fO}T@&i#4*zx6Ned z4t{G<{L!t84y^k}>XqXueR4?8BI$0?)oiw>>&6^u%pT*Ve=a>0qsy`{*13)Ku36lq z&$|kM;HQ`f|qTdkaU^sS>grPWOe9xazud&4ZJS5?Xb8+kvazLieJ(?z{%^j1uF=`N(YW}Ah}}WxQz+e|-ap%6WrJ#eyOnYL z#AMdM`ily$Ilb26KQrBY+dBr%MwKSq5jyKAqPX#}+fEOkvaC5K$+ppKS(a^c^M~a% zT0V}I#iiUY!9D!VZ-?l|`m~$r`bztbQGYF;dGMxhXSTZkeE*05cZqRr&bG(`9{jcT zUrW92u1j&fZrE+$SYND#zj^(#sqNf8#aEB+?`fzNvx#yo|M0ieBT2Hk9*c?zY}E72 zXUkqa2)jCRuQqve)>9|uzN-flZr!%5a~+sy)pYTj`I{eR7mT+Hk3Mfp#S*3)^|B$m zwXxf3?ie0?b8P9$VVjl4d>2cIFtdJocz5PtwQf1a#v;BL>oyCslFz>NbFOWjU7=aA z_p{1`o@vQ7`ha}6x-F^TvYIz$?fOD*@;>zMBUry|)4(%R`I(5!smVE~dj*kOw>&-K i2{+7Em70>PKEmME4d4B()q2eQ>x_#^F|7{HeTJ9LX}Per#7gsvUDcnInmNgk{& z!a^H`mUSsgEtKlgp)BaIm*}998x$q7+ssa3w6T9IAzPgd!aRtQ?)qni{QAD>J^6N; zdCm+%bojwI?>XOZ=6&z`-i81m^e+khw*nJS+MEa@y~sGSCV$8yJz}h8{&owTKz<_N z!lIa?7U=8i^Mph24GL6BT!IDT4pcG^Ea=kbZKSr*>%E$YT&=~s? zk)Q%~$VucWQbMYU{?4lP=ELo<{NbLG(r|~A=nW!p94R8e8H>lPht9w0hUNEnmCzg^ zFz!cSCvuwwoqs?&ka}d7$aGjTZb9W;uM(Og1gd@nWbi6-4%uPLfjW>RDP#&g!~W z#d~051t}qMq(LPRe*UntIu^H*M%mSvz+t4~5Y&xTq|r&hS65>Kqw?XIOa>+=Ct-Se z8cfr)pnq$+M`KJvw+s00YD{4B?Wd-upin5#);)-{AdM&y!h5G^j4ufn2-MY>z=C`* zy=^|9r)_*p2pkXsr)i7{%yWUBAYF|KJeCj6<#N_nke^>tEEXY~&2oW$E|3q>)tEpS z`N|WG0?KO=FbsnS|AOq{0)e_3--fAFDw0el2Y)n8tH@k%5TK=cM8WObFi=;+_1%p$ zAW`H3a)#EO3D7c)NCC<1KaXxSe`z;{=}^Z8z%_a;3| zvSo?GS_cdUvqZF25RR^R+iQ*qFeNEiN&rXTJYa7>-QQ0;F&N26d1E9bBA;EtHnchX6SOLXjZ2XReE32_OQ(37{6w=i|Mk zDvc5}z~1lRVli8!ff2bz0f+<~0xCdMsg!I6k0A_Z2KzA?j9>~y=*MHSXe=&;MdNXq zeoTJw99IA;bZS6@%yE@}a_RGOZB9^Y(Z~V-Qt1I@Fa)ac?zK%^LQrIuT;6N&iT2;{<16ga4Gk$GuN4G|7)h7 zsK)+0(P9bsrOmak(4pgY%y^>pGW=MtH%!Lq-vq)xJYf0vWRDe(+LgS$)ia(y&G~Jn zIEa=p#zaUPf~REtJ4iEQnS&O|l)14@QYSgng6T1T-u9g|rK9-V#gCWadk-o~hYbh9 z>TsY3tUyWT=>sqzzvqWBeeeRX0r3mExS~fYv1>C74}MM$EZ3V zGwSuPb-M=c-6H&yt*_5=^B=(sIKO;RWZX=QTH!sprV97?_r!jvByiuBlZC=s7pr-9 z@%0jH5cU^sF|NQ$-N1fW#<)-r`ZOwI`JsJ{$2uo|_sq=oqWT3z?|j9xujx6v&-FT{ zXE5-EKXdunDev1Gt!tmKT}GMq=Et(by7n8}os2t?2&Nv@LT~RR5*)=HeqkD2^0m})c`>aU%UCsJ4Zgl|Z-;n; z9%dH>rdMj3PBm7@d`zDgO`2kw$}W7`MshLmHuJ&6865*uF z#{%ImdfKm*rFm>>YAsoG*b;zmxyNMZ#S&#Fo=18U7uLiL`9(KWg`M<+Oqc-!F=nmLfz&j^>22v%DqU61aqJP(toSn%I8bu();yxPB&U7 zHHlH+f=5sSqdazc=2HJ+BPTu21Ot;`7CeA4-i+gzUm@w7u2LGU<#5mIyq^i=ebv|{ z>6Kuzb+BCR99NxQeZ}F5-og5WNzhYc=K|)ke&jTx#w(slqYb8Yfz21DMc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f09Fb5{!sM*|CUb2mdnR}&{!0~c3g15;N+ zR|{7Y14o!%m;B_?+|;}hnBEkGUPGLEK`9}(0BEyIYEfocYKmJ?ey#%8$5xp*-D2sA z(>$o&6r66cbi=7vALtl;P`o0=GfW7WctA{ess(c3={_|NnAnSesamq}&^!hP#)qCR zjv*DdlK%YvZ_ljS!0J*`Qj*~DcjSc?%|I6EVQ{i3M(Pymk6DBv_;E`aHzjxx8 zp@Gf5;@`)&_urCvlT+YoU)MCZURvdRlT3nxx;W!XtqEx=&Y$n?{k=f<$nlS@bEnRH z`278Tp7(Zt89L<;JYy18xYw-1uq9Rg_4(f$MM8l86Kb4g-evth2|B4($03D*rrP{an^L HB{Ts5kVOCA diff --git a/platform/icons/src/javaee/persistenceId_dark.png b/platform/icons/src/javaee/persistenceId_dark.png index 98cefa6b6a0af569261a839c1a13325e0da77991..1be9a7b226ba6044ed5b1dca919866416f50c8a6 100755 GIT binary patch delta 422 zcmV;X0a^Z+3%>)9BYy#gNklTxJ7l`LhIH`tX4#!aF%dd^c6Mjpd>P-m8~||t zpI#zNFuFJHK!mXbh8hgIaB%zxpUOltlLFcyy-ojMkO zWx{=tHB!Td=mDc7y_VX7Rys5gsnJeiU<1VR*&4K-c7{S~wLZ~+>}SFUt;cODcjAFn zy9HKe&H12vM#4E!hqa`k3&~`X2DFpD=mCa8l$WcqWoX{4_L7Q;ebR$>ZPS4^zM_flKhmMKQ@vb-#`O{_k0d1a1aRzI z(3uJmzEL{1!^inN$T6pi+~XV@kkLa1eM~Rt8!6}+jUNqjf`ORs>u-bm0hzqUTHy@K Q5dZ)H07*qoM6N<$g4PSe!~g&Q literal 1431 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e|N~Gb0NZQzr{^b2mdnR}&{^XA?JPHzy}2 z6AL#31521*m;B_?+|;}hnBEkGUT2(oK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C~K; zJgD9j+-`BisaGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4&*FxjP^fq{v~)5S5Q z;?|PMXZ?j8C63*HS+;xa1=S^&lr%eMv3c?fCI67_=`5O{ApXGN0CVTX2M3R^_~_r+ zQ(+Y@E6+Hu}*~^Pg|e?D>3V^XHQm z&%f9|6rJC@)3E%V(hQbzhv{cj4{}v-@=5W;Ts$u^n|Ir`ttPJ(gSI-TX8zOsD)W4k z?a%wa`wbokE}3@T_(k}hS4q_-$7=o^h+ijlYnHv2qwSLA<=ez^Ps!$yXzL0g_ zJ9kcHd63lo`CENO>eJWUniK!qHF~9uCYSa-sTnJH*R^Jxx2m3C;^*bEE%Irxk#}%& z?3XWbJu%I~4JU(+s2)#P8lVv}?LmR%o8>Qe=9_H(5c_5M(sz~*Hm!LwbH}M2or!1a zjD@&f*{u(%kB(n5#o~NL(%}{E2doWPf*v#)H{1T`c_%MdeAuMm*|gcWWv_*o9j^Gl z>YN3aT}4c1>h3e|(>ERc6Zo!$huM2$uA|IXb*1NBr8}pzZQs!HW_iuYSuEuj_p$MO zU|!RxxpKFr`R0QSPqM4kR`$2tadFVdQ&MBb@0JJ9> A&j0`b diff --git a/platform/icons/src/javaee/persistenceMappedSuperclass.png b/platform/icons/src/javaee/persistenceMappedSuperclass.png index 57b2b86e7dab8c12be9df0d1f2eeff25f9520379..c65f565a1cf5a678e2ad8d91778670b95943500a 100755 GIT binary patch delta 372 zcmV-)0gL|23XTJiBYy!^Nkl1{nf0paGv3ve$G*z5v;X%>a-%(15%6 zybulYGsxN43~d031Lc3>^MWQ&!9xNrxCb_1MQiv^EMAznzB_8|5&U7$2=PLOOZ@uo z=uaosc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e}ZFS2JTrV-pK=3j;$#R}&{=7h@L_11C3E zGgC8XS3{Uym;B_?+|;}hnBEkGUQ?WUK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C~5( zJgD9j+-@<(saGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4)x<(TRU1_s6ho-U3d z6}OW9{QqyytlGfpqLaz@TKw7bGbzc5iRmdv)-$HuUvFPux9{(d+FesP@)ea&uF!1=(i2K5_2wgkp z84aZc(r3K%h~D%2ORn9G2J?XD4KWRGSQT#Y@H~l)-}m1uAvtvuKm#_OX3ywDI)6ZeDR z%YK6sH*YY6#IVg5Kgamdc)|Rq4(Ht19SQ}$PT_Rf_xHnFah+Diy$r_|tVl{svnu|5 zFL{j~1Di@m6pz`1bC0)Y&foX%56>wL1$~FTi3blKt$XnFb@}#l@jH)x05aGD_Ay>m zurm-l$8@!%$@uaX?|6e8f!p&=J$RaPl%Yp!Lb`T?g;a;5B3IF+Acc1fr|Q``3>btf W@5JpE-rxW#-aK9XT-G@yGywpaG4!PX diff --git a/platform/icons/src/javaee/persistenceMappedSuperclass@2x.png b/platform/icons/src/javaee/persistenceMappedSuperclass@2x.png index 4dec24e7b7cbd76704efa30dbc813964fdd2d910..84231ab9ac4f0cb084f6e0fb3f3e4eebefbec178 100755 GIT binary patch delta 1445 zcmV;W1zP&W6t)YHBYy>bNkllv%RuO`8e7jjPev(AsoM_9`K_;_KM|yXFCPJ7L5Q3k`knwnFMtrK z?VUx79s;Z#2Nuv<##y*p&Q+jo^ih!VSvlPc7y-l8i4Wl<*m^E=WVo=u;i6!$F)zo` zby;mQDu4BpJxb$vtC#@{Zwu^o0eRQAN?0{e3z-f1QG(7Ac6y(JrvrY3WBAZVK=s#O zO6aeE>V06<7uZLe#k!I9OEPnFk!kb{C~pr|C<0Y&Qqicis2%u<7xemDUOHnm`r zwqKETLg*vlEGr=NN^WGCP3`JdzBRCW3ho0Yh<`#Aa1ltQz~5E)4n+K>%8tlKU*Bl? zeh4EVgB^I17ybbcj-UjKWuF2}K!HP(th6^II-HICKf(AGg1_;Zt)4G7$YKNIPJDPg zlN}W4BjCC+?vLDr<29In1i~z|v={c@Fl%njjy5mPjWw-IcS{%`O~@jkvZ<4Dz|k*Y zkbk_6>Bhv_mcpobh)DUye4VEN=ulI1{;`-$TA>6BaVIFD!IrxCcrf%79n7?(kh?=7 z^2n(mPv>e~JaWp(l3C<>M+td8sO04O2*~0Fp9IJAbXYOW-x{Qw^W&{6H%D}fGeg=1 zN4Ip*(N(mJz}(QmmuG{K4K)07Z#G%GS$|Ey@V4MPT!U*NT5Isv-$MX4qJ)T#lA*H= z+hAChw&pb^aPUY*lmolpXFjDV7}p=mI7pV2jddA4>G+NZ9n`fWyq-eyqf#+pSm;gHAs zXatLFzXGsGDFI6!HE^C6TrdI0YuiQyxb=Zl>YTeOeZK;54<%re5pXUxC=Uk(_G~2vrZ^8=|nl#HF@b?jVNIHaEh>l5s-d5pc%&JvU?-)?gMTq zFgY5ND-YoqhPh9}5?~0z{{%0Sy9hY^Mg-2^24XYL1R9iC;kV6N;g(HbNPp(WTgdm; zPHzFO324^{#9-vvep@l{1bEk@71I|45b+l9aRxgmU7GfJZ`Fk_e$|MgS0Ozw;Fj|b z-j?0anp8ZwlR6RJ!w9Q=bz1Iv<`#CG10g=ch!&v!X?<7dS&l|1L;h4q$u8g;f46-H z`|p?*;KdOvDr~QKynvU~m>#}OJqx4OcuE>^prKZZfTpCMAN zJLK=8s1#o?Q78t$C@9K_2}ihqH)Eg(6v73K*aUWlBakpS5{5uJA)K*r3>JX`e|aF< zY+}|vtRKniOD=8X4q;2BA}kChlgXemBvdF4haoT+3=HlJb9Q#pBAg^K0x4bYB#_vC zRUiQprkEp=a)bi#yds?;jFP%Tw3YsS1-|H;tU&UmP1=URs%ERaa)0wzEvxkI!9P!5NMMG`QcF0LdJdNUf1KzO=fh#sz9 zn_aaL0RtzXJ-%{DLS_^n5J0$-%fOajE5Xn^G<7V^QLZ;a)9zZSxG z^}cXf->-%ET`o*p3~YX`|25~YM_TjDZ@;-#8+`LUAkdm!tabG{K@$!HTBIVAJOboB zb-`SoS)f@hZmjQZv}}ir8&gqnePEqKg04%Nnf{jK19j{NO7M}w7=U1c#d z*T{PC2}P({qWHL#_uv@8@rq5E&P%mN|J265yE-U;Ta(m=-c!+QXN|VeKoN8<^3qe6 z*A{vW1L)F-PpjKvXkBDT4-X%R5haDRiEterdG?pdb&QpZnu;0c z?rtKk4!>fs%Jr^kK{wfYS)1LQNU9O^6FYbWq>04=J9y1ETeY)a)pB(rT*ofwlyneE6v;9`^du3c1Pl6uOC(a z(!D9cun@L(NY_KQtM9a?P!NQ!}u(E_uU|kV9VERN*MEs$)y@EcHycT@Ava?W(Pd*ej~U zbAe7Go{chZtCQ~An%@#Oj<&`b-+1HFrw{ijqy)A`Q~dREs1YO zJB48XF<19dmpY7dsqv~ltq_YpxkpEs4Lgm?*SQ!<497H7O30astCYy#Wgn|tGh;eO zHIT>|)4Ygrp1y!;n9a^G` zj_N+({rB42K>@qZLx1d_k=hmC z;$!kIC98(k^i)(9vEwTJFBIQiCtP5-m)7E_Kdf?%usU0mGV95B9na8&wHb{3+w)aR z{>R~W@>|7ML~H$;o|D!{ANBR=hI zN-c|3LeS4g@MeQotcN3i0jf1gQ$BjfQO`WL`??(6tUPXXgP_0d3J|w*%YSd~r3nv%( zZf-414B0k&xs~&}RAHXf7?fMv)q_g^WZ&p((3pXkLHCGLJ02SsjbqRj2HR=ZV-K^l z=q>rX-aHe?Sg#aC4#T}$nv-gOdzX=OXrdrRvdS!wyN`4!v@7HAc)Pbw1p0@|IgVWE zU{A{;Wmo(L=Mz|y#UY_n=>zJS%D+0EAcEybO7#s(2x4XGPyO$5eKh#$l0PGqHEBjU zzUbR85_@y-x*SnEHYA~S=ivT@qJW46#stUw+g)YthWpG;j3{ocHye%C%ir;WoKQCB zHq|kb(0~5Z;PW-Gis>7NQ-0lJHiQez&^W;F7RKOn1Xl|DO-m+vo<7Zd(swc1XQ;i( zWr^BCB|N{Pcx!7dCNlHvz|YwXbDt*e!&S$7*F8VDA+oS_;@)gPsqxMHxw7v1ZjaT) ziLSP)=uH;38j*wPht3DXneoe2nsb~!xO>p8_e=7-^6uEDUeoUz?8Ho6w!1{Ni>xQ? z_2VB*3JeJIgCKj)&=U>Du0QzWz=`x1#<$?T%ng~V6yaqJ{+Z;2B_I5T7uA+vc5!23 b=bY4_^kn0}BRo6W{Er>k(}#445SIKO5;k5k diff --git a/platform/icons/src/javaee/persistenceRelationship.png b/platform/icons/src/javaee/persistenceRelationship.png index b9a2223dafaa0bf1e762b0571a02d4878bb60228..6ce6b653e2e307b74fdbbe868fc533183fe27e3f 100755 GIT binary patch delta 316 zcmV-C0mJ^73f2OUBYy!MNkl9t4orRaTpL^0pg!f8pJ2s zfRLLjGylIm)cOC*>8W5E#0MFI&j4Q_-Uq~=Pt4E!`{qE)|F5Se!13Dytsn!g;4+{E zh;IRL5D@c$oc;N5%l|J&+u-=~5wHP2u^He4#5aIg0LcqiUVrZ_{r~wuH5`NZC@z30 zhB`Y4EdWDrE>HdcdTZ|gPrC}hG>8ur565P}C#bX0V<8-fuL1F|lM6EcLir5n284kE z3_YrlG0<=xP{6|Y$OhnyDyT*n4uX0UH6ej)#1&OY1_%K0b!Zf07=SaXfQoscHs63o zF#}c?V2dhHm^Ac-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e|-aBS#}kCkqR63j;$#R}&{Ub0Zf+6E|lg zV^>R4OJkT`m;B_?+|;}hnBEkGUQ3*MK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C~B* zJgD9j+-@<)saGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4&*$><9(M=|z#x;TbZ z+)DcM|Gz!6Y6GiFNl8h9$B&cu9G|r@7Rm~&X8M?`kjL~WH0olp0-FGXqRyHeZC4dh zi5r%c5_NU|7yW(qvw3QL-G8Q&Ym*KwJXwA@d1|f0pP!%ew@p3t=n{{N%p0Db|Mkt8 zf`yW7E4n2%NM2w%ve&_ewPR^zWc}a7^t6N@|9?x%Y<9e}mW!WR_R0{`lH|weP>quUD`Os8QX;nAj)OzoT*6ezr~P9TxMk zIdpApXw=&Be&-$Y8EH=p7~H3>lCfBIsYK!M@N zT8BIRZ|r9OVTV0p9p=d@sWE}9J}wGBpF7lWb$DMiRo=~z9l|Ia zC}I#$+3?BlhDkGnvW9tF^em>NcIHA`fo3P3DH>9V3wckO>|jt{dQ(#20E73rUGa}R R`fEXDm8Ywp%Q~loCII&&#`FLH diff --git a/platform/icons/src/javaee/persistenceRelationship@2x.png b/platform/icons/src/javaee/persistenceRelationship@2x.png index a2b1a9149beb6f778024554132d3c1e6829115fe..71494e4ad1c4042e3bde2aa51efa295110421100 100755 GIT binary patch delta 644 zcmV-~0(Q^SsM~UYgk}QMW7TJa24G_ z;z%`8#+?p@?0-inE+>W18Wylr1f1d)(t?zDdf-N2@dFgIy+X{T9!J2G6^OZt*99~o z?Q=Mo>j3k6mk?UR0>5MgsNr^5z!2;L8ZwYezXfxlQwXh5X~NfB{5SVOkU*8Q4fit! znDcR8=$z^{oMM4?l|hu7YJ!8W1{}|}+R$-svMGEJd4ESM7WvBp)d6$gOAILpMsYzn zihTsmSRg7X;0~j0LN6Zyce4JlCW0C?4}W>nh2DyaCVXRoJc?^)woa) zH7r1nQ~W-ln`$8fZ7h(M5ztCCfdFmYZ5C*h5$MxNHGzP^#rG&PWCS*KQY}EBmd7^< zG&sM934Lg#nn!?wsu?-u;)8B6IRV8~!wZ*lx3{^TIWg=V;Zl!4CDmw7cwbQXr6uOq z7g9~Al4>~NF7d+W{Cbw=0E-4~%P;}0R128{N&;G`<{qne`ZCf@wTBS!O*P~v((e~W e&-3H-zPJXmMraVR)~ja#0000l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij}FkiKDBrqoakng@K`=tBIwBp`nwZfsu=; znW2%JsX0uqOMY@`Zfaf$Om7N8uMVL91WY_2COp*wIq-C!ng>kmMZi@3DDSQ(Ftg}*x;TbZ z+(rbnlbP7eC063QP`Ev8!);3DW) zec4-jO4Eyj{R=7r1$D#%9e+E`_BA`1w>dKX(#=_UW%KjQTIFPZlwPh?v)(+p^4Wgv znaen>Gj%r{zV_^U_x$<2R&(Duty5AyVQ2T9b*Ae(W$$T^FWgi=tNI{8ed2PD`KmuI~;;Tg4B(70j4;M(c~^%vbDD%JSddew^(fVA*Ul|F5Aze@6V&BmRHl`&^PQ z%zVMLIjF4Vno^(^(}nq`>t=mmDUz04VLLNNKcv6NhA|*gIL@K(_`(HR2Yjs_nl^?# zQ7bxoi-BY7hwPL%zKlqlHm2OQ2~v+(PPFIND~oPudcEhUoZ{4y_jl6Pzq;F9ANcbA zh0A-@3RbE8FnqGMng8wQ#I+#}1sWQAB0O(*{66a~eCg`DPtUdW4mP&)JSqD5Rf}WA zuQj)|^*Jxp`6|wzaGYsBdq&-UvGh$}VUzE2`=;z4gHeKD$&_4BGw&eP(8>S-h)2a?>onVX=TsiCPw2A{h z1)|nJ&hf*^8fh3%_ko@CXy|2lU3`1TsP4{NjZ%BJ+c-(w?a zx-?5q`Ht3WZ+*^~EVrvNZ~KKLx| ze`=D_=DG1ujt z6*ehIxbUhbth{BSHGRq2sfyR`u{q{h?9Fjl7tppS@5;(qms>vnPJ0r4b=&8=7Xq(N o;6K4@9{M@^QvLt3Kj96G457z5&Po)q2!N^*Pgg&ebxsLQ0B3NXp8x;= diff --git a/platform/icons/src/javaee/persistenceUnit.png b/platform/icons/src/javaee/persistenceUnit.png index f81cd03550f1dcd2dbc843cb4f3b2a1fdd37665b..6e7c376533e5899259ae52945c168121e2e1c697 100755 GIT binary patch delta 289 zcmV++0p9+)3A+N2BYyz`NklCow%Sb7`qE< zlO4hIt|^I$Km-2Yym<6K&;Ym#fCl^r8t{MDl!Qcl(U>@+(*OU#`Gs?jt!k;q=7JfO z0srwD01TwL_*}3X=t7tQC>Z92h4sPz@P)ymhLC?)a~RBkrgWD{>-!Ra?VFSPfB)=k nxC<6Hh5ldI7#i{$C_fnhxvO)q8qGj?00000NkvXXu0mjfn7xSy literal 1210 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e}|`OCvW!LstuP3j-i!;^ge?YUyZbVPfcL z=3;7L3e)S7pIn-onpXnTn}X2mhEp#nCFB+WZFWg5$}CGwaVyHtRRH_gDigO`oN<~5 z)tiFbEiO3q>H{644~kc$c!mi96Ay?9Pqjb}Jl&_}0TX)>FjWh%*flUPFzS1{IEGZ* zO8WEvzdf^RLuaGY0VbtyzW&Fa_OL1BEjhxf!2C+{E7OSy|1Aur9%A4$5L&4(IGs`B z!Q12c;w(QczRr-4H01fm-t+(a{C&?Kn=-73oZl(9d$B`X)6qEVSBhOmX*V~;9eKg(YSHXXg zFz$K#f7*!WGz343xnkf^$aI-MzGlv$)ARqo;&R5e{`mTTl|TL*4ryRu ZX5e33wCmDizw4mV#M9N!Wt~$(69BaPscZlM diff --git a/platform/icons/src/javaee/persistenceUnit@2x.png b/platform/icons/src/javaee/persistenceUnit@2x.png index 5babd8419dd59bdbcb4d7c09fa33e2e2045a7fbb..b8fea6480ac99a8b3e5496d8e8406fdc68b41e7d 100755 GIT binary patch delta 848 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 diff --git a/platform/icons/src/javaee/remote@2x.png b/platform/icons/src/javaee/remote@2x.png index 05cdc4989691523deb290cff4297d0216dd1ea88..134bce3bc8b3397008795be4888ba4a32c18fbac 100755 GIT binary patch delta 883 zcmV-(1C0EW5QztnBYy)>Nkl_yTgB>m*8J;+tjOY`}Kz(V9kf0oO(gL_5YHSp>g`ur6h~-!Gm0BT| zUj^UxI7?8jMt>;*Y&eDdpn>CGCLo?$JrWw`5E7KLwxR$AtGVVQ+p1pYjG>em27vWrr%fNX!tEd+Ya z1m5bmKQ#j{vkOwNfNcL@s!)bCGXdJqA)JZ8?EbtIEFjyTatnc^nSj3WOz%e^EC~yQ zEsQa2OyvaTq+tOoV_4vHtII}|lwdL)hEQf!3KlTLluBT31?M2HnF;6*p?@z3!Aw{R z7BIvVOn(YiFba6|kI!cnCeqVVuz(?^G!G7FMtCB+zT)lE8k|n;VyCMcV|R#>ji@Kl z3xV`hMV_zsLwjdiL4d9)hHXkQEI`+on@e!gtOSLvcy!kf{&c7;PXdnOtysC))8%N7 z`$}Med(lD1EzRjrMx7mJ+Fa*L1jNUPJ`~{GaDRiAnzVxD+Lsfk7N1P;ZViH(nvg}g zA0Kv@!4uNzZ}^-K#OlwP3J8f>K9KZ(8iuh{KnA58EP(m0BPV#`vI3(iKS^BXjmh(2 z05B$ta`lB*W12kf!dq~m!}W-td?O_SzNBAANa%N>8=r}x?+tr7>Gx;^6*jd_S_{b$zSr91BX;r{7mIVF=#R6u1egTzYl;kqa3;h59002ov JPDHLkV1gchodW;> literal 2067 zcmaJ?dsI?+9!K+)+A2QQ%qbBw9aG@)5Fyb~(2)=&f;87kgi8>@MZiEbpEHGyrIll; zV`fgNo9mu-(nM!^Xf*3KrsJ$R6XhezUOJ^^HcpcZO*Z?-y7!!We~*GIk%V< z|M4pOHTEzVY!yA0#x|`8^J`~g`YN^B7pBEi6`iEo3JFzeo&tnL3ZOI)L6`D&gKUr| z$jayi!(gx#K4MOiDv23K=0j2x&x}E7q;eA*1`CVO$a#DTs6wQHyTvjJ@@dy4Btk5p zAQK5p3{y@8MdDbk0^F*N=kT=>K1qO#2uFlz$R+_PsNx|s(sY@Utf3&^>XJ=+^EDcY zcneWUD9GQFN@B7QR7e3L2q;1@9|PbKL=p-h0QgWK2!X`_I5Y-_25`XumW&~h0RrOP zgEU1`2!v!dE#_S;(}{uEqURI`j*CtcL&>Ef`4WKaQl9qr>=KqIE zrSH*76&w5`-~TDB@Wdca8{O~QD$t2TdN)=DW2kA5l(ju-bp*R4D#)skwG%B7* zB4SA)(V_H67mj9+a8Pt}wYefir}J!K`$2S|mqv>uTZ? z$p>7w2=!n9H91KV_If7ud8^(vJfmEvs<(mTcLYWgk;_g+(8tLh6EhTuex*5+nEy{(`BV)O** z!EIa|m)mi;&zjhgReHrs3GLZ;AVSzF7pZi-3l1~Rcf)DKw4-k{aG>B7e8%r?x+LX1 zUK&VhoI^j=iVx;}y&sI(5MP^ZrO+>P&avMNH@ zTgtC&c$S?rCX}&ej(qMC>$eiCcaJ^IF7Fc-KQ!tdl>c)gHf=D(!XK>VAAdX+Nv~0PY>-Qid$XwSQ4=cXIZd(6H!# zW!1Ycbp3j=w_n^pm2$rQQkVDD5begxz8521vZe6V>(>7K{h}Vaely_eCpG!ajsYpP z`Sm^xIc}!{iUfz_)_-p-hoR*B`E`Y^x2&9r_U(&pLw+Y6k3?hX?X5k7mI;S@tP3qf z4~&anDJGEH*Si|`QcgXtb*=&^|4wD#lSk5TUW+fie82zWzfLZ!8?pJuwtagH#|?~6 zspnW6fIk)eyp3OQ$L&D@3)X#+)idu^{MqGs-Tj03Gy0h9sDPt_Cwjq!pEhdBbCX}$ z1;n<(lUd`3s7@8c!Q+!R?;QBY#>}C~g0(MPuO3hQD5Ii(y0tOq)P?LmyW1_y)Tj(? z)U6!}y_=y7oaL=6g+6(Af?zGl#|+z3@Bg|g2zEnKk}#6#V{_JS;BesP5=YczOI$!R z=&*iG@*e4qk?$-Mb@`=@)x#5+qJp+W`MqcNGW-cFzk)jFO-g-O2dNC_-6ZcmVeE#u z;a-d2+(`h zzpmYuy+1E$Dz4unvU2;&yVfz8busy#Kpes6gl+%WvnJx$3Sa{{%b|GK_DtC(M=Rl< z_kY_|dSuox{m6iq*Hou7jLOuB{GVRW`&aI&fAg|y$bw$@;xzo_SEpJGQg@4>n$4n5 z{hN`DT{|XIc6wM1&)7EH(Iz}pJ6I-<4xQc5j9r)uV-Q=hQ7Ibm%Y5XO)Dlb^eb(W8)949?empNYCv?ax1EKjn7tD z;x7=3j1xPDU0fS}DH1+!daY~r<&f*Q++Q=jM^U+_V;-&+9iR``j#pwdmOJJ8v#up< z_D44u#Z%pZZc2kVDHs4{)E0UwUyRx=Zki^&GPNyYSxhJkKg;Qo}@^WJ;TRVsv&2 lvD)DOs8jR8&`DUd!@$U3ny;|I#ozp!rboxqTBA}6{{x;RK%oEt diff --git a/platform/icons/src/javaee/remote@2x_dark.png b/platform/icons/src/javaee/remote@2x_dark.png index 35446a0622d2a2900c9046da7ffdd63bd7f3b126..e697b4f1acf829cea406ff57b25d2b52ecc20148 100755 GIT binary patch delta 883 zcmV-(1C0ER5QztnBYy)>Nklvt(Dpz)czV9K%xji*TV@rb zhhMUJGxO#*`*vq%EdXHomstKAf$sQ##$5K9A$Jy=tw;lYWpTcB%R*O-a zeYry~LSrjT31CtU>~I1}@x=akK$}no>PusU1m&ob7QhuzV~waSbglJ6C_AUE)C{5Q zJoLr}Sb}oZNPh`n!x3bM1`d24gz3!uAK}6rLV|KumK4BXIoG@=rfPLQ2q>43h>AIi z3e@e^+zFGJ8JNn<9tf0+atev_h63U}*IqT>)+hus(?x0Z-h*?swR@mgsWHQtQ}>Em zjRdN-)h|0?A{{D;`bveXjhAwh(>2BR8%Mc?M75Cs?SF8fe(^vcJtYMT$o8k)Lcn1p z5Y}#gVicaFgHo`7Y=3VeSB6C+0ou>Op9;X(_JkBHAlsjE3xT+ifVT0BYzM$E2@Cj5 zjL~gO#RSHsVF5E^SfD=g!$K64U?}MaUusMW7SP3%QebWc=OE4)31|*nlwS%K z(8Ux?3V&wM3pllp&nFcIlOs~FfG(!oeHU}-;fd(F>Gg{1M)-~EdSs&+V;6~nji@#1 z08etbBo8BYra0t3PHaAS5dJK+^fK8~PI-8I)qM0OmW39O8+K3iKu1Byoy2Cg;i{ zz?dw`?YFBgrZM_H_ZD1>e80(0zMcYs-nd&sNN9JW8J~%+Zz^DXKYo87V1b^vD~Bk@ zGHf5STcUQYEM1!_VEY~@hHc9IsGVOm;$;3qw{Hmy&hY$WvLW$9!V{ks{}fieK*>`v z2TM>Ue!JR{mj=IP6gx_r3?I3~Dsuw)In4@~#+1O{AYZ_!&o5QE5JAU9Q^5cL002ov JPDHLkV1myok=y_P literal 2062 zcmaJ?dpJ~iA0Lb`Xscyil1@V^m$@2dh8Z<8tl2SQB0@5k6BBbWbC}_!E!uWeDzt0K zC3cmvtEF6Wsor(l=wi23b`>I0)0P*j?IqqbZQA#b*L$AloZsd7d_LdX=Xp+6P~gYr zC|eW)fiP$Lvv}|d=w9O$@K>3dIs-2@kZ(A&L$()E@f9Fqn@A=A0k(u63-Um|C?)X* z=#4-aY!HWpL*d*2s!%4u@O2oBS|W$p2!ywfTFw{7gAgD9W5rS$`epMqG$0ny&|xGl zjw@$^abo{e1-K(MFhrOdFQkajK6JoaO@##{AjAjMk_4%es-~ge>Qdpo?iz~*-a?>w z8v3uK!nr{JQ>Fj`5{Bd^#NpimPYMQ4!n>34t^fgtCt`6#ES~6wCs1(|DxL(qd(dz+ zg=jC8$MSm@3qH}%aS$Y@VzDZf3Zo)oWQtfUowOWlL>4N z6H7%hm2%5lIG0OhOO+5`Dg@aq8X6YBh{Yl*!GpqJG6fhSKcE=6u zw4m3zE&2vNVC77Wb~^r1C{yh;*Tl)*izc%$&)M)G33HQI0?0QBieB6Ir#DOZp(yoSuy(*c0 zJyE1QVI3O!DAB{pdwd+fV*Od4pa0F@^9%H7=DB<3L;Lolnui)|!O;b^WsT-fn}3l; zx&|BL#J>d)zWZa-tlbb0(-(x_^_0}^)x^8x^b8PmY0R8ctmc&dtQt_ybgZpEJwtuu z#hZf&O$H(gK+;cGJvg>Dq(xML`eL8qREM32V6)i*#hNi2;W|#CavS-l5hmXxgR|Y2 z`qK{&vlF3s3u<~9SKqoNJpW_nN%I4}TejAp%B(oe0W6QQ(rnpwtTp)(%7)cj$L8ef zoKw>b?6Iy+;PL3?*knwEm;G9!niGSlNzKcX?es`w_3h|&eT!FA@_1zV536v_1{T$U z*UxNlNJFAGXNqzH9BW!P>O~EAz7Qfe&6ohmCiRPTeH+i1<@yrX_0?@Z>tD=mdu_1a zdf3Q5;!0wUYi^b#-#++s@u~uRYUMv;9C-r?_r|Xl9n|i*>3%c2wZ)+R+T}JvIeN1) z@gUEzC7WDzB{I)&mRB^Fxqo7EMda0?l1AhC%J2byVPSmTCJh{=gfm;%nqf6@?(|DN z!y9!BPv;`?Y?{O&TU`A+{nYM@Rg@0`dbcBl(Rv-h^oHh=sjR^gyu;)nkAo&1Pff%s z+D4bwj$6iYMy7}79WEho*-fsu^<9Q!d_8&ej&GZf{}Ab8X=~h@wzzg$GL&2<5G zPxzIK_c__fmHUu!^t#LX(mIyYoP9cQH{if+Z3nN$!X@;R>$TAw{a52e+bk+03!+ld zrX!lZl9`7S{(&grsT#wqf^V9(J6yNM2aqE{@-8M4#W z>`t&vXij%?ZPl*f`a=mEt+v$z^eFB2PT}=@|Eyw*W!kQ+f_ z@_KXl^@j~Rol1#LV@IMQPbypS%+*_&0PWCD&w|(I)IG6ktvZeQ@hkEutrWlpbFZcrLN8ZNZ zM%DW64uxB@pmFyDXifi?o}|*Rn5F6n?AK?VJErRE#%kB)|LCy5n&07LbF{c&fk1HL ze)npRiSKGcR{zEOD+dbcw-(CxnJ1cVV>2oYx}N9VoXyWM$?2gkG<14*-%(Pf*&}&S h`uG1(`unVkK^(`0A3kR#9nt-v*}j3SYDP@Pe*kRPLm&VE diff --git a/platform/icons/src/javaee/remote_dark.png b/platform/icons/src/javaee/remote_dark.png index 1fa0df0d53dfc4d2ad54118edd37d316eb8f934d..520a42de549914c71423a43fe4b010a6bcc02987 100755 GIT binary patch delta 428 zcmV;d0aN~s3&jJFBYy#mNkl$ z(#m^M46>1j7$mA9gV8z(?$kzGpS1Fl6@&VIISE4Lh{0%`0GH@#>ysAGd@u%kfsP?qSq^Fp{3Rj~MG zKsPcBdXs^(h3p*mBcUK!oAJSrGwc*e6z!$@6xF$H0 z%uw4;hg%JZF--F6zTE`h{Wb&&K?$t?+(DV7 WVyhtt&hVxH0000c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e~9)11DDta|<9cGBk8Gv9NS?b1`r>F>-P= zaWS+ofa!I~PcF?(%`1WFO+o0j#HkmQ5^@WGHoK%2WtOF;xE1B+Du8`#m5JLeW;o4* z>P^Az7IU0>^?{Dj2gNH=Ji~;5i3h}lr&=Hfp6*lgfQh{bn5u<}!$TMtn3z0W978H@ zCH?vT-=0~ufz>5s&I)%iVa7*F3f~x$Ojq3CRk+7;WOBm~-Zn-Lg&7kk7Oq>;z_MRr zJ_ob7wRpsb+voFtt+(5IvHssfSGx;GJslQqy}`qgmYf*9R(0{Y6K4Q;7 zbbsvr5L;bT{B^zkey7AX1IMc!Ou6%xD=t2E;^euLAKw4BUn8Ny9(0%`g!_te+nc5s zL&iWmzOu5m{SF*V?&7kkJIWqNHBaafXkN5Ysd?gl!3dcpZXzqbJ^dZd>X0XThPAF~ z4--#)$8pWG~bwc)=&^Z!5p4;TDP zJHQok{pUiL$IJNV+rQkrar42Y=k;t4e|Y$^y6yAo^R6|uzgr#8^FQkH-rf}M!Ev_d z$A^!HOBZnK88%HaGEnVeT>Noc&lVARX=&-Itlk|});X+wQ_gU7w}vke`S#{$_y7C# ze;KTP$#Y!`h!tc!`rDtE-IX?bZ1&u-iQ!q3vqs^g z=>Gb@eH9-p7~gR%xGewp6nA!mp5=$1m!AXUu+{CVzCs=UmQa3=`%GE?7&pt#X5_hW lCye!|!tD=f=?x6b3|I3WPAECxECMPZJzf1=);T3K0RW0N3Aq3O diff --git a/platform/icons/src/javaee/sessionBean.png b/platform/icons/src/javaee/sessionBean.png index 4fc9f73944e9131c473fe221ee58feb06cc2dc26..61a450918959c11aa4e4f250dbd8304bdd09e9cb 100755 GIT binary patch delta 279 zcmV+y0qFj?39e$Jh+;1>#>o{2vY90Af{q28aT&H&h}7hapdaSOu2>(}DOmR5Lz9ZUHejHUpkR z6%b=c1vUeIASobZ$VF@hTtriZYzWBTSwNfv#hKU)sKDY>kbli8MzdW1o6hyXz#wsC z1Gu39glc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f0vBS0hs=Qws}o3u8k=R}&{AV*_UcM<-K5 z7Z+nkGXt1jm;B_?+|;}hnBEkGUQ3*MK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C~B* zJgD9j+-@<)saGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4(Ge`BgB0|TS3r;B4q z#jPcm480FKNF4iUJ=v{0Ku3c$eJRHym8RK~oB6DEteAXm*AGFKg}Wof-8XhOD_Hzy zl!@7T?k`K1*-qtu{6Ze@^uk^obyB(VGL zc`O$GOQ}j$~MpY z;?^?byv0{m6YgGF(M|7t8o#!QYP+N;uD_upv!a%9uam>S+jD<@{(8yBo`b2HA$D!4 z<^!SQ*H&abds4MnanY|S#_xapUVf!nKPNGv-)e2)xs)dcUoYJH)7bk)Z_DRL2A!G7 zFZML9Y@av##&Ipbf($7!ZKjY1bxohxJKmftH*#8;7_N5drpsQV1$zRIJ7v9G`=85z YL1S;=6>eb_Jy2QV>FVdQ&MBb@013*amH+?% diff --git a/platform/icons/src/javaee/sessionBean@2x.png b/platform/icons/src/javaee/sessionBean@2x.png index b87bd49fee883ecf83fe6eb01e601e1ea34fb68e..a5a1fd22750b0af04fa009fedebbf69b03f62d34 100755 GIT binary patch delta 478 zcmV<40U`dH3-<$%BYy$DNkl7Bnbu;87fK; z2rZH#8urn)7J(6BMMQ%%Aksj#3EJ4AuOU$+v`;vl1KPsw@E(1k7A=0u=lbVzCk+5# z_)UiYfIk>>eGjRUkAu`Uu&);UNk5ham;lE8tQjVOx*tO=e@rHBqRg%S-SD1_o7 z0d~ek^&Mf|@_#}z)SiUb%!p1$CIGJ85f<901z2itHPMLVU~Urpg*Xdsv|dI_jDVCk zAA`Vsl7%*Uuj906fafv-{<|3#+UNz)t8_;szo^$$cOl9`8%{v|8S$VHkgy$vz?BcP&{u{VQ0GD$=&AO2owFPU!G1B$ zLYrm-elQ;lL*Lmb3vHwY^z09TH5X)|jkJL7Jsl3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij|3xi<615g|UUXg|VTbtBHlBfuXahiLsHJ zk)xZ5kp)bzOMY@`Zfaf$Om7N8uL(}Qpp=kX0JPa9wJ5VJHN~wcKUV?lW2;QuZZX7Z z9#n4%ZnqfW)TVL91WY_2COp*wIq-C!ng>kmMZi=YRP)b-fq{wN)5S5Q z;?|q#r?p)IWsbk!b4Ir1ShBm$6y8b~E^fu6hYq!wddjJC);FG5tTyH7ANFfzIVaej zZVVJNdoyLtp6Bz5Yx~b#DY1T)$Y(b4^oKXrtrlbbS@3AScfSC!fs|7fNEz4iW6I zQu*MN6yf?n)3+%{wJMZFE_PCia^TY{2}M4~-HTk}PwmrJ$#Uf9h@R(vqIva^Struh zb`(gNol4RAIB7~p=xfQTVP(n%%zQc1l6Os9!ToaAGyV&wxXTqPu z9XIv6lQ+g^Fr5iKFy*;bu{3A1q3(eUrbWG{RD^|$A26=5@HxYBydcQkVavibvr8{< z_2urXHr}x?)oH?x{0`ei(P0M{1-)aLy2$ET5}!e{1yhgCgdT5CFQa630oI-#)||;t z!wx)Yn0Wigo?q2*((etNe{an^LB{Ts5!zc#U diff --git a/platform/icons/src/javaee/updateRunningApplication.png b/platform/icons/src/javaee/updateRunningApplication.png index 722553268f9d2c697ccb6e9313c229a2756ba12b..92651293a5d5f9f1790d3737e20b2b8d264401a1 100755 GIT binary patch delta 551 zcmV+?0@(ex3%>-ABYy%0Nklwpw$9*_?_3%6 zo)fbt{Q@=WO%u8n>UBndb*M1Bk%WP@BQ1dN{+HZ*G;4CF;G-u!@z|c(D4yr!8Nu_zS425;A z#iw8o8DwvLg%?Cp`*d@WzfIykycyqxTFZ7`SmPS@D8t?N6ph(9tyHu~s*UQB*u(#+ p{t-$2O(5Sz>^c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f08$XE!%D7gGy!3u8k=R})7IV^e2K15*Q6 za|=gDM+=x zJgD9j+-@UI2$*<4On9mVa^UGcH4m8Bi-4*6*f;xC3=B*mPrb zi(ksLYvr62^ubj`JV`Q5vV8KKr7DeY#Wz1^KWR|*zI3K)#L-QXd`lX|-5&f}WY3s< zjkjx_ly7-?)vNiB>j zoWbyJ)rt)#R(@x>#eT2&&A$97w|{T`er2y$UOnrOhE7pf((k*|D^gd+9Z1dFGAs8| zj!a0cenh9sm%W##&fBcB_{3b7dFr{6Y>%ET-}yS)oh8Iar*_7%@B5$a-uHN$Ek~2V zK64(~8M%!o&$x-4ygmQ9+V)*@l$o^j>{j-^+7))_yv;SghcB5G?F*lOH4r(!@9gvM ie2@PN{J8!@_W%Q{j@ZJzxBcrtMX9H&pUXO@geCxjawX*e diff --git a/platform/icons/src/javaee/updateRunningApplication@2x.png b/platform/icons/src/javaee/updateRunningApplication@2x.png index acd4a9a665eefb870028ce4316722b9241fbf454..5acea70c114f6ad73661d2a424b4e8e728834586 100755 GIT binary patch delta 1613 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 literal 1235 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f0*_XBRgMa~BJ93ll>_R}%|UBNJy!XG051 zOA{AEBS)BCm;B_?+|;}hnBEkGURRuYK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-QtAP zJgD9j+-`BksaGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4)RTxSPA0|TRnr;B4q z#jT`2|Nq-Ft2T5tIvrq2uJF6(y((B@`*W+{cTI^24BQi6@iBZ9RjA{7>ODE>fR~us zwB>ATwih3{X}@9a&sC=n{QP@$ySh%-X$eWmeqo~r2kP0jxmV5U_ik}@kzDI?-!SFW zo5X~F->1Dk@N@O?e_!TrP!M4YmzcS8^1V;e25hJ2Cp~!dAnnJO=IIZA>zlDv_g?4m zy1y=0`AO4qA0Hp5S@PvZC%E>qv;CBBdv9N7yyyRq{)e}mIotYs{xq>1W|$KG?q68i zj-vN+&3%8o*~*sH^K3q6ZG0!;LR!W7vmORgOaK4-`~8(*x6~%c<_ir%1vrqX* zLF>_$ho|Ki-1X@(pBQ_fL;0lsuaA$vcUG@i zoT=#vA%;7A?XtO2^q7)LSA6iD@GN%cvE__RJPeJx1s``Z1U~{5GoG$~F6*2UngFGH By8i$G diff --git a/platform/icons/src/javaee/webModule@2x.png b/platform/icons/src/javaee/webModule@2x.png index dbb4ca3ca7cb4438268c16ad0cfd22bba3cb70fa..14a4980ebc26342690872503315b78510cc60cf8 100755 GIT binary patch delta 812 zcmV+{1JnH54Z;SHBYy)4Nkl7{~bnejLAnL(MER7tN)l;uBe7j%v<1 z%`}_N2T;fd#3WJMbeK=MVK@v#MIJ>&G{Rg<&9-XQR&xJ4=LQ>d*{0&^1^4!QbHlFx z?_Ae8hrt2B`Im5_0{@*rf<%imCMpmWhzdjnq5@|s@SUI|D1Qi*1W|~}&^z5(3YZDf zc!|FLLYranTJ!U7S@i=M*gTDbF+2uF4bbwB?Yz{;j>g@+bM=) zwgm7|foue9`H;yQK)MinS^))Fy(#Ij73l+OxId=D%71)0_B<6Bnd*Rgq8Bbx6@K`N zvFj)x9moW;l7oP?03Tv9nx?Pi`T+ zb3$yI3NWh?Bd}D68Fd-rsApw<1;PM3%w;kzyQvVx3*YtJz>&0yN7S!0TH@O1A^FVWxTLEwyO_xU0000l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij|9rk+Z3RnX84lg^8h|tBIqjiLn!qFn2Ss zFmZEog6Vb1PcF?(%`1WFO+n~&!>JdP5^@WGHoK%2WtOF;xE1B+Du8`#m5JLe&N$73 z>P^Az78jg)^?{Dj2gNH=Ji~;5i3h}lr&=Hfp6*lgfQh{bn5tPOJd^-tmHF! zZ>Hb&773I&zCXR}*j~TaaXM?wPI*P_a%kglo#gV}s79l!Bd&_$(291Brhg6dR9`Hd zUNuo=k%mFH!X~3G-BTJG(L85O-)wpr_pHiqf26O|q!o8xq}G2(O*?;X=4Z?Ow{NC8 zas2V0{9*oD9tD5-8@KA7$E&lx&bl4I=P0>=CxA_Z`OKZJZj;_G9aB_zCtaHSc02K9|Wls;XhP$l2d^k$E@e zUq{~DWW#!PO5tw(rtDbz75@5p?w^0qmV1p8yaYbS zonyM4_0h~qAclW$ny6NK`$pYwY#X&CCoW)83%w8)d*tNC3_rQ$uXat>*jBbsM6u$@ zkvWDt|IJJ{c8X)YeRsOx*TNm5q7Ngv*z9&Z3@)khSsh^*zg&~)<1C$R{9m@sdfVBS zWII9R%x1r7k|{@9D|I>(T-hErw52=em8dK_At|%4p>dW%tHTD(x4ryLua9j^vUOOh z_I8>ITkG?Js-LdEUMQAVU)Z!}|AyNaP2A&*C!X^<@w}$Oeo>OIPP6#oI)&MHgLD|K zS}ry>{O~cKVY}L;rklcs>Z^lv_sD%xi2KVc%P;nbEx%QKdO=zW`;raT5tEEcv`&6# zGx&A1dzApA$F|^v$@hywDp}usIeXM}o4A><#q_LYt79hFImr5@Scf;aIBa41=a=ddo!n;SNkI9j9TIPert7nCk?P)!KR84Vf_`g$&er?O`GYnUC+v8oZ zw_bHY@XJiDmURn07xL^qIM;ypvL|=Mw7s@!7CGqeD-aW~sTQ=|{ zPH6U=wp8TU$>13cb6=IF*Rvk@=WzDQZT|~fFIVnd7Rl<*BbBHU{Ex{Y>q_(Ls$fNb zpRUP?K5zF;wt6TW_GW(YF$uG+>LI&o9ijp~bRwIwmTmm;ntRV=aV6nM2W#;knQQGX zMJ*Sd&T?R*XUFFyw)8 z_ZzrB69}tE@L=A>tM)JO5G;5gxJVR{;&TyyB4`qmr_ywG{eNB2VhE%TFu1hw)|ohK z<(x212>F%spq$$z@xngzi$#1`6F@D9e@yiyLKonAXJ-mGf>sp3cPU5vXi$*mJ zVh&(Us!=yE6KsJA^4{OP9%Lrhv-H2=Eku{n(Eg zRYR|O1%9Q(6jX@3QmS>UH;8COkcx!+Vgxc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f0LtV`D=DCo>Ck3ll>_R}&`#H%CWv3nNog zb7MneXLFcdm;B_?+|;}hnBEkGUUQs!K`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C}~% zJgD9j+-@<&saGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4*6>$IpA1_s6mPZ!6K zid#v4{{OdUR&D5PbUMJ4T;X@G`>dvHz%Hh4naAH^(oe-2@bDx!CY2{mwC7m*p7|rU z!atU$pA(H4#4FAnJEFDxd{yyMiQn#h#_^?+7W?=A`P1Tha_+>5A1yX9K8-NB|M&a} z&6S6LCbUiHkXStRMRl9cOk18a|L=X0v#5W2WBxy3v6e#*RF#F@Pe<1=A4~Wd%o8JX zhi87>2cw$*M~@|}|2WI>hAqhJmK%|CSRCXfAYY&Fa3$vD%0Dfd2aE%-zmxIrhNbY{{M2e zNr5RdJ|F0R_+PxN?RI&K#JUYL3~GKdZ<*csQEd~q#KzeNfBZS#e_#FG#x5gWt2GA- z-mPXjTt4qUPyN3?zuBksB&$rB+ZcHCf!WVBniF<%bX;9{$lP&O`BSO+Y#as*0glBw TD-PfA1rVmeVo35GtHc4ESgIRB~Y@|9Mzn2 zBhzd-MKH)e2!W!sX&9!t;dGKeIDKy`Tj|u1X9pJiX$n$|k8#zuMGu{QSgNjOk*8*UTkM-Fq z6n9RAzeBJDV1K&ZD@WUZ%EKgoVo_v0k z6#$ag6J0KxH3T8HMB%WtBD~mw4ZjkIwIkwcLd++H*H#Ne2tXO)9x+tvHZV280)Q^> zz8l5EtGGEngTV6!?1maKHq`^;gdY9{8NNiSvE!|vcYmN1RG=JjcLmL{a%nAqt_9|SSdmhte|fRXLNp?GltNmSA+72KzT)oFNra%mC@!Q2C`7& zMXt)V51?bE4N0(^doCt8F{w37Bkq(W^zsr0dVgDRx<6q~(v>tnv<=ff3&+Xg3XCKaJ!x{=A>Oy%uPQXL}~xoBu6nV?|yJn6FkKX>SdkaHIFgIWLTw` zdk-DOM*&EIFr}CrCetquqoV?(9>>YTjFC1=YAbo~z;XNy$VpI`hz&&u00000NkvXX It^-0~f;Kl{I{*Lx literal 1721 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%!-*I5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0;1ij|wGnX#FrmXg^8h|tBI45g{zy9rLnP# zvx%jVg%M1zOMY@`Zfaf$Om7N8uNzLipp=kX0JPa9wJ5VJHN~wcKUV?lW2;QuZgIwG z9#n4%ZnwDL)TVL91WY_2COp*wIq-C!ng>kmMZi>@*)O30%q)7IE{-7; zx88(Ddxr#y{QEYuxM*E(vEkM^0ec#jIJVk~xLji8-dbf?%~AbAcS{u)Q@z7^C6O$+t6xvg9K&1NK+mK~TLxgqWRy$$Doo!frx*EJqv z9_H#yrf)YcF&ufzK0T@`Sd(kp&SfRbcYlnrV$EcLKx^-hVwJu}XG~=X+B9$3=lyT> zxABBowbX&at> z`cQ|q(!D;m3tNjA!)t19mM(4P)wdHf-w}PUeC@%~$qj2}@!$B@t#LK;gye&R+%gXr z<|JM^%GU)gD0R4MX!zFgbHUjgdjxFGIYxxG_CW*2r-TGQcqJUNYsy+Y>3ZOVy?yPf>$_ES|D6$HD|xm$p@+9(FW(QN zxjUxb>{}4*-gdV+AmHGW?;3M1aXp(BGUfT%!yVoRLPGPth%XLaYm>>!T<$W_aY~NG z5w!<*x3lfH?pyehXA3`@;N;RDcZ`bmPGM?R-Mg=ZtIBDgdKAL~F98V^+qP$$%og4B z+jAqZI_1oo=O-rhecjQtbVbA08N%`DwicpMhfnlycet%y!yxeF?1J@r%)7j9TjXx- zoijPLGNfkSw#6ptl5cB&RxFKgWq`rAmoII$w~-6? zRa=%~uT~+YQDKqfp8lvOQl0Cm=d{WB_Y=>x{{LI-rIg}jSo>C4-<-WiQy((d!s5t9j~(9$tR`tJ1;rbRUc2>63q~O+%VjI-K!^!XCGJE j?W{a!9z1Q!d?p@-zOHE51#+^=pvuJ4)z4*}Q$iB}fx3&O diff --git a/platform/icons/src/javaee/web_xml.png b/platform/icons/src/javaee/web_xml.png index 01d02b550678a527681ccad9a2f059ae382ee6a9..b750aaf45da98a80139aaf51e0a2c05ea856d2ea 100755 GIT binary patch delta 438 zcmV;n0ZIP$3eN+OBYy#wNkl=xhhNnJt&biO?Ip?|eTn+%o z5Cj1Quu`}TnL6$df-9xuCjplOwq8V$GLpQ4*I+G|P4;P&&wrGH21aRFIhPM*&Nl&_ z;2-1{c!#twHL2xsce7fa|60J34f+aYV#uIZ@pRox#|)mWeivz2RwsEW9 z|Lzhe(K;JK&s5-TB``Y9vB-IXL3RR_ymN5DX0yyK5y#dhBKtf(k^{h98+JB^p>-UV zc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc&_u!9QqR!T z(8R(}N5ROz&{*HVSl`fC*U-qyz|zXlQ~?TIxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e}|~3nL>VQzHv=3u8k=R}%|kV>4$HXE$d9 z3o}<^0}Gg5m;B_?+|;}hnBEkGUSphkK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-C}^# zJgD9j+-@<%saGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4*6v*g|D3=E8~JzX3_ zDsCnH`TyUZnd8h{Yw<$|c%>S42p;qF^JBa0!*irrLt&k}c*?;=69l^@PL%dJ>=8fJ zzPm;6F1O;J*#CdvdgO3_g6L<>^0}mRQ&fZiR5c{F9_kTUx zB}V0Q4l#AV#GSAHdY@4Cwe5X^o!NmV@6Y#M@0Wabq_FwtTE;on!D6+$Ia2I8O;VXT zPcm$@3uD%^|9g7FpDX%1^8b@vY8#DHo3zv^`jqN9_MG{Ydg>LO=`VlSp4p7y{zF1PP~;uU)!7` zK0o$ji(L5qK*{g+hrj#p^SrnJm%QU!K+{8I<^2lWK}npAYLm8Vcz*c*zq7nv+c;)t zdB3CkKUHSy%l2)N&*w_!8Dtpmd7kFNdBilJdBWFn!~efOKN6h1=*b-RI-b9WvL*8D zpQr3Nlyv9=^9v!iW%cHqscN;c)6$C@y8hq)t$Aw0iw#VNw{$<_xxfE^+K<1#@7o7F zN^v^v^5Vu~Tjd3O5`oX`>;LZF_-6g@|I#wA{{R2;vz%EYeWUjEA0`eBj0|P|7aScp R4?hQ$gr2T`F6*2UngF~^5d;7L diff --git a/platform/icons/src/javaee/web_xml@2x.png b/platform/icons/src/javaee/web_xml@2x.png index 2c6a0067d0bbf1e24598fbd0213fd3e526ec8148..2b2bf2d22daf83598f7ea865e27cac62e6c6c2d8 100755 GIT binary patch delta 973 zcmV;;12X*a58?-qBYy*_NklD@+{W$#wO}nl-aW!RWs!Ro6+o>~b z&Nvozwly=>$x*C=Z%ovh8XT?C#HMBbOL<1jP721^%A;M3xSz)DaWtNhAY-6YC@uU>A@jK41Z}HV;?w^VzHX z-MO)E<-)n~@ABTS0EI@w{~IJxLb|~Jg{L7QO(2zU#u3BDBsex!!z9$~J)vQ6bS*YU znm~%-4o3UbNPkO9b^p)HMO~Jo;vXh>`OSNLF1PYht-o)lYcz(&%Hl^V0x3+ZZExaA z0}FQEwYK5k;8ncZsm1i&Rw##7Fl6b*>wprb@$XUDJL96Uk_1kWa8SV-<8)X%U_h(M zjLz{f+_Ku>akSx2|JUF{Rlx7Xz!N3*7OtXHXAPg#Ie$+{5)hG~ezuqBZL2p1x=?iI z37Y2p7<@Q~fTtUWyY0XqO~BJyAfy6*D+KQ^#pc|XxX`sUEm9jVY1PM;9pS54;bK~;F z4qEO#!hhD|CL9K|n0e3-^Xw>mE6w;PSc3y^1)G5)@LQ#bxGV72LJiJzERSWn6>DgP z=k|M`G<%|b-mhd+&c5xluNWG<*sRA(e-(C@tFXUPfklf35oaY9%#AqHJb##}fcl)y z8OiNmN8#;XgdPhLp|Yq55mIAo=^C(C1oNmCmw$)dShFaH%lQLKUVh6pZ+w(m%l2TdSf1lAefIk?_ZQH$ENOK(TQNwZ{7h zIV!>Le9kBazg+^}r$Se62NYx5kPmu6GsZqggfo3C=Pvcw?Nlt!u#StvK73{lfE(3= z-+w3r?=3@Qy&Mxm%`7}1NXm^~obPqT1%@*fuzk~KX`x~t^|*xM6jEn;h{#%1lwYgy z)4+A)4@SeOU9s@wx1mIVBSw1xx3n6UpqVHzy0L53;Em%8Je#dY0cRJ&>2^&BpG>+D zrSVV5p&J-!$l)G8jTfgiq3C{u#^xWPXhxe6f@!l#2=|I^#S$LF1>y%4q;HiFBF5yq v@MHo~Iet)IX>rjCr`s&X^Vqr5$H%_~SR#_Ic3dBF00000NkvXXu0mjfUkceO literal 2033 zcmaJ?c~BGg9#0`0LG%g8>Cq)nsz|a~!jXhSL&Bvbg#c`UZ+#xpxwL?r z|IGJqh0%yKB@7B+6iHEu@WCZG=t3!392G3Y5LE<%$QHU7nuuTsnusU?4hLAfRjLpp zYINOOIFH8)R-l+rA%cUsK4e^gDwT>^o_?P09Ej%1@MO>-$ls00;QBGxkU!Tgz?DPi za2B{+M3f?j71#n-{3n;bC|BnMxe|}eg;mm2SR9~2dZuEJeiTirHKAP^IRx$Fo{=Z&q=Au*9FVrOn% zHKm)zBp3!H+PBl}a%-l-GNbm&Eh-GEs-?jqx6F;N&U+Nzxbf|55YKI_*(OP9@tCvW zWwzGX_hnv3g!z7}&X&ou0%D=wxLtxx!bsOnYQZvn2fD%2;4LG+9?qEFE_uFl+PCrW zzjJ4Q>*%|(k`%WFoJX2K_>(MNlZzeSum1q8FM*IZ}k`c2X4t>2`Kx-+hMm_ju zm|vqe$+0arUyzkg*WL>ci$A5x>O0Gr;&&qkf;DHK)C-(^Yy-#)uj)_cOjWU&=5Hpu4H4~NjrRt(LcN(M70flO~Sld=I zVU=A`W!R^vskmf&H`B(fzCPO(ohLb>*R0GN(wWCT3?nD+4w^L2{eWzC^y9+K9e)3_ za5ny`hR@Es=|!rGJ@UK#j&D9ZXZl~eF8OCJ=q5E={do5hnML;e&5`L%lA@ApT_qXc z$t6FVxF{d(AGo)hkmy2oLYO_ zc5u#X-S}FaBLqOD(gO{`!<=TDRDUacl-e+e9B7Jjm5`XER zzkuXMJGGYN<`hgt)vjJ*x96t_qJ#Izi+t04Vv%IbG<`(;L17D;^xS~mv?8|BVrAcQ z(n+&;t+9Q`x9rSRW6lAO*`4&k%a0p}dfP5TYx`~&4qVUZzU69grohv2a!hnKW*7hB zf$tdIHpLjw!y{^ZM$+Se9$|k`y;F@U@C52~({!}#^w%}!*9tcdb~rnS*nBY*-a6n_ zS7%6K-zj>%r~k*nRis8k@K9;7dVJ8ZffH`IuhXREVnP+~BjS@?y=^hRFTV^Jh`zT} zEBnDFd3KBgezYef5Oiud=GAQliOKH33bQ(``$^Vaqb;%k zX^)FVl%v_Y(?(uQBjX1zhLRi7tWc+nS2J%+XavjAX~bXuw+p(TaIin0`yao!&;Ji} CGdgGh diff --git a/platform/util/src/com/intellij/icons/AllIcons.java b/platform/util/src/com/intellij/icons/AllIcons.java index b34b7bd4aeab..2e3233570e37 100644 --- a/platform/util/src/com/intellij/icons/AllIcons.java +++ b/platform/util/src/com/intellij/icons/AllIcons.java @@ -700,7 +700,9 @@ public class AllIcons { public static final Icon WebModule = IconLoader.getIcon("/javaee/webModule.png"); // 16x16 public static final Icon WebModuleGroup = IconLoader.getIcon("/javaee/webModuleGroup.png"); // 16x16 public static final Icon WebService = IconLoader.getIcon("/javaee/WebService.png"); // 16x16 + public static final Icon WebService2 = IconLoader.getIcon("/javaee/WebService2.png"); // 16x16 public static final Icon WebServiceClient = IconLoader.getIcon("/javaee/WebServiceClient.png"); // 16x16 + public static final Icon WebServiceClient2 = IconLoader.getIcon("/javaee/WebServiceClient2.png"); // 16x16 } diff --git a/plugins/terminal/resources/icons/OpenTerminal_13x13@2x_dark.png b/plugins/terminal/resources/icons/OpenTerminal_13x13@2x_dark.png index 382b1e728685b3ac9ab02763ca942a36234755bb..3abc58e0740d1c1aad733a29ea12fcb63cdba364 100644 GIT binary patch delta 195 zcmV;!06hQh2;TvaB!8w!L_t(|+GD7qDqt8jZjc$rKrt9K4g@45B&ccJ+O=z=qodi_ z*r;QizrX*|rAz0|ooi`nNu99c=H^aHN?N~ueM3Wow6rvJqC!$q5-0^UG(J9_3dXUp zuy}ZQEL*m0#flXa83!>47<{W&uLe4ehlhuJ;~)kB{g{@PCOjx8NNH4T+_Ga x3{Ask3_z4|va+&R?I+W?(GrC;;|6J60RT7<(M(P8@;m?l002ovPDHLkV1l3IR89Z@ literal 1134 zcmaJ>TWHfz7><_*8P*p;<{m~Chs;ZxOWSF~>e!NYEts*jg;g19nw)K6OHNGA?8O@h zKFCmExQPm05EU<2=8cKMd{Czkf>vZWZx0G8;swPUKIq9@rw`UZaxQ$|_kaI?{*xUo z%}uVdiZX&AT+xUa!()Z>&YF(D3u_+j!^3Ih;+m6k}Nq_mP(pze_!j3=X;m`xCM^%+xEx&b0npi?t~)cY$V6sf5}s?9Gkk|}^L zEt0c9JlC91a@|TmrRrCZbr~KD=m5!NM(;6fJ`-Pm%b}7j*te0jPnhUsDmiH~=*;;b)p>Q-y?cif#crq4V1*tBC zOrECG>9i;9^+2nWW&?o$&2TiwxiP|RXALB0+=jiNs2~Dcu{0BD&>$T}IR$%Bkit%X zr=XitvW7ibCR{K&BbzkqVVsnTKuP*PRM)4_Hj05ie*YW59;JmVytiV}TRO z4FH_UC<;2fvjoM3>BvBMH6sI;-iL*WJ3W_F-TznkEW@7nDYq@ zwPD}#+6IPYL%v2Y%Y+0$40B$F6}`)gToEe0IxtX?tN!8oOLCn~&`lg!1eUe|s9_80 zbuC^@^*u0fvs<{UrTsr|;T!Qh zDmElCDu%oFYblb?*p9f#m_08tI-mjR6QEmA(RekX3)%nt~e4dt{Tb5N>zh!0Xj%~Be necN9T-Yb;14$k4nrp+uT=I)j*Dg#=l^9P8An#Hq?>$d#@(jke< diff --git a/plugins/terminal/resources/icons/OpenTerminal_13x13_dark.png b/plugins/terminal/resources/icons/OpenTerminal_13x13_dark.png index d9ceedc74ae0ca7b6a0b742e31a9298254e36fd2..1a08ae5a77780bef484c9a3c466382004970a467 100644 GIT binary patch delta 85 zcmV-b0IL7H2y>7mPdZ6NK~#9!W2hnyFwj69Hy0Ovgiy!9&W;PAtJ}PJGg0brDaCFt rrc!dvLsqmI25{O-z&xVDj~D;|LfC!tl$95j00000NkvXXu0mjf-+v-} literal 1083 zcmbVLOK8+U7>+BVh($##s0c$mSkXKtn`|EJD%)hWt8Q)A6?-a9lG!%2$;4#pZhKPE zqTa=e2Ty`UD(Xe>-~&N~9zA)IUPL^25d}qXvfZs7N)HB-dF21T?|46@DgHtaFVj7SLWQ@oqGql7rPgg<+<63Q%I7+*TVkwi_ zD3+ioOJSJB)v-=#9shM>P3yEV8)K=CQ!g!@HJHd#Oq(R7ZuM0*d2_@+yiGgi{ zf%8G+lU8~ttI$fo4o-qg*gu|-5Oh*(1#8G_hU{yyZwLm=BLOR_Cm=0f5R8K2`?@MO zU0vh5c>jM>Co!j_tWW;wo8A>`#%#Mf1?;doM>t}`ldvhdbM4bKo3IO2r`%|Na33x# zxF9FP9h+~Qdz*W+>)`2^j|N`cyS(Z3&tE?zv9h$ZH1K_K{OSC_kL&Z-K91g6-d;R8 z`hLUi4Y!xSN%#3@58|Eu{;9`LM&Fl?{sm GxcUdNrdXE% From 6108866b86718df18170c9047b7fdee7af2d4730 Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 22 Dec 2014 17:53:10 +0100 Subject: [PATCH 10/34] DumbService alternative resolution -> resolve --- .../src/com/intellij/psi/impl/JavaPsiFacadeImpl.java | 2 +- .../src/com/intellij/openapi/project/DumbService.java | 6 +++--- .../core-impl/src/com/intellij/mock/MockDumbService.java | 4 ++-- .../navigation/actions/GotoDeclarationAction.java | 4 ++-- .../navigation/actions/GotoTypeDeclarationAction.java | 4 ++-- .../src/com/intellij/openapi/project/DumbServiceImpl.java | 6 +++--- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java index b48ca53f6c75..540e97ebe478 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java @@ -149,7 +149,7 @@ public class JavaPsiFacadeImpl extends JavaPsiFacadeEx { private boolean shouldUseSlowResolve() { DumbService dumbService = DumbService.getInstance(getProject()); - return dumbService.isDumb() && dumbService.isAlternativeResolutionEnabled(); + return dumbService.isDumb() && dumbService.isAlternativeResolveEnabled(); } @NotNull diff --git a/platform/core-api/src/com/intellij/openapi/project/DumbService.java b/platform/core-api/src/com/intellij/openapi/project/DumbService.java index 0215dc6dd4ea..ac3edf55d890 100644 --- a/platform/core-api/src/com/intellij/openapi/project/DumbService.java +++ b/platform/core-api/src/com/intellij/openapi/project/DumbService.java @@ -221,14 +221,14 @@ public abstract class DumbService { * A typical usage would involve try-finally, where the alternative resolution is first enabled, then an action is performed, * and then alternative resolution is turned off in the finally block. */ - public abstract void setAlternativeResolutionEnabled(boolean enabled); + public abstract void setAlternativeResolveEnabled(boolean enabled); /** * @return whether alternative resolution is enabled for the current thread. * - * @see #setAlternativeResolutionEnabled(boolean) + * @see #setAlternativeResolveEnabled(boolean) */ - public abstract boolean isAlternativeResolutionEnabled(); + public abstract boolean isAlternativeResolveEnabled(); /** * @see #DUMB_MODE diff --git a/platform/core-impl/src/com/intellij/mock/MockDumbService.java b/platform/core-impl/src/com/intellij/mock/MockDumbService.java index 359fc8f64550..b1fe7ae2a727 100644 --- a/platform/core-impl/src/com/intellij/mock/MockDumbService.java +++ b/platform/core-impl/src/com/intellij/mock/MockDumbService.java @@ -75,11 +75,11 @@ public class MockDumbService extends DumbService { } @Override - public void setAlternativeResolutionEnabled(boolean enabled) { + public void setAlternativeResolveEnabled(boolean enabled) { } @Override - public boolean isAlternativeResolutionEnabled() { + public boolean isAlternativeResolveEnabled() { return false; } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationAction.java b/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationAction.java index d816b7fd042d..a633b302c969 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationAction.java @@ -76,7 +76,7 @@ public class GotoDeclarationAction extends BaseCodeInsightAction implements Code public void invoke(@NotNull final Project project, @NotNull Editor editor, @NotNull PsiFile file) { PsiDocumentManager.getInstance(project).commitAllDocuments(); - DumbService.getInstance(project).setAlternativeResolutionEnabled(true); + DumbService.getInstance(project).setAlternativeResolveEnabled(true); try { int offset = editor.getCaretModel().getOffset(); PsiElement[] elements = findAllTargetElements(project, editor, offset); @@ -107,7 +107,7 @@ public class GotoDeclarationAction extends BaseCodeInsightAction implements Code DumbService.getInstance(project).showDumbModeNotification("Navigation is not available here during index update"); } finally { - DumbService.getInstance(project).setAlternativeResolutionEnabled(false); + DumbService.getInstance(project).setAlternativeResolveEnabled(false); } } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoTypeDeclarationAction.java b/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoTypeDeclarationAction.java index 3f0efe8b2e58..eb4861f733ff 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoTypeDeclarationAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoTypeDeclarationAction.java @@ -66,7 +66,7 @@ public class GotoTypeDeclarationAction extends BaseCodeInsightAction implements public void invoke(@NotNull final Project project, @NotNull Editor editor, @NotNull PsiFile file) { PsiDocumentManager.getInstance(project).commitAllDocuments(); - DumbService.getInstance(project).setAlternativeResolutionEnabled(true); + DumbService.getInstance(project).setAlternativeResolveEnabled(true); try { int offset = editor.getCaretModel().getOffset(); PsiElement[] symbolTypes = findSymbolTypes(editor, offset); @@ -82,7 +82,7 @@ public class GotoTypeDeclarationAction extends BaseCodeInsightAction implements DumbService.getInstance(project).showDumbModeNotification("Navigation is not available here during index update"); } finally { - DumbService.getInstance(project).setAlternativeResolutionEnabled(false); + DumbService.getInstance(project).setAlternativeResolveEnabled(false); } } diff --git a/platform/platform-impl/src/com/intellij/openapi/project/DumbServiceImpl.java b/platform/platform-impl/src/com/intellij/openapi/project/DumbServiceImpl.java index 0c4f65544295..42d88cf5a4a0 100644 --- a/platform/platform-impl/src/com/intellij/openapi/project/DumbServiceImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/project/DumbServiceImpl.java @@ -106,13 +106,13 @@ public class DumbServiceImpl extends DumbService implements Disposable { } @Override - public boolean isAlternativeResolutionEnabled() { + public boolean isAlternativeResolveEnabled() { return Boolean.TRUE.equals(myAlternativeResolution.get()); } @Override - public void setAlternativeResolutionEnabled(boolean enabled) { - assert isAlternativeResolutionEnabled() != enabled : "Nested alternative resolution mode is not supported"; + public void setAlternativeResolveEnabled(boolean enabled) { + assert isAlternativeResolveEnabled() != enabled : "Nested alternative resolution mode is not supported"; myAlternativeResolution.set(enabled); } From 3dc10f4b9de228f44d04667dd4931f1176b202e8 Mon Sep 17 00:00:00 2001 From: Nadya Zabrodina Date: Mon, 22 Dec 2014 17:44:42 +0300 Subject: [PATCH 11/34] style: parameter renamed to more suitable; repository branch topic update duplication removed --- .../zmlx/hg4idea/command/HgUpdateCommand.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/plugins/hg4idea/src/org/zmlx/hg4idea/command/HgUpdateCommand.java b/plugins/hg4idea/src/org/zmlx/hg4idea/command/HgUpdateCommand.java index 4cfe72f121f9..f64b923959bb 100644 --- a/plugins/hg4idea/src/org/zmlx/hg4idea/command/HgUpdateCommand.java +++ b/plugins/hg4idea/src/org/zmlx/hg4idea/command/HgUpdateCommand.java @@ -103,7 +103,6 @@ public class HgUpdateCommand { DvcsUtil.workingTreeChangeFinished(project, token); } - project.getMessageBus().syncPublisher(HgVcs.BRANCH_TOPIC).update(project, null); VfsUtil.markDirtyAndRefresh(true, true, false, repo); return result; } @@ -120,28 +119,28 @@ public class HgUpdateCommand { return exitCode.get(); } - public static void updateTo(@NotNull final String taskName, @NotNull List repos, @Nullable final Runnable callInAwtLater) { + public static void updateTo(@NotNull final String targetRevision, @NotNull List repos, @Nullable final Runnable callInAwtLater) { FileDocumentManager.getInstance().saveAllDocuments(); for (HgRepository repo : repos) { final VirtualFile repository = repo.getRoot(); Project project = repo.getProject(); - updateRepoTo(project, repository, taskName, callInAwtLater); + updateRepoTo(project, repository, targetRevision, callInAwtLater); } } public static void updateRepoTo(@NotNull final Project project, @NotNull final VirtualFile repository, - @NotNull final String taskName, + @NotNull final String targetRevision, @Nullable final Runnable callInAwtLater) { - updateRepoTo(project, repository, taskName, false, callInAwtLater); + updateRepoTo(project, repository, targetRevision, false, callInAwtLater); } public static void updateRepoTo(@NotNull final Project project, @NotNull final VirtualFile repository, - @NotNull final String taskName, + @NotNull final String targetRevision, final boolean clean, @Nullable final Runnable callInAwtLater) { - new Task.Backgroundable(project, HgVcsMessages.message("action.hg4idea.updateTo.description", taskName)) { + new Task.Backgroundable(project, HgVcsMessages.message("action.hg4idea.updateTo.description", targetRevision)) { @Override public void onSuccess() { if (callInAwtLater != null) { @@ -151,17 +150,17 @@ public class HgUpdateCommand { @Override public void run(@NotNull ProgressIndicator indicator) { - updateRepoToInCurrentThread(project, repository, taskName, clean); + updateRepoToInCurrentThread(project, repository, targetRevision, clean); } }.queue(); } public static boolean updateRepoToInCurrentThread(@NotNull final Project project, @NotNull final VirtualFile repository, - @NotNull final String taskName, + @NotNull final String targetRevision, final boolean clean) { final HgUpdateCommand hgUpdateCommand = new HgUpdateCommand(project, repository); - hgUpdateCommand.setRevision(taskName); + hgUpdateCommand.setRevision(targetRevision); hgUpdateCommand.setClean(clean); HgCommandResult result = hgUpdateCommand.execute(); new HgConflictResolver(project).resolve(repository); From ae92a76c287d426ee0caa512bf7937d19b088bdb Mon Sep 17 00:00:00 2001 From: Nadya Zabrodina Date: Mon, 22 Dec 2014 19:58:26 +0300 Subject: [PATCH 12/34] IDEA-134617 hg close branch from branch widget implemented * ability to close branch for selected repo added; * if repositories tracked synchronously , then add an ability to close all; * only related changes (for appropriate repositories) will be preselected to perform close commit --- .../changes/ui/CommitChangeListDialog.java | 32 +++++++-- .../openapi/vcs/changes/ui/CommitHelper.java | 13 +++- .../hg4idea/src/org/zmlx/hg4idea/HgVcs.java | 10 ++- .../zmlx/hg4idea/branch/HgBranchPopup.java | 1 + .../hg4idea/branch/HgBranchPopupActions.java | 65 +++++++++++++++++++ .../zmlx/hg4idea/command/HgCommitCommand.java | 35 +++++++--- .../provider/commit/HgCheckinEnvironment.java | 34 ++++++++-- .../commit/HgCloseBranchExecutor.java | 57 ++++++++++++++++ 8 files changed, 226 insertions(+), 21 deletions(-) create mode 100644 plugins/hg4idea/src/org/zmlx/hg4idea/provider/commit/HgCloseBranchExecutor.java diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java index 779260b26f0d..73334983a268 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java @@ -142,9 +142,27 @@ public class CommitChangeListDialog extends DialogWrapper implements CheckinProj private final MyUpdateButtonsRunnable myUpdateButtonsRunnable = new MyUpdateButtonsRunnable(this); - public static boolean commitChanges(final Project project, final List changes, final LocalChangeList initialSelection, - final List executors, final boolean showVcsCommit, final String comment, - @Nullable CommitResultHandler customResultHandler, boolean cancelIfNoChanges) { + public static boolean commitChanges(final Project project, + final List changes, + final LocalChangeList initialSelection, + final List executors, + final boolean showVcsCommit, + final String comment, + @Nullable CommitResultHandler customResultHandler, + boolean cancelIfNoChanges) { + return commitChanges(project, changes, initialSelection, executors, showVcsCommit, null, comment, customResultHandler, + cancelIfNoChanges); + } + + public static boolean commitChanges(final Project project, + final List changes, + final LocalChangeList initialSelection, + final List executors, + final boolean showVcsCommit, + @Nullable final AbstractVcs singleVcs, + final String comment, + @Nullable CommitResultHandler customResultHandler, + boolean cancelIfNoChanges) { if (cancelIfNoChanges && changes.isEmpty() && !ApplicationManager.getApplication().isUnitTestMode()) { Messages.showInfoMessage(project, VcsBundle.message("commit.dialog.no.changes.detected.text"), VcsBundle.message("commit.dialog.no.changes.detected.title")); @@ -159,8 +177,10 @@ public class CommitChangeListDialog extends DialogWrapper implements CheckinProj } final ChangeListManager manager = ChangeListManager.getInstance(project); - CommitChangeListDialog dialog = new CommitChangeListDialog(project, changes, initialSelection, executors, showVcsCommit, manager.getDefaultChangeList(), manager.getChangeListsCopy(), null, - false, comment, customResultHandler); + CommitChangeListDialog dialog = + new CommitChangeListDialog(project, changes, initialSelection, executors, showVcsCommit, manager.getDefaultChangeList(), + manager.getChangeListsCopy(), singleVcs, + false, comment, customResultHandler); if (!ApplicationManager.getApplication().isUnitTestMode()) { dialog.show(); } @@ -990,7 +1010,7 @@ public class CommitChangeListDialog extends DialogWrapper implements CheckinProj if (myIsAlien) { helper.doAlienCommit(myVcs); } else { - helper.doCommit(); + helper.doCommit(myVcs); } } diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitHelper.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitHelper.java index 3f0747e80b30..b64d5ac1997c 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitHelper.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitHelper.java @@ -101,7 +101,11 @@ public class CommitHelper { } public boolean doCommit() { - return doCommit(new CommitProcessor()); + return doCommit((AbstractVcs)null); + } + + public boolean doCommit(@Nullable AbstractVcs vcs) { + return doCommit(new CommitProcessor(vcs)); } public boolean doAlienCommit(final AbstractVcs vcs) { @@ -374,8 +378,10 @@ public class CommitHelper { private LocalHistoryAction myAction; private ChangeListsModificationAfterCommit myAfterVcsRefreshModification; private boolean myCommitSuccess; + @Nullable private final AbstractVcs myVcs; - private CommitProcessor() { + private CommitProcessor(@Nullable AbstractVcs vcs) { + myVcs = vcs; myAfterVcsRefreshModification = ChangeListsModificationAfterCommit.NOTHING; if (myChangeList instanceof LocalChangeList) { final LocalChangeList localList = (LocalChangeList) myChangeList; @@ -391,6 +397,9 @@ public class CommitHelper { } public void callSelf() { + if (myVcs != null && myIncludedChanges.isEmpty()) { + process(myVcs, myIncludedChanges); + } ChangesUtil.processChangesByVcs(myProject, myIncludedChanges, this); } diff --git a/plugins/hg4idea/src/org/zmlx/hg4idea/HgVcs.java b/plugins/hg4idea/src/org/zmlx/hg4idea/HgVcs.java index 02655cffa3ae..bce14e8215a0 100644 --- a/plugins/hg4idea/src/org/zmlx/hg4idea/HgVcs.java +++ b/plugins/hg4idea/src/org/zmlx/hg4idea/HgVcs.java @@ -53,6 +53,7 @@ import org.jetbrains.annotations.Nullable; import org.zmlx.hg4idea.provider.*; import org.zmlx.hg4idea.provider.annotate.HgAnnotationProvider; import org.zmlx.hg4idea.provider.commit.HgCheckinEnvironment; +import org.zmlx.hg4idea.provider.commit.HgCloseBranchExecutor; import org.zmlx.hg4idea.provider.commit.HgCommitAndPushExecutor; import org.zmlx.hg4idea.provider.update.HgUpdateEnvironment; import org.zmlx.hg4idea.roots.HgIntegrationEnabler; @@ -104,7 +105,8 @@ public class HgVcs extends AbstractVcs { private HgExecutableValidator myExecutableValidator; private final Object myExecutableValidatorLock = new Object(); private File myPromptHooksExtensionFile; - private CommitExecutor myCommitAndPushExecutor; + private final CommitExecutor myCommitAndPushExecutor; + private final HgCloseBranchExecutor myCloseBranchExecutor; private HgRemoteStatusUpdater myHgRemoteStatusUpdater; private HgStatusWidget myStatusWidget; @@ -130,6 +132,7 @@ public class HgVcs extends AbstractVcs { committedChangesProvider = new HgCachingCommittedChangesProvider(project, this); myMergeProvider = new HgMergeProvider(myProject); myCommitAndPushExecutor = new HgCommitAndPushExecutor(checkinEnvironment); + myCloseBranchExecutor = new HgCloseBranchExecutor(checkinEnvironment); } public String getDisplayName() { @@ -396,6 +399,11 @@ public class HgVcs extends AbstractVcs { return Collections.singletonList(myCommitAndPushExecutor); } + @NotNull + public HgCloseBranchExecutor getCloseBranchExecutor() { + return myCloseBranchExecutor; + } + public static VcsKey getKey() { return ourKey; } diff --git a/plugins/hg4idea/src/org/zmlx/hg4idea/branch/HgBranchPopup.java b/plugins/hg4idea/src/org/zmlx/hg4idea/branch/HgBranchPopup.java index 3dcaf6dee161..dc73c36ee503 100644 --- a/plugins/hg4idea/src/org/zmlx/hg4idea/branch/HgBranchPopup.java +++ b/plugins/hg4idea/src/org/zmlx/hg4idea/branch/HgBranchPopup.java @@ -81,6 +81,7 @@ public class HgBranchPopup extends DvcsBranchPopup { List allRepositories = repositoryManager.getRepositories(); popupGroup.add(new HgBranchPopupActions.HgNewBranchAction(myProject, allRepositories, myCurrentRepository)); popupGroup.addAction(new HgBranchPopupActions.HgNewBookmarkAction(allRepositories, myCurrentRepository)); + popupGroup.addAction(new HgBranchPopupActions.HgCloseBranchAction(allRepositories, myCurrentRepository)); popupGroup.addAction(new HgBranchPopupActions.HgShowUnnamedHeadsForCurrentBranchAction(myCurrentRepository)); popupGroup.addAll(createRepositoriesActions()); diff --git a/plugins/hg4idea/src/org/zmlx/hg4idea/branch/HgBranchPopupActions.java b/plugins/hg4idea/src/org/zmlx/hg4idea/branch/HgBranchPopupActions.java index 633fe1cf87d9..9de49d560b65 100644 --- a/plugins/hg4idea/src/org/zmlx/hg4idea/branch/HgBranchPopupActions.java +++ b/plugins/hg4idea/src/org/zmlx/hg4idea/branch/HgBranchPopupActions.java @@ -23,9 +23,15 @@ import com.intellij.openapi.actionSystem.ActionGroup; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.DefaultActionGroup; +import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.project.DumbAwareAction; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.Condition; import com.intellij.openapi.util.text.StringUtil; +import com.intellij.openapi.vcs.VcsBundle; +import com.intellij.openapi.vcs.changes.*; +import com.intellij.openapi.vcs.changes.ui.CommitChangeListDialog; import com.intellij.util.ArrayUtil; import com.intellij.util.Function; import com.intellij.util.PlatformIcons; @@ -35,15 +41,19 @@ import com.intellij.vcs.log.impl.HashImpl; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.zmlx.hg4idea.HgNameWithHashInfo; +import org.zmlx.hg4idea.HgVcs; import org.zmlx.hg4idea.action.HgCommandResultNotifier; import org.zmlx.hg4idea.command.HgBookmarkCommand; import org.zmlx.hg4idea.command.HgBranchCreateCommand; import org.zmlx.hg4idea.execution.HgCommandException; import org.zmlx.hg4idea.execution.HgCommandResult; import org.zmlx.hg4idea.execution.HgCommandResultHandler; +import org.zmlx.hg4idea.provider.commit.HgCloseBranchExecutor; import org.zmlx.hg4idea.repo.HgRepository; +import org.zmlx.hg4idea.repo.HgRepositoryManager; import org.zmlx.hg4idea.ui.HgBookmarkDialog; import org.zmlx.hg4idea.util.HgErrorUtil; +import org.zmlx.hg4idea.util.HgUtil; import java.util.*; @@ -64,6 +74,7 @@ public class HgBranchPopupActions { DefaultActionGroup popupGroup = new DefaultActionGroup(null, false); popupGroup.addAction(new HgNewBranchAction(myProject, Collections.singletonList(myRepository), myRepository)); popupGroup.addAction(new HgNewBookmarkAction(Collections.singletonList(myRepository), myRepository)); + popupGroup.addAction(new HgBranchPopupActions.HgCloseBranchAction(Collections.singletonList(myRepository), myRepository)); popupGroup.addAction(new HgShowUnnamedHeadsForCurrentBranchAction(myRepository)); if (toInsert != null) { popupGroup.addAll(toInsert); @@ -129,6 +140,60 @@ public class HgBranchPopupActions { } } + public static class HgCloseBranchAction extends DumbAwareAction { + @NotNull private final List myRepositories; + @NotNull final HgRepository myPreselectedRepo; + + HgCloseBranchAction(@NotNull List repositories, @NotNull HgRepository preselectedRepo) { + super("Close " + StringUtil.pluralize("branch", repositories.size()), + "Close current " + StringUtil.pluralize("branch", repositories.size()), AllIcons.Actions.Delete); + myRepositories = repositories; + myPreselectedRepo = preselectedRepo; + } + + @Override + public void actionPerformed(AnActionEvent e) { + final Project project = myPreselectedRepo.getProject(); + ApplicationManager.getApplication().saveAll(); + ChangeListManager.getInstance(project).invokeAfterUpdate(new Runnable() { + @Override + public void run() { + commitAndCloseBranch(project); + } + }, InvokeAfterUpdateMode.SYNCHRONOUS_CANCELLABLE, VcsBundle + .message("waiting.changelists.update.for.show.commit.dialog.message"), + ModalityState.current()); + } + + private void commitAndCloseBranch(@NotNull final Project project) { + final LocalChangeList activeChangeList = ChangeListManager.getInstance(project).getDefaultChangeList(); + HgVcs vcs = HgVcs.getInstance(project); + assert vcs != null; + final HgRepositoryManager repositoryManager = HgUtil.getRepositoryManager(project); + List changesForRepositories = ContainerUtil.filter(activeChangeList.getChanges(), new Condition() { + @Override + public boolean value(Change change) { + return myRepositories.contains(repositoryManager.getRepositoryForFile(ChangesUtil.getFilePath(change))); + } + }); + HgCloseBranchExecutor closeBranchExecutor = vcs.getCloseBranchExecutor(); + closeBranchExecutor.setRepositories(myRepositories); + CommitChangeListDialog.commitChanges(project, changesForRepositories, activeChangeList, + Collections.singletonList(closeBranchExecutor), + false, vcs, "Close Branch", null, false); + } + + @Override + public void update(AnActionEvent e) { + e.getPresentation().setEnabledAndVisible(ContainerUtil.and(myRepositories, new Condition() { + @Override + public boolean value(HgRepository repository) { + return repository.getOpenedBranches().contains(repository.getCurrentBranch()); + } + })); + } + } + public static class HgNewBookmarkAction extends DumbAwareAction { @NotNull protected final List myRepositories; @NotNull final HgRepository myPreselectedRepo; diff --git a/plugins/hg4idea/src/org/zmlx/hg4idea/command/HgCommitCommand.java b/plugins/hg4idea/src/org/zmlx/hg4idea/command/HgCommitCommand.java index 794c7096d207..4ba12ee4add0 100644 --- a/plugins/hg4idea/src/org/zmlx/hg4idea/command/HgCommitCommand.java +++ b/plugins/hg4idea/src/org/zmlx/hg4idea/command/HgCommitCommand.java @@ -12,6 +12,7 @@ // limitations under the License. package org.zmlx.hg4idea.command; +import com.intellij.dvcs.repo.Repository; import com.intellij.openapi.application.PathManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.io.FileUtil; @@ -28,6 +29,7 @@ import org.zmlx.hg4idea.HgVcs; import org.zmlx.hg4idea.HgVcsMessages; import org.zmlx.hg4idea.execution.HgCommandException; import org.zmlx.hg4idea.execution.HgCommandExecutor; +import org.zmlx.hg4idea.repo.HgRepository; import org.zmlx.hg4idea.repo.HgRepositoryManager; import org.zmlx.hg4idea.util.HgEncodingUtil; import org.zmlx.hg4idea.util.HgUtil; @@ -51,16 +53,22 @@ public class HgCommitCommand { private final String myMessage; @NotNull private final Charset myCharset; private final boolean myAmend; + private final boolean myCloseBranch; private Set myFiles = Collections.emptySet(); @NotNull private List mySubrepos = Collections.emptyList(); - public HgCommitCommand(Project project, @NotNull VirtualFile root, String message, boolean amend) { + public HgCommitCommand(@NotNull Project project, @NotNull VirtualFile root, String message, boolean amend, boolean closeBranch) { myProject = project; myRoot = root; myMessage = message; myCharset = HgEncodingUtil.getDefaultCharset(myProject); myAmend = amend; + myCloseBranch = closeBranch; + } + + public HgCommitCommand(@NotNull Project project, @NotNull VirtualFile root, String message, boolean amend) { + this(project, root, message, amend, false); } public HgCommitCommand(Project project, @NotNull VirtualFile root, String message) { @@ -80,9 +88,9 @@ public class HgCommitCommand { throw new HgCommandException(HgVcsMessages.message("hg4idea.commit.error.messageEmpty")); } //if it's merge commit, so myFiles is Empty. Need to commit all files in changeList. - // see HgCheckinEnviroment->commit() method + // see HgCheckinEnvironment->commit() method if (myFiles.isEmpty()) { - commitChunkFiles(Collections.emptyList(), myAmend); + commitChunkFiles(Collections.emptyList(), myAmend, myCloseBranch); } else { List relativePaths = ContainerUtil.map2List(myFiles, new Function() { @@ -94,12 +102,12 @@ public class HgCommitCommand { List> chunkedCommits = VcsFileUtil.chunkRelativePaths(relativePaths); int size = chunkedCommits.size(); // commit with subrepo should be first, because it's not possible to amend with --subrepos argument; - commitChunkFiles(chunkedCommits.get(0), myAmend, !mySubrepos.isEmpty()); + commitChunkFiles(chunkedCommits.get(0), myAmend, !mySubrepos.isEmpty(), myCloseBranch && size == 1); HgVcs vcs = HgVcs.getInstance(myProject); boolean amendCommit = vcs != null && vcs.getVersion().isAmendSupported(); for (int i = 1; i < size; i++) { List chunk = chunkedCommits.get(i); - commitChunkFiles(chunk, amendCommit); + commitChunkFiles(chunk, amendCommit, false, myCloseBranch && i == size - 1); } } if (!myProject.isDisposed()) { @@ -111,11 +119,14 @@ public class HgCommitCommand { messageBus.syncPublisher(HgVcs.BRANCH_TOPIC).update(myProject, null); } - private void commitChunkFiles(@NotNull List chunk, boolean amendCommit) throws VcsException { - commitChunkFiles(chunk, amendCommit, false); + private void commitChunkFiles(@NotNull List chunk, boolean amendCommit, boolean closeBranch) throws VcsException { + commitChunkFiles(chunk, amendCommit, false, closeBranch); } - private void commitChunkFiles(@NotNull List chunk, boolean amendCommit, boolean withSubrepos) throws VcsException { + private void commitChunkFiles(@NotNull List chunk, boolean amendCommit, boolean withSubrepos, boolean closeBranch) + throws VcsException { + HgRepository repository = HgUtil.getRepositoryForFile(myProject, myRoot); + assert repository != null; List parameters = new LinkedList(); parameters.add("--logfile"); parameters.add(saveCommitMessage().getAbsolutePath()); @@ -127,6 +138,14 @@ public class HgCommitCommand { else if (amendCommit) { parameters.add("--amend"); } + if (closeBranch) { + if (chunk.isEmpty() && repository.getState() != Repository.State.MERGING) { + //if there are changed files but nothing selected -> need to exclude all; if merge commit then nothing excluded + parameters.add("-X"); + parameters.add("\"**\""); + } + parameters.add("--close-branch"); + } parameters.addAll(chunk); HgCommandExecutor executor = new HgCommandExecutor(myProject); executor.setCharset(myCharset); diff --git a/plugins/hg4idea/src/org/zmlx/hg4idea/provider/commit/HgCheckinEnvironment.java b/plugins/hg4idea/src/org/zmlx/hg4idea/provider/commit/HgCheckinEnvironment.java index cd46452f96f1..fe13294ef8ab 100644 --- a/plugins/hg4idea/src/org/zmlx/hg4idea/provider/commit/HgCheckinEnvironment.java +++ b/plugins/hg4idea/src/org/zmlx/hg4idea/provider/commit/HgCheckinEnvironment.java @@ -60,6 +60,8 @@ public class HgCheckinEnvironment implements CheckinEnvironment { private boolean myNextCommitIsPushed; private boolean myNextCommitAmend; // If true, the next commit is amended private boolean myShouldCommitSubrepos; + private boolean myCloseBranch; + @Nullable private Collection myRepos; public HgCheckinEnvironment(Project project) { myProject = project; @@ -67,8 +69,15 @@ public class HgCheckinEnvironment implements CheckinEnvironment { public RefreshableOnComponent createAdditionalOptionsPanel(CheckinProjectPanel panel, PairConsumer additionalDataConsumer) { + reset(); + return new HgCommitAdditionalComponent(myProject, panel); + } + + public void reset() { myNextCommitIsPushed = false; - return new HgCommitAdditionalComponent(myProject,panel); + myShouldCommitSubrepos = false; + myCloseBranch = false; + myRepos = null; } public String getDefaultMessageFor(FilePath[] filesToCheckin) { @@ -83,19 +92,19 @@ public class HgCheckinEnvironment implements CheckinEnvironment { return HgVcsMessages.message("hg4idea.commit"); } - @SuppressWarnings({"ThrowableInstanceNeverThrown"}) public List commit(List changes, String preparedComment, @NotNull NullableFunction parametersHolder, Set feedback) { List exceptions = new LinkedList(); Map> repositoriesMap = getFilesByRepository(changes); + addRepositoriesWithoutChanges(repositoriesMap); for (Map.Entry> entry : repositoriesMap.entrySet()) { HgRepository repo = entry.getKey(); Set selectedFiles = entry.getValue(); HgCommitCommand command = - new HgCommitCommand(myProject, repo.getRoot(), preparedComment, myNextCommitAmend); + new HgCommitCommand(myProject, repo.getRoot(), preparedComment, myNextCommitAmend, myCloseBranch); if (isMergeCommit(repo.getRoot())) { //partial commits are not allowed during merges @@ -255,7 +264,7 @@ public class HgCheckinEnvironment implements CheckinEnvironment { private void addFile(Map> result, ContentRevision contentRevision) { FilePath filePath = contentRevision.getFile(); - // try to find repository from hgFile from change + // try to find repository from hgFile from change: to be able commit sub repositories as expected HgRepository repo = HgUtil.getRepositoryForFile(myProject, contentRevision instanceof HgCurrentBinaryContentRevision ? ((HgCurrentBinaryContentRevision)contentRevision).getRepositoryRoot() : ChangesUtil.findValidParentAccurately(filePath)); @@ -276,6 +285,23 @@ public class HgCheckinEnvironment implements CheckinEnvironment { myNextCommitIsPushed = true; } + public void setCloseBranch(boolean closeBranch) { + myCloseBranch = closeBranch; + } + + public void setRepos(@NotNull Collection repos) { + myRepos = repos; + } + + private void addRepositoriesWithoutChanges(@NotNull Map> repositoryMap) { + if (myRepos == null) return; + for (HgRepository repository : myRepos) { + if (!repositoryMap.keySet().contains(repository)) { + repositoryMap.put(repository, Collections.emptySet()); + } + } + } + /** * Commit options for hg */ diff --git a/plugins/hg4idea/src/org/zmlx/hg4idea/provider/commit/HgCloseBranchExecutor.java b/plugins/hg4idea/src/org/zmlx/hg4idea/provider/commit/HgCloseBranchExecutor.java new file mode 100644 index 000000000000..3aac41d2b394 --- /dev/null +++ b/plugins/hg4idea/src/org/zmlx/hg4idea/provider/commit/HgCloseBranchExecutor.java @@ -0,0 +1,57 @@ +/* + * Copyright 2000-2014 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.zmlx.hg4idea.provider.commit; + +import com.intellij.openapi.vcs.changes.CommitExecutorBase; +import com.intellij.openapi.vcs.changes.CommitSession; +import org.jetbrains.annotations.Nls; +import org.jetbrains.annotations.NotNull; +import org.zmlx.hg4idea.repo.HgRepository; + +import java.util.Collection; + +public class HgCloseBranchExecutor extends CommitExecutorBase { + + @NotNull private final HgCheckinEnvironment myCheckinEnvironment; + @NotNull private static final String CLOSE_BRANCH_TITLE = "Commit And &Close" ; + + + public HgCloseBranchExecutor(@NotNull HgCheckinEnvironment environment) { + myCheckinEnvironment = environment; + } + + @Override + public boolean areChangesRequired() { + return false; + } + + @Nls + @Override + public String getActionText() { + return CLOSE_BRANCH_TITLE; + } + + @NotNull + @Override + public CommitSession createCommitSession() { + myCheckinEnvironment.setCloseBranch(true); + return CommitSession.VCS_COMMIT; + } + + public void setRepositories(@NotNull Collection repositories) { + myCheckinEnvironment.setRepos(repositories); + } +} From 4d6b05337c07f0259d09cc6aba90cafdc77147eb Mon Sep 17 00:00:00 2001 From: Nadya Zabrodina Date: Mon, 22 Dec 2014 20:01:26 +0300 Subject: [PATCH 13/34] style: redundant statement removed --- plugins/hg4idea/src/org/zmlx/hg4idea/HgVcs.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/plugins/hg4idea/src/org/zmlx/hg4idea/HgVcs.java b/plugins/hg4idea/src/org/zmlx/hg4idea/HgVcs.java index bce14e8215a0..9c496969a3bb 100644 --- a/plugins/hg4idea/src/org/zmlx/hg4idea/HgVcs.java +++ b/plugins/hg4idea/src/org/zmlx/hg4idea/HgVcs.java @@ -476,13 +476,11 @@ public class HgVcs extends AbstractVcs { final String reason = (e.getCause() != null ? e.getCause() : e).getMessage(); String message = HgVcsMessages.message("hg4idea.unable.to.run.hg", executable); vcsNotifier.notifyError(message, - String.format( - reason + - "
Please check your hg executable path in
settings " - ), - linkAdapter + reason + + "
Please check your hg executable path in settings ", + linkAdapter ); } } From fa61cd8be5011656682c809d9cb880678bdca597 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Mon, 22 Dec 2014 17:52:17 +0100 Subject: [PATCH 14/34] =?UTF-8?q?AbstractExternalFilter=20=E2=80=94=20use?= =?UTF-8?q?=20HttpRequests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../documentation/AbstractExternalFilter.java | 48 ++++++++----------- 1 file changed, 19 insertions(+), 29 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/documentation/AbstractExternalFilter.java b/platform/lang-impl/src/com/intellij/codeInsight/documentation/AbstractExternalFilter.java index a64917f88e4e..d923262be097 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/documentation/AbstractExternalFilter.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/documentation/AbstractExternalFilter.java @@ -37,7 +37,6 @@ import org.jetbrains.annotations.Nullable; import java.io.*; import java.net.URL; -import java.net.URLConnection; import java.util.Locale; import java.util.concurrent.Future; import java.util.jar.JarFile; @@ -243,34 +242,27 @@ public abstract class AbstractExternalFilter { }); } + @Nullable private static String guessEncoding(URL url) { - String result = null; - BufferedReader reader = null; - try { - URLConnection connection = url.openConnection(); - result = connection.getContentEncoding(); - if (result != null) return result; - //noinspection IOResourceOpenedButNotSafelyClosed - reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); - for (String htmlLine = reader.readLine(); htmlLine != null; htmlLine = reader.readLine()) { - result = parseContentEncoding(htmlLine); - if (result != null) { - break; - } - } - } - catch (IOException ignored) { - } - finally { - if (reader != null) { + return HttpRequests.request(url.toExternalForm()).connect(new HttpRequests.RequestProcessor() { + @Override + public String process(@NotNull HttpRequests.Request request) throws IOException { + String result = request.getConnection().getContentEncoding(); + BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream())); try { + for (String htmlLine = reader.readLine(); htmlLine != null; htmlLine = reader.readLine()) { + result = parseContentEncoding(htmlLine); + if (result != null) { + break; + } + } + } + finally { reader.close(); } - catch (IOException ignored) { - } + return result; } - } - return result; + }, null, null); } @Nullable @@ -475,11 +467,9 @@ public abstract class AbstractExternalFilter { if (!htmlLine.contains("charset")) { return null; } - final Matcher matcher = CHARSET_META_PATTERN.matcher(htmlLine); - if (matcher.find()) { - return matcher.group(1); - } - return null; + + Matcher matcher = CHARSET_META_PATTERN.matcher(htmlLine); + return matcher.find() ? matcher.group(1) : null; } private static void appendLine(StringBuilder buffer, final String read) { From a5a6638cef8bde4808493b7750f1d9bd7fee8f13 Mon Sep 17 00:00:00 2001 From: Dmitry Batrak Date: Mon, 22 Dec 2014 20:18:31 +0300 Subject: [PATCH 15/34] IDEA-131081 pick caret foreground color depending on caret background color --- .../src/com/intellij/openapi/editor/impl/EditorImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java index 061fc5bb07a8..52cdc8c558e2 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java @@ -134,7 +134,8 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi private static final boolean HONOR_CAMEL_HUMPS_ON_TRIPLE_CLICK = Boolean.parseBoolean(System.getProperty("idea.honor.camel.humps.on.triple.click")); private static final Key BUFFER = Key.create("buffer"); - public static final JBColor CURSOR_FOREGROUND = new JBColor(Gray._255, Gray._0); + public static final Color CURSOR_FOREGROUND_LIGHT = Gray._255; + public static final Color CURSOR_FOREGROUND_DARK = Gray._0; @NotNull private final DocumentEx myDocument; private final JPanel myPanel; @@ -4747,7 +4748,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi //todo[kb] //in case of italic style we paint out of the cursor block. Painting the symbol to a dedicated buffered image //solves the problem, but still looks weird because it leaves colored pixels at right. - g.setColor(CURSOR_FOREGROUND); + g.setColor(ColorUtil.isDark(caretColor) ? CURSOR_FOREGROUND_LIGHT : CURSOR_FOREGROUND_DARK); g.drawChars(new char[]{ch}, 0, 1, x, y + getAscent()); } } From c60bdddb09801ed8c7f294cbd12df717cea2d4ca Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Mon, 22 Dec 2014 18:38:00 +0100 Subject: [PATCH 16/34] more reliable version check --- jps/jps-builders/src/org/jetbrains/jps/javac/JavacMain.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/jps/jps-builders/src/org/jetbrains/jps/javac/JavacMain.java b/jps/jps-builders/src/org/jetbrains/jps/javac/JavacMain.java index ed5bf0270f5f..c880924ea232 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/javac/JavacMain.java +++ b/jps/jps-builders/src/org/jetbrains/jps/javac/JavacMain.java @@ -193,8 +193,7 @@ public class JavacMain { private static boolean canUseOptimizedFileManager(JavaCompilingTool compilingTool) { // since java 9 internal API's used by the optimizedFileManager have changed - return compilingTool instanceof JavacCompilerTool && - (JAVA_VERSION.contains("1.6") || JAVA_VERSION.contains("1.7") || JAVA_VERSION.contains("1.8")); + return compilingTool instanceof JavacCompilerTool && !SystemInfo.isJavaVersionAtLeast("1.9"); } private static void handleCancelException(DiagnosticOutputConsumer diagnosticConsumer) { From 31ed6d17655d5081e42864201cef32a38683c60e Mon Sep 17 00:00:00 2001 From: akosyakov Date: Fri, 5 Dec 2014 13:02:23 +0100 Subject: [PATCH 17/34] [IDEABKL-7100] Create an instance of PsiElementFinderImpl via the extension point 'com.intellij.java.elementFinder' --- .../intellij/psi/impl/JavaPsiFacadeImpl.java | 138 -------------- .../psi/impl/PsiElementFinderImpl.java | 177 ++++++++++++++++++ resources/src/META-INF/IdeaPlugin.xml | 16 ++ 3 files changed, 193 insertions(+), 138 deletions(-) create mode 100644 java/java-psi-impl/src/com/intellij/psi/impl/PsiElementFinderImpl.java diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java index 540e97ebe478..e623f0714deb 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java @@ -16,16 +16,11 @@ package com.intellij.psi.impl; import com.intellij.openapi.Disposable; -import com.intellij.openapi.application.ReadActionProcessor; import com.intellij.openapi.progress.ProgressIndicatorProvider; -import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; -import com.intellij.openapi.roots.FileIndexFacade; -import com.intellij.openapi.roots.PackageIndex; import com.intellij.openapi.util.Comparing; import com.intellij.openapi.util.text.StringUtil; -import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.VirtualFileFilter; import com.intellij.psi.*; import com.intellij.psi.impl.file.impl.JavaFileManager; @@ -34,19 +29,15 @@ import com.intellij.psi.impl.source.JavaDummyHolder; import com.intellij.psi.impl.source.JavaDummyHolderFactory; import com.intellij.psi.impl.source.resolve.FileContextUtil; import com.intellij.psi.search.GlobalSearchScope; -import com.intellij.psi.stubs.StubTreeLoader; import com.intellij.psi.util.PsiModificationTracker; -import com.intellij.psi.util.PsiUtilCore; import com.intellij.reference.SoftReference; import com.intellij.util.ConcurrencyUtil; import com.intellij.util.Processor; import com.intellij.util.SmartList; import com.intellij.util.containers.ContainerUtil; -import com.intellij.util.containers.HashMap; import com.intellij.util.messages.MessageBus; import gnu.trove.THashSet; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.TestOnly; import java.util.*; @@ -166,7 +157,6 @@ public class JavaPsiFacadeImpl extends JavaPsiFacadeEx { @NotNull private PsiElementFinder[] calcFinders() { List elementFinders = new ArrayList(); - elementFinders.add(new PsiElementFinderImpl()); ContainerUtil.addAll(elementFinders, myProject.getExtensions(PsiElementFinder.EP_NAME)); return elementFinders.toArray(new PsiElementFinder[elementFinders.size()]); } @@ -279,134 +269,6 @@ public class JavaPsiFacadeImpl extends JavaPsiFacadeEx { return result.values().toArray(new PsiPackage[result.size()]); } - private class PsiElementFinderImpl extends PsiElementFinder implements DumbAware { - @Override - public PsiClass findClass(@NotNull String qualifiedName, @NotNull GlobalSearchScope scope) { - return myFileManager.findClass(qualifiedName, scope); - } - - @Override - @NotNull - public PsiClass[] findClasses(@NotNull String qualifiedName, @NotNull GlobalSearchScope scope) { - return myFileManager.findClasses(qualifiedName, scope); - } - - @Override - public PsiPackage findPackage(@NotNull String qualifiedName) { - return myFileManager.findPackage(qualifiedName); - } - - @Override - @NotNull - public PsiPackage[] getSubPackages(@NotNull PsiPackage psiPackage, @NotNull GlobalSearchScope scope) { - final Map packagesMap = new HashMap(); - final String qualifiedName = psiPackage.getQualifiedName(); - for (PsiDirectory dir : psiPackage.getDirectories(scope)) { - PsiDirectory[] subDirs = dir.getSubdirectories(); - for (PsiDirectory subDir : subDirs) { - final PsiPackage aPackage = JavaDirectoryService.getInstance().getPackage(subDir); - if (aPackage != null) { - final String subQualifiedName = aPackage.getQualifiedName(); - if (subQualifiedName.startsWith(qualifiedName) && !packagesMap.containsKey(subQualifiedName)) { - packagesMap.put(aPackage.getQualifiedName(), aPackage); - } - } - } - } - - packagesMap.remove(qualifiedName); // avoid SOE caused by returning a package as a subpackage of itself - return packagesMap.values().toArray(new PsiPackage[packagesMap.size()]); - } - - @Override - @NotNull - public PsiClass[] getClasses(@NotNull PsiPackage psiPackage, @NotNull final GlobalSearchScope scope) { - return getClasses(null, psiPackage, scope); - } - - @Override - @NotNull - public PsiClass[] getClasses(@Nullable String shortName, @NotNull PsiPackage psiPackage, @NotNull final GlobalSearchScope scope) { - List list = null; - String packageName = psiPackage.getQualifiedName(); - for (PsiDirectory dir : psiPackage.getDirectories(scope)) { - PsiClass[] classes = JavaDirectoryService.getInstance().getClasses(dir); - if (classes.length == 0) continue; - if (list == null) list = new ArrayList(); - for (PsiClass aClass : classes) { - // class file can be located in wrong place inside file system - String qualifiedName = aClass.getQualifiedName(); - if (qualifiedName != null) qualifiedName = StringUtil.getPackageName(qualifiedName); - if (Comparing.strEqual(qualifiedName, packageName)) { - if (shortName == null || shortName.equals(aClass.getName())) list.add(aClass); - } - } - } - if (list == null) { - return PsiClass.EMPTY_ARRAY; - } - - if (list.size() > 1) { - ContainerUtil.quickSort(list, new Comparator() { - @Override - public int compare(PsiClass o1, PsiClass o2) { - VirtualFile file1 = PsiUtilCore.getVirtualFile(o1); - VirtualFile file2 = PsiUtilCore.getVirtualFile(o2); - return file1 == null ? file2 == null ? 0 : -1 : file2 == null ? 1 : scope.compare(file2, file1); - } - }); - } - - return list.toArray(new PsiClass[list.size()]); - } - - @NotNull - @Override - public Set getClassNames(@NotNull PsiPackage psiPackage, @NotNull GlobalSearchScope scope) { - Set names = null; - FileIndexFacade facade = FileIndexFacade.getInstance(myProject); - for (PsiDirectory dir : psiPackage.getDirectories(scope)) { - for (PsiFile file : dir.getFiles()) { - if (file instanceof PsiClassOwner && file.getViewProvider().getLanguages().size() == 1) { - VirtualFile vFile = file.getVirtualFile(); - if (vFile != null && - !(file instanceof PsiCompiledElement) && - !facade.isInSourceContent(vFile) && - (!scope.isForceSearchingInLibrarySources() || - !StubTreeLoader.getInstance().canHaveStub(vFile))) { - continue; - } - - Set inFile = file instanceof PsiClassOwnerEx ? ((PsiClassOwnerEx)file).getClassNames() : getClassNames(((PsiClassOwner)file).getClasses()); - - if (inFile.isEmpty()) continue; - if (names == null) names = new HashSet(); - names.addAll(inFile); - } - } - - } - return names == null ? Collections.emptySet() : names; - } - - @Override - public boolean processPackageDirectories(@NotNull PsiPackage psiPackage, - @NotNull final GlobalSearchScope scope, - @NotNull final Processor consumer, - boolean includeLibrarySources) { - final PsiManager psiManager = PsiManager.getInstance(getProject()); - return PackageIndex.getInstance(getProject()).getDirsByPackageName(psiPackage.getQualifiedName(), includeLibrarySources) - .forEach(new ReadActionProcessor() { - @Override - public boolean processInReadAction(final VirtualFile dir) { - if (!scope.contains(dir)) return true; - PsiDirectory psiDir = psiManager.findDirectory(dir); - return psiDir == null || consumer.process(psiDir); - } - }); - } - } - @Override public boolean isPartOfPackagePrefix(@NotNull String packageName) { final Collection packagePrefixes = myFileManager.getNonTrivialPackagePrefixes(); diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/PsiElementFinderImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/PsiElementFinderImpl.java new file mode 100644 index 000000000000..2c482367abd6 --- /dev/null +++ b/java/java-psi-impl/src/com/intellij/psi/impl/PsiElementFinderImpl.java @@ -0,0 +1,177 @@ +/* + * Copyright 2000-2014 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.psi.impl; + +import com.intellij.openapi.application.ReadActionProcessor; +import com.intellij.openapi.project.DumbAware; +import com.intellij.openapi.project.Project; +import com.intellij.openapi.roots.FileIndexFacade; +import com.intellij.openapi.roots.PackageIndex; +import com.intellij.openapi.util.Comparing; +import com.intellij.openapi.util.text.StringUtil; +import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.psi.*; +import com.intellij.psi.impl.file.impl.JavaFileManager; +import com.intellij.psi.search.GlobalSearchScope; +import com.intellij.psi.stubs.StubTreeLoader; +import com.intellij.psi.util.PsiUtilCore; +import com.intellij.util.Processor; +import com.intellij.util.containers.ContainerUtil; +import com.intellij.util.containers.HashMap; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.*; + +/** + * Created by kosyakov on 05.12.14. + */ +public class PsiElementFinderImpl extends PsiElementFinder implements DumbAware { + + private final Project myProject; + private final JavaFileManager myFileManager; + + public PsiElementFinderImpl(Project project, JavaFileManager javaFileManager) { + this.myProject = project; + this.myFileManager = javaFileManager; + } + + @Override + public PsiClass findClass(@NotNull String qualifiedName, @NotNull GlobalSearchScope scope) { + return myFileManager.findClass(qualifiedName, scope); + } + + @Override + @NotNull + public PsiClass[] findClasses(@NotNull String qualifiedName, @NotNull GlobalSearchScope scope) { + return myFileManager.findClasses(qualifiedName, scope); + } + + @Override + public PsiPackage findPackage(@NotNull String qualifiedName) { + return myFileManager.findPackage(qualifiedName); + } + + @Override + @NotNull + public PsiPackage[] getSubPackages(@NotNull PsiPackage psiPackage, @NotNull GlobalSearchScope scope) { + final Map packagesMap = new HashMap(); + final String qualifiedName = psiPackage.getQualifiedName(); + for (PsiDirectory dir : psiPackage.getDirectories(scope)) { + PsiDirectory[] subDirs = dir.getSubdirectories(); + for (PsiDirectory subDir : subDirs) { + final PsiPackage aPackage = JavaDirectoryService.getInstance().getPackage(subDir); + if (aPackage != null) { + final String subQualifiedName = aPackage.getQualifiedName(); + if (subQualifiedName.startsWith(qualifiedName) && !packagesMap.containsKey(subQualifiedName)) { + packagesMap.put(aPackage.getQualifiedName(), aPackage); + } + } + } + } + + packagesMap.remove(qualifiedName); // avoid SOE caused by returning a package as a subpackage of itself + return packagesMap.values().toArray(new PsiPackage[packagesMap.size()]); + } + + @Override + @NotNull + public PsiClass[] getClasses(@NotNull PsiPackage psiPackage, @NotNull final GlobalSearchScope scope) { + return getClasses(null, psiPackage, scope); + } + + @Override + @NotNull + public PsiClass[] getClasses(@Nullable String shortName, @NotNull PsiPackage psiPackage, @NotNull final GlobalSearchScope scope) { + List list = null; + String packageName = psiPackage.getQualifiedName(); + for (PsiDirectory dir : psiPackage.getDirectories(scope)) { + PsiClass[] classes = JavaDirectoryService.getInstance().getClasses(dir); + if (classes.length == 0) continue; + if (list == null) list = new ArrayList(); + for (PsiClass aClass : classes) { + // class file can be located in wrong place inside file system + String qualifiedName = aClass.getQualifiedName(); + if (qualifiedName != null) qualifiedName = StringUtil.getPackageName(qualifiedName); + if (Comparing.strEqual(qualifiedName, packageName)) { + if (shortName == null || shortName.equals(aClass.getName())) list.add(aClass); + } + } + } + if (list == null) { + return PsiClass.EMPTY_ARRAY; + } + + if (list.size() > 1) { + ContainerUtil.quickSort(list, new Comparator() { + @Override + public int compare(PsiClass o1, PsiClass o2) { + VirtualFile file1 = PsiUtilCore.getVirtualFile(o1); + VirtualFile file2 = PsiUtilCore.getVirtualFile(o2); + return file1 == null ? file2 == null ? 0 : -1 : file2 == null ? 1 : scope.compare(file2, file1); + } + }); + } + + return list.toArray(new PsiClass[list.size()]); + } + + @NotNull + @Override + public Set getClassNames(@NotNull PsiPackage psiPackage, @NotNull GlobalSearchScope scope) { + Set names = null; + FileIndexFacade facade = FileIndexFacade.getInstance(myProject); + for (PsiDirectory dir : psiPackage.getDirectories(scope)) { + for (PsiFile file : dir.getFiles()) { + if (file instanceof PsiClassOwner && file.getViewProvider().getLanguages().size() == 1) { + VirtualFile vFile = file.getVirtualFile(); + if (vFile != null && + !(file instanceof PsiCompiledElement) && + !facade.isInSourceContent(vFile) && + (!scope.isForceSearchingInLibrarySources() || !StubTreeLoader.getInstance().canHaveStub(vFile))) { + continue; + } + + Set inFile = + file instanceof PsiClassOwnerEx ? ((PsiClassOwnerEx)file).getClassNames() : getClassNames(((PsiClassOwner)file).getClasses()); + + if (inFile.isEmpty()) continue; + if (names == null) names = new HashSet(); + names.addAll(inFile); + } + } + + } + return names == null ? Collections.emptySet() : names; + } + + @Override + public boolean processPackageDirectories(@NotNull PsiPackage psiPackage, + @NotNull final GlobalSearchScope scope, + @NotNull final Processor consumer, + boolean includeLibrarySources) { + final PsiManager psiManager = PsiManager.getInstance(myProject); + return PackageIndex.getInstance(myProject).getDirsByPackageName(psiPackage.getQualifiedName(), includeLibrarySources) + .forEach(new ReadActionProcessor() { + @Override + public boolean processInReadAction(final VirtualFile dir) { + if (!scope.contains(dir)) return true; + PsiDirectory psiDir = psiManager.findDirectory(dir); + return psiDir == null || consumer.process(psiDir); + } + }); + } +} diff --git a/resources/src/META-INF/IdeaPlugin.xml b/resources/src/META-INF/IdeaPlugin.xml index e4ed2ce70673..b4d2e383629f 100644 --- a/resources/src/META-INF/IdeaPlugin.xml +++ b/resources/src/META-INF/IdeaPlugin.xml @@ -1,3 +1,18 @@ + com.intellij IDEA CORE @@ -1506,6 +1521,7 @@ + From ed071042daf0faa9f9b95d5cebb484712b377d92 Mon Sep 17 00:00:00 2001 From: akosyakov Date: Fri, 5 Dec 2014 14:13:48 +0100 Subject: [PATCH 18/34] [IDEABKL-7100] Assigned 'java' as id for com.intellij.psi.impl.PsiElementFinderImpl --- resources/src/META-INF/IdeaPlugin.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/src/META-INF/IdeaPlugin.xml b/resources/src/META-INF/IdeaPlugin.xml index b4d2e383629f..d51427bbd001 100644 --- a/resources/src/META-INF/IdeaPlugin.xml +++ b/resources/src/META-INF/IdeaPlugin.xml @@ -1521,7 +1521,7 @@ - + From 7145e83746d62305280806136e3f3d9cd3a238b2 Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 22 Dec 2014 18:23:20 +0100 Subject: [PATCH 19/34] IDEA-134248 "Enable dynamic classpath" doesn't work from event log window. --- .../com/intellij/execution/runners/ExecutionUtil.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/platform/lang-api/src/com/intellij/execution/runners/ExecutionUtil.java b/platform/lang-api/src/com/intellij/execution/runners/ExecutionUtil.java index 1c3d265e4c86..cb2c3225e83f 100644 --- a/platform/lang-api/src/com/intellij/execution/runners/ExecutionUtil.java +++ b/platform/lang-api/src/com/intellij/execution/runners/ExecutionUtil.java @@ -23,6 +23,7 @@ import com.intellij.execution.process.ProcessNotCreatedException; import com.intellij.execution.ui.RunContentDescriptor; import com.intellij.ide.DataManager; import com.intellij.ide.util.PropertiesComponent; +import com.intellij.notification.Notification; import com.intellij.notification.NotificationGroup; import com.intellij.notification.NotificationListener; import com.intellij.notification.NotificationType; @@ -34,7 +35,6 @@ import com.intellij.openapi.ui.MessageType; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.wm.ToolWindowManager; import com.intellij.ui.content.Content; -import com.intellij.util.ObjectUtils; import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -124,7 +124,12 @@ public class ExecutionUtil { else { Messages.showErrorDialog(project, UIUtil.toHtml(fullMessage), ""); } - NotificationListener notificationListener = ObjectUtils.tryCast(finalListener, NotificationListener.class); + NotificationListener notificationListener = finalListener == null ? null : new NotificationListener() { + @Override + public void hyperlinkUpdate(@NotNull Notification notification, @NotNull HyperlinkEvent event) { + finalListener.hyperlinkUpdate(event); + } + }; ourNotificationGroup.createNotification(title, finalDescription, NotificationType.ERROR, notificationListener).notify(project); } }); From 65dc466aac10a70171dec9c1706fea696541dc58 Mon Sep 17 00:00:00 2001 From: Elizaveta Shashkova Date: Mon, 22 Dec 2014 20:53:40 +0300 Subject: [PATCH 20/34] fix PY-14779 and refix PY-14649 --- .../_pydev_imps/_pydev_django_oscar_patch.py | 38 ----------------- .../pydev/_pydev_imps/_pydev_pluginbase.py | 41 ++++++++----------- python/helpers/pydev/pydev_monkey_qt.py | 13 +++++- python/helpers/pydev/pydevd.py | 1 - 4 files changed, 29 insertions(+), 64 deletions(-) delete mode 100644 python/helpers/pydev/_pydev_imps/_pydev_django_oscar_patch.py diff --git a/python/helpers/pydev/_pydev_imps/_pydev_django_oscar_patch.py b/python/helpers/pydev/_pydev_imps/_pydev_django_oscar_patch.py deleted file mode 100644 index e0a82f7dcb9c..000000000000 --- a/python/helpers/pydev/_pydev_imps/_pydev_django_oscar_patch.py +++ /dev/null @@ -1,38 +0,0 @@ - -import sys -import traceback - - -def _import_module_patched(module_label, classnames): - """ - Imports the module with the given name. - Returns None if the module doesn't exist, but propagates any import errors. - """ - try: - return __import__(module_label, fromlist=classnames) - except ImportError: - # There are 2 reasons why there could be an ImportError: - # - # 1. Module does not exist. In that case, we ignore the import and - # return None - # 2. Module exists but another ImportError occurred when trying to - # import the module. In that case, it is important to propagate the - # error. - # - # ImportError does not provide easy way to distinguish those two cases. - # Fortunately, the traceback of the ImportError starts at __import__ - # statement. If the traceback has more than one frame, it means that - # application was found and ImportError originates within the local app - # - # Changes in patch: change 1 to 2 frames because of the frame, added by - # plugin_import. - # - __, __, exc_traceback = sys.exc_info() - frames = traceback.extract_tb(exc_traceback) - if len(frames) > 2: - raise - - -def patch_oscar_loading(): - module = sys.modules['oscar.core.loading'] - setattr(module, '_import_module', _import_module_patched) diff --git a/python/helpers/pydev/_pydev_imps/_pydev_pluginbase.py b/python/helpers/pydev/_pydev_imps/_pydev_pluginbase.py index dc1ab05907a1..41ece7191f62 100644 --- a/python/helpers/pydev/_pydev_imps/_pydev_pluginbase.py +++ b/python/helpers/pydev/_pydev_imps/_pydev_pluginbase.py @@ -12,7 +12,7 @@ import os import sys -from pydevd_constants import IS_PY24, IS_PY3K, IS_JYTHON, DictContains, DictPop +from pydevd_constants import IS_PY24, IS_PY3K, IS_JYTHON if IS_PY24: from _pydev_imps._pydev_uuid_old import uuid4 @@ -405,16 +405,6 @@ class _ImportHook(ModuleType): ModuleType.__init__(self, name) self._system_import = system_import self.enabled = True - self._modules_to_patch = {} - self._add_modules_for_patching() - - def _add_modules_for_patching(self): - try: - from _pydev_imps._pydev_django_oscar_patch import \ - patch_oscar_loading - self._modules_to_patch['oscar.core.loading'] = patch_oscar_loading - except: - sys.stderr.write("Adding modules to patch in pluginbase failed\n") def enable(self): """Enables the import hook which drives the plugin base system. @@ -458,26 +448,29 @@ class _ImportHook(ModuleType): level = -1 if IS_JYTHON: import_name = name - - activate_func = None - if name == import_name and DictContains(self._modules_to_patch, name): - activate_func = DictPop(self._modules_to_patch, name) - - module = self._system_import(import_name, globals, locals, fromlist, level) - try: - if activate_func: - activate_func() #call activate function - except: - sys.stderr.write("Patching modules in pluginbase failed\n") - return module - + return self._system_import(import_name, globals, locals, + fromlist, level) try: import __builtin__ as builtins except ImportError: import builtins + import_hook = _ImportHook(__name__ + '.import_hook', builtins.__import__) builtins.__import__ = import_hook.plugin_import sys.modules[import_hook.__name__] = import_hook del builtins + + +def patched_exc_info(): + type, value, traceback = sys.system_exc_info() + if type == ImportError: + #we should not show frame added by plugin_import call + return type, value, traceback.tb_next + return type, value, traceback + + +system_exc_info = sys.exc_info +sys.exc_info = patched_exc_info +sys.system_exc_info = system_exc_info diff --git a/python/helpers/pydev/pydev_monkey_qt.py b/python/helpers/pydev/pydev_monkey_qt.py index 06a3f47b65ad..2da5655f5dff 100644 --- a/python/helpers/pydev/pydev_monkey_qt.py +++ b/python/helpers/pydev/pydev_monkey_qt.py @@ -57,10 +57,20 @@ def _patch_import_to_patch_pyqt_on_import(patch_qt_on_import): dotted = patch_qt_on_import + '.' original_import = __import__ + import sys + original_exc_info = sys.exc_info + + def patched_exc_info(): + type, value, traceback = original_exc_info() + if type == ImportError: + #we should not show frame added by patched_import call + return type, value, traceback.tb_next + return type, value, traceback def patched_import(name, *args, **kwargs): if patch_qt_on_import == name or name.startswith(dotted): builtins.__import__ = original_import + sys.exc_info = original_exc_info _internal_patch_qt() # Patch it only when the user would import the qt module return original_import(name, *args, **kwargs) @@ -68,7 +78,8 @@ def _patch_import_to_patch_pyqt_on_import(patch_qt_on_import): import builtins except ImportError: import __builtin__ as builtins - builtins.__import__ = patched_import + builtins.__import__ = patched_import + sys.exc_info = patched_exc_info def _internal_patch_qt(): diff --git a/python/helpers/pydev/pydevd.py b/python/helpers/pydev/pydevd.py index 5aadbe1a1983..5c0106d4cbd1 100644 --- a/python/helpers/pydev/pydevd.py +++ b/python/helpers/pydev/pydevd.py @@ -122,7 +122,6 @@ DONT_TRACE = { '_pydev_pluginbase.py':1, '_pydev_pkgutil_old.py':1, '_pydev_uuid_old.py':1, - '_pydev_django_oscar_patch.py':1, #things from pydev that we don't want to trace '_pydev_execfile.py':1, From 1c1d184de1a91648cf3233dced5d8b17fc6ca3d0 Mon Sep 17 00:00:00 2001 From: Denis Fokin Date: Mon, 22 Dec 2014 21:16:36 +0300 Subject: [PATCH 21/34] MacMessageException -> MessageException (exception fix) --- .../src/com/intellij/openapi/ui/Messages.java | 4 ++++ .../src/com/intellij/ui/MessageException.java} | 6 +++--- .../src/com/intellij/ui/mac/MacMessagesImpl.java | 9 +++++---- .../src/com/intellij/ui/messages/JBMacMessages.java | 4 ++-- 4 files changed, 14 insertions(+), 9 deletions(-) rename platform/{platform-impl/src/com/intellij/ui/mac/MacMessageException.java => platform-api/src/com/intellij/ui/MessageException.java} (82%) diff --git a/platform/platform-api/src/com/intellij/openapi/ui/Messages.java b/platform/platform-api/src/com/intellij/openapi/ui/Messages.java index 5a181694c5db..8e43717da3cc 100644 --- a/platform/platform-api/src/com/intellij/openapi/ui/Messages.java +++ b/platform/platform-api/src/com/intellij/openapi/ui/Messages.java @@ -33,6 +33,7 @@ import com.intellij.ui.BrowserHyperlinkListener; import com.intellij.ui.DocumentAdapter; import com.intellij.ui.InsertPathAction; import com.intellij.ui.ScrollPaneFactory; +import com.intellij.ui.MessageException; import com.intellij.ui.components.JBScrollPane; import com.intellij.ui.mac.MacMessages; import com.intellij.ui.mac.foundation.MacUtil; @@ -485,6 +486,9 @@ public class Messages { return MacMessages.getInstance().showYesNoDialog(title, message, yesText, noText, null, doNotAskOption); } } + catch (MessageException messageException) { + // just show a dialog instead + } catch (Exception exception) { LOG.error(exception); } diff --git a/platform/platform-impl/src/com/intellij/ui/mac/MacMessageException.java b/platform/platform-api/src/com/intellij/ui/MessageException.java similarity index 82% rename from platform/platform-impl/src/com/intellij/ui/mac/MacMessageException.java rename to platform/platform-api/src/com/intellij/ui/MessageException.java index a6609cda40de..8e3da8b693b5 100644 --- a/platform/platform-impl/src/com/intellij/ui/mac/MacMessageException.java +++ b/platform/platform-api/src/com/intellij/ui/MessageException.java @@ -13,13 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.intellij.ui.mac; +package com.intellij.ui; /** * Created by denis on 28/01/14. */ -public class MacMessageException extends RuntimeException { - public MacMessageException(final String message) { +public class MessageException extends RuntimeException { + public MessageException(final String message) { super(message); } } diff --git a/platform/platform-impl/src/com/intellij/ui/mac/MacMessagesImpl.java b/platform/platform-impl/src/com/intellij/ui/mac/MacMessagesImpl.java index 1ffa4e261858..ce1d3b51407a 100644 --- a/platform/platform-impl/src/com/intellij/ui/mac/MacMessagesImpl.java +++ b/platform/platform-impl/src/com/intellij/ui/mac/MacMessagesImpl.java @@ -24,6 +24,7 @@ import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.wm.IdeFocusManager; import com.intellij.openapi.wm.WindowManager; import com.intellij.openapi.wm.impl.ModalityHelper; +import com.intellij.ui.MessageException; import com.intellij.ui.mac.foundation.ID; import com.intellij.ui.mac.foundation.MacUtil; import com.intellij.util.ui.UIUtil; @@ -332,7 +333,7 @@ public class MacMessagesImpl extends MacMessages { method.invoke(theQueue, event); } } - catch (MacMessageException mme) { + catch (MessageException mme) { throw mme; } catch (Throwable e) { @@ -428,7 +429,7 @@ public class MacMessagesImpl extends MacMessages { private ID getParamsAsID() { if (window == null) { - throw new MacMessageException("Window should be in the list."); + throw new MessageException("Window should be in the list."); } params.put(COMMON_DIALOG_PARAM_TYPE.nativeFocusedWindow, window); @@ -598,7 +599,7 @@ public class MacMessagesImpl extends MacMessages { //} queuesFromDocumentRoot.remove(documentRoot); if (blockedDocumentRoots.remove(documentRoot) != null) { - throw new MacMessageException("Owner window has been removed"); + throw new MessageException("Owner window has been removed"); } } }); @@ -732,7 +733,7 @@ public class MacMessagesImpl extends MacMessages { if (SystemInfo.isAppleJvm && MacUtil.getWindowTitle(_window) == null) { // With Apple JDK we cannot find a window if it does not have a title // Let's show a dialog instead of the message. - throw new MacMessageException("MacMessage parent does not have a title."); + throw new MessageException("MacMessage parent does not have a title."); } while (_window != null && MacUtil.getWindowTitle(_window) == null) { _window = _window.getOwner(); diff --git a/platform/platform-impl/src/com/intellij/ui/messages/JBMacMessages.java b/platform/platform-impl/src/com/intellij/ui/messages/JBMacMessages.java index fcc0d5667ec4..b1ca220609aa 100644 --- a/platform/platform-impl/src/com/intellij/ui/messages/JBMacMessages.java +++ b/platform/platform-impl/src/com/intellij/ui/messages/JBMacMessages.java @@ -22,7 +22,7 @@ import com.intellij.openapi.util.registry.Registry; import com.intellij.openapi.wm.IdeFocusManager; import com.intellij.openapi.wm.WindowManager; import com.intellij.openapi.wm.impl.ModalityHelper; -import com.intellij.ui.mac.MacMessageException; +import com.intellij.ui.MessageException; import com.intellij.ui.mac.MacMessagesEmulation; import com.intellij.ui.mac.foundation.MacUtil; import com.intellij.util.ui.UIUtil; @@ -149,7 +149,7 @@ public class JBMacMessages extends MacMessagesEmulation { if (SystemInfo.isAppleJvm && MacUtil.getWindowTitle(_window) == null) { // With Apple JDK we cannot find a window if it does not have a title // Let's show a dialog instead of the message. - throw new MacMessageException("MacMessage parent does not have a title."); + throw new MessageException("MacMessage parent does not have a title."); } while (_window != null && MacUtil.getWindowTitle(_window) == null) { _window = _window.getOwner(); From 53a130122e8331b72f2cdb5e9a308b89266948f0 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Mon, 22 Dec 2014 16:00:48 +0100 Subject: [PATCH 22/34] infer types for PsiTypeElement: since added --- .../src/com/intellij/psi/augment/PsiAugmentProvider.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/java/java-psi-api/src/com/intellij/psi/augment/PsiAugmentProvider.java b/java/java-psi-api/src/com/intellij/psi/augment/PsiAugmentProvider.java index 98df2e44e4c7..3a0824a3f114 100644 --- a/java/java-psi-api/src/com/intellij/psi/augment/PsiAugmentProvider.java +++ b/java/java-psi-api/src/com/intellij/psi/augment/PsiAugmentProvider.java @@ -57,6 +57,8 @@ public abstract class PsiAugmentProvider { * @param typeElement place where inference takes place, * also nested PsiTypeElement-s (e.g. for List PsiTypeElements corresponding to both List and String would be suggested) * @return inferred type or null, if inference is not applicable + * + * @since 14.1 */ @Nullable protected PsiType inferType(PsiTypeElement typeElement) { From 753c71ff310fec2a2303bb96fcbf1b4554552674 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Mon, 22 Dec 2014 19:21:57 +0100 Subject: [PATCH 23/34] track running test: cleanup user selection (allow to track further) when newly started test equals to selection (IDEA-124030) --- .../junit2/ui/actions/RunningTestTracker.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/plugins/junit/src/com/intellij/execution/junit2/ui/actions/RunningTestTracker.java b/plugins/junit/src/com/intellij/execution/junit2/ui/actions/RunningTestTracker.java index 5c4e5f6ce0cf..01c553f32d03 100644 --- a/plugins/junit/src/com/intellij/execution/junit2/ui/actions/RunningTestTracker.java +++ b/plugins/junit/src/com/intellij/execution/junit2/ui/actions/RunningTestTracker.java @@ -60,13 +60,18 @@ class RunningTestTracker extends JUnitAdapter implements TestFrameworkPropertyLi public void onTestChanged(final TestEvent event) { if (event instanceof StateChangedEvent) { final TestProxy proxy = event.getSource(); - if (proxy == myLastRan && !isRunningState(proxy)) { - if (myLastSelected == proxy){ + final boolean isRunning = isRunningState(proxy); + if (isRunning) { + if (proxy.isLeaf()) { + myLastRan = proxy; + } + if (myLastSelected == proxy) { myLastSelected = null; } + } + else if (proxy == myLastRan) { myLastRan = null; } - if (proxy.isLeaf() && isRunningState(proxy)) myLastRan = proxy; myTrackingPolicy.applyTo(proxy); } } From d0d7d1106b1662986d558dd50a25361e982eacb8 Mon Sep 17 00:00:00 2001 From: Denis Fokin Date: Mon, 22 Dec 2014 21:36:04 +0300 Subject: [PATCH 24/34] NullPointer fix --- .../src/com/intellij/ui/messages/SheetController.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/platform/platform-impl/src/com/intellij/ui/messages/SheetController.java b/platform/platform-impl/src/com/intellij/ui/messages/SheetController.java index 0f1f5e388dd5..3deaacdb2c80 100755 --- a/platform/platform-impl/src/com/intellij/ui/messages/SheetController.java +++ b/platform/platform-impl/src/com/intellij/ui/messages/SheetController.java @@ -36,7 +36,9 @@ import java.awt.event.*; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.io.IOException; +import java.net.URI; import java.net.URISyntaxException; +import java.net.URL; /** * Created by Denis Fokin @@ -274,7 +276,12 @@ public class SheetController { if(he.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { if(Desktop.isDesktopSupported()) { try { - Desktop.getDesktop().browse(he.getURL().toURI()); + URL url = he.getURL(); + if (url != null) { + Desktop.getDesktop().browse(url.toURI()); + } else { + LOG.warn("URL is null; HyperlinkEvent: " + he.toString()); + } } catch (IOException e) { LOG.error(e); From 70e786e0965d72fb379dd75eb6c8c470a1d9f2e2 Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Mon, 22 Dec 2014 21:38:45 +0300 Subject: [PATCH 25/34] IDEA-132319 "View as" broken in evaluation dialog --- .../debugger/actions/ViewAsGroup.java | 18 +++++++++---- .../intellij/debugger/engine/JavaValue.java | 25 ++++++++++++++----- 2 files changed, 32 insertions(+), 11 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/actions/ViewAsGroup.java b/java/debugger/impl/src/com/intellij/debugger/actions/ViewAsGroup.java index c4217a179f0f..a34e8a1934d0 100644 --- a/java/debugger/impl/src/com/intellij/debugger/actions/ViewAsGroup.java +++ b/java/debugger/impl/src/com/intellij/debugger/actions/ViewAsGroup.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -75,15 +75,23 @@ public class ViewAsGroup extends ActionGroup implements DumbAware { final DebuggerContextImpl debuggerContext = DebuggerAction.getDebuggerContext(e.getDataContext()); final List values = getSelectedValues(e); + final List selectedNodes = XDebuggerTreeActionBase.getSelectedNodes(e.getDataContext()); LOG.assertTrue(debuggerContext != null && !values.isEmpty()); - debuggerContext.getDebugProcess().getManagerThread().schedule(new DebuggerContextCommandImpl(debuggerContext) { + DebugProcessImpl process = debuggerContext.getDebugProcess(); + if (process == null) { + return; + } + + process.getManagerThread().schedule(new DebuggerContextCommandImpl(debuggerContext) { public void threadAction() { - for (JavaValue value : values) { - value.getDescriptor().setRenderer(myNodeRenderer); + for (final XValueNodeImpl node : selectedNodes) { + final XValue container = node.getValueContainer(); + if (container instanceof JavaValue) { + ((JavaValue)container).setRenderer(myNodeRenderer, node); + } } - DebuggerAction.refreshViews(e); } } ); diff --git a/java/debugger/impl/src/com/intellij/debugger/engine/JavaValue.java b/java/debugger/impl/src/com/intellij/debugger/engine/JavaValue.java index 45166acce45d..b325a696ec14 100644 --- a/java/debugger/impl/src/com/intellij/debugger/engine/JavaValue.java +++ b/java/debugger/impl/src/com/intellij/debugger/engine/JavaValue.java @@ -288,7 +288,7 @@ public class JavaValue extends XNamedValue implements NodeDescriptorProvider, XV return myValueDescriptor.getValueText(); } - private int currentStart = 0; + private int myCurrentChildrenStart = 0; @Override public void computeChildren(@NotNull final XCompositeNode node) { @@ -326,9 +326,9 @@ public class JavaValue extends XNamedValue implements NodeDescriptorProvider, XV @Override public void initChildrenArrayRenderer(ArrayRenderer renderer) { - renderer.START_INDEX = currentStart; - renderer.END_INDEX = currentStart + XCompositeNode.MAX_CHILDREN_TO_SHOW - 1; - currentStart += XCompositeNode.MAX_CHILDREN_TO_SHOW; + renderer.START_INDEX = myCurrentChildrenStart; + renderer.END_INDEX = myCurrentChildrenStart + XCompositeNode.MAX_CHILDREN_TO_SHOW - 1; + myCurrentChildrenStart += XCompositeNode.MAX_CHILDREN_TO_SHOW; } @Override @@ -456,14 +456,14 @@ public class JavaValue extends XNamedValue implements NodeDescriptorProvider, XV public String getEvaluationExpression() { if (evaluationExpression == null) { // TODO: change API to allow to calculate it asynchronously - myEvaluationContext.getManagerThread().invokeAndWait(new DebuggerCommandImpl() { + myEvaluationContext.getManagerThread().invokeAndWait(new SuspendContextCommandImpl(myEvaluationContext.getSuspendContext()) { @Override public Priority getPriority() { return Priority.HIGH; } @Override - protected void action() throws Exception { + public void contextAction() throws Exception { evaluationExpression = ApplicationManager.getApplication().runReadAction(new Computable() { @Override public String compute() { @@ -536,4 +536,17 @@ public class JavaValue extends XNamedValue implements NodeDescriptorProvider, XV } }; } + + public void setRenderer(NodeRenderer nodeRenderer, final XValueNodeImpl node) { + DebuggerManagerThreadImpl.assertIsManagerThread(); + myValueDescriptor.setRenderer(nodeRenderer); + myCurrentChildrenStart = 0; + node.getTree().getLaterInvocator().offer(new Runnable() { + @Override + public void run() { + node.clearChildren(); + computePresentation(node, XValuePlace.TREE); + } + }); + } } From 7f10fb8f4fe044e6a448880ef21ddb5c32a8ca1e Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Mon, 22 Dec 2014 21:45:47 +0300 Subject: [PATCH 26/34] IDEA-131991 Debugger: Referring Objects can't update on View As --- .../impl/src/com/intellij/debugger/actions/ViewAsGroup.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/java/debugger/impl/src/com/intellij/debugger/actions/ViewAsGroup.java b/java/debugger/impl/src/com/intellij/debugger/actions/ViewAsGroup.java index a34e8a1934d0..8c884fdef1f2 100644 --- a/java/debugger/impl/src/com/intellij/debugger/actions/ViewAsGroup.java +++ b/java/debugger/impl/src/com/intellij/debugger/actions/ViewAsGroup.java @@ -114,6 +114,9 @@ public class ViewAsGroup extends ActionGroup implements DumbAware { boolean allApp = true; for (JavaValue value : values) { + if (value instanceof JavaReferringObjectsValue) { // disable for any referrers at all + return AnAction.EMPTY_ARRAY; + } ValueDescriptorImpl valueDescriptor = value.getDescriptor(); anyValueDescriptor = true; if (!valueDescriptor.isValueValid() || !nodeRenderer.isApplicable(valueDescriptor.getType())) { From 39afbd217c3fddbf785fa035fce75eec4c0b2fad Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Mon, 22 Dec 2014 15:44:32 +0100 Subject: [PATCH 27/34] expand and clarify SSR variable tool tips --- .../structuralsearch/plugin/ui/UIUtil.java | 27 +++++++++++++++---- .../source/messages/SSRBundle.properties | 12 ++++++--- 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/platform/structuralsearch/source/com/intellij/structuralsearch/plugin/ui/UIUtil.java b/platform/structuralsearch/source/com/intellij/structuralsearch/plugin/ui/UIUtil.java index 7521b9bbc014..7e0ae86516c1 100644 --- a/platform/structuralsearch/source/com/intellij/structuralsearch/plugin/ui/UIUtil.java +++ b/platform/structuralsearch/source/com/intellij/structuralsearch/plugin/ui/UIUtil.java @@ -146,17 +146,34 @@ public class UIUtil { append(buf, SSRBundle.message("target.tooltip.message")); } if (constraint.getRegExp() != null && constraint.getRegExp().length() > 0) { - append(buf, SSRBundle.message("text.tooltip.message", constraint.isInvertRegExp() ? SSRBundle.message("not.tooltip.message") : "", - constraint.getRegExp(), - constraint.isWithinHierarchy() || constraint.isStrictlyWithinHierarchy() ? - SSRBundle.message("within.hierarchy.tooltip.message") : "")); + append(buf, SSRBundle.message("text.tooltip.message", + constraint.isInvertRegExp() ? SSRBundle.message("not.tooltip.message") : "", constraint.getRegExp())); + } + if (constraint.isWithinHierarchy() || constraint.isStrictlyWithinHierarchy()) { + append(buf, SSRBundle.message("within.hierarchy.tooltip.message")); + } + + if (constraint.isReadAccess()) { + append(buf, SSRBundle.message("value.read.tooltip.message", + constraint.isInvertReadAccess() ? SSRBundle.message("not.tooltip.message") : "")); + } + if (constraint.isWriteAccess()) { + append(buf, SSRBundle.message("value.written.tooltip.message", + constraint.isInvertWriteAccess() ? SSRBundle.message("not.tooltip.message") : "")); } if (constraint.getNameOfExprType() != null && constraint.getNameOfExprType().length() > 0) { append(buf, SSRBundle.message("exprtype.tooltip.message", constraint.isInvertExprType() ? SSRBundle.message("not.tooltip.message") : "", constraint.getNameOfExprType(), - constraint.isExprTypeWithinHierarchy() ? SSRBundle.message("within.hierarchy.tooltip.message") : "")); + constraint.isExprTypeWithinHierarchy() ? SSRBundle.message("supertype.tooltip.message") : "")); + } + + if (constraint.getNameOfFormalArgType() != null && constraint.getNameOfFormalArgType().length() > 0) { + append(buf, SSRBundle.message("expected.type.tooltip.message", + constraint.isInvertFormalType() ? SSRBundle.message("not.tooltip.message") : "", + constraint.getNameOfFormalArgType(), + constraint.isFormalArgTypeWithinHierarchy() ? SSRBundle.message("supertype.tooltip.message") : "")); } if (constraint.getMinCount() == constraint.getMaxCount()) { diff --git a/platform/structuralsearch/source/messages/SSRBundle.properties b/platform/structuralsearch/source/messages/SSRBundle.properties index 5087bf2716d0..03e22b45699a 100644 --- a/platform/structuralsearch/source/messages/SSRBundle.properties +++ b/platform/structuralsearch/source/messages/SSRBundle.properties @@ -169,10 +169,14 @@ script.option.text=Script text\: occurs.tooltip.message=occurs: {0} min.occurs.tooltip.message=min occurs: {0}, max occurs: {1} target.tooltip.message=target -text.tooltip.message={0} like: {1}{2} -exprtype.tooltip.message={0} like: {1}{2} -not.tooltip.message=not -within.hierarchy.tooltip.message=\ within hierarchy +text.tooltip.message=text{0} like: {1} +exprtype.tooltip.message=type{2}{0} like: {1} +supertype.tooltip.message=\ or supertype +expected.type.tooltip.message=expected type{2}{0} like: {1} +value.read.tooltip.message=value is{0} read +value.written.tooltip.message=value is{0} written +not.tooltip.message=\ not +within.hierarchy.tooltip.message=search in supers script.tooltip.message=script: {0} replacement.variable.is.not.defined.message=Replacement variable {0} is not defined. replacement.variable.is.not.valid=Replacement variable {0} has script code problem {1} From 5f41df940da829673c22b51b0b72fc1d140b68d3 Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Mon, 22 Dec 2014 19:48:20 +0100 Subject: [PATCH 28/34] SSR: do ui work on swing thread --- .../plugin/ui/SearchDialog.java | 45 ++++++++++--------- 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/platform/structuralsearch/source/com/intellij/structuralsearch/plugin/ui/SearchDialog.java b/platform/structuralsearch/source/com/intellij/structuralsearch/plugin/ui/SearchDialog.java index 47b5b7144fa5..1c6f87a98e92 100644 --- a/platform/structuralsearch/source/com/intellij/structuralsearch/plugin/ui/SearchDialog.java +++ b/platform/structuralsearch/source/com/intellij/structuralsearch/plugin/ui/SearchDialog.java @@ -10,7 +10,6 @@ import com.intellij.lang.Language; import com.intellij.lang.LanguageUtil; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.Result; -import com.intellij.openapi.application.WriteAction; import com.intellij.openapi.command.WriteCommandAction; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Document; @@ -176,13 +175,19 @@ public class SearchDialog extends DialogWrapper implements ConfigurationCreator ApplicationManager.getApplication().runReadAction(new Runnable() { @Override public void run() { - if (!isValid()) { - getOKAction().setEnabled(false); - } - else { - getOKAction().setEnabled(true); - reportMessage(null, null); - } + final boolean valid = isValid(); + ApplicationManager.getApplication().invokeLater(new Runnable() { + @Override + public void run() { + if (!valid) { + getOKAction().setEnabled(false); + } + else { + getOKAction().setEnabled(true); + reportMessage(null, null); + } + } + }); } }); } @@ -835,11 +840,7 @@ public class SearchDialog extends DialogWrapper implements ConfigurationCreator } catch (MalformedPatternException ex) { if (myRunFindActionOnClose) { - reportMessage( - "this.pattern.is.malformed.message", - searchCriteriaEdit, - ex.getMessage() != null ? ex.getMessage() : "" - ); + reportMessage("this.pattern.is.malformed.message", searchCriteriaEdit, (ex.getMessage() != null) ? ex.getMessage() : ""); result = false; } } @@ -848,16 +849,20 @@ public class SearchDialog extends DialogWrapper implements ConfigurationCreator result = false; } - //getOKAction().setEnabled(result); return result; } - protected void reportMessage(@NonNls String messageId, Editor editor, Object... params) { - final String message = messageId != null ? SSRBundle.message(messageId, params) : ""; - status.setText(message); - status.setToolTipText(message); - status.revalidate(); - statusText.setLabelFor(editor != null ? editor.getContentComponent() : null); + protected void reportMessage(@NonNls final String messageId, final Editor editor, final Object... params) { + com.intellij.util.ui.UIUtil.invokeLaterIfNeeded(new Runnable() { + @Override + public void run() { + final String message = messageId != null ? SSRBundle.message(messageId, params) : ""; + status.setText(message); + status.setToolTipText(message); + status.revalidate(); + statusText.setLabelFor(editor != null ? editor.getContentComponent() : null); + } + }); } protected void setValuesToConfig(Configuration config) { From 8c8d63a4969fd6cc6224d213e8e1438b54d1f362 Mon Sep 17 00:00:00 2001 From: Yaroslav Lepenkin Date: Mon, 22 Dec 2014 21:34:08 +0200 Subject: [PATCH 29/34] run only one AbstractLayoutCodeProcessor, changed order of processing for single file: first comes optimize imports, because it prepares some info for further processing. (IDEA-134402) --- .../actions/AbstractLayoutCodeProcessor.java | 5 ++++- .../codeInsight/actions/RearrangeCodeProcessor.java | 6 ++++-- .../codeInsight/actions/ReformatCodeAction.java | 10 +++++++--- .../codeInsight/actions/ReformatCodeProcessor.java | 5 +++++ 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/actions/AbstractLayoutCodeProcessor.java b/platform/lang-impl/src/com/intellij/codeInsight/actions/AbstractLayoutCodeProcessor.java index bddf88f7d7e6..5fd44fe874ac 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/actions/AbstractLayoutCodeProcessor.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/actions/AbstractLayoutCodeProcessor.java @@ -68,7 +68,7 @@ public abstract class AbstractLayoutCodeProcessor { private final String myProgressText; private final String myCommandName; private final Runnable myPostRunnable; - private final boolean myProcessChangedTextOnly; + private boolean myProcessChangedTextOnly; protected AbstractLayoutCodeProcessor myPreviousCodeProcessor; private List myFilters = ContainerUtil.newArrayList(); @@ -179,6 +179,9 @@ public abstract class AbstractLayoutCodeProcessor { myFilters.add(filter); } + protected void setProcessChangedTextOnly(boolean value) { + myProcessChangedTextOnly = value; + } /** * Ensures that given file is ready to reformatting and prepares it if necessary. * diff --git a/platform/lang-impl/src/com/intellij/codeInsight/actions/RearrangeCodeProcessor.java b/platform/lang-impl/src/com/intellij/codeInsight/actions/RearrangeCodeProcessor.java index 91dca0b669b5..089d4054768b 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/actions/RearrangeCodeProcessor.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/actions/RearrangeCodeProcessor.java @@ -69,13 +69,15 @@ public class RearrangeCodeProcessor extends AbstractLayoutCodeProcessor { @NotNull @Override - protected FutureTask prepareTask(@NotNull final PsiFile file, boolean processChangedTextOnly) { + protected FutureTask prepareTask(@NotNull final PsiFile file, final boolean processChangedTextOnly) { return new FutureTask(new Callable() { @Override public Boolean call() throws Exception { if (!shouldRearrangeFile(file)) return true; - Collection ranges = getRangesToFormat(file); + Collection ranges = processChangedTextOnly ? FormatChangedTextUtil.getChangedTextRanges(myProject, file) + : getRangesToFormat(file); + RearrangeCommand rearranger = new RearrangeCommand(myProject, file, COMMAND_NAME, ranges); if (rearranger.couldRearrange()) { rearranger.run(); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/actions/ReformatCodeAction.java b/platform/lang-impl/src/com/intellij/codeInsight/actions/ReformatCodeAction.java index 9ec010fcf543..ee81aa3d4ae1 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/actions/ReformatCodeAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/actions/ReformatCodeAction.java @@ -183,16 +183,20 @@ public class ReformatCodeAction extends AnAction implements DumbAware { range = null; } + AbstractLayoutCodeProcessor processor; if (optimizeImports && range == null) { - new OptimizeImportsProcessor(new ReformatCodeProcessor(project, file, null, processChangedTextOnly)).run(); + processor = new OptimizeImportsProcessor(project, file); + processor = new ReformatCodeProcessor(processor, processChangedTextOnly); } else { - new ReformatCodeProcessor(project, file, range, !processSelectedText && processChangedTextOnly).run(); + processor = new ReformatCodeProcessor(project, file, range, !processSelectedText && processChangedTextOnly); } if (rearrangeEntries && editor != null) { - new RearrangeCodeProcessor(project, file, editor.getSelectionModel()).run(); + processor = new RearrangeCodeProcessor(processor, null); } + + processor.run(); } private static boolean isChangeNotTrackedForFile(@NotNull Project project, @NotNull PsiFile file) { diff --git a/platform/lang-impl/src/com/intellij/codeInsight/actions/ReformatCodeProcessor.java b/platform/lang-impl/src/com/intellij/codeInsight/actions/ReformatCodeProcessor.java index 270f2f92f3cf..4ebe9274c1ca 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/actions/ReformatCodeProcessor.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/actions/ReformatCodeProcessor.java @@ -53,6 +53,11 @@ public class ReformatCodeProcessor extends AbstractLayoutCodeProcessor { super(project, COMMAND_NAME, PROGRESS_TEXT, processChangedTextOnly); } + public ReformatCodeProcessor(AbstractLayoutCodeProcessor processor, boolean processChangedTextOnly) { + super(processor, COMMAND_NAME, PROGRESS_TEXT); + setProcessChangedTextOnly(processChangedTextOnly); + } + public ReformatCodeProcessor(Project project, Module module, boolean processChangedTextOnly) { super(project, module, COMMAND_NAME, PROGRESS_TEXT, processChangedTextOnly); } From 8e5bf0aa2eb0c42b90558e4ca0c55526f0ce5fe8 Mon Sep 17 00:00:00 2001 From: Yaroslav Lepenkin Date: Mon, 22 Dec 2014 21:43:40 +0200 Subject: [PATCH 30/34] RearrangeCodeProcessor: removed unused parameter --- .../codeInsight/actions/RearrangeCodeProcessor.java | 11 +---------- .../codeInsight/actions/ReformatCodeAction.java | 8 ++++---- .../actions/ReformatFilesWithFiltersTest.java | 6 +----- 3 files changed, 6 insertions(+), 19 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/actions/RearrangeCodeProcessor.java b/platform/lang-impl/src/com/intellij/codeInsight/actions/RearrangeCodeProcessor.java index 089d4054768b..b34fcb858108 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/actions/RearrangeCodeProcessor.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/actions/RearrangeCodeProcessor.java @@ -40,13 +40,10 @@ public class RearrangeCodeProcessor extends AbstractLayoutCodeProcessor { public static final String COMMAND_NAME = "Rearrange code"; public static final String PROGRESS_TEXT = "Rearranging code..."; - @Nullable private Condition myAcceptCondition; @Nullable private SelectionModel mySelectionModel; - public RearrangeCodeProcessor(@NotNull AbstractLayoutCodeProcessor previousProcessor, - @Nullable Condition acceptCondition) { + public RearrangeCodeProcessor(@NotNull AbstractLayoutCodeProcessor previousProcessor) { super(previousProcessor, COMMAND_NAME, PROGRESS_TEXT); - myAcceptCondition = acceptCondition; } public RearrangeCodeProcessor(@NotNull Project project, @@ -63,18 +60,12 @@ public class RearrangeCodeProcessor extends AbstractLayoutCodeProcessor { super(project, files, PROGRESS_TEXT, commandName, postRunnable, false); } - public boolean shouldRearrangeFile(@NotNull PsiFile file) { - return myAcceptCondition == null || myAcceptCondition.value(file); - } - @NotNull @Override protected FutureTask prepareTask(@NotNull final PsiFile file, final boolean processChangedTextOnly) { return new FutureTask(new Callable() { @Override public Boolean call() throws Exception { - if (!shouldRearrangeFile(file)) return true; - Collection ranges = processChangedTextOnly ? FormatChangedTextUtil.getChangedTextRanges(myProject, file) : getRangesToFormat(file); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/actions/ReformatCodeAction.java b/platform/lang-impl/src/com/intellij/codeInsight/actions/ReformatCodeAction.java index ee81aa3d4ae1..bcbd0fd6738d 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/actions/ReformatCodeAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/actions/ReformatCodeAction.java @@ -103,7 +103,7 @@ public class ReformatCodeAction extends AnAction implements DumbAware { processor = new OptimizeImportsProcessor(processor); } if (selectedFlags.isRearrangeEntries()) { - processor = new RearrangeCodeProcessor(processor, null); + processor = new RearrangeCodeProcessor(processor); } processor.run(); @@ -193,7 +193,7 @@ public class ReformatCodeAction extends AnAction implements DumbAware { } if (rearrangeEntries && editor != null) { - processor = new RearrangeCodeProcessor(processor, null); + processor = new RearrangeCodeProcessor(processor); } processor.run(); @@ -249,7 +249,7 @@ public class ReformatCodeAction extends AnAction implements DumbAware { processor = new OptimizeImportsProcessor(processor); } if (options.isRearrangeEntries()) { - processor = new RearrangeCodeProcessor(processor, null); + processor = new RearrangeCodeProcessor(processor); } processor.run(); @@ -276,7 +276,7 @@ public class ReformatCodeAction extends AnAction implements DumbAware { } if (selectedFlags.isRearrangeEntries()) { - processor = new RearrangeCodeProcessor(processor, null); + processor = new RearrangeCodeProcessor(processor); } processor.run(); diff --git a/platform/platform-tests/testSrc/com/intellij/codeInsight/actions/ReformatFilesWithFiltersTest.java b/platform/platform-tests/testSrc/com/intellij/codeInsight/actions/ReformatFilesWithFiltersTest.java index 799e924c587d..e586093aad93 100644 --- a/platform/platform-tests/testSrc/com/intellij/codeInsight/actions/ReformatFilesWithFiltersTest.java +++ b/platform/platform-tests/testSrc/com/intellij/codeInsight/actions/ReformatFilesWithFiltersTest.java @@ -1,8 +1,6 @@ - package com.intellij.codeInsight.actions; import com.intellij.lang.LanguageFormatting; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.fileTypes.PlainTextLanguage; import com.intellij.psi.PsiDirectory; import com.intellij.psi.PsiFile; @@ -11,13 +9,11 @@ import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.search.SearchScope; import com.intellij.testFramework.LightPlatformTestCase; import com.intellij.testFramework.PlatformTestCase; -import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.picocontainer.MutablePicoContainer; import java.io.IOException; -import java.util.Collection; import java.util.Set; import static com.intellij.psi.search.GlobalSearchScopesCore.directoryScope; @@ -246,7 +242,7 @@ public class ReformatFilesWithFiltersTest extends LightPlatformTestCase { AbstractLayoutCodeProcessor processor = new ReformatCodeProcessor(getProject(), directory, true, false); ReformatCodeAction.registerScopeFilter(processor, scope); - processor = new RearrangeCodeProcessor(processor, null); + processor = new RearrangeCodeProcessor(processor); processor.run(); } From 4e026aed26dcb1a7cf737aaa40a79df754901e10 Mon Sep 17 00:00:00 2001 From: Denis Fokin Date: Mon, 22 Dec 2014 22:07:24 +0300 Subject: [PATCH 31/34] An exception is fixed --- .../src/com/intellij/ui/messages/SheetController.java | 2 +- .../src/com/intellij/ui/messages/SheetMessage.java | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ui/messages/SheetController.java b/platform/platform-impl/src/com/intellij/ui/messages/SheetController.java index 3deaacdb2c80..ab3ad1779546 100755 --- a/platform/platform-impl/src/com/intellij/ui/messages/SheetController.java +++ b/platform/platform-impl/src/com/intellij/ui/messages/SheetController.java @@ -294,7 +294,7 @@ public class SheetController { } }); - FontMetrics fontMetrics = mySheetMessage.getFontMetrics(regularFont); + FontMetrics fontMetrics = sheetPanel.getFontMetrics(regularFont); int widestWordWidth = 250; diff --git a/platform/platform-impl/src/com/intellij/ui/messages/SheetMessage.java b/platform/platform-impl/src/com/intellij/ui/messages/SheetMessage.java index 40b7ed6a4c6f..7837b48ab3fa 100755 --- a/platform/platform-impl/src/com/intellij/ui/messages/SheetMessage.java +++ b/platform/platform-impl/src/com/intellij/ui/messages/SheetMessage.java @@ -259,11 +259,6 @@ public class SheetMessage { } }); } - - FontMetrics getFontMetrics(final Font f) { - final Component c = (myParent == null) ? WindowManagerEx.getInstanceEx().getMostRecentFocusedWindow() : myParent; - return c.getGraphics().getFontMetrics(f); - } } From 790db948e8c6fa013d9153c4d75c82516ec1256d Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Mon, 22 Dec 2014 20:52:05 +0100 Subject: [PATCH 32/34] add PsiPackage.getChildren() API and corresponding extension API in PsiElementFinder. (In Kotlin, packages really contain files rather than classes, and the new API allows to enumerate the files contained in the package, even if those files contain only top-level functions and no classes.) --- .../com/intellij/psi/PsiElementFinder.java | 32 ++++++++++++ .../src/com/intellij/psi/PsiPackage.java | 8 +++ .../intellij/psi/impl/JavaPsiFacadeImpl.java | 52 +++++++++++++++++++ .../psi/impl/file/PsiPackageImpl.java | 11 ++++ 4 files changed, 103 insertions(+) diff --git a/java/java-psi-api/src/com/intellij/psi/PsiElementFinder.java b/java/java-psi-api/src/com/intellij/psi/PsiElementFinder.java index 8ae3ca80e175..85b5cf1b6e42 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiElementFinder.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiElementFinder.java @@ -20,6 +20,7 @@ import com.intellij.psi.search.GlobalSearchScope; import com.intellij.util.Processor; import com.intellij.util.SmartList; import com.intellij.util.containers.ContainerUtil; +import com.intellij.util.containers.Predicate; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -99,6 +100,37 @@ public abstract class PsiElementFinder { return PsiClass.EMPTY_ARRAY; } + /** + * Returns a list of children (classes, subpackages and possibly other elements) belonging to the specified package. + * + * @param psiPackage the package to return the list of children for. + * @param scope the scope in which children are searched. + * @return the list of children. + * @since 14.1 + */ + @NotNull + public PsiNamedElement[] getChildren(@NotNull PsiPackage psiPackage, @NotNull GlobalSearchScope scope) { + Set children = new HashSet(); + Collections.addAll(children, getSubPackages(psiPackage, scope)); + Collections.addAll(children, getClasses(psiPackage, scope)); + return children.toArray(new PsiNamedElement[children.size()]); + } + + /** + * Returns the filter to use for filtering the list of children for a given package produced by other PsiElementFinder + * implementations. (For example, the list of children for a Kotlin package includes files directly, rather than classes, + * so the classes located by the standard Java package children finder need to be excluded.) + * + * @param psiPackage the package to return the list of children for. + * @param scope the scope in which children are searched. + * @return the filter to use, or null if no additional filtering is necessary. + * @since 14.1 + */ + @Nullable + public Predicate getPackageChildrenFilter(@NotNull PsiPackage psiPackage, @NotNull GlobalSearchScope scope) { + return null; + } + /** * A method to optimize resolve (to only search classes in a package which might be there) */ diff --git a/java/java-psi-api/src/com/intellij/psi/PsiPackage.java b/java/java-psi-api/src/com/intellij/psi/PsiPackage.java index 65e0af8265ad..cab1728ad650 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiPackage.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiPackage.java @@ -83,6 +83,14 @@ public interface PsiPackage extends PsiCheckedRenameElement, NavigationItem, Psi @NotNull PsiClass[] getClasses(@NotNull GlobalSearchScope scope); + /** + * Returns the list of all elements (classes, subpackages and potentially other elements) belonging to this package + * (non-recursively), restricted by the specified scope. + * + * @since 14.1 + */ + PsiElement[] getChildren(@NotNull GlobalSearchScope scope); + /** * Returns the list of package-level annotations for the package. * diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java index e623f0714deb..52cad7cfaccd 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java @@ -35,6 +35,8 @@ import com.intellij.util.ConcurrencyUtil; import com.intellij.util.Processor; import com.intellij.util.SmartList; import com.intellij.util.containers.ContainerUtil; +import com.intellij.util.containers.HashMap; +import com.intellij.util.containers.Predicate; import com.intellij.util.messages.MessageBus; import gnu.trove.THashSet; import org.jetbrains.annotations.NotNull; @@ -240,6 +242,56 @@ public class JavaPsiFacadeImpl extends JavaPsiFacadeEx { return result == null ? PsiClass.EMPTY_ARRAY : result.toArray(new PsiClass[result.size()]); } + private static class AndPredicate implements Predicate { + private final List> myComponents = new SmartList>(); + + public AndPredicate(Predicate filter1, Predicate filter2) { + myComponents.add(filter1); + myComponents.add(filter2); + } + + @Override + public boolean apply(@Nullable PsiNamedElement input) { + for (Predicate component : myComponents) { + if (!component.apply(input)) { + return false; + } + } + return true; + } + } + + @NotNull + public PsiElement[] getPackageChildren(@NotNull PsiPackage psiPackage, @NotNull GlobalSearchScope scope) { + Map result = new HashMap(); + Predicate filter = null; + + for (PsiElementFinder finder : filteredFinders()) { + Predicate finderFilter = finder.getPackageChildrenFilter(psiPackage, scope); + if (finderFilter != null) { + if (filter == null) { + filter = finderFilter; + } + else if (filter instanceof AndPredicate) { + ((AndPredicate) filter).myComponents.add(finderFilter); + } + else { + filter = new AndPredicate(filter, finderFilter); + } + } + } + + for (PsiElementFinder finder : filteredFinders()) { + PsiNamedElement[] children = finder.getChildren(psiPackage, scope); + for (PsiNamedElement child : children) { + if (!result.containsKey(child.getName()) && (filter == null || filter.apply(child))) { + result.put(child.getName(), child); + } + } + } + return result.values().toArray(new PsiElement[result.size()]); + } + public boolean processPackageDirectories(@NotNull PsiPackage psiPackage, @NotNull GlobalSearchScope scope, @NotNull Processor consumer, diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/file/PsiPackageImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/file/PsiPackageImpl.java index f0862c14ab79..d1b0a3553a13 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/file/PsiPackageImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/file/PsiPackageImpl.java @@ -153,6 +153,17 @@ public class PsiPackageImpl extends PsiPackageBase implements PsiPackage, Querya return getFacade().getClasses(this, scope); } + @NotNull + @Override + public PsiElement[] getChildren() { + return getChildren(allScope()); + } + + @Override + public PsiElement[] getChildren(@NotNull GlobalSearchScope scope) { + return getFacade().getPackageChildren(this, scope); + } + @Override @Nullable public PsiModifierList getAnnotationList() { From f795ea114e6b0cad3b89a4f1f9114e72b1f04f9c Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Mon, 22 Dec 2014 20:56:21 +0100 Subject: [PATCH 33/34] Use PsiPackage.getChildren() to get the list of nodes to show. Add API in JavaCoverageExtension to allow showing summary data for elements which aren't classes or packages. Add another API to store coverage data for some of the .class files for which we weren't able to locate the source code, and to include the coverage data for those classes in package-level summary statistics. --- .../coverage/JavaCoverageEngineExtension.java | 23 ++++ .../intellij/coverage/PackageAnnotator.java | 57 ++++++---- .../view/JavaCoverageViewExtension.java | 104 +++++++++--------- 3 files changed, 115 insertions(+), 69 deletions(-) diff --git a/plugins/coverage/src/com/intellij/coverage/JavaCoverageEngineExtension.java b/plugins/coverage/src/com/intellij/coverage/JavaCoverageEngineExtension.java index acef8806f89f..44f5ab941613 100644 --- a/plugins/coverage/src/com/intellij/coverage/JavaCoverageEngineExtension.java +++ b/plugins/coverage/src/com/intellij/coverage/JavaCoverageEngineExtension.java @@ -7,6 +7,7 @@ import com.intellij.openapi.module.Module; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiFile; +import com.intellij.psi.PsiNamedElement; import com.intellij.rt.coverage.data.LineData; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -78,4 +79,26 @@ public abstract class JavaCoverageEngineExtension { public boolean isSourceMapNeeded(RunConfigurationBase runConfiguration) { return false; } + + /** + * Returns the summary information for the specified object (other than a class or a file) shown in the coverage view. + */ + @Nullable + public PackageAnnotator.ClassCoverageInfo getSummaryCoverageInfo(JavaCoverageAnnotator coverageAnnotator, PsiNamedElement element) { + return null; + } + + /** + * Returns true if the class coverage info for the specified .class file, for which it wasn't possible to find a corresponding + * source file, needs to be preserved and made available as {@link JavaCoverageAnnotator#getClassCoverageInfo(String)}. + * The qualified name under which the data will be available is calculated by replacing slashes with dots in the path of the + * .class file relative to the class output root. The statistics for such classes will be included in the statistics for + * the package with the corresponding qualified name but will not be included in the statistics of any directories. + * + * @param bundle the coverage suites bundle being indexed. + * @param classFile the class file. + */ + public boolean keepCoverageInfoForClassWithoutSource(CoverageSuitesBundle bundle, File classFile) { + return false; + } } diff --git a/plugins/coverage/src/com/intellij/coverage/PackageAnnotator.java b/plugins/coverage/src/com/intellij/coverage/PackageAnnotator.java index b4a935fc1ee3..c60df2461fca 100644 --- a/plugins/coverage/src/com/intellij/coverage/PackageAnnotator.java +++ b/plugins/coverage/src/com/intellij/coverage/PackageAnnotator.java @@ -97,6 +97,15 @@ public class PackageAnnotator { public int getCoveredLineCount() { return coveredLineCount; } + + public void append(SummaryCoverageInfo info) { + totalClassCount += info.totalClassCount; + totalLineCount += info.totalLineCount; + coveredClassCount += info.coveredClassCount; + coveredLineCount += info.getCoveredLineCount(); + coveredMethodCount += info.coveredMethodCount; + totalMethodCount += info.totalMethodCount; + } } public static class DirCoverageInfo extends PackageCoverageInfo { @@ -251,6 +260,7 @@ public class PackageAnnotator { dirs.add(new DirCoverageInfo(relativeSrcRoot)); } } + final PackageCoverageInfo classWithoutSourceCoverageInfo = new PackageCoverageInfo(); final File[] children = packageOutputRoot.listFiles(); @@ -300,15 +310,29 @@ public class PackageAnnotator { && (trackTestFolders || !fileIndex.isInTestSourceContent(containingFileRef.get())); } }); + PackageCoverageInfo coverageInfoForClass = null; if (isInSource != null && isInSource.booleanValue()) { for (DirCoverageInfo dirCoverageInfo : dirs) { if (dirCoverageInfo.sourceRoot != null && VfsUtil.isAncestor(dirCoverageInfo.sourceRoot, containingFileRef.get(), false)) { - collectClassCoverageInformation(child, psiClassRef.get(), dirCoverageInfo, projectInfo, toplevelClassCoverage, - classFqVMName.replace("/", "."), toplevelClassSrcFQName); + coverageInfoForClass = dirCoverageInfo; break; } } } + String classCoverageKey = toplevelClassSrcFQName; + if (coverageInfoForClass == null) { + for (JavaCoverageEngineExtension extension : JavaCoverageEngineExtension.EP_NAME.getExtensions()) { + if (extension.keepCoverageInfoForClassWithoutSource(myCoverageManager.getCurrentSuitesBundle(), child)) { + classCoverageKey = classFqVMName.replace('/', '.'); + coverageInfoForClass = classWithoutSourceCoverageInfo; + break; + } + } + } + if (coverageInfoForClass != null) { + collectClassCoverageInformation(child, psiClassRef.get(), coverageInfoForClass, projectInfo, toplevelClassCoverage, + classFqVMName.replace("/", "."), classCoverageKey); + } } } } @@ -322,24 +346,12 @@ public class PackageAnnotator { PackageCoverageInfo flattenPackageCoverageInfo = getOrCreateCoverageInfo(flattenPackageCoverageMap, packageVMName); for (Map.Entry entry : toplevelClassCoverage.entrySet()) { final ClassCoverageInfo coverageInfo = entry.getValue(); - flattenPackageCoverageInfo.coveredClassCount += coverageInfo.coveredClassCount; - flattenPackageCoverageInfo.totalClassCount += coverageInfo.totalClassCount; - - flattenPackageCoverageInfo.coveredLineCount += coverageInfo.fullyCoveredLineCount + coverageInfo.partiallyCoveredLineCount; - flattenPackageCoverageInfo.totalLineCount += coverageInfo.totalLineCount; - - flattenPackageCoverageInfo.coveredMethodCount += coverageInfo.coveredMethodCount; - flattenPackageCoverageInfo.totalMethodCount += coverageInfo.totalMethodCount; + flattenPackageCoverageInfo.append(coverageInfo); } PackageCoverageInfo packageCoverageInfo = getOrCreateCoverageInfo(packageCoverageMap, packageVMName); for (DirCoverageInfo dir : dirs) { - packageCoverageInfo.totalClassCount += dir.totalClassCount; - packageCoverageInfo.totalLineCount += dir.totalLineCount; - packageCoverageInfo.coveredClassCount += dir.coveredClassCount; - packageCoverageInfo.coveredLineCount += dir.coveredLineCount; - packageCoverageInfo.coveredMethodCount += dir.coveredMethodCount; - packageCoverageInfo.totalMethodCount += dir.totalMethodCount; + packageCoverageInfo.append(dir); if (isTestHierarchy) { annotator.annotateTestDirectory(dir.sourceRoot, dir, module); @@ -348,6 +360,7 @@ public class PackageAnnotator { annotator.annotateSourceDirectory(dir.sourceRoot, dir, module); } } + packageCoverageInfo.append(classWithoutSourceCoverageInfo); return dirs.toArray(new DirCoverageInfo[dirs.size()]); } @@ -370,7 +383,8 @@ public class PackageAnnotator { return coverageInfo; } - private void collectClassCoverageInformation(final File classFile, final PsiClass psiClass, final PackageCoverageInfo packageCoverageInfo, + private void collectClassCoverageInformation(final File classFile, + @Nullable final PsiClass psiClass, final PackageCoverageInfo packageCoverageInfo, final ProjectData projectInfo, final Map toplevelClassCoverage, final String className, @@ -440,14 +454,17 @@ public class PackageAnnotator { * Checks if the method is a default constructor generated by the compiler. Such constructors are not marked as synthetic * in the bytecode, so we need to look at the PSI to see if the class defines such a constructor. */ - private static boolean isGeneratedDefaultConstructor(final PsiClass aClass, String nameAndSig) { + private static boolean isGeneratedDefaultConstructor(@Nullable final PsiClass aClass, String nameAndSig) { if (DEFAULT_CONSTRUCTOR_NAME_SIGNATURE.equals(nameAndSig)) { return hasGeneratedConstructor(aClass); } return false; } - private static boolean hasGeneratedConstructor(final PsiClass aClass) { + private static boolean hasGeneratedConstructor(@Nullable final PsiClass aClass) { + if (aClass == null) { + return false; + } return ApplicationManager.getApplication().runReadAction(new Computable() { public Boolean compute() { return aClass.getConstructors().length == 0; @@ -480,7 +497,7 @@ public class PackageAnnotator { return true if there is executable code in the class */ private boolean collectNonCoveredClassInfo(final File classFile, - PsiClass psiClass, + @Nullable PsiClass psiClass, final ClassCoverageInfo classCoverageInfo, final PackageCoverageInfo packageCoverageInfo) { final byte[] content = myCoverageManager.doInReadActionIfProjectOpen(new Computable() { diff --git a/plugins/coverage/src/com/intellij/coverage/view/JavaCoverageViewExtension.java b/plugins/coverage/src/com/intellij/coverage/view/JavaCoverageViewExtension.java index e7f780a99967..c4ccc66e30cf 100644 --- a/plugins/coverage/src/com/intellij/coverage/view/JavaCoverageViewExtension.java +++ b/plugins/coverage/src/com/intellij/coverage/view/JavaCoverageViewExtension.java @@ -79,18 +79,25 @@ public class JavaCoverageViewExtension extends CoverageViewExtension { } public PackageAnnotator.SummaryCoverageInfo getSummaryCoverageForNodeValue(Object value) { - PackageAnnotator.SummaryCoverageInfo info = null; if (value instanceof PsiClass) { //no coverage gathered if (!((PsiClass)value).isInterface()) { final String qualifiedName = ((PsiClass)value).getQualifiedName(); - info = myAnnotator.getClassCoverageInfo(qualifiedName); + return myAnnotator.getClassCoverageInfo(qualifiedName); } } if (value instanceof PsiPackage) { - info = myAnnotator.getPackageCoverageInfo((PsiPackage)value, myStateBean.myFlattenPackages); + return myAnnotator.getPackageCoverageInfo((PsiPackage)value, myStateBean.myFlattenPackages); } - return info; + if (value instanceof PsiNamedElement) { + for (JavaCoverageEngineExtension extension : JavaCoverageEngineExtension.EP_NAME.getExtensions()) { + PackageAnnotator.SummaryCoverageInfo info = extension.getSummaryCoverageInfo(myAnnotator, (PsiNamedElement)value); + if (info != null) { + return info; + } + } + } + return null; } @Override @@ -157,12 +164,11 @@ public class JavaCoverageViewExtension extends CoverageViewExtension { for (PsiPackage aPackage : packages) { final GlobalSearchScope searchScope = mySuitesBundle.getSearchScope(myProject); - if (aPackage.getDirectories(searchScope).length == 0) continue; if (aPackage.getClasses(searchScope).length != 0) { final CoverageListNode node = new CoverageListNode(myProject, aPackage, mySuitesBundle, myStateBean); topLevelNodes.add(node); } - collectSubPackages(topLevelNodes, aPackage, mySuitesBundle, myStateBean); + collectSubPackages(topLevelNodes, aPackage); } for (PsiClass aClass : classes) { @@ -172,44 +178,34 @@ public class JavaCoverageViewExtension extends CoverageViewExtension { return topLevelNodes; } - private static void collectSubPackages(List children, - final PsiPackage rootPackage, - final CoverageSuitesBundle data, - final CoverageViewManager.StateBean stateBean) { - final GlobalSearchScope searchScope = data.getSearchScope(rootPackage.getProject()); + private void collectSubPackages(List children, final PsiPackage rootPackage) { + final GlobalSearchScope searchScope = mySuitesBundle.getSearchScope(rootPackage.getProject()); final PsiPackage[] subPackages = ApplicationManager.getApplication().runReadAction(new Computable() { public PsiPackage[] compute() { return rootPackage.getSubPackages(searchScope); } }); for (final PsiPackage aPackage : subPackages) { - final PsiDirectory[] directories = ApplicationManager.getApplication().runReadAction(new Computable() { - public PsiDirectory[] compute() { - return aPackage.getDirectories(searchScope); - } - }); - if (directories.length == 0 && !ApplicationManager.getApplication().runReadAction(new Computable() { - public Boolean compute() { - return JavaPsiFacade.getInstance(aPackage.getProject()).isPartOfPackagePrefix(aPackage.getQualifiedName()); - } - })) continue; - if (ApplicationManager.getApplication().runReadAction(new Computable() { - public Boolean compute() { - return isInCoverageScope(aPackage, data); - } - })) { - final CoverageListNode node = new CoverageListNode(rootPackage.getProject(), aPackage, data, stateBean); - children.add(node); - } - else if (!stateBean.myFlattenPackages) { - collectSubPackages(children, aPackage, data, stateBean); - } - if (stateBean.myFlattenPackages) { - collectSubPackages(children, aPackage, data, stateBean); - } + processSubPackage(aPackage, children); } } + private void processSubPackage(final PsiPackage aPackage, List children) { + if (ApplicationManager.getApplication().runReadAction(new Computable() { + public Boolean compute() { + return isInCoverageScope(aPackage); + } + })) { + final CoverageListNode node = new CoverageListNode(aPackage.getProject(), aPackage, mySuitesBundle, myStateBean); + children.add(node); + } + else if (!myStateBean.myFlattenPackages) { + collectSubPackages(children, aPackage); + } + if (myStateBean.myFlattenPackages) { + collectSubPackages(children, aPackage); + } + } @Override public List getChildrenNodes(final AbstractTreeNode node) { @@ -220,24 +216,34 @@ public class JavaCoverageViewExtension extends CoverageViewExtension { //append package classes if (val instanceof PsiPackage) { - if (!myStateBean.myFlattenPackages) { - collectSubPackages(children, (PsiPackage)val, mySuitesBundle, myStateBean); - } + final PsiPackage psiPackage = (PsiPackage) val; if (ApplicationManager.getApplication().runReadAction(new Computable() { public Boolean compute() { - return isInCoverageScope((PsiPackage)val, mySuitesBundle); + return isInCoverageScope(psiPackage); } })) { - final PsiClass[] classes = ApplicationManager.getApplication().runReadAction(new Computable() { - public PsiClass[] compute() { - return ((PsiPackage)val).getClasses(mySuitesBundle.getSearchScope(node.getProject())); + final PsiElement[] childElements = ApplicationManager.getApplication().runReadAction(new Computable() { + public PsiElement[] compute() { + return psiPackage.getChildren(mySuitesBundle.getSearchScope(node.getProject())); } }); - for (PsiClass aClass : classes) { - if (!(node instanceof CoverageListRootNode) && getClassCoverageInfo(aClass) == null) continue; - children.add(new CoverageListNode(myProject, aClass, mySuitesBundle, myStateBean)); + for (PsiElement element : childElements) { + if (element instanceof PsiClass) { + PsiClass aClass = (PsiClass) element; + if (!(node instanceof CoverageListRootNode) && getClassCoverageInfo(aClass) == null) continue; + children.add(new CoverageListNode(myProject, aClass, mySuitesBundle, myStateBean)); + } + else if (element instanceof PsiPackage) { + processSubPackage((PsiPackage) element, children); + } + else if (element instanceof PsiNamedElement) { + children.add(new CoverageListNode(myProject, (PsiNamedElement) element, mySuitesBundle, myStateBean)); + } } } + else if (!myStateBean.myFlattenPackages) { + collectSubPackages(children, (PsiPackage)val); + } } if (node instanceof CoverageListRootNode) { for (CoverageSuite suite : mySuitesBundle.getSuites()) { @@ -273,11 +279,11 @@ public class JavaCoverageViewExtension extends CoverageViewExtension { }; } - private static boolean isInCoverageScope(PsiElement element, CoverageSuitesBundle suitesBundle) { + private boolean isInCoverageScope(PsiElement element) { if (element instanceof PsiPackage) { final PsiPackage psiPackage = (PsiPackage)element; final String qualifiedName = psiPackage.getQualifiedName(); - for (CoverageSuite suite : suitesBundle.getSuites()) { + for (CoverageSuite suite : mySuitesBundle.getSuites()) { if (((JavaCoverageSuite)suite).isPackageFiltered(qualifiedName)) return true; } } @@ -289,10 +295,10 @@ public class JavaCoverageViewExtension extends CoverageViewExtension { final PsiFile psiFile = object instanceof VirtualFile ? PsiManager.getInstance(myProject).findFile((VirtualFile)object) : null; if (psiFile instanceof PsiClassOwner) { final String packageName = ((PsiClassOwner)psiFile).getPackageName(); - return isInCoverageScope(JavaPsiFacade.getInstance(myProject).findPackage(packageName), mySuitesBundle); + return isInCoverageScope(JavaPsiFacade.getInstance(myProject).findPackage(packageName)); } if (object instanceof PsiPackage) { - return isInCoverageScope((PsiElement)object, mySuitesBundle); + return isInCoverageScope((PsiElement)object); } return false; } From 30dedba32ccadd7cbdff3379c4c56ae666c65d75 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Mon, 22 Dec 2014 20:59:21 +0100 Subject: [PATCH 34/34] fix merge --- .../src/com/intellij/psi/impl/JavaPsiFacadeImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java index 52cad7cfaccd..028e067666fc 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java @@ -40,6 +40,7 @@ import com.intellij.util.containers.Predicate; import com.intellij.util.messages.MessageBus; import gnu.trove.THashSet; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.TestOnly; import java.util.*;