gitextract_0m11ptlg/ ├── .gitignore ├── LICENSE ├── README.md ├── build.gradle.kts ├── contracts/ │ ├── build.gradle.kts │ ├── settings.gradle.kts │ └── src/ │ └── main/ │ └── kotlin/ │ └── net/ │ └── ntworld/ │ └── mergeRequest/ │ ├── Approval.kt │ ├── Change.kt │ ├── Comment.kt │ ├── CommentPosition.kt │ ├── CommentPositionChangeType.kt │ ├── CommentPositionSource.kt │ ├── Commit.kt │ ├── DateTime.kt │ ├── DateTimeSerializer.kt │ ├── DiffReference.kt │ ├── MergeRequest.kt │ ├── MergeRequestInfo.kt │ ├── MergeRequestState.kt │ ├── Pipeline.kt │ ├── PipelineStatus.kt │ ├── Project.kt │ ├── ProjectVisibility.kt │ ├── ProviderData.kt │ ├── ProviderInfo.kt │ ├── ProviderStatus.kt │ ├── User.kt │ ├── UserInfo.kt │ ├── UserStatus.kt │ ├── api/ │ │ ├── ApiConnection.kt │ │ ├── ApiCredentials.kt │ │ ├── ApiOptions.kt │ │ ├── ApiProvider.kt │ │ ├── Cache.kt │ │ ├── CacheNotFoundException.kt │ │ ├── CommentApi.kt │ │ ├── CommitApi.kt │ │ ├── DraftCommentStorage.kt │ │ ├── MergeRequestApi.kt │ │ ├── MergeRequestOrdering.kt │ │ ├── ProjectApi.kt │ │ └── UserApi.kt │ ├── command/ │ │ ├── ApproveMergeRequestCommand.kt │ │ ├── DeleteCommentCommand.kt │ │ ├── ResolveCommentCommand.kt │ │ ├── UnapproveMergeRequestCommand.kt │ │ └── UnresolveCommentCommand.kt │ ├── query/ │ │ ├── FindApprovalQuery.kt │ │ ├── FindApprovalQueryResult.kt │ │ ├── FindMergeRequestQuery.kt │ │ ├── FindMergeRequestQueryResult.kt │ │ ├── GetCommentsQuery.kt │ │ ├── GetCommentsQueryResult.kt │ │ ├── GetCommitsQuery.kt │ │ ├── GetCommitsQueryResult.kt │ │ ├── GetMergeRequestFilter.kt │ │ ├── GetMergeRequestsQuery.kt │ │ ├── GetMergeRequestsQueryResult.kt │ │ ├── GetPipelinesQuery.kt │ │ ├── GetPipelinesQueryResult.kt │ │ ├── GetProjectMembersQuery.kt │ │ ├── GetProjectMembersQueryResult.kt │ │ └── QueryBase.kt │ ├── request/ │ │ ├── CreateCommentRequest.kt │ │ ├── PublishAllCommentsRequest.kt │ │ ├── PublishCommentsRequest.kt │ │ ├── ReplyCommentRequest.kt │ │ └── UpdateCommentRequest.kt │ └── response/ │ ├── CreateCommentResponse.kt │ ├── PublishAllCommentsResponse.kt │ ├── PublishCommentsResponse.kt │ ├── ReplyCommentResponse.kt │ └── UpdateCommentResponse.kt ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── merge-request-integration/ │ ├── build.gradle.kts │ ├── settings.gradle.kts │ └── src/ │ ├── main/ │ │ └── kotlin/ │ │ └── net/ │ │ └── ntworld/ │ │ └── mergeRequestIntegration/ │ │ ├── DefaultProviderStorage.kt │ │ ├── MergeRequestIntegrationInfrastructure.kt │ │ ├── ProviderStorage.kt │ │ ├── _const.kt │ │ ├── commandHandler/ │ │ │ ├── ApproveMergeRequestCommandHandler.kt │ │ │ ├── DeleteCommentCommandHandler.kt │ │ │ ├── ResolveCommentCommandHandler.kt │ │ │ ├── UnapproveMergeRequestCommandHandler.kt │ │ │ └── UnresolveCommentCommandHandler.kt │ │ ├── exception/ │ │ │ ├── InvalidCacheKeyException.kt │ │ │ ├── InvalidTTLException.kt │ │ │ └── ProviderNotFoundException.kt │ │ ├── internal/ │ │ │ ├── ApiOptionsImpl.kt │ │ │ ├── ApprovalImpl.kt │ │ │ ├── ChangeImpl.kt │ │ │ ├── CommentImpl.kt │ │ │ ├── CommentPositionImpl.kt │ │ │ ├── CommitImpl.kt │ │ │ ├── DiffReferenceImpl.kt │ │ │ ├── MergeRequestImpl.kt │ │ │ ├── MergeRequestInfoImpl.kt │ │ │ ├── MergeRequestSearchResultImpl.kt │ │ │ ├── PipelineImpl.kt │ │ │ ├── ProjectImpl.kt │ │ │ ├── ProviderDataImpl.kt │ │ │ ├── UserImpl.kt │ │ │ └── UserInfoImpl.kt │ │ ├── provider/ │ │ │ ├── DraftCommentApi.kt │ │ │ ├── FuelClient.kt │ │ │ ├── MemoryCache.kt │ │ │ ├── MemoryDraftCommentStorage.kt │ │ │ ├── MergeRequestApiDecorator.kt │ │ │ ├── ProviderException.kt │ │ │ ├── Transformer.kt │ │ │ ├── github/ │ │ │ │ ├── Github.kt │ │ │ │ ├── GithubApiProvider.kt │ │ │ │ ├── GithubClient.kt │ │ │ │ ├── GithubFailedRequestError.kt │ │ │ │ ├── GithubFuelClient.kt │ │ │ │ ├── GithubMergeRequestApi.kt │ │ │ │ ├── GithubProjectApi.kt │ │ │ │ ├── GithubRequest.kt │ │ │ │ ├── GithubUserApi.kt │ │ │ │ ├── GithubUtil.kt │ │ │ │ ├── _const.kt │ │ │ │ ├── model/ │ │ │ │ │ ├── PullRequestSearchItem.kt │ │ │ │ │ └── SearchPullRequestResult.kt │ │ │ │ ├── request/ │ │ │ │ │ ├── GithubFindCurrentUserRequest.kt │ │ │ │ │ ├── GithubFindRepositoryRequest.kt │ │ │ │ │ ├── GithubSearchPRsRequest.kt │ │ │ │ │ └── GithubSearchRepositoriesRequest.kt │ │ │ │ ├── requestHandler/ │ │ │ │ │ ├── GithubFindCurrentUserRequestHandler.kt │ │ │ │ │ ├── GithubFindRepositoryRequestHandler.kt │ │ │ │ │ ├── GithubSearchPRsRequestHandler.kt │ │ │ │ │ └── GithubSearchRepositoriesRequestHandler.kt │ │ │ │ ├── response/ │ │ │ │ │ ├── GithubFindRepositoryResponse.kt │ │ │ │ │ ├── GithubFindUserResponse.kt │ │ │ │ │ ├── GithubSearchPRsResponse.kt │ │ │ │ │ └── GithubSearchRepositoriesResponse.kt │ │ │ │ ├── transformer/ │ │ │ │ │ ├── GithubRepositoryTransformer.kt │ │ │ │ │ ├── GithubSearchPullRequestItemTransformer.kt │ │ │ │ │ └── GithubUserTransformer.kt │ │ │ │ └── vo/ │ │ │ │ ├── GithubMergeRequestId.kt │ │ │ │ ├── GithubProjectId.kt │ │ │ │ └── GithubUserId.kt │ │ │ └── gitlab/ │ │ │ ├── Gitlab.kt │ │ │ ├── GitlabApiProvider.kt │ │ │ ├── GitlabClient.kt │ │ │ ├── GitlabCommentApi.kt │ │ │ ├── GitlabCommitApi.kt │ │ │ ├── GitlabCredentials.kt │ │ │ ├── GitlabFailedRequestError.kt │ │ │ ├── GitlabFailedRequestException.kt │ │ │ ├── GitlabFuelClient.kt │ │ │ ├── GitlabMergeRequestApi.kt │ │ │ ├── GitlabMergeRequestApiCache.kt │ │ │ ├── GitlabProjectApi.kt │ │ │ ├── GitlabRequest.kt │ │ │ ├── GitlabUserApi.kt │ │ │ ├── GitlabUtil.kt │ │ │ ├── _const.kt │ │ │ ├── command/ │ │ │ │ ├── GitlabApproveMRCommand.kt │ │ │ │ ├── GitlabCreateDiffNoteCommand.kt │ │ │ │ ├── GitlabDeleteNoteCommand.kt │ │ │ │ ├── GitlabResolveNoteCommand.kt │ │ │ │ ├── GitlabUnapproveMRCommand.kt │ │ │ │ └── GitlabUpdateDiffNoteCommand.kt │ │ │ ├── commandHandler/ │ │ │ │ ├── GitlabApproveMRCommandHandler.kt │ │ │ │ ├── GitlabCreateDiffNoteCommandHandler.kt │ │ │ │ ├── GitlabDeleteNoteCommandHandler.kt │ │ │ │ ├── GitlabResolveNoteCommandHandler.kt │ │ │ │ ├── GitlabUnapproveMRCommandHandler.kt │ │ │ │ └── GitlabUpdateDiffNoteCommandHandler.kt │ │ │ ├── model/ │ │ │ │ ├── ApprovalModel.kt │ │ │ │ ├── ApproverModel.kt │ │ │ │ ├── GetCommentsPayload.kt │ │ │ │ ├── GraphqlRequest.kt │ │ │ │ ├── PipelineModel.kt │ │ │ │ ├── ReplyCommentPayload.kt │ │ │ │ └── UserInfoModel.kt │ │ │ ├── request/ │ │ │ │ ├── GitlabCreateNoteRequest.kt │ │ │ │ ├── GitlabFindCurrentUserRequest.kt │ │ │ │ ├── GitlabFindMRApprovalRequest.kt │ │ │ │ ├── GitlabFindMRRequest.kt │ │ │ │ ├── GitlabFindProjectRequest.kt │ │ │ │ ├── GitlabFindUserRequest.kt │ │ │ │ ├── GitlabGetCommitChangesRequest.kt │ │ │ │ ├── GitlabGetMRChangesRequest.kt │ │ │ │ ├── GitlabGetMRCommentsRequest.kt │ │ │ │ ├── GitlabGetMRCommitsRequest.kt │ │ │ │ ├── GitlabGetMRDiscussionsRequest.kt │ │ │ │ ├── GitlabGetMRPipelinesRequest.kt │ │ │ │ ├── GitlabGetProjectMembersRequest.kt │ │ │ │ ├── GitlabReplyNoteRequest.kt │ │ │ │ ├── GitlabSearchMRsRequest.kt │ │ │ │ └── GitlabSearchProjectsRequest.kt │ │ │ ├── requestHandler/ │ │ │ │ ├── GitlabCreateNoteRequestHandler.kt │ │ │ │ ├── GitlabFindCurrentUserRequestHandler.kt │ │ │ │ ├── GitlabFindMRApprovalRequestHandler.kt │ │ │ │ ├── GitlabFindMRRequestHandler.kt │ │ │ │ ├── GitlabFindProjectRequestHandler.kt │ │ │ │ ├── GitlabFindUserRequestHandler.kt │ │ │ │ ├── GitlabGetCommitChangesRequestHandler.kt │ │ │ │ ├── GitlabGetMRChangesRequestHandler.kt │ │ │ │ ├── GitlabGetMRCommentsRequestHandler.kt │ │ │ │ ├── GitlabGetMRCommitsRequestHandler.kt │ │ │ │ ├── GitlabGetMRDiscussionsRequestHandler.kt │ │ │ │ ├── GitlabGetMRPipelinesRequestHandler.kt │ │ │ │ ├── GitlabGetProjectMembersRequestHandler.kt │ │ │ │ ├── GitlabReplyNoteRequestHandler.kt │ │ │ │ ├── GitlabSearchMRsRequestHandler.kt │ │ │ │ └── GitlabSearchProjectsRequestHandler.kt │ │ │ ├── response/ │ │ │ │ ├── GitlabCreateNoteResponse.kt │ │ │ │ ├── GitlabFindMRApprovalResponse.kt │ │ │ │ ├── GitlabFindMRResponse.kt │ │ │ │ ├── GitlabFindProjectResponse.kt │ │ │ │ ├── GitlabFindUserResponse.kt │ │ │ │ ├── GitlabGetCommitChangesResponse.kt │ │ │ │ ├── GitlabGetMRChangesResponse.kt │ │ │ │ ├── GitlabGetMRCommentsResponse.kt │ │ │ │ ├── GitlabGetMRCommitsResponse.kt │ │ │ │ ├── GitlabGetMRDiscussionsResponse.kt │ │ │ │ ├── GitlabGetMRPipelinesResponse.kt │ │ │ │ ├── GitlabGetProjectMembersResponse.kt │ │ │ │ ├── GitlabReplyNoteResponse.kt │ │ │ │ ├── GitlabSearchMRsResponse.kt │ │ │ │ └── GitlabSearchProjectsResponse.kt │ │ │ └── transformer/ │ │ │ ├── GitlabApprovalTransformer.kt │ │ │ ├── GitlabCommentTransformer.kt │ │ │ ├── GitlabCommitTransformer.kt │ │ │ ├── GitlabDiffRefTransformer.kt │ │ │ ├── GitlabDiffTransformer.kt │ │ │ ├── GitlabDiscussionTransformer.kt │ │ │ ├── GitlabMRSimpleTransformer.kt │ │ │ ├── GitlabMRTransformer.kt │ │ │ ├── GitlabMemberTransformer.kt │ │ │ ├── GitlabPipelineTransformer.kt │ │ │ ├── GitlabProjectTransformer.kt │ │ │ ├── GitlabUserInfoTransformer.kt │ │ │ └── GitlabUserTransformer.kt │ │ ├── queryHandler/ │ │ │ ├── FindApprovalQueryHandler.kt │ │ │ ├── FindMergeRequestQueryHandler.kt │ │ │ ├── GetCommentsQueryHandler.kt │ │ │ ├── GetCommitsQueryHandler.kt │ │ │ ├── GetMergeRequestsQueryHandler.kt │ │ │ ├── GetPipelinesQueryHandler.kt │ │ │ └── GetProjectMembersQueryHandler.kt │ │ ├── requestHandler/ │ │ │ ├── CreateCommentRequestHandler.kt │ │ │ ├── PublishAllCommentsRequestHandler.kt │ │ │ ├── PublishCommentsRequestHandler.kt │ │ │ ├── ReplyCommentRequestHandler.kt │ │ │ └── UpdateCommentRequestHandler.kt │ │ ├── update/ │ │ │ ├── UpdateManager.kt │ │ │ └── UpdateMetadata.kt │ │ └── util/ │ │ ├── DateTimeUtil.kt │ │ └── SavedFiltersUtil.kt │ └── test/ │ ├── kotlin/ │ │ └── net/ │ │ └── ntworld/ │ │ └── mergeRequestIntegration/ │ │ └── provider/ │ │ └── MemoryCacheTests.kt │ └── resources/ │ └── update-metadata.json ├── merge-request-integration-ce/ │ ├── build.gradle.kts │ ├── doc/ │ │ ├── description.html │ │ ├── release-notes.2019.3.0.html │ │ ├── release-notes.2019.3.1.html │ │ ├── release-notes.2019.3.2.html │ │ ├── release-notes.2019.3.3.html │ │ ├── release-notes.2019.3.4.html │ │ ├── release-notes.2019.3.5.html │ │ ├── release-notes.2020.1.0.html │ │ ├── release-notes.2020.1.1.html │ │ ├── release-notes.2020.1.2.html │ │ ├── release-notes.2020.1.3.html │ │ ├── release-notes.2020.1.4.html │ │ ├── release-notes.2020.1.5.html │ │ ├── release-notes.2020.2.0.html │ │ └── release-notes.2020.3.0.html │ ├── settings.gradle.kts │ └── src/ │ └── main/ │ ├── kotlin/ │ │ └── net/ │ │ └── ntworld/ │ │ └── mergeRequestIntegrationIdeCE/ │ │ ├── CommunityApplicationServiceProvider.kt │ │ ├── CommunityProjectServiceProvider.kt │ │ ├── Configuration.kt │ │ ├── DiffExtension.kt │ │ ├── DiffViewAddCommentAction.kt │ │ ├── DiffViewToggleCommentsAction.kt │ │ ├── GithubConnectionsConfigurable.kt │ │ ├── GitlabConnectionsConfigurable.kt │ │ ├── MainToolWindowFactory.kt │ │ └── SingleMRToolWindowFactory.kt │ └── resources/ │ └── META-INF/ │ └── plugin.xml ├── merge-request-integration-core/ │ ├── build.gradle.kts │ ├── settings.gradle.kts │ └── src/ │ ├── main/ │ │ ├── kotlin/ │ │ │ └── net/ │ │ │ └── ntworld/ │ │ │ └── mergeRequestIntegrationIde/ │ │ │ ├── AbstractModel.kt │ │ │ ├── AbstractPresenter.kt │ │ │ ├── AbstractSimpleModel.kt │ │ │ ├── AbstractSimplePresenter.kt │ │ │ ├── AbstractSimpleView.kt │ │ │ ├── AbstractView.kt │ │ │ ├── Component.kt │ │ │ ├── ComponentFactory.kt │ │ │ ├── DataChangedSource.kt │ │ │ ├── DefaultComponentFactory.kt │ │ │ ├── IdeInfrastructure.kt │ │ │ ├── Model.kt │ │ │ ├── Presenter.kt │ │ │ ├── SimpleModel.kt │ │ │ ├── SimplePresenter.kt │ │ │ ├── SimpleView.kt │ │ │ ├── View.kt │ │ │ ├── _const.kt │ │ │ ├── compatibility/ │ │ │ │ ├── IntellijIdeApi.kt │ │ │ │ ├── Version193Adapter.kt │ │ │ │ ├── Version201Adapter.kt │ │ │ │ └── Version203Adapter.kt │ │ │ ├── component/ │ │ │ │ ├── Icons.kt │ │ │ │ ├── PaginationToolbar.kt │ │ │ │ ├── PaginationToolbarImpl.kt │ │ │ │ ├── comment/ │ │ │ │ │ ├── CommentComponent.kt │ │ │ │ │ ├── CommentComponentFactory.kt │ │ │ │ │ ├── CommentComponentFactoryImpl.kt │ │ │ │ │ ├── CommentComponentImpl.kt │ │ │ │ │ ├── CommentEvent.kt │ │ │ │ │ ├── CommentEventPropagator.kt │ │ │ │ │ ├── EditorComponent.kt │ │ │ │ │ ├── EditorComponentImpl.kt │ │ │ │ │ ├── GroupComponent.kt │ │ │ │ │ ├── GroupComponentImpl.kt │ │ │ │ │ └── Options.kt │ │ │ │ ├── dialog/ │ │ │ │ │ ├── LegalWarningDialog.form │ │ │ │ │ └── LegalWarningDialog.kt │ │ │ │ ├── gutter/ │ │ │ │ │ ├── GutterActionType.kt │ │ │ │ │ ├── GutterIconRenderer.kt │ │ │ │ │ ├── GutterIconRendererActionListener.kt │ │ │ │ │ ├── GutterIconRendererFactory.kt │ │ │ │ │ ├── GutterIconRendererImpl.kt │ │ │ │ │ ├── GutterPosition.kt │ │ │ │ │ └── GutterState.kt │ │ │ │ └── thread/ │ │ │ │ ├── ThreadFactory.kt │ │ │ │ ├── ThreadModel.kt │ │ │ │ ├── ThreadModelImpl.kt │ │ │ │ ├── ThreadPresenter.kt │ │ │ │ ├── ThreadPresenterImpl.kt │ │ │ │ ├── ThreadView.kt │ │ │ │ └── ThreadViewImpl.kt │ │ │ ├── configuration/ │ │ │ │ ├── README.md │ │ │ │ └── vos/ │ │ │ │ └── GitRemotePathInfo.kt │ │ │ ├── diff/ │ │ │ │ ├── AbstractDiffView.kt │ │ │ │ ├── CommentPoint.kt │ │ │ │ ├── DiffExtensionBase.kt │ │ │ │ ├── DiffFactory.kt │ │ │ │ ├── DiffModel.kt │ │ │ │ ├── DiffModelImpl.kt │ │ │ │ ├── DiffPresenter.kt │ │ │ │ ├── DiffPresenterImpl.kt │ │ │ │ ├── DiffView.kt │ │ │ │ ├── DiffViewAddCommentActionBase.kt │ │ │ │ ├── DiffViewToggleCommentsActionBase.kt │ │ │ │ ├── SimpleOneSideDiffView.kt │ │ │ │ ├── TwoSideTextDiffView.kt │ │ │ │ └── UnifiedDiffView.kt │ │ │ ├── exception/ │ │ │ │ └── InvalidConnectionException.kt │ │ │ ├── infrastructure/ │ │ │ │ ├── AbstractApplicationServiceProvider.kt │ │ │ │ ├── AbstractProjectServiceProvider.kt │ │ │ │ ├── ApplicationServiceProvider.kt │ │ │ │ ├── ProjectServiceProvider.kt │ │ │ │ ├── ProviderSettings.kt │ │ │ │ ├── ReviewContext.kt │ │ │ │ ├── ReviewContextManager.kt │ │ │ │ ├── internal/ │ │ │ │ │ ├── ApiCredentialsImpl.kt │ │ │ │ │ ├── DiffPreviewProviderImpl.kt │ │ │ │ │ ├── DiffRequestProcessorImpl.kt │ │ │ │ │ ├── ProviderSettingsImpl.kt │ │ │ │ │ ├── ReviewContextImpl.kt │ │ │ │ │ ├── ReviewContextManagerImpl.kt │ │ │ │ │ └── ServiceBase.kt │ │ │ │ ├── notifier/ │ │ │ │ │ ├── DiffNotifier.kt │ │ │ │ │ ├── MergeRequestDataNotifier.kt │ │ │ │ │ ├── ProjectNotifier.kt │ │ │ │ │ ├── ProjectNotifierAdapter.kt │ │ │ │ │ ├── ReworkEditorNotifier.kt │ │ │ │ │ ├── ReworkWatcherNotifier.kt │ │ │ │ │ ├── SingleMRToolWindowNotifier.kt │ │ │ │ │ └── provider/ │ │ │ │ │ └── MergeRequestDataProvider.kt │ │ │ │ ├── service/ │ │ │ │ │ ├── FiltersStorageService.kt │ │ │ │ │ ├── RepositoryFileService.kt │ │ │ │ │ ├── internal/ │ │ │ │ │ │ └── FiltersStorageServiceImpl.kt │ │ │ │ │ └── repositoryFile/ │ │ │ │ │ ├── CachedRepositoryFile.kt │ │ │ │ │ ├── LocalRepositoryFileService.kt │ │ │ │ │ └── RepositoryFileDecorator.kt │ │ │ │ └── setting/ │ │ │ │ ├── ApplicationSettings.kt │ │ │ │ ├── ApplicationSettingsImpl.kt │ │ │ │ ├── ApplicationSettingsManager.kt │ │ │ │ ├── ApplicationSettingsManagerImpl.kt │ │ │ │ └── option/ │ │ │ │ ├── BooleanOption.kt │ │ │ │ ├── CheckoutTargetBranchOption.kt │ │ │ │ ├── DisplayCommentsInDiffViewOption.kt │ │ │ │ ├── DisplayMergeRequestStateOption.kt │ │ │ │ ├── DisplayUpVotesAndDownVotesOption.kt │ │ │ │ ├── EnableRequestCacheOption.kt │ │ │ │ ├── EnableReworkProcessOption.kt │ │ │ │ ├── MaxDiffChangesOpenedAutomaticallyOption.kt │ │ │ │ ├── SaveMRFilterStateOption.kt │ │ │ │ ├── SettingOption.kt │ │ │ │ └── ShowAddCommentIconsInDiffViewGutterOption.kt │ │ │ ├── mergeRequest/ │ │ │ │ ├── comments/ │ │ │ │ │ ├── CommentsTabFactory.kt │ │ │ │ │ ├── CommentsTabModel.kt │ │ │ │ │ ├── CommentsTabModelImpl.kt │ │ │ │ │ ├── CommentsTabPresenter.kt │ │ │ │ │ ├── CommentsTabPresenterImpl.kt │ │ │ │ │ ├── CommentsTabView.kt │ │ │ │ │ ├── CommentsTabViewImpl.kt │ │ │ │ │ └── tree/ │ │ │ │ │ ├── CommentTreeFactory.kt │ │ │ │ │ ├── CommentTreeModel.kt │ │ │ │ │ ├── CommentTreeModelImpl.kt │ │ │ │ │ ├── CommentTreePresenter.kt │ │ │ │ │ ├── CommentTreePresenterImpl.kt │ │ │ │ │ ├── CommentTreeView.kt │ │ │ │ │ ├── CommentTreeViewImpl.kt │ │ │ │ │ ├── CommentTreeViewToolbar.kt │ │ │ │ │ └── node/ │ │ │ │ │ ├── AbstractNode.kt │ │ │ │ │ ├── CommentNode.kt │ │ │ │ │ ├── FileLineNode.kt │ │ │ │ │ ├── FileNode.kt │ │ │ │ │ ├── GeneralCommentsNode.kt │ │ │ │ │ ├── Node.kt │ │ │ │ │ ├── NodeDescriptorService.kt │ │ │ │ │ ├── NodeDescriptorServiceImpl.kt │ │ │ │ │ ├── NodeFactory.kt │ │ │ │ │ ├── NodeSyncManager.kt │ │ │ │ │ ├── NodeSyncManagerImpl.kt │ │ │ │ │ ├── RootNode.kt │ │ │ │ │ ├── RootNodeBuilder.kt │ │ │ │ │ ├── SyncedTree.kt │ │ │ │ │ ├── ThreadNode.kt │ │ │ │ │ └── _fn.kt │ │ │ │ └── fn.kt │ │ │ ├── rework/ │ │ │ │ ├── BranchWatcher.kt │ │ │ │ ├── ReworkEditorController.kt │ │ │ │ ├── ReworkEditorManager.kt │ │ │ │ ├── ReworkManager.kt │ │ │ │ ├── ReworkWatcher.kt │ │ │ │ └── internal/ │ │ │ │ ├── BranchWatcherImpl.kt │ │ │ │ ├── ReworkEditorControllerImpl.kt │ │ │ │ ├── ReworkEditorManagerImpl.kt │ │ │ │ ├── ReworkGeneralCommentsView.kt │ │ │ │ ├── ReworkManagerImpl.kt │ │ │ │ └── ReworkWatcherImpl.kt │ │ │ ├── task/ │ │ │ │ ├── FetchProjectMembersTask.kt │ │ │ │ ├── FindApprovalTask.kt │ │ │ │ ├── FindMergeRequestTask.kt │ │ │ │ ├── GetAvailableUpdatesTask.kt │ │ │ │ ├── GetCommentsTask.kt │ │ │ │ ├── GetCommitsTask.kt │ │ │ │ ├── GetPipelinesTask.kt │ │ │ │ ├── RegisterProviderTask.kt │ │ │ │ ├── RepositoryFetchAllRemotesTask.kt │ │ │ │ └── SearchMergeRequestTask.kt │ │ │ ├── toolWindow/ │ │ │ │ ├── CommentsToolWindowTab.kt │ │ │ │ ├── FilesToolWindowTab.kt │ │ │ │ ├── ReworkToolWindowTab.kt │ │ │ │ ├── SingleMRToolWindowFactoryBase.kt │ │ │ │ ├── SingleMRToolWindowManager.kt │ │ │ │ └── internal/ │ │ │ │ ├── CommentsToolWindowTabImpl.kt │ │ │ │ └── FilesToolWindowTabImpl.kt │ │ │ ├── ui/ │ │ │ │ ├── Component.kt │ │ │ │ ├── MainToolWindowFactoryBase.kt │ │ │ │ ├── README.md │ │ │ │ ├── configuration/ │ │ │ │ │ ├── AbstractConnectionsConfigurable.kt │ │ │ │ │ ├── ConfigurationBase.kt │ │ │ │ │ ├── ConnectionUI.kt │ │ │ │ │ ├── GithubConnection.form │ │ │ │ │ ├── GithubConnection.kt │ │ │ │ │ ├── GithubConnectionsConfigurableBase.kt │ │ │ │ │ ├── GithubProjectFinder.kt │ │ │ │ │ ├── GitlabConnection.form │ │ │ │ │ ├── GitlabConnection.kt │ │ │ │ │ ├── GitlabConnectionsConfigurableBase.kt │ │ │ │ │ ├── GitlabProjectFinder.kt │ │ │ │ │ ├── ProjectFinderUI.kt │ │ │ │ │ ├── SettingsConfiguration.form │ │ │ │ │ ├── SettingsConfiguration.kt │ │ │ │ │ └── SettingsUI.kt │ │ │ │ ├── mergeRequest/ │ │ │ │ │ ├── AbstractMergeRequestCollection.kt │ │ │ │ │ ├── MergeRequestCollection.kt │ │ │ │ │ ├── MergeRequestCollectionEventListener.kt │ │ │ │ │ ├── MergeRequestCollectionFilter.kt │ │ │ │ │ ├── MergeRequestCollectionFilterEventListener.kt │ │ │ │ │ ├── MergeRequestCollectionFilterUI.kt │ │ │ │ │ ├── MergeRequestCollectionTree.kt │ │ │ │ │ ├── MergeRequestCollectionTreeNode.kt │ │ │ │ │ ├── MergeRequestCollectionUI.kt │ │ │ │ │ ├── MergeRequestDetails.kt │ │ │ │ │ ├── MergeRequestDetailsToolbar.kt │ │ │ │ │ ├── MergeRequestDetailsToolbarUI.kt │ │ │ │ │ ├── MergeRequestDetailsUI.kt │ │ │ │ │ └── tab/ │ │ │ │ │ ├── MergeRequestCommitsTab.kt │ │ │ │ │ ├── MergeRequestCommitsTabUI.kt │ │ │ │ │ ├── MergeRequestDescriptionTab.kt │ │ │ │ │ ├── MergeRequestDescriptionTabUI.kt │ │ │ │ │ ├── MergeRequestInfoTab.kt │ │ │ │ │ ├── MergeRequestInfoTabUI.kt │ │ │ │ │ └── commit/ │ │ │ │ │ ├── CommitChanges.kt │ │ │ │ │ ├── CommitChangesUI.kt │ │ │ │ │ ├── CommitCollection.kt │ │ │ │ │ ├── CommitCollectionUI.kt │ │ │ │ │ └── CommitSelectUtil.kt │ │ │ │ ├── panel/ │ │ │ │ │ ├── ApprovalPanel.form │ │ │ │ │ ├── ApprovalPanel.kt │ │ │ │ │ ├── CommitItemPanel.form │ │ │ │ │ ├── CommitItemPanel.kt │ │ │ │ │ ├── MergeRequestFilterPropertiesPanel.form │ │ │ │ │ ├── MergeRequestFilterPropertiesPanel.kt │ │ │ │ │ ├── MergeRequestInfoPanel.form │ │ │ │ │ ├── MergeRequestInfoPanel.kt │ │ │ │ │ ├── MergeRequestItemPanel.form │ │ │ │ │ ├── MergeRequestItemPanel.kt │ │ │ │ │ ├── ProjectPanel.form │ │ │ │ │ ├── ProjectPanel.kt │ │ │ │ │ ├── ProviderInformationPanel.form │ │ │ │ │ ├── ProviderInformationPanel.kt │ │ │ │ │ ├── ProviderItemPanel.form │ │ │ │ │ ├── ProviderItemPanel.kt │ │ │ │ │ ├── UserInfoItemPanel.form │ │ │ │ │ └── UserInfoItemPanel.kt │ │ │ │ ├── provider/ │ │ │ │ │ ├── ProviderCollection.kt │ │ │ │ │ ├── ProviderCollectionList.kt │ │ │ │ │ ├── ProviderCollectionListEventListener.kt │ │ │ │ │ ├── ProviderCollectionListUI.kt │ │ │ │ │ ├── ProviderCollectionToolbar.kt │ │ │ │ │ ├── ProviderCollectionToolbarEventListener.kt │ │ │ │ │ ├── ProviderCollectionToolbarUI.kt │ │ │ │ │ ├── ProviderDetails.kt │ │ │ │ │ ├── ProviderDetailsMRList.kt │ │ │ │ │ └── ProviderDetailsUI.kt │ │ │ │ ├── service/ │ │ │ │ │ ├── CheckoutService.kt │ │ │ │ │ ├── CodeReviewService.kt │ │ │ │ │ ├── DisplayChangesService.kt │ │ │ │ │ ├── EditorStateService.kt │ │ │ │ │ └── FetchService.kt │ │ │ │ ├── toolWindowTab/ │ │ │ │ │ ├── HomeToolWindowTab.kt │ │ │ │ │ ├── MergeRequestToolWindowTab.kt │ │ │ │ │ └── UpdateInfoTab.kt │ │ │ │ └── util/ │ │ │ │ ├── CustomSimpleToolWindowPanel.kt │ │ │ │ ├── ImageUtil.kt │ │ │ │ ├── Tabs.kt │ │ │ │ ├── TabsUI.kt │ │ │ │ ├── ToolbarUtil.kt │ │ │ │ └── fn.kt │ │ │ ├── util/ │ │ │ │ ├── CommentUtil.kt │ │ │ │ ├── FileTypeUtil.kt │ │ │ │ ├── HtmlHelper.kt │ │ │ │ ├── RepositoryUtil.kt │ │ │ │ └── TextChoiceUtil.kt │ │ │ └── watcher/ │ │ │ ├── Watcher.kt │ │ │ ├── WatcherManager.kt │ │ │ └── WatcherManagerImpl.kt │ │ └── resources/ │ │ └── templates/ │ │ ├── mr.comment.html │ │ ├── mr.description.html │ │ └── update.html │ └── test/ │ └── kotlin/ │ └── net/ │ └── ntworld/ │ └── mergeRequestIntegrationIde/ │ ├── configuration/ │ │ └── vos/ │ │ └── GitRemotePathInfoTest.kt │ ├── infrastructure/ │ │ └── DummyProjectServiceProvider.kt │ ├── internal/ │ │ └── CodeReviewServiceImplTest.kt │ ├── mergeRequest/ │ │ └── comments/ │ │ └── tree/ │ │ └── node/ │ │ └── NodeSyncManagerImplTest.kt │ └── watcher/ │ └── WatcherManagerImplTest.kt ├── merge-request-integration-ee/ │ ├── LICENSE │ ├── build.gradle.kts │ ├── doc/ │ │ ├── description.html │ │ ├── release-notes.2019.3.1.html │ │ ├── release-notes.2019.3.2.html │ │ ├── release-notes.2019.3.3.html │ │ ├── release-notes.2019.3.4.html │ │ ├── release-notes.2019.3.5.html │ │ ├── release-notes.2020.1.0.html │ │ ├── release-notes.2020.1.1.html │ │ ├── release-notes.2020.1.2.html │ │ ├── release-notes.2020.1.3.html │ │ ├── release-notes.2020.1.4.html │ │ ├── release-notes.2020.1.5.html │ │ ├── release-notes.2020.2.0.html │ │ └── release-notes.2020.3.0.html │ ├── settings.gradle.kts │ └── src/ │ └── main/ │ ├── kotlin/ │ │ └── net/ │ │ └── ntworld/ │ │ └── mergeRequestIntegrationIdeEE/ │ │ ├── CheckLicense.kt │ │ ├── Configuration.kt │ │ ├── DiffExtension.kt │ │ ├── DiffViewAddCommentAction.kt │ │ ├── DiffViewToggleCommentsAction.kt │ │ ├── EnterpriseApplicationServiceProvider.kt │ │ ├── EnterpriseProjectServiceProvider.kt │ │ ├── GithubConnectionsConfigurable.kt │ │ ├── GitlabConnectionsConfigurable.kt │ │ ├── MainToolWindowFactory.kt │ │ └── SingleMRToolWindowFactory.kt │ └── resources/ │ └── META-INF/ │ └── plugin.xml └── settings.gradle.kts