22 skills found
Sfedfcv / Redesigned PancakeSkip to content github / docs Code Issues 80 Pull requests 35 Discussions Actions Projects 2 Security Insights Merge branch 'main' into 1862-Add-Travis-CI-migration-table 1862-Add-Travis-CI-migration-table (#1869, Iixixi/ZachryTylerWood#102, THEBOLCK79/docs#1, sbnbhk/docs#1) @martin389 martin389 committed on Dec 9, 2020 2 parents 2f9ec0c + 1588f50 commit 1a56ed136914e522f3a23ecc2be1c49f479a1a6a Showing 501 changed files with 5,397 additions and 1,362 deletions. 2 .github/allowed-actions.js @@ -30,7 +30,7 @@ module.exports = [ 'rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e', 'repo-sync/github-sync@3832fe8e2be32372e1b3970bbae8e7079edeec88', 'repo-sync/pull-request@33777245b1aace1a58c87a29c90321aa7a74bd7d', 'rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815', 'someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd', 'tjenkinson/gh-action-auto-merge-dependency-updates@cee2ac0', 'EndBug/add-and-commit@9358097a71ad9fb9e2f9624c6098c89193d83575' ] 72 .github/workflows/confirm-internal-staff-work-in-docs.yml @@ -0,0 +1,72 @@ name: Confirm internal staff meant to post in public on: issues: types: - opened - reopened - transferred pull_request_target: types: - opened - reopened jobs: check-team-membership: runs-on: ubuntu-latest continue-on-error: true if: github.repository == 'github/docs' steps: - uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9 with: github-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }} script: | // Only perform this action with GitHub employees try { await github.teams.getMembershipForUserInOrg({ org: 'github', team_slug: 'employees', username: context.payload.sender.login, }); } catch(err) { // An error will be thrown if the user is not a GitHub employee // If a user is not a GitHub employee, we should stop here and // Not send a notification return } // Don't perform this action with Docs team members try { await github.teams.getMembershipForUserInOrg({ org: 'github', team_slug: 'docs', username: context.payload.sender.login, }); // If the user is a Docs team member, we should stop here and not send // a notification return } catch(err) { // An error will be thrown if the user is not a Docs team member // If a user is not a Docs team member we should continue and send // the notification } const issueNo = context.number || context.issue.number // Create an issue in our private repo await github.issues.create({ owner: 'github', repo: 'docs-internal', title: `@${context.payload.sender.login} confirm that \#${issueNo} should be in the public github/docs repo`, body: `@${context.payload.sender.login} opened https://github.com/github/docs/issues/${issueNo} publicly in the github/docs repo, instead of the private github/docs-internal repo.\n\n@${context.payload.sender.login}, please confirm that this belongs in the public repo and that no sensitive information was disclosed by commenting below and closing the issue.\n\nIf this was not intentional and sensitive information was shared, please delete https://github.com/github/docs/issues/${issueNo} and notify us in the \#docs-open-source channel.\n\nThanks! \n\n/cc @github/docs @github/docs-engineering` }); throw new Error('A Hubber opened an issue on the public github/docs repo'); - name: Send Slack notification if a GitHub employee who isn't on the docs team opens an issue in public if: ${{ failure() && github.repository == 'github/docs' }} uses: someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd with: channel: ${{ secrets.DOCS_OPEN_SOURCE_SLACK_CHANNEL_ID }} bot-token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }} text: <@${{github.actor}}> opened https://github.com/github/docs/issues/${{ github.event.number || github.event.issue.number }} publicly on the github/docs repo instead of the private github/docs-internal repo. They have been notified via a new issue in the github/docs-internal repo to confirm this was intentional. 15 .github/workflows/js-lint.yml @@ -10,23 +10,8 @@ on: - translations jobs: see_if_should_skip: runs-on: ubuntu-latest outputs: should_skip: ${{ steps.skip_check.outputs.should_skip }} steps: - id: skip_check uses: fkirc/skip-duplicate-actions@36feb0d8d062137530c2e00bd278d138fe191289 with: cancel_others: 'false' github_token: ${{ github.token }} paths: '["**/*.js", "package*.json", ".github/workflows/js-lint.yml", ".eslint*"]' lint: runs-on: ubuntu-latest needs: see_if_should_skip if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} steps: - name: Check out repo uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f 13 .github/workflows/repo-freeze-reminders.yml @@ -14,11 +14,10 @@ jobs: if: github.repository == 'github/docs-internal' steps: - name: Send Slack notification if repo is frozen uses: someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd if: ${{ env.FREEZE == 'true' }} uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815 env: SLACK_WEBHOOK: ${{ secrets.DOCS_ALERTS_SLACK_WEBHOOK }} SLACK_USERNAME: docs-repo-sync SLACK_ICON_EMOJI: ':freezing_face:' SLACK_COLOR: '#51A0D5' # Carolina Blue SLACK_MESSAGE: All repo-sync runs will fail for ${{ github.repository }} because the repo is currently frozen! with: channel: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }} bot-token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }} color: info text: All repo-sync runs will fail for ${{ github.repository }} because the repo is currently frozen! 54 .github/workflows/repo-sync-stalls.yml @@ -0,0 +1,54 @@ name: Repo Sync Stalls on: workflow_dispatch: schedule: - cron: '*/30 * * * *' jobs: check-freezer: name: Check for deployment freezes runs-on: ubuntu-latest steps: - name: Exit if repo is frozen if: ${{ env.FREEZE == 'true' }} run: | echo 'The repo is currently frozen! Exiting this workflow.' exit 1 # prevents further steps from running repo-sync-stalls: runs-on: ubuntu-latest steps: - name: Check if repo sync is stalled uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9 with: github-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }} script: | let pulls; const owner = context.repo.owner const repo = context.repo.repo try { pulls = await github.pulls.list({ owner: owner, repo: repo, head: `${owner}:repo-sync`, state: 'open' }); } catch(err) { throw err return } pulls.data.forEach(pr => { const timeDelta = Date.now() - Date.parse(pr.created_at); const minutesOpen = timeDelta / 1000 / 60; if (minutesOpen > 30) { core.setFailed('Repo sync appears to be stalled') } }) - name: Send Slack notification if workflow fails uses: someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd if: failure() with: channel: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }} bot-token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }} color: failure text: Repo sync appears to be stalled for ${{github.repository}}. See https://github.com/${{github.repository}}/pulls?q=is%3Apr+is%3Aopen+repo+sync 16 .github/workflows/repo-sync.yml @@ -7,6 +7,7 @@ name: Repo Sync on: workflow_dispatch: schedule: - cron: '*/15 * * * *' # every 15 minutes @@ -70,11 +71,10 @@ jobs: number: ${{ steps.find-pull-request.outputs.number }} - name: Send Slack notification if workflow fails uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815 if: ${{ failure() }} env: SLACK_WEBHOOK: ${{ secrets.DOCS_ALERTS_SLACK_WEBHOOK }} SLACK_USERNAME: docs-repo-sync SLACK_ICON_EMOJI: ':ohno:' SLACK_COLOR: '#B90E0A' # Crimson SLACK_MESSAGE: The last repo-sync run for ${{github.repository}} failed. See https://github.com/${{github.repository}}/actions?query=workflow%3A%22Repo+Sync%22 uses: someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd if: failure() with: channel: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }} bot-token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }} color: failure text: The last repo-sync run for ${{github.repository}} failed. See https://github.com/${{github.repository}}/actions?query=workflow%3A%22Repo+Sync%22 10 .github/workflows/sync-algolia-search-indices.yml @@ -33,8 +33,10 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: npm run sync-search - name: Send slack notification if workflow run fails uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815 uses: someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd if: failure() env: SLACK_WEBHOOK: ${{ secrets.DOCS_ALERTS_SLACK_WEBHOOK }} SLACK_MESSAGE: The last Algolia workflow run for ${{github.repository}} failed. Search actions for `workflow:Algolia` with: channel: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }} bot-token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }} color: failure text: The last Algolia workflow run for ${{github.repository}} failed. Search actions for `workflow:Algolia` 15 .github/workflows/yml-lint.yml @@ -10,23 +10,8 @@ on: - translations jobs: see_if_should_skip: runs-on: ubuntu-latest outputs: should_skip: ${{ steps.skip_check.outputs.should_skip }} steps: - id: skip_check uses: fkirc/skip-duplicate-actions@36feb0d8d062137530c2e00bd278d138fe191289 with: cancel_others: 'false' github_token: ${{ github.token }} paths: '["**/*.yml", "**/*.yaml", "package*.json", ".github/workflows/yml-lint.yml"]' lint: runs-on: ubuntu-latest needs: see_if_should_skip if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} steps: - name: Check out repo uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f 4 README.md @@ -28,7 +28,7 @@ If you've found a problem, you can open an issue using a [template](https://gith #### Solve an issue If you have a solution to one of the open issues, you will need to fork the repository and submit a PR using the [template](https://github.com/github/docs/blob/main/CONTRIBUTING.md#pull-request-template) that is visible automatically in the pull request body. For more details about this process, please check out [Getting Started with Contributing](/CONTRIBUTING.md). If you have a solution to one of the open issues, you will need to fork the repository and submit a pull request using the [template](https://github.com/github/docs/blob/main/CONTRIBUTING.md#pull-request-template) that is visible automatically in the pull request body. For more details about this process, please check out [Getting Started with Contributing](/CONTRIBUTING.md). #### Join us in discussions @@ -50,6 +50,8 @@ There are a few more things to know when you're getting started with this repo: In addition to the README you're reading right now, this repo includes other READMEs that describe the purpose of each subdirectory in more detail: - [content/README.md](content/README.md) - [content/graphql/README.md](content/graphql/README.md) - [content/rest/README.md](content/rest/README.md) - [contributing/README.md](contributing/README.md) - [data/README.md](data/README.md) - [data/reusables/README.md](data/reusables/README.md) BIN +164 KB assets/images/help/classroom/assignment-group-hero.png Binary file not shown. BIN +75.5 KB assets/images/help/classroom/assignment-ide-go-grant-access-button.png Binary file not shown. BIN +175 KB assets/images/help/classroom/assignment-individual-hero.png Binary file not shown. BIN +27.6 KB assets/images/help/classroom/assignment-repository-ide-button-in-readme.png Binary file not shown. BIN +83.4 KB assets/images/help/classroom/assignments-assign-deadline.png Binary file not shown. BIN +32.4 KB assets/images/help/classroom/assignments-assignment-title.png Binary file not shown. BIN +27.7 KB assets/images/help/classroom/assignments-autograding-click-pencil-or-trash.png Binary file not shown. BIN +72 KB assets/images/help/classroom/assignments-choose-repository-visibility.png Binary file not shown. BIN +20.1 KB assets/images/help/classroom/assignments-click-continue-button.png Binary file not shown. BIN +23.7 KB assets/images/help/classroom/assignments-click-create-assignment-button.png Binary file not shown. BIN +76.4 KB assets/images/help/classroom/assignments-click-grading-and-feedback.png Binary file not shown. BIN +53.1 KB assets/images/help/classroom/assignments-click-new-assignment-button.png Binary file not shown. BIN +134 KB assets/images/help/classroom/assignments-click-online-ide.png Binary file not shown. BIN +77.8 KB assets/images/help/classroom/assignments-click-pencil.png Binary file not shown. BIN +18.8 KB assets/images/help/classroom/assignments-click-review-button.png Binary file not shown. BIN +20.6 KB assets/images/help/classroom/assignments-click-save-test-case-button.png Binary file not shown. BIN +121 KB assets/images/help/classroom/assignments-click-template-repository-in-list.png Binary file not shown. BIN +21.1 KB assets/images/help/classroom/assignments-click-update-assignment.png Binary file not shown. BIN +76.9 KB assets/images/help/classroom/assignments-click-view-ide.png Binary file not shown. BIN +96.5 KB assets/images/help/classroom/assignments-click-view-test.png Binary file not shown. BIN +71.3 KB assets/images/help/classroom/assignments-define-teams.png Binary file not shown. BIN +39.4 KB assets/images/help/classroom/assignments-enable-feedback-pull-requests.png Binary file not shown. BIN +40.4 KB assets/images/help/classroom/assignments-type-protected-file-paths.png Binary file not shown. BIN +330 KB assets/images/help/classroom/autograding-actions-logs.png Binary file not shown. BIN +187 KB assets/images/help/classroom/autograding-actions-tab.png Binary file not shown. BIN +94.9 KB assets/images/help/classroom/autograding-click-grading-method.png Diff not rendered. BIN +57.5 KB assets/images/help/classroom/autograding-click-pencil.png Diff not rendered. BIN +57.7 KB assets/images/help/classroom/autograding-click-trash.png Diff not rendered. BIN +168 KB assets/images/help/classroom/autograding-hero.png Diff not rendered. BIN +154 KB assets/images/help/classroom/classroom-add-students-to-your-roster.png Diff not rendered. BIN +166 KB assets/images/help/classroom/classroom-copy-credentials.png Diff not rendered. BIN +181 KB assets/images/help/classroom/classroom-hero.png Diff not rendered. BIN +48.3 KB assets/images/help/classroom/classroom-settings-click-connection-settings.png Diff not rendered. BIN +94 KB ...ges/help/classroom/classroom-settings-click-disconnect-from-your-lms-button.png Diff not rendered. BIN +148 KB assets/images/help/classroom/classroom-settings-click-lms.png Diff not rendered. BIN +149 KB assets/images/help/classroom/click-assignment-in-list.png Diff not rendered. BIN +52.3 KB assets/images/help/classroom/click-classroom-in-list.png Diff not rendered. BIN +49.5 KB assets/images/help/classroom/click-create-classroom-button.png Diff not rendered. BIN +30 KB assets/images/help/classroom/click-create-roster-button.png Diff not rendered. BIN +78.2 KB assets/images/help/classroom/click-delete-classroom-button.png Diff not rendered. BIN +60.8 KB ...images/help/classroom/click-import-from-a-learning-management-system-button.png Diff not rendered. BIN +51.9 KB assets/images/help/classroom/click-new-classroom-button.png Diff not rendered. BIN +83.4 KB assets/images/help/classroom/click-organization.png Diff not rendered. BIN +28.4 KB assets/images/help/classroom/click-settings.png Diff not rendered. BIN +29.7 KB assets/images/help/classroom/click-students.png Diff not rendered. BIN +60 KB assets/images/help/classroom/click-update-students-button.png Diff not rendered. BIN +127 KB assets/images/help/classroom/delete-classroom-click-delete-classroom-button.png Diff not rendered. BIN +104 KB assets/images/help/classroom/delete-classroom-modal-with-warning.png Diff not rendered. BIN +264 KB assets/images/help/classroom/ide-makecode-arcade-version-control-button.png Diff not rendered. BIN +69.4 KB assets/images/help/classroom/ide-replit-version-control-button.png Diff not rendered. BIN +234 KB assets/images/help/classroom/lms-github-classroom-credentials.png Diff not rendered. BIN +955 KB assets/images/help/classroom/probot-settings.gif Diff not rendered. BIN +113 KB assets/images/help/classroom/roster-hero.png Diff not rendered. BIN +40.4 KB assets/images/help/classroom/settings-click-rename-classroom-button.png Diff not rendered. BIN +41 KB assets/images/help/classroom/settings-type-classroom-name.png Diff not rendered. BIN +140 KB assets/images/help/classroom/setup-click-authorize-github-classroom.png Diff not rendered. BIN +102 KB assets/images/help/classroom/setup-click-authorize-github.png Diff not rendered. BIN +163 KB assets/images/help/classroom/setup-click-grant.png Diff not rendered. BIN +324 KB assets/images/help/classroom/students-click-delete-roster-button-in-modal.png Diff not rendered. BIN +91.1 KB assets/images/help/classroom/students-click-delete-roster-button.png Diff not rendered. BIN +48.2 KB assets/images/help/classroom/type-classroom-name.png Diff not rendered. BIN +174 KB assets/images/help/classroom/type-or-upload-student-identifiers.png Diff not rendered. BIN +83.3 KB assets/images/help/classroom/use-drop-down-then-click-archive.png Diff not rendered. BIN +45.2 KB assets/images/help/classroom/use-drop-down-then-click-unarchive.png Diff not rendered. BIN +55.4 KB assets/images/help/discussions/choose-new-category.png Diff not rendered. BIN +56.8 KB assets/images/help/discussions/click-delete-and-move-button.png Diff not rendered. BIN +59.7 KB assets/images/help/discussions/click-delete-discussion.png Diff not rendered. BIN +65.3 KB assets/images/help/discussions/click-delete-for-category.png Diff not rendered. BIN +68.9 KB assets/images/help/discussions/click-delete-this-discussion-button.png Diff not rendered. BIN +353 KB assets/images/help/discussions/click-discussion-in-list.png Diff not rendered. BIN +41 KB assets/images/help/discussions/click-edit-categories.png Diff not rendered. BIN +64.3 KB assets/images/help/discussions/click-edit-for-category.png Diff not rendered. BIN +60.2 KB assets/images/help/discussions/click-edit-pinned-discussion.png Diff not rendered. BIN +104 KB assets/images/help/discussions/click-new-category-button.png Diff not rendered. BIN +98.2 KB assets/images/help/discussions/click-pin-discussion-button.png Diff not rendered. BIN +55.7 KB assets/images/help/discussions/click-pin-discussion.png Diff not rendered. BIN +104 KB assets/images/help/discussions/click-save.png Diff not rendered. BIN +59.9 KB assets/images/help/discussions/click-transfer-discussion-button.png Diff not rendered. BIN +60.2 KB assets/images/help/discussions/click-transfer-discussion.png Diff not rendered. BIN +63.3 KB assets/images/help/discussions/click-unpin-discussion-button.png Diff not rendered. BIN +59.8 KB assets/images/help/discussions/click-unpin-discussion.png Diff not rendered. BIN +140 KB assets/images/help/discussions/comment-mark-as-answer-button.png Diff not rendered. BIN +136 KB assets/images/help/discussions/comment-marked-as-answer.png Diff not rendered. BIN +234 KB assets/images/help/discussions/customize-pinned-discussion.png Diff not rendered. BIN +1.21 MB assets/images/help/discussions/discussons-hero.png Diff not rendered. BIN +139 KB assets/images/help/discussions/edit-category-details.png Diff not rendered. BIN +136 KB assets/images/help/discussions/edit-existing-category-details.png Diff not rendered. BIN +55.5 KB assets/images/help/discussions/existing-category-click-save-changes-button.png Diff not rendered. BIN +680 KB assets/images/help/discussions/hero.png Diff not rendered. BIN +307 KB assets/images/help/discussions/most-helpful.png Diff not rendered. BIN +52.9 KB assets/images/help/discussions/new-category-click-create-button.png Diff not rendered. BIN +132 KB assets/images/help/discussions/new-discussion-button.png Diff not rendered. BIN +140 KB assets/images/help/discussions/new-discussion-select-category-dropdown-menu.png Diff not rendered. BIN +46.7 KB assets/images/help/discussions/new-discussion-start-discussion-button.png Diff not rendered. BIN +108 KB assets/images/help/discussions/new-discussion-title-and-body-fields.png Diff not rendered. BIN +23.1 KB assets/images/help/discussions/public-repo-settings.png Diff not rendered. BIN +49.5 KB assets/images/help/discussions/repository-discussions-tab.png Diff not rendered. BIN +51.8 KB assets/images/help/discussions/search-and-filter-controls.png Diff not rendered. BIN +44.4 KB assets/images/help/discussions/search-result.png Diff not rendered. BIN +35.4 KB assets/images/help/discussions/select-discussions-checkbox.png Diff not rendered. BIN +44.8 KB assets/images/help/discussions/setup-discussions-button.png Diff not rendered. BIN +95.9 KB assets/images/help/discussions/toggle-allow-users-with-read-access-checkbox.png Diff not rendered. BIN +73 KB assets/images/help/discussions/unanswered-discussion.png Diff not rendered. BIN +81.3 KB assets/images/help/discussions/use-choose-a-repository-drop-down.png Diff not rendered. BIN +30.3 KB assets/images/help/discussions/your-discussions.png Diff not rendered. BIN +563 KB assets/images/help/education/click-get-teacher-benefits.png Diff not rendered. BIN +116 KB assets/images/help/images/overview-actions-result-navigate.png Diff not rendered. BIN +150 KB assets/images/help/images/overview-actions-result-updated-2.png Diff not rendered. BIN +128 KB assets/images/help/images/workflow-graph-job.png Diff not rendered. BIN +135 KB assets/images/help/images/workflow-graph.png Diff not rendered. BIN +5.46 KB assets/images/help/organizations/update-profile-button.png Diff not rendered. BIN +44.6 KB assets/images/help/pull_requests/dependency-review-rich-diff.png Diff not rendered. BIN +24.6 KB assets/images/help/pull_requests/dependency-review-source-diff.png Diff not rendered. BIN +214 KB assets/images/help/pull_requests/dependency-review-vulnerability.png Diff not rendered. BIN +105 KB assets/images/help/pull_requests/file-filter-menu-json.png Diff not rendered. BIN +22.5 KB (510%) assets/images/help/pull_requests/pull-request-tabs-changed-files.png Diff not rendered. BIN +45.2 KB assets/images/help/repository/actions-delete-artifact-updated.png Diff not rendered. BIN +122 KB assets/images/help/repository/actions-failed-pester-test-updated.png Diff not rendered. BIN +45.4 KB assets/images/help/repository/artifact-drop-down-updated.png Diff not rendered. BIN +54.5 KB assets/images/help/repository/cancel-check-suite-updated.png Diff not rendered. BIN +120 KB assets/images/help/repository/copy-link-button-updated-2.png Diff not rendered. BIN +77.6 KB assets/images/help/repository/delete-all-logs-updated-2.png Diff not rendered. BIN +326 KB assets/images/help/repository/docker-action-workflow-run-updated.png Diff not rendered. BIN +84.6 KB assets/images/help/repository/download-logs-drop-down-updated-2.png Diff not rendered. BIN +170 KB assets/images/help/repository/in-progress-run.png Diff not rendered. BIN +124 KB assets/images/help/repository/javascript-action-workflow-run-updated-2.png Diff not rendered. BIN +116 KB assets/images/help/repository/passing-data-between-jobs-in-a-workflow-updated.png Diff not rendered. BIN +80.8 KB assets/images/help/repository/rerun-checks-drop-down-updated.png Diff not rendered. BIN +41.2 KB assets/images/help/repository/search-log-box-updated-2.png Diff not rendered. BIN +133 KB assets/images/help/repository/super-linter-workflow-results-updated-2.png Diff not rendered. BIN +97.5 KB assets/images/help/repository/superlinter-lint-code-base-job-updated.png Diff not rendered. BIN -128 KB assets/images/help/repository/upload-build-test-artifact.png Diff not rendered. BIN +27.5 KB (170%) assets/images/help/repository/view-run-billable-time.png Diff not rendered. BIN +54.8 KB assets/images/help/repository/workflow-run-kebab-horizontal-icon-updated-2.png Diff not rendered. BIN +7.54 KB assets/images/help/settings/appearance-tab.png Diff not rendered. BIN +39.7 KB assets/images/help/settings/theme-settings-radio-buttons.png Diff not rendered. BIN +11.1 KB assets/images/help/settings/update-theme-preference-button.png Diff not rendered. BIN +22.5 KB assets/images/help/sponsors/billing-account-switcher.png Diff not rendered. BIN +6.37 KB (150%) assets/images/help/sponsors/edit-sponsorship-payment-button.png Diff not rendered. BIN +34.8 KB assets/images/help/sponsors/link-account-button.png Diff not rendered. BIN +12.8 KB (170%) assets/images/help/sponsors/manage-your-sponsorship-button.png Diff not rendered. BIN +20.6 KB assets/images/help/sponsors/organization-update-email-textbox.png Diff not rendered. BIN +13.5 KB assets/images/help/sponsors/pay-prorated-amount-link.png Diff not rendered. BIN +34.7 KB assets/images/help/sponsors/select-an-account-drop-down.png Diff not rendered. BIN +17 KB assets/images/help/sponsors/sponsor-as-drop-down-menu.png Diff not rendered. BIN +15.8 KB assets/images/help/sponsors/sponsoring-as-drop-down-menu.png Diff not rendered. BIN +16.1 KB assets/images/help/sponsors/sponsoring-settings-button.png Diff not rendered. BIN +29.5 KB assets/images/help/sponsors/sponsoring-tab.png Diff not rendered. BIN +7.91 KB assets/images/help/sponsors/update-checkbox-manage.png Diff not rendered. BIN +43 KB (160%) assets/images/marketplace/marketplace-request-button.png Diff not rendered. BIN +53.6 KB assets/images/marketplace/marketplace_verified_creator_badges_apps.png Diff not rendered. 6 content/actions/creating-actions/creating-a-docker-container-action.md @@ -226,6 +226,10 @@ jobs: ``` {% endraw %} From your repository, click the **Actions** tab, and select the latest workflow run. You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log. From your repository, click the **Actions** tab, and select the latest workflow run. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}Under **Jobs** or in the visualization graph, click **A job to say hello**. {% endif %}You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} 6 content/actions/creating-actions/creating-a-javascript-action.md @@ -261,9 +261,11 @@ jobs: ``` {% endraw %} From your repository, click the **Actions** tab, and select the latest workflow run. You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log. From your repository, click the **Actions** tab, and select the latest workflow run. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}Under **Jobs** or in the visualization graph, click **A job to say hello**. {% endif %}You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% elsif currentVersion ver_gt "enterprise-server@2.22" %}  {% else %}  4 content/actions/guides/about-packaging-with-github-actions.md @@ -25,7 +25,11 @@ Creating a package at the end of a continuous integration workflow can help duri Now, when reviewing a pull request, you'll be able to look at the workflow run and download the artifact that was produced. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} This will let you run the code in the pull request on your machine, which can help with debugging or testing the pull request. 4 content/actions/guides/building-and-testing-powershell.md @@ -60,7 +60,11 @@ jobs: * `run: Test-Path resultsfile.log` - Check whether a file called `resultsfile.log` is present in the repository's root directory. * `Should -Be $true` - Uses Pester to define an expected result. If the result is unexpected, then {% data variables.product.prodname_actions %} flags this as a failed test. For example: {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} * `Invoke-Pester Unit.Tests.ps1 -Passthru` - Uses Pester to execute tests defined in a file called `Unit.Tests.ps1`. For example, to perform the same test described above, the `Unit.Tests.ps1` will contain the following: ``` 7 content/actions/guides/storing-workflow-data-as-artifacts.md @@ -108,8 +108,6 @@ jobs: path: output/test/code-coverage.html ```  {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} ### Configuring a custom artifact retention period @@ -238,7 +236,12 @@ jobs: echo The result is $value ``` The workflow run will archive any artifacts that it generated. For more information on downloading archived artifacts, see "[Downloading workflow artifacts](/actions/managing-workflow-runs/downloading-workflow-artifacts)." {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} {% if currentVersion == "free-pro-team@latest" %} 8 content/actions/index.md @@ -68,18 +68,18 @@ versions: <h2 class="mb-2 font-mktg h1">Code examples</h2> <div class="pr-lg-3 mb-5 mt-3"> <input class="js-code-example-filter input-lg py-2 px-3 col-12 col-lg-8 form-control" placeholder="Search code examples" type="search" autocomplete="off" aria-label="Search code examples"/> <input class="js-filter-card-filter input-lg py-2 px-3 col-12 col-lg-8 form-control" placeholder="Search code examples" type="search" autocomplete="off" aria-label="Search code examples"/> </div> <div class="d-flex flex-wrap gutter"> {% render 'code-example-card' for actionsCodeExamples as example %} </div> <button class="js-code-example-show-more btn btn-outline float-right">Show more {% octicon "arrow-right" %}</button> <button class="js-filter-card-show-more btn btn-outline float-right">Show more {% octicon "arrow-right" %}</button> <div class="js-code-example-no-results d-none py-4 text-center text-gray font-mktg"> <div class="js-filter-card-no-results d-none py-4 text-center text-gray font-mktg"> <div class="mb-3">{% octicon "search" width="24" %}</div> <h3 class="text-normal">Sorry, there is no result for <strong class="js-code-example-filter-value"></strong></h3> <h3 class="text-normal">Sorry, there is no result for <strong class="js-filter-card-value"></strong></h3> <p class="my-3 f4">It looks like we don't have an example that fits your filter.<br>Try another filter or add your code example</p> <a href="https://github.com/github/docs/blob/main/data/variables/action_code_examples.yml">Learn how to add a code example {% octicon "arrow-right" %}</a> </div> 11 content/actions/learn-github-actions/introduction-to-github-actions.md @@ -204,7 +204,7 @@ In this diagram, you can see the workflow file you just created and how the {% d ### Viewing the job's activity Once your job has started running, you can view each step's activity on {% data variables.product.prodname_dotcom %}. Once your job has started running, you can {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}see a visualization graph of the run's progress and {% endif %}view each step's activity on {% data variables.product.prodname_dotcom %}. {% data reusables.repositories.navigate-to-repo %} 1. Under your repository name, click **Actions**. @@ -213,7 +213,14 @@ Once your job has started running, you can view each step's activity on {% data  1. Under "Workflow runs", click the name of the run you want to see.  {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} 1. Under **Jobs** or in the visualization graph, click the job you want to see.  {% endif %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} 1. View the results of each step.  {% elsif currentVersion ver_gt "enterprise-server@2.22" %} 1. Click on the job name to see the results of each step.  {% else %} 7 content/actions/managing-workflow-runs/canceling-a-workflow.md @@ -17,9 +17,14 @@ versions: {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} 1. From the list of workflow runs, click the name of the `queued` or `in progress` run that you want to cancel.  1. In the upper-right corner of the workflow, click **Cancel workflow**. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} ### Steps {% data variables.product.prodname_dotcom %} takes to cancel a workflow run 4 content/actions/managing-workflow-runs/downloading-workflow-artifacts.md @@ -20,4 +20,8 @@ versions: {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} 1. Under **Artifacts**, click the artifact you want to download. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} 1 content/actions/managing-workflow-runs/index.md @@ -18,6 +18,7 @@ versions: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}{% link_in_list /using-the-visualization-graph %}{% endif %} {% link_in_list /viewing-workflow-run-history %} {% link_in_list /using-workflow-run-logs %} {% link_in_list /manually-running-a-workflow %} 3 content/actions/managing-workflow-runs/re-running-a-workflow.md @@ -16,5 +16,4 @@ versions: {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} 1. In the upper-right corner of the workflow, use the **Re-run jobs** drop-down menu, and select **Re-run all jobs**.  1. In the upper-right corner of the workflow, use the **Re-run jobs** drop-down menu, and select **Re-run all jobs**.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}{% else %}{% endif %} 4 content/actions/managing-workflow-runs/removing-workflow-artifacts.md @@ -27,7 +27,11 @@ versions: {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} 1. Under **Artifacts**, click {% octicon "trashcan" aria-label="The trashcan icon" %} next to the artifact you want to remove. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} ### Setting the retention period for an artifact 23 content/actions/managing-workflow-runs/using-the-visualization-graph.md @@ -0,0 +1,23 @@ --- title: Using the visualization graph intro: Every workflow run generates a real-time graph that illustrates the run progress. You can use this graph to monitor and debug workflows. product: '{% data reusables.gated-features.actions %}' versions: free-pro-team: '*' enterprise-server: '>=3.1' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.visualization-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} 1. The graph displays each job in the workflow. An icon to the left of the job name indicates the status of the job. Lines between jobs indicate dependencies.  2. Click on a job to view the job log.  18 content/actions/managing-workflow-runs/using-workflow-run-logs.md @@ -45,7 +45,11 @@ You can search the build logs for a particular step. When you search logs, only {% data reusables.repositories.navigate-to-job-superlinter %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} 1. In the upper-right corner of the log output, in the **Search logs** search box, type a search query. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} {% else %} 1. To expand each step you want to include in your search, click the step.  @@ -63,8 +67,12 @@ You can download the log files from your workflow run. You can also download a w {% data reusables.repositories.view-run-superlinter %} {% data reusables.repositories.navigate-to-job-superlinter %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} 1. In the upper right corner, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} and select **Download log archive**. 1. In the upper right corner, click {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}{% octicon "gear" aria-label="The gear icon" %}{% else %}{% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}{% endif %} and select **Download log archive**. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} {% else %} 1. In the upper right corner, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} and select **Download log archive**.  @@ -80,9 +88,17 @@ You can delete the log files from your workflow run. {% data reusables.repositor {% data reusables.repositories.view-run-superlinter %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} 1. In the upper right corner, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} 2. To delete the log files, click the **Delete all logs** button and review the confirmation prompt. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}  {% else %}  {% endif %} After deleting logs, the **Delete all logs** button is removed to indicate that no log files remain in the workflow run. {% else %} 1. In the upper right corner, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}. 2 content/actions/managing-workflow-runs/viewing-job-execution-time.md @@ -15,7 +15,7 @@ Billable job execution minutes are only shown for jobs run on private repositori {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} 1. Under the job summary, you can view the job's execution time. To view the billable job execution time, click **Run and billable time details**. 1. Under the job summary, you can view the job's execution time. To view details about the billable job execution time, click the time under **Billable time**.  {% note %} 5 content/actions/quickstart.md @@ -60,8 +60,13 @@ Committing the workflow file in your repository triggers the `push` event and ru {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow-superlinter %} {% data reusables.repositories.view-run-superlinter %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} 1. Under **Jobs** or in the visualization graph, click the **Lint code base** job.  {% else %} 1. In the left sidebar, click the **Lint code base** job.  {% endif %} {% data reusables.repositories.view-failed-job-results-superlinter %} ### More starter workflows 49 content/developers/github-marketplace/about-github-marketplace.md @@ -1,6 +1,6 @@ --- title: About GitHub Marketplace intro: 'Learn the basics to prepare your app for review before joining {% data variables.product.prodname_marketplace %}.' intro: 'Learn about {% data variables.product.prodname_marketplace %} where you can share your apps and actions publicly with all {% data variables.product.product_name %} users.' redirect_from: - /apps/marketplace/getting-started/ - /marketplace/getting-started @@ -14,52 +14,41 @@ versions: {% data reusables.actions.actions-not-verified %} To learn about publishing {% data variables.product.prodname_actions %} in the {% data variables.product.prodname_marketplace %}, see "[Publishing actions in GitHub Marketplace](/actions/creating-actions/publishing-actions-in-github-marketplace)." To learn about publishing {% data variables.product.prodname_actions %} in {% data variables.product.prodname_marketplace %}, see "[Publishing actions in GitHub Marketplace](/actions/creating-actions/publishing-actions-in-github-marketplace)." ### Apps You can list verified and unverified apps in {% data variables.product.prodname_marketplace %}. Unverified apps do not go through the security, testing, and verification cycle {% data variables.product.prodname_dotcom %} requires for verified apps. Anyone can share their apps with other users on {% data variables.product.prodname_marketplace %} but only listings that are verified by {% data variables.product.company_short %} can include paid plans. For more information, see "[About verified creators](/developers/github-marketplace/about-verified-creators)." Verified apps have a green badge in {% data variables.product.prodname_marketplace %}. Unverified apps have a grey badge next to their listing and are only available as free apps. If you're interested in creating an app for {% data variables.product.prodname_marketplace %}, but you're new to {% data variables.product.prodname_github_apps %} or {% data variables.product.prodname_oauth_app %}s, see "[Building {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps)" or "[Building {% data variables.product.prodname_oauth_app %}s](/developers/apps/building-oauth-apps)."  If you're interested in creating an app for {% data variables.product.prodname_marketplace %}, but you're new to {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_oauth_app %}s, see "[Building apps](/apps/)." {% data reusables.marketplace.github_apps_preferred %}, although you can list both OAuth and {% data variables.product.prodname_github_app %}s in {% data variables.product.prodname_marketplace %}. See "[Differences between GitHub and OAuth apps](/apps/differences-between-apps/)" for more details. To learn more about switching from OAuth to {% data variables.product.prodname_github_apps %}, see [Migrating OAuth Apps to {% data variables.product.prodname_github_app %}s](/apps/migrating-oauth-apps-to-github-apps/). {% data reusables.marketplace.github_apps_preferred %}, although you can list both OAuth and {% data variables.product.prodname_github_app %}s in {% data variables.product.prodname_marketplace %}. For more information, see "[Differences between {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_oauth_app %}s](/apps/differences-between-apps/)" and "[Migrating {% data variables.product.prodname_oauth_app %}s to {% data variables.product.prodname_github_apps %}](/apps/migrating-oauth-apps-to-github-apps/)." If you have questions about {% data variables.product.prodname_marketplace %}, please contact {% data variables.contact.contact_support %} directly. #### Unverified Apps Unverified apps do not need to meet the "[Requirements for listing an app on {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace/)" or go through the "[Security review process](/marketplace/getting-started/security-review-process/)". {% data reusables.marketplace.unverified-apps %} Having a published paid plan will prevent you from being able to submit an unverified app. You must remove paid plans or keep them in draft mode before publishing an unverified app. To list your unverified app in {% data variables.product.prodname_marketplace %}, you only need to create a "[Listing on {% data variables.product.prodname_marketplace %}](/marketplace/listing-on-github-marketplace/)" and submit it as an unverified listing. {% data reusables.marketplace.launch-with-free %} ### Publishing an app to {% data variables.product.prodname_marketplace %} #### Verified Apps When you have finished creating your app, you can share it with other users by publishing it to {% data variables.product.prodname_marketplace %}. In summary, the process is: If you've already built an app and you're interested in submitting a verified listing in {% data variables.product.prodname_marketplace %}, start here: 1. Review your app carefully to ensure that it will behave as expected in other repositories and that it follows best practice guidelines. For more information, see "[Security best practices for apps](/developers/github-marketplace/security-best-practices-for-apps)" and "[Requirements for listing an app](/developers/github-marketplace/requirements-for-listing-an-app#best-practice-for-customer-experience)." 1. [Getting started with {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/)<br/>Learn about requirements, guidelines, and the app submission process. 1. Add webhook events to the app to track user billing requests. For more information about the {% data variables.product.prodname_marketplace %} API, webhook events, and billing requests, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." 1. [Integrating with the {% data variables.product.prodname_marketplace %} API](/marketplace/integrating-with-the-github-marketplace-api/)<br/>Before you can list your app on {% data variables.product.prodname_marketplace %}, you'll need to integrate billing flows using the {% data variables.product.prodname_marketplace %} API and webhook events. 1. Create a draft {% data variables.product.prodname_marketplace %} listing. For more information, see "[Drafting a listing for your app](/developers/github-marketplace/drafting-a-listing-for-your-app)." 1. [Listing on {% data variables.product.prodname_marketplace %}](/marketplace/listing-on-github-marketplace/) <br/>Create a draft {% data variables.product.prodname_marketplace %} listing, configure webhook settings, and set up pricing plans. 1. Add a pricing plan. For more information, see "[Setting pricing plans for your listing](/developers/github-marketplace/setting-pricing-plans-for-your-listing)." 1. [Selling your app](/marketplace/selling-your-app/)<br/>Learn about pricing plans, billing cycles, and how to receive payment from {% data variables.product.prodname_dotcom %} for your app. 1. Check whether your app meets the requirements for listing on {% data variables.product.prodname_marketplace %} as a free or a paid app. For more information, see "[Requirements for listing an app](/developers/github-marketplace/requirements-for-listing-an-app)." 1. [{% data variables.product.prodname_marketplace %} Insights](/marketplace/github-marketplace-insights/)<br/>See how your app is performing in {% data variables.product.prodname_marketplace %}. You can use metrics collected by {% data variables.product.prodname_dotcom %} to guide your marketing campaign and be successful in {% data variables.product.prodname_marketplace %}. 1. Read and accept the terms of the "[{% data variables.product.prodname_marketplace %} Developer Agreement](/articles/github-marketplace-developer-agreement/)." 1. [{% data variables.product.prodname_marketplace %} transactions](/marketplace/github-marketplace-transactions/)<br/>Download and view transaction data for your {% data variables.product.prodname_marketplace %} listing. 1. Submit your listing for publication in {% data variables.product.prodname_marketplace %}, requesting verification if you want to sell the app. For more information, see "[Submitting your listing for publication](/developers/github-marketplace/submitting-your-listing-for-publication)." ### Reviewing your app An onboarding expert will contact you with any questions or further steps. For example, if you have added a paid plan, you will need to complete the verification process and complete financial onboarding. As soon as your listing is approved the app is published to {% data variables.product.prodname_marketplace %}. We want to make sure that the apps offered on {% data variables.product.prodname_marketplace %} are safe, secure, and well tested. The {% data variables.product.prodname_marketplace %} onboarding specialists will review your app to ensure that it meets all requirements. Follow the guidelines in these articles before submitting your app: ### Seeing how your app is performing You can access metrics and transactions for your listing. For more information, see: * [Requirements for listing an app on {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace/) * [Security review process](/marketplace/getting-started/security-review-process/) - "[Viewing metrics for your listing](/developers/github-marketplace/viewing-metrics-for-your-listing)" - "[Viewing transactions for your listing](/developers/github-marketplace/viewing-transactions-for-your-listing)" 43 content/developers/github-marketplace/about-verified-creators.md @@ -0,0 +1,43 @@ --- title: About verified creators intro: 'Each organization that wants to sell apps on {% data variables.product.prodname_marketplace %} must follow a verification process. Their identity is checked and their billing process reviewed.' versions: free-pro-team: '*' --- ### About verified creators A verified creator is an organization that {% data variables.product.company_short %} has checked. Anyone can share their apps with other users on {% data variables.product.prodname_marketplace %} but only organizations that are verified by {% data variables.product.company_short %} can sell apps. For more information about organizations, see "[About organizations](/github/setting-up-and-managing-organizations-and-teams/about-organizations)." The verification process aims to protect users. For example, it verifies the seller's identity, checks that their {% data variables.product.product_name %} organization is set up securely, and that they can be contacted for support. After passing the verification checks, any apps that the organization lists on {% data variables.product.prodname_marketplace %} are shown with a verified creator badge {% octicon "verified" aria-label="Verified creator badge" %}. The organization can now add paid plans to any of their apps. Each app with a paid plan also goes through a financial onboarding process to check that it's set up to handle billing correctly.  In addition to the verified creator badge, you'll also see badges for unverified and verified apps. These apps were published using the old method for verifying individual apps.  For information on finding apps to use, see "[Searching {% data variables.product.prodname_marketplace %}](/github/searching-for-information-on-github/searching-github-marketplace)." ### About the verification process The first time you request verification for a listing of one of your apps, you will enter the verification process. An onboarding expert will guide you through the process. This includes checking: - Profile information - The basic profile information is populated accurately and appropriately. - Security - The organization has enabled two-factor authentication. - Verified domain - The organization has verified the domain of the site URL. - Purchase webhook event - The event is handled correctly by the app. When your organization is verified, all your apps are shown with a verified creator badge. You are now able to offer paid plans for any of your apps. For more information about the requirements for listing an app on {% data variables.product.prodname_marketplace %}, see "[Requirements for listing an app on {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace/)." {% data reusables.marketplace.app-transfer-to-org-for-verification %} For information on how to do this, see: "[Submitting your listing for publication](/developers/github-marketplace/submitting-your-listing-for-publication#transferring-an-app-to-an-organization-before-you-submit)." {% note %} **Note:** This verification process for apps replaces the previous process where individual apps were verified. The current process is similar to the verification process for actions. If you have apps that were verified under the old process, these will not be affected by the changes. The {% data variables.product.prodname_marketplace %} team will contact you with details of how to migrate to organization-based verification. {% endnote %} 12 content/developers/github-marketplace/billing-customers.md @@ -13,17 +13,17 @@ versions: ### Understanding the billing cycle Customers can choose a monthly or yearly billing cycle when they purchase your app. All changes customers make to the billing cycle and plan selection will trigger a `marketplace_purchase` event. You can refer to the `marketplace_purchase` webhook payload to see which billing cycle a customer selects and when the next billing date begins (`effective_date`). For more information about webhook payloads, see "[{% data variables.product.prodname_marketplace %} webhook events](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/)." Customers can choose a monthly or yearly billing cycle when they purchase your app. All changes customers make to the billing cycle and plan selection will trigger a `marketplace_purchase` event. You can refer to the `marketplace_purchase` webhook payload to see which billing cycle a customer selects and when the next billing date begins (`effective_date`). For more information about webhook payloads, see "[Webhook events for the {% data variables.product.prodname_marketplace %} API](/developers/github-marketplace/webhook-events-for-the-github-marketplace-api)." ### Providing billing services in your app's UI Customers must be able to perform the following actions from your app's website: - Customers must be able to modify or cancel their {% data variables.product.prodname_marketplace %} plans for personal and organizational accounts separately. Customers should be able to perform the following actions from your app's website: - Customers should be able to modify or cancel their {% data variables.product.prodname_marketplace %} plans for personal and organizational accounts separately. {% data reusables.marketplace.marketplace-billing-ui-requirements %} ### Billing services for upgrades, downgrades, and cancellations Follow these guidelines for upgrades, downgrades, and cancellations to maintain a clear and consistent billing process. For more detailed instructions about the {% data variables.product.prodname_marketplace %} purchase events, see "[Billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows)." Follow these guidelines for upgrades, downgrades, and cancellations to maintain a clear and consistent billing process. For more detailed instructions about the {% data variables.product.prodname_marketplace %} purchase events, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." You can use the `marketplace_purchase` webhook's `effective_date` key to determine when a plan change will occur and periodically synchronize the [List accounts for a plan](/rest/reference/apps#list-accounts-for-a-plan). @@ -33,7 +33,7 @@ When a customer upgrades their pricing plan or changes their billing cycle from {% data reusables.marketplace.marketplace-failed-purchase-event %} For information about building upgrade and downgrade workflows into your app, see "[Upgrading and downgrading plans](/marketplace/integrating-with-the-github-marketplace-api/upgrading-and-downgrading-plans/)." For information about building upgrade and downgrade workflows into your app, see "[Handling plan changes](/developers/github-marketplace/handling-plan-changes)." #### Downgrades and cancellations @@ -45,4 +45,4 @@ When a customer cancels a plan, you must: {% data reusables.marketplace.cancellation-clarification %} - Enable them to upgrade the plan through GitHub if they would like to continue the plan at a later time. For information about building cancellation workflows into your app, see "[Cancelling plans](/marketplace/integrating-with-the-github-marketplace-api/cancelling-plans/)." For information about building cancellation workflows into your app, see "[Handling plan cancellations](/developers/github-marketplace/handling-plan-cancellations)." 20 ...nt/developers/github-marketplace/customer-experience-best-practices-for-apps.md @@ -0,0 +1,20 @@ --- title: Customer experience best practices for apps intro: 'Guidelines for creating an app that will be easy to use and understand.' shortTitle: Customer experience best practice versions: free-pro-team: '*' --- If you follow these best practices it will help you to provide a good customer experience. ### Customer communication - Marketing materials for the app should accurately represent the app's behavior. - Apps should include links to user-facing documentation that describe how to set up and use the app. - Customers should be able to see what type of plan they have in the billing, profile, or account settings section of the app. - Customers should be able to install and use your app on both a personal account and an organization account. They should be able to view and manage the app on those accounts separately. ### Plan management {% data reusables.marketplace.marketplace-billing-ui-requirements %} 4 content/developers/github-marketplace/drafting-a-listing-for-your-app.md @@ -59,8 +59,8 @@ Once you've created a {% data variables.product.prodname_marketplace %} draft li ### Submitting your app Once you've completed your {% data variables.product.prodname_marketplace %} listing, you can submit your listing for review from the **Overview** page. You'll need to read and accept the "[{% data variables.product.prodname_marketplace %} Developer Agreement](/articles/github-marketplace-developer-agreement/)," and then you can click **Submit for review**. After you submit your app for review, the {% data variables.product.prodname_marketplace %} onboarding team will contact you with additional information about the onboarding process. You can learn more about the onboarding and security review process in "[Getting started with {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/)." Once you've completed your {% data variables.product.prodname_marketplace %} listing, you can submit your listing for review from the **Overview** page. You'll need to read and accept the "[{% data variables.product.prodname_marketplace %} Developer Agreement](/articles/github-marketplace-developer-agreement/)," and then you can click **Submit for review**. After you submit your app for review, an onboarding expert will contact you with additional information about the onboarding process. You can learn more about the onboarding and security review process in "[Getting started with {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/)." ### Removing a {% data variables.product.prodname_marketplace %} listing If you no longer want to list your app in {% data variables.product.prodname_marketplace %}, contact [marketplace@github.com](mailto:marketplace@github.com) to remove your listing. If you no longer want to list your app in {% data variables.product.prodname_marketplace %}, contact {% data variables.contact.contact_support %} to remove your listing. 2 content/developers/github-marketplace/handling-new-purchases-and-free-trials.md @@ -28,7 +28,7 @@ GitHub then sends the [`marketplace_purchase`](/webhooks/event-payloads/#marketp Read the `effective_date` and `marketplace_purchase` object from the `marketplace_purchase` webhook to determine which plan the customer purchased, when the billing cycle starts, and when the next billing cycle begins. If your app offers a free trial, read the `marketplace_purchase[on_free_trial]` attribute from the webhook. If the value is `true`, your app will need to track the free trial start date (`effective_date`) and the date the free trial ends (`free_trial_ends_on`). Use the `free_trial_ends_on` date to display the remaining days left in a free trial in your app's UI. You can do this in either a banner or in your [billing UI](/marketplace/selling-your-app/billing-customers-in-github-marketplace/#providing-billing-services-in-your-apps-ui). To learn how to handle cancellations before a free trial ends, see "[Cancelling plans](/marketplace/integrating-with-the-github-marketplace-api/cancelling-plans/)." See "[Upgrading and downgrading plans](/marketplace/integrating-with-the-github-marketplace-api/upgrading-and-downgrading-plans/)" to find out how to transition a free trial to a paid plan when a free trial expires. If your app offers a free trial, read the `marketplace_purchase[on_free_trial]` attribute from the webhook. If the value is `true`, your app will need to track the free trial start date (`effective_date`) and the date the free trial ends (`free_trial_ends_on`). Use the `free_trial_ends_on` date to display the remaining days left in a free trial in your app's UI. You can do this in either a banner or in your [billing UI](/marketplace/selling-your-app/billing-customers-in-github-marketplace/#providing-billing-services-in-your-apps-ui). To learn how to handle cancellations before a free trial ends, see "[Handling plan cancellations](/developers/github-marketplace/handling-plan-cancellations)." See "[Handling plan changes](/developers/github-marketplace/handling-plan-changes)" to find out how to transition a free trial to a paid plan when a free trial expires. See "[{% data variables.product.prodname_marketplace %} webhook events](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/)" for an example of the `marketplace_purchase` event payload. 6 content/developers/github-marketplace/index.md @@ -11,8 +11,10 @@ versions: {% topic_link_in_list /creating-apps-for-github-marketplace %} {% link_in_list /about-github-marketplace %} {% link_in_list /about-verified-creators %} {% link_in_list /requirements-for-listing-an-app %} {% link_in_list /security-review-process-for-submitted-apps %} {% link_in_list /security-best-practices-for-apps %} {% link_in_list /customer-experience-best-practices-for-apps %} {% link_in_list /viewing-metrics-for-your-listing %} {% link_in_list /viewing-transactions-for-your-listing %} {% topic_link_in_list /using-the-github-marketplace-api-in-your-app %} @@ -27,7 +29,7 @@ versions: {% link_in_list /writing-a-listing-description-for-your-app %} {% link_in_list /setting-pricing-plans-for-your-listing %} {% link_in_list /configuring-a-webhook-to-notify-you-of-plan-changes %} {% link_in_list /submitting-your-listing-for-review %} {% link_in_list /submitting-your-listing-for-publication %} {% topic_link_in_list /selling-your-app-on-github-marketplace %} {% link_in_list /pricing-plans-for-github-marketplace-apps %} {% link_in_list /billing-customers %} 32 content/developers/github-marketplace/pricing-plans-for-github-marketplace-apps.md @@ -10,35 +10,45 @@ versions: {% data variables.product.prodname_marketplace %} pricing plans can be free, flat rate, or per-unit, and GitHub lists the price in US dollars. Customers purchase your app using a payment method attached to their {% data variables.product.product_name %} account, without having to leave GitHub.com. You don't have to write code to perform billing transactions, but you will have to handle [billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows) for purchase events. {% data variables.product.prodname_marketplace %} pricing plans can be free, flat rate, or per-unit. Prices are set, displayed, and processed in US dollars. Paid plans are restricted to verified listings. Customers purchase your app using a payment method attached to their {% data variables.product.product_name %} account, without having to leave {% data variables.product.prodname_dotcom_the_website %}. You don't have to write code to perform billing transactions, but you will have to handle events from the {% data variables.product.prodname_marketplace %} API. For more information, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." If the app you're listing on {% data variables.product.prodname_marketplace %} has multiple plan options, you can set up corresponding pricing plans. For example, if your app has two plan options, an open source plan and a pro plan, you can set up a free pricing plan for your open source plan and a flat pricing plan for your pro plan. Each {% data variables.product.prodname_marketplace %} listing must have an annual and a monthly price for every plan that's listed. For more information on how to create a pricing plan, see "[Setting a {% data variables.product.prodname_marketplace %} listing's pricing plan](/marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan/)." {% note %} {% data reusables.marketplace.free-plan-note %} **Note:** If you're listing an app on {% data variables.product.prodname_marketplace %}, you can't list your app with a free pricing plan if you offer a paid service outside of {% data variables.product.prodname_marketplace %}. ### Types of pricing plans {% endnote %} #### Free pricing plans ### Types of pricing plans {% data reusables.marketplace.free-apps-encouraged %} Free plans are completely free for users. If you set up a free pricing plan, you cannot charge users that choose the free pricing plan for the use of your app. You can create both free and paid plans for your listing. All apps need to handle events for new purchases and cancellations. Apps that only have free plans do not need to handle events for free trials, upgrades, and downgrades. For more information, see: "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." If you add a paid plan to an app that you've already listed in {% data variables.product.prodname_marketplace %} as a free service, you'll need to request verification for the app and go through financial onboarding. #### Paid pricing plans **Free pricing plans** are completely free for users. If you set up a free pricing plan, you cannot charge users that choose the free pricing plan for the use of your app. You can create both free and paid plans for your listing. Unverified free apps do not need to implement any billing flows. Free apps that are verified by Github need to implement billing flows for new purchases and cancellations, but do not need to implement billing flows for free trials, upgrades, and downgrades. If you add a paid plan to an app that you've already listed in {% data variables.product.prodname_marketplace %} as a free service, you'll need to resubmit the app for review. There are two types of paid pricing plan: **Flat rate pricing plans** charge a set fee on a monthly and yearly basis. - Flat rate pricing plans charge a set fee on a monthly and yearly basis. **Per-unit pricing plans** charge a set fee on either a monthly or yearly basis for a unit that you specify. A "unit" can be anything you'd like (for example, a user, seat, or person). - Per-unit pricing plans charge a set fee on either a monthly or yearly basis for a unit that you specify. A "unit" can be anything you'd like (for example, a user, seat, or person). **Marketplace free trials** provide 14-day free trials of OAuth or GitHub Apps to customers. When you [set up a Marketplace pricing plan](/marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan/), you can select the option to provide a free trial for flat-rate or per-unit pricing plans. You may also want to offer free trials. These provide free, 14-day trials of OAuth or GitHub Apps to customers. When you set up a Marketplace pricing plan, you can select the option to provide a free trial for flat-rate or per-unit pricing plans. ### Free trials Customers can start a free trial for any available paid plan on a Marketplace listing, but will not be able to create more than one free trial for a Marketplace product. Customers can start a free trial for any paid plan on a Marketplace listing that includes free trials. However, customers cannot create more than one free trial per marketplace product. Free trials have a fixed length of 14 days. Customers are notified 4 days before the end of their trial period (on day 11 of the free trial) that their plan will be upgraded. At the end of a free trial, customers will be auto-enrolled into the plan they are trialing if they do not cancel. See "[New purchases and free trials](/marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials/)" for details on how to handle free trials in your app. For more information, see: "[Handling new purchases and free trials](/developers/github-marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials/)." {% note %} 61 content/developers/github-marketplace/requirements-for-listing-an-app.md @@ -1,6 +1,6 @@ --- title: Requirements for listing an app intro: 'Apps on {% data variables.product.prodname_marketplace %} must meet the requirements outlined on this page before our {% data variables.product.prodname_marketplace %} onboarding specialists will approve the listing.' intro: 'Apps on {% data variables.product.prodname_marketplace %} must meet the requirements outlined on this page before the listing can be published.' redirect_from: - /apps/adding-integrations/listing-apps-on-github-marketplace/requirements-for-listing-an-app-on-github-marketplace/ - /apps/marketplace/listing-apps-on-github-marketplace/requirements-for-listing-an-app-on-github-marketplace/ @@ -12,49 +12,62 @@ versions: free-pro-team: '*' --- <!--UI-LINK: Displayed as a link on the https://github.com/marketplace/new page.--> The requirements for listing an app on {% data variables.product.prodname_marketplace %} vary according to whether you want to offer a free or a paid app. Before you submit your app for review, you must read and accept the terms of the "[{% data variables.product.prodname_marketplace %} Developer Agreement](/articles/github-marketplace-developer-agreement/)." You'll accept the terms within your [draft listing](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/) on {% data variables.product.product_name %}. Once you've submitted your app, one of the {% data variables.product.prodname_marketplace %} onboarding specialists will reach out to you with more information about the onboarding process, and review your app to ensure it meets these requirements: ### Requirements for all {% data variables.product.prodname_marketplace %} listings ### User experience All listings on {% data variables.product.prodname_marketplace %} should be for tools that provide value to the {% data variables.product.product_name %} community. When you submit your listing for publication, you must read and accept the terms of the "[{% data variables.product.prodname_marketplace %} Developer Agreement](/articles/github-marketplace-developer-agreement/)." - {% data variables.product.prodname_github_app %}s should have a minimum of 100 installations. - {% data variables.product.prodname_oauth_app %}s should have a minimum of 200 users. #### User experience requirements for all apps All listings should meet the following requirements, regardless of whether they are for a free or paid app. - Listings must not actively persuade users away from {% data variables.product.product_name %}. - Listings must include valid contact information for the publisher. - Listings must have a relevant description of the application. - Listings must specify a pricing plan. - Apps must provide value to customers and integrate with the platform in some way beyond authentication. - Apps must be publicly available in {% data variables.product.prodname_marketplace %} and cannot be in beta or available by invite only. - Apps cannot actively persuade users away from {% data variables.product.product_name %}. - Marketing materials for the app must accurately represent the app's behavior. - Apps must include links to user-facing documentation that describe how to set up and use the app. - When a customer purchases an app and GitHub redirects them to the app's installation URL, the app must begin the OAuth flow immediately. For details, see "[Handling new purchases and free trials](/marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials/#step-3-authorization)." - Apps must have webhook events set up to notify the publisher of any plan changes or cancellations using the {% data variables.product.prodname_marketplace %} API. For more information, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." - Customers must be able to install your app and select repositories on both a personal and organization account. They should be able to view and manage those accounts separately. For more information on providing a good customer experience, see "[Customer experience best practices for apps](/developers/github-marketplace/customer-experience-best-practices-for-apps)." ### Brand and listing #### Brand and listing requirements for all apps - Apps that use GitHub logos must follow the "[{% data variables.product.product_name %} Logos and Usage](https://github.com/logos)" guidelines. - Apps that use GitHub logos must follow the {% data variables.product.company_short %} guidelines. For more information, see "[{% data variables.product.company_short %} Logos and Usage](https://github.com/logos)." - Apps must have a logo, feature card, and screenshots images that meet the recommendations provided in "[Writing {% data variables.product.prodname_marketplace %} listing descriptions](/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions/)." - Listings must include descriptions that are well written and free of grammatical errors. For guidance in writing your listing, see "[Writing {% data variables.product.prodname_marketplace %} listing descriptions](/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions/)." ### Security To protect your customers, we recommend that you also follow security best practices. For more information, see "[Security best practices for apps](/developers/github-marketplace/security-best-practices-for-apps)." ### Considerations for free apps Apps will go through a security review before being listed on {% data variables.product.prodname_marketplace %}. A successful review will meet the requirements and follow the security best practices listed in "[Security review process](/marketplace/getting-started/security-review-process/)." For information on the review process, contact [marketplace@github.com](mailto:marketplace@github.com). {% data reusables.marketplace.free-apps-encouraged %} ### Requirements for paid apps In addition to the requirements for all apps above, each app that you offer as a paid service on {% data variables.product.prodname_marketplace %} must also meet the following requirements: - {% data variables.product.prodname_github_app %}s should have a minimum of 100 installations. - {% data variables.product.prodname_oauth_app %}s should have a minimum of 200 users. - All paid apps must handle {% data variables.product.prodname_marketplace %} purchase events for new purchases, upgrades, downgrades, cancellations, and free trials. For more information, see "[Billing requirements for paid apps](#billing-requirements-for-paid-apps)" below. - Publishing organizations must have a verified domain and must enable two-factor authentication. For more information, see "[Requiring two-factor authentication in your organization](/github/setting-up-and-managing-organizations-and-teams/requiring-two-factor-authentication-in-your-organization.") ### Billing flows When you are ready to publish the app on {% data variables.product.prodname_marketplace %} you must request verification for the listing. Your app must integrate [billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows) using the [{% data variables.product.prodname_marketplace %} webhook event](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/). {% note %} #### Free apps The verification process is open to organizations. {% data reusables.marketplace.app-transfer-to-org-for-verification %} For information on how to do this, see: "[Submitting your listing for publication](/developers/github-marketplace/submitting-your-listing-for-publication#transferring-an-app-to-an-organization-before-you-submit)." {% data reusables.marketplace.free-apps-encouraged %} If you are listing a free app, you'll need to meet these requirements: {% endnote %} - Customers must be able to see that they have a free plan in the billing, profile, or account settings section of the app. - When a customer cancels your app, you must follow the flow for [cancelling plans](/marketplace/integrating-with-the-github-marketplace-api/cancelling-plans/). ### Billing requirements for paid apps #### Paid apps Your app does not need to handle payments but does need to use {% data variables.product.prodname_marketplace %} purchase events to manage new purchases, upgrades, downgrades, cancellations, and free trials. For information about how integrate these events into your app, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." To offer your app as a paid service, you'll need to meet these requirements to list your app on {% data variables.product.prodname_marketplace %}: Using GitHub's billing API allows customers to purchase an app without leaving GitHub and to pay for the service with the payment method already attached to their {% data variables.product.product_name %} account. - To sell your app in {% data variables.product.prodname_marketplace %}, it must use GitHub's billing system. Your app does not need to handle payments but does need to use "[{% data variables.product.prodname_marketplace %} purchase events](/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/)" to manage new purchases, upgrades, downgrades, cancellations, and free trials. See "[Billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows)" to learn about how to integrate these events into your app. Using GitHub's billing system allows customers to purchase an app without leaving GitHub and pay for the service with the payment method already attached to their {% data variables.product.product_name %} account. - Apps must support both monthly and annual billing for paid subscriptions purchases. - Listings may offer any combination of free and paid plans. Free plans are optional but encouraged. For more information, see "[Setting a {% data variables.product.prodname_marketplace %} listing's pricing plan](/marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan/)." {% data reusables.marketplace.marketplace-billing-ui-requirements %} 60 content/developers/github-marketplace/security-best-practices-for-apps.md @@ -0,0 +1,60 @@ --- title: Security best practices for apps intro: 'Guidelines for preparing a secure app to share on {% data variables.product.prodname_marketplace %}.' redirect_from: - /apps/marketplace/getting-started/security-review-process/ - /marketplace/getting-started/security-review-process - /developers/github-marketplace/security-review-process-for-submitted-apps shortTitle: Security best practice versions: free-pro-team: '*' --- If you follow these best practices it will help you to provide a secure user experience. ### Authorization, authentication, and access control We recommend creating a GitHub App rather than an OAuth App. {% data reusables.marketplace.github_apps_preferred %}. See "[Differences between GitHub Apps and OAuth Apps](/apps/differences-between-apps/)" for more details. - Apps should use the principle of least privilege and should only request the OAuth scopes and GitHub App permissions that the app needs to perform its intended functionality. For more information, see [Principle of least privilege](https://en.wikipedia.org/wiki/Principle_of_least_privilege) in Wikipedia. - Apps should provide customers with a way to delete their account, without having to email or call a support person. - Apps should not share tokens between different implementations of the app. For example, a desktop app should have a separate token from a web-based app. Individual tokens allow each app to request the access needed for GitHub resources separately. - Design your app with different user roles, depending on the functionality needed by each type of user. For example, a standard user should not have access to admin functionality, and billing managers might not need push access to repository code. - Apps should not share service accounts such as email or database services to manage your SaaS service. - All services used in your app should have unique login and password credentials. - Admin privilege access to the production hosting infrastructure should only be given to engineers and employees with administrative duties. - Apps should not use personal access tokens to authenticate and should authenticate as an [OAuth App](/apps/about-apps/#about-oauth-apps) or a [GitHub App](/apps/about-apps/#about-github-apps): - OAuth Apps should authenticate using an [OAuth token](/apps/building-oauth-apps/authorizing-oauth-apps/). - GitHub Apps should authenticate using either a [JSON Web Token (JWT)](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app), [OAuth token](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/), or [installation access token](/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation). ### Data protection - Apps should encrypt data transferred over the public internet using HTTPS, with a valid TLS certificate, or SSH for Git. - Apps should store client ID and client secret keys securely. We recommend storing them as [environmental variables](http://en.wikipedia.org/wiki/Environment_variable#Getting_and_setting_environment_variables). - Apps should delete all GitHub user data within 30 days of receiving a request from the user, or within 30 days of the end of the user's legal relationship with GitHub. - Apps should not require the user to provide their GitHub password. - Apps should encrypt tokens, client IDs, and client secrets. ### Logging and monitoring Apps should have logging and monitoring capabilities. App logs should be retained for at least 30 days and archived for at least one year. A security log should include: - Authentication and authorization events - Service configuration changes - Object reads and writes - All user and group permission changes - Elevation of role to admin - Consistent timestamping for each event - Source users, IP addresses, and/or hostnames for all logged actions ### Incident response workflow To provide a secure experience for users, you should have a clear incident response plan in place before listing your app. We recommend having a security and operations incident response team in your company rather than using a third-party vendor. You should have the capability to notify {% data variables.product.product_name %} within 24 hours of a confirmed incident. For an example of an incident response workflow, see the "Data Breach Response Policy" on the [SANS Institute website](https://www.sans.org/information-security-policy/). A short document with clear steps to take in the event of an incident is more valuable than a lengthy policy template. ### Vulnerability management and patching workflow You should conduct regular vulnerability scans of production infrastructure. You should triage the results of vulnerability scans and define a period of time in which you agree to remediate the vulnerability. If you are not ready to set up a full vulnerability management program, it's useful to start by creating a patching process. For guidance in creating a patch management policy, see this TechRepublic article "[Establish a patch management policy](https://www.techrepublic.com/blog/it-security/establish-a-patch-management-policy-87756/)." 94 ...ent/developers/github-marketplace/security-review-process-for-submitted-apps.md This file was deleted. 53 content/developers/github-marketplace/setting-pricing-plans-for-your-listing.md @@ -1,6 +1,6 @@ --- title: Setting pricing plans for your listing intro: 'When [listing your app on {% data variables.product.prodname_marketplace %}](/marketplace/listing-on-github-marketplace/), you can choose to provide your app as a free service or sell your app. If you plan to sell your app, you can create different pricing plans for different feature tiers.' intro: 'When you list your app on {% data variables.product.prodname_marketplace %}, you can choose to provide your app as a free service or sell your app. If you plan to sell your app, you can create different pricing plans for different feature tiers.' redirect_from: - /apps/adding-integrations/managing-pricing-and-payments-for-a-github-marketplace-listing/setting-a-github-marketplace-listing-s-pricing-plan/ - /apps/marketplace/managing-pricing-and-payments-for-a-github-marketplace-listing/setting-a-github-marketplace-listing-s-pricing-plan/ @@ -17,57 +17,52 @@ versions: free-pro-team: '*' --- ### About setting pricing plans If you want to sell an app on {% data variables.product.prodname_marketplace %}, you need to request verification when you publish the listing for your app. During the verification process, an onboarding expert checks the organization's identity and security settings. The onboarding expert will also take the organization through financial onboarding. For more information, see: "[Requirements for listing an app on {% data variables.product.prodname_marketplace %}](/marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace/)." ### Creating pricing plans To learn about the types of pricing plans that {% data variables.product.prodname_marketplace %} offers, see "[{% data variables.product.prodname_marketplace %} Pricing Plans](/marketplace/selling-your-app/github-marketplace-pricing-plans/)." You'll also find helpful billing guidelines in "[Selling your app](/marketplace/selling-your-app/)." Pricing plans can be in the draft or published state. If you haven't submitted your {% data variables.product.prodname_marketplace %} listing for approval, a published listing will function the same way as draft listings until your app is approved and listed on {% data variables.product.prodname_marketplace %}. Draft listings allow you to create and save new pricing plans without making them available on your {% data variables.product.prodname_marketplace %} listing page. Once you publish the pricing plan, it's available for customers to purchase immediately. You can publish up to 10 pricing plans. {% data reusables.marketplace.app-transfer-to-org-for-verification %} For information on how to do this, see: "[Submitting your listing for publication](/developers/github-marketplace/submitting-your-listing-for-publication#transferring-an-app-to-an-organization-before-you-submit)." To create a pricing plan for your {% data variables.product.prodname_marketplace %} listing, click **Plans and pricing** in the left sidebar of your [{% data variables.product.prodname_marketplace %} listing page](https://github.com/marketplace/manage). If you haven't created a {% data variables.product.prodname_marketplace %} listing yet, read "[Creating a draft {% data variables.product.prodname_marketplace %} listing](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/)" to learn how. When you click **New draft plan**, you'll see a form that allows you to customize your pricing plan. You'll need to configure the following fields to create a pricing plan: {% data variables.product.prodname_marketplace %} offers several different types of pricing plan. For detailed information, see "[Pricing plans for {% data variables.product.prodname_marketplace %}](/developers/github-marketplace/pricing-plans-for-github-marketplace-apps)." #### Plan name ### About saving pricing plans Your pricing plan's name will appear on your {% data variables.product.prodname_marketplace %} app's landing page. You can customize the name of your pricing plan to align to the plan's resources, the size of the company that will use the plan, or anything you'd like. You can save pricing plans in a draft or published state. If you haven't submitted your {% data variables.product.prodname_marketplace %} listing for approval, a published plan will function in the same way as a draft plan until your listing is approved and shown on {% data variables.product.prodname_marketplace %}. Draft plans allow you to create and save new pricing plans without making them available on your {% data variables.product.prodname_marketplace %} listing page. Once you publish a pricing plan on a published listing, it's available for customers to purchase immediately. You can publish up to 10 pricing plans. #### Pricing models For guidelines on billing customers, see "[Billing customers](/developers/github-marketplace/billing-customers)." ##### Free plans {% data reusables.marketplace.free-apps-encouraged %} A free plan still requires you to handle [new purchase](/marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials/) and [cancellation](/marketplace/integrating-with-the-github-marketplace-api/cancelling-plans/) billing flows. See "[Billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows)" for more details. ##### Flat-rate plans ### Creating pricing plans Flat-rate pricing plans allow you to offer your service to customers for a flat-rate fee. {% data reusables.marketplace.marketplace-pricing-free-trials %} To create a pricing plan for your {% data variables.product.prodname_marketplace %} listing, click **Plans and pricing** in the left sidebar of your [{% data variables.product.prodname_marketplace %} listing page](https://github.com/marketplace/manage). For more information, see "[Creating a draft {% data variables.product.prodname_marketplace %} listing](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/)." You must set a price for both monthly and yearly subscriptions in U.S. Dollars for flat-rate plans. When you click **New draft plan**, you'll see a form that allows you to customize your pricing plan. You'll need to configure the following fields to create a pricing plan: ##### Per-unit plans - **Plan name** - Your pricing plan's name will appear on your {% data variables.product.prodname_marketplace %} app's landing page. You can customize the name of your pricing plan to align with the plan's resources, the size of the company that will use the plan, or anything you'd like. Per-unit pricing allows you to offer your app in units. For example, a unit can be a person, seat, or user. You'll need to provide a name for the unit and set a price for both monthly and yearly subscriptions, in U.S. Dollars. - **Pricing models** - There are three types of pricing plan: free, flat-rate, and per-unit. All plans require you to process new purchase and cancellation events from the marketplace API. In addition, for paid plans: #### Available for - You must set a price for both monthly and yearly subscriptions in US dollars. - Your app must process plan change events. - You must request verification to publish a listing with a paid plan. - {% data reusables.marketplace.marketplace-pricing-free-trials %} {% data variables.product.prodname_marketplace %} pricing plans can apply to **Personal and organization accounts**, **Personal accounts only**, or **Organization accounts only**. For example, if your pricing plan is per-unit and provides multiple seats, you would select **Organization accounts only** because there is no way to assign seats to people in an organization from a personal account. For detailed information, see "[Pricing plans for {% data variables.product.prodname_marketplace %} apps](/developers/github-marketplace/pricing-plans-for-github-marketplace-apps)" and "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." #### Short description - **Available for** - {% data variables.product.prodname_marketplace %} pricing plans can apply to **Personal and organization accounts**, **Personal accounts only**, or **Organization accounts only**. For example, if your pricing plan is per-unit and provides multiple seats, you would select **Organization accounts only** because there is no way to assign seats to people in an organization from a personal account. Write a brief summary of the details of the pricing plan. The description might include the type of customer the plan is intended for or the resources the plan includes. - **Short description** - Write a brief summary of the details of the pricing plan. The description might include the type of customer the plan is intended for or the resources the plan includes. #### Bullets - **Bullets** - You can write up to four bullets that include more details about your pricing plan. The bullets might include the use cases of your app or list more detailed information about the resources or features included in the plan. You can write up to four bullets that include more details about your pricing plan. The bullets might include the use cases of your app or list more detailed information about the resources or features included in the plan. {% data reusables.marketplace.free-plan-note %} ### Changing a {% data variables.product.prodname_marketplace %} listing's pricing plan If a pricing plan for your {% data variables.product.prodname_marketplace %} plan is no longer needed or if you need to adjust pricing details, you can remove it. If a pricing plan for your {% data variables.product.prodname_marketplace %} listing is no longer needed, or if you need to adjust pricing details, you can remove it.  Once you publish a pricing plan for an app already listed in the {% data variables.product.prodname_marketplace %}, you can't make changes to the plan. Instead, you'll need to remove the pricing plan. Customers who already purchased the removed pricing plan will continue to use it until they opt out and move onto a new pricing plan. For more on pricing plans, see "[{% data variables.product.prodname_marketplace %} pricing plans](/marketplace/selling-your-app/github-marketplace-pricing-plans/)." Once you publish a pricing plan for an app that is already listed in {% data variables.product.prodname_marketplace %}, you can't make changes to the plan. Instead, you'll need to remove the pricing plan and create a new plan. Customers who already purchased the removed pricing plan will continue to use it until they opt out and move onto a new pricing plan. For more on pricing plans, see "[{% data variables.product.prodname_marketplace %} pricing plans](/marketplace/selling-your-app/github-marketplace-pricing-plans/)." Once you remove a pricing plan, users won't be able to purchase your app using that plan. Existing users on the removed pricing plan will continue to stay on the plan until they cancel their plan subscription. 37 content/developers/github-marketplace/submitting-your-listing-for-publication.md @@ -0,0 +1,37 @@ --- title: Submitting your listing for publication intro: 'You can submit your listing for the {% data variables.product.prodname_dotcom %} community to use.' redirect_from: - /marketplace/listing-on-github-marketplace/submitting-your-listing-for-review - /developers/github-marketplace/submitting-your-listing-for-review versions: free-pro-team: '*' --- Once you've completed the listing for your app, you'll see two buttons that allow you to request publication of the listing with or without verification. The **Request** button for "Publish without verification" is disabled if you have published any paid pricing plans in the listing.  {% data reusables.marketplace.launch-with-free %} After you submit your listing for review, an onboarding expert will reach out to you with additional information. For an overview of the process for creating and submitting a listing, see "[About {% data variables.product.prodname_marketplace %}](/developers/github-marketplace/about-github-marketplace#publishing-an-app-to-github-marketplace)." ### Prerequisites for publishing with verification Before you request verification of your listing, you'll need to integrate the {% data variables.product.prodname_marketplace %} billing flows and webhook into your app. For more information, see "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." If you've met the requirements for listing and you've integrated with the {% data variables.product.prodname_marketplace %} API, go ahead and submit your listing. For more information, see "[Requirements for listing an app](/developers/github-marketplace/requirements-for-listing-an-app)." {% data reusables.marketplace.app-transfer-to-org-for-verification %} For information on how to do this, see: "[Transferring an app to an organization before you submit](#transferring-an-app-to-an-organization-before-you-submit)" below. ### Transferring an app to an organization before you submit You cannot sell an app that's owned by a user account. You need to transfer the app to an organization that is already a verified creator, or that can request verification for a listing for the app. For details, see: 1. "[Creating an organization from scratch](/github/setting-up-and-managing-organizations-and-teams/creating-a-new-organization-from-scratch)" 1. "[Transferring ownership of a GitHub App](/developers/apps/transferring-ownership-of-a-github-app)" or "[Transferring ownership of an OAuth App](/developers/apps/transferring-ownership-of-an-oauth-app)" 22 content/developers/github-marketplace/submitting-your-listing-for-review.md This file was deleted. 4 content/developers/github-marketplace/testing-your-app.md @@ -1,6 +1,6 @@ --- title: Testing your app intro: 'GitHub recommends testing your app with APIs and webhooks before submitting your listing to {% data variables.product.prodname_marketplace %} so you can provide an ideal experience for customers. Before the {% data variables.product.prodname_marketplace %} onboarding team approves your app, it must adequately handle the [billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows).' intro: 'GitHub recommends testing your app with APIs and webhooks before submitting your listing to {% data variables.product.prodname_marketplace %} so you can provide an ideal experience for customers. Before an onboarding expert approves your app, it must adequately handle the billing flows.' redirect_from: - /apps/marketplace/testing-apps-apis-and-webhooks/ - /apps/marketplace/integrating-with-the-github-marketplace-api/testing-github-marketplace-apps/ @@ -13,7 +13,7 @@ versions: ### Testing apps You can use a [draft {% data variables.product.prodname_marketplace %} listing](/marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing/) to simulate each of the [billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows). A listing in the draft state means that it has not been submitted for approval. Any purchases you make using a draft {% data variables.product.prodname_marketplace %} listing will _not_ create real transactions, and GitHub will not charge your credit card. You can use a draft {% data variables.product.prodname_marketplace %} listing to simulate each of the billing flows. A listing in the draft state means that it has not been submitted for approval. Any purchases you make using a draft {% data variables.product.prodname_marketplace %} listing will _not_ create real transactions, and GitHub will not charge your credit card. For more information, see "[Drafting a listing for your app](/developers/github-marketplace/drafting-a-listing-for-your-app)" and "[Using the {% data variables.product.prodname_marketplace %} API in your app](/developers/github-marketplace/using-the-github-marketplace-api-in-your-app)." #### Using a development app with a draft listing to test changes 2 .../developers/github-marketplace/webhook-events-for-the-github-marketplace-api.md @@ -1,6 +1,6 @@ --- title: Webhook events for the GitHub Marketplace API intro: 'A {% data variables.product.prodname_marketplace %} app receives information about changes to a user''s plan from the Marketplace purchase event webhook. A Marketplace purchase event is triggered when a user purchases, cancels, or changes their payment plan. For details on how to respond to each of these types of events, see "[Billing flows](/marketplace/integrating-with-the-github-marketplace-api/#billing-flows)."' intro: 'A {% data variables.product.prodname_marketplace %} app receives information about changes to a user''s plan from the Marketplace purchase event webhook. A Marketplace purchase event is triggered when a user purchases, cancels, or changes their payment plan.' redirect_from: - /apps/marketplace/setting-up-github-marketplace-webhooks/about-webhook-payloads-for-a-github-marketplace-listing/ - /apps/marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events/ 4 content/developers/webhooks-and-events/webhook-events-and-payloads.md @@ -445,7 +445,7 @@ Key | Type | Description #### Webhook payload object {% data reusables.webhooks.installation_properties %} {% data reusables.webhooks.app_desc %} {% data reusables.webhooks.app_always_desc %} {% data reusables.webhooks.sender_desc %} #### Webhook payload example @@ -469,7 +469,7 @@ Key | Type | Description #### Webhook payload object {% data reusables.webhooks.installation_repositories_properties %} {% data reusables.webhooks.app_desc %} {% data reusables.webhooks.app_always_desc %} {% data reusables.webhooks.sender_desc %} #### Webhook payload example 54 ...ssions/collaborating-with-your-community-using-discussions/about-discussions.md @@ -0,0 +1,54 @@ --- title: About discussions intro: Use discussions to ask and answer questions, share information, make announcements, and conduct or participate in a conversation about a project on {% data variables.product.product_name %}. versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### About discussions With {% data variables.product.prodname_discussions %}, the community for your project can create and participate in conversations within the project's repository. Discussions empower a project's maintainers, contributors, and visitors to gather and accomplish the following goals in a central location, without third-party tools. - Share announcements and information, gather feedback, plan, and make decisions - Ask questions, discuss and answer the questions, and mark the discussions as answered - Foster an inviting atmosphere for visitors and contributors to discuss goals, development, administration, and workflows  You don't need to close a discussion like you close an issue or a pull request. If a repository administrator or project maintainer enables discussions for a repository, anyone who visits the repository can create and participate in discussions for the repository. Repository administrators and project maintainers can manage discussions and discussion categories in a repository, and pin discussions to increase the visibility of the discussion. Moderators and collaborators can mark comments as answers, lock discussions, and convert issues to discussions. For more information, see "[Repository permission levels for an organization](/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization)." For more information about management of discussions for your repository, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository)." ### About categories and formats for discussions {% data reusables.discussions.you-can-categorize-discussions %} {% data reusables.discussions.about-categories-and-formats %} {% data reusables.discussions.repository-category-limit %} For discussions with a question/answer format, an individual comment within the discussion can be marked as the discussion's answer. {% data reusables.discussions.github-recognizes-members %} For more information, see "[Managing categories for discussions in your repository](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." ### Best practices for discussions As a community member or maintainer, start a discussion to ask a question or discuss information that affects the community. For more information, see "[Collaborating with maintainers using discussions](/discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions)." Participate in a discussion to ask and answer questions, provide feedback, and engage with the project's community. For more information, see "[Participating in a discussion](/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion)." You can spotlight discussions that contain important, useful, or exemplary conversations among members in the community. For more information, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository#pinning-a-discussion)." {% data reusables.discussions.you-can-convert-an-issue %} For more information, see "[Moderating discussions in your repository](/discussions/managing-discussions-for-your-community/moderating-discussions#converting-an-issue-to-a-discussion)." ### Sharing feedback You can share your feedback about {% data variables.product.prodname_discussions %} with {% data variables.product.company_short %}. To join the conversation, see [`github/feedback`](https://github.com/github/feedback/discussions?discussions_q=category%3A%22Discussions+Feedback%22). ### Further reading - "[About writing and formatting on {% data variables.product.prodname_dotcom %}](/github/writing-on-github/about-writing-and-formatting-on-github)" - "[Searching discussions](/github/searching-for-information-on-github/searching-discussions)" - "[About notifications](/github/managing-subscriptions-and-notifications-on-github/about-notifications)" - "[Moderating comments and conversations](/github/building-a-strong-community/moderating-comments-and-conversations)" - "[Maintaining your safety on {% data variables.product.prodname_dotcom %}](/github/building-a-strong-community/maintaining-your-safety-on-github)" 50 ...community-using-discussions/collaborating-with-maintainers-using-discussions.md @@ -0,0 +1,50 @@ --- title: Collaborating with maintainers using discussions shortTitle: Collaborating with maintainers intro: You can contribute to the goals, plans, health, and community for a project on {% data variables.product.product_name %} by communicating with the maintainers of the project in a discussion. permissions: People with read permissions to a repository can start and participate in discussions in the repository. versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### About collaboration with maintainers using discussions {% data reusables.discussions.about-discussions %} If you use or contribute to a project, you can start a discussion to make suggestions and engage with maintainers and community members about your plans, questions, ideas, and feedback. For more information, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)." {% data reusables.discussions.about-categories-and-formats %} Repository administrators and project maintainers can delete a discussion. For more information, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository#deleting-a-discussion)." {% data reusables.discussions.github-recognizes-members %} These members appear in a list of the most helpful contributors to the project's discussions. As your project grows, you can grant higher access permissions to active members of your community. For more information, see "[Granting higher permissions to top contributors](/discussions/guides/granting-higher-permissions-to-top-contributors)"  For more information about participation in discussions, see "[Participating in a discussion](/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion)." ### Prerequisites To collaborate with maintainers using discussions, a repository administrator or project maintainer must enable discussions for the repository. For more information, see "[Enabling or disabling discussions for a repository](/github/administering-a-repository/enabling-or-disabling-github-discussions-for-a-repository)." ### Starting a discussion {% data reusables.discussions.starting-a-discussion %} ### Filtering the list of discussions You can search for discussions and filter the list of discussions in a repository. For more information, see "[Searching discussions](/github/searching-for-information-on-github/searching-discussions)." {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} 1. In the **Search all discussions** field, type a search query. Optionally, to the right of the search field, click a button to further filter the results.  1. In the list of discussions, click the discussion you want to view.  ### Converting an issue to a discussion {% data reusables.discussions.you-can-convert-an-issue %} For more information, see "[Moderating discussions in your repository](/discussions/managing-discussions-for-your-community/moderating-discussions#converting-an-issue-to-a-discussion#converting-an-issue-to-a-discussion)." ### Further reading - "[About writing and formatting on {% data variables.product.prodname_dotcom %}](/github/writing-on-github/about-writing-and-formatting-on-github)" - "[Maintaining your safety on {% data variables.product.prodname_dotcom %}](/github/building-a-strong-community/maintaining-your-safety-on-github)" 14 content/discussions/collaborating-with-your-community-using-discussions/index.md @@ -0,0 +1,14 @@ --- title: Collaborating with your community using discussions shortTitle: Collaborating using discussions intro: Gather and discuss your project with community members and other maintainers. versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} {% link_in_list /about-discussions %} {% link_in_list /participating-in-a-discussion %} {% link_in_list /collaborating-with-maintainers-using-discussions %} 31 ...borating-with-your-community-using-discussions/participating-in-a-discussion.md @@ -0,0 +1,31 @@ --- title: Participating in a discussion intro: You can converse with the community and maintainers in a forum within the repository for a project on {% data variables.product.product_name %}. permissions: People with read permissions to a repository can participate in discussions in the repository. versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### About participation in a discussion {% data reusables.discussions.about-discussions %} For more information, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)." In addition to starting or viewing a discussion, you can comment in response to the original comment from the author of the discussion. You can also create a comment thread by replying to an individual comment that another community member made within the discussion, and react to comments with emoji. For more information about reactions, see "[About conversations on {% data variables.product.prodname_dotcom %}](/github/collaborating-with-issues-and-pull-requests/about-conversations-on-github#reacting-to-ideas-in-comments)." You can block users and report disruptive content to maintain a safe and pleasant environment for yourself on {% data variables.product.product_name %}. For more information, see "[Maintaining your safety on {% data variables.product.prodname_dotcom %}](/github/building-a-strong-community/maintaining-your-safety-on-github)." ### Prerequisites Discussions must be enabled for the repository for you to participate in a discussion in the repository. For more information, see "[Enabling or disabling discussions for a repository](/github/administering-a-repository/enabling-or-disabling-github-discussions-for-a-repository)." ### Creating a discussion {% data reusables.discussions.starting-a-discussion %} ### Marking a comment as an answer Discussion authors and users with the triage role or greater for a repository can mark a comment as the answer to a discussion in the repository. {% data reusables.discussions.marking-a-comment-as-an-answer %} 49 content/discussions/guides/best-practices-for-community-conversations-on-github.md @@ -0,0 +1,49 @@ --- title: Best practices for community conversations on GitHub shortTitle: Best practices for community conversations intro: 'You can use discussions to brainstorm with your team, and eventually move the conversation to a discussion when you are ready to scope out the work.' versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### Community conversations in {% data variables.product.prodname_discussions %} Since {% data variables.product.prodname_discussions %} is an open forum, there is an opportunity to bring non-code collaboration into a project's repository and gather diverse feedback and ideas more quickly. You can help drive a productive conversation by: - Asking pointed questions and follow-up questions to garner specific feedback - Capture a diverse experience and distill it down to main points - Open an issue to take action based on the conversation, where applicable For more information about opening an issue and cross-referencing a discussion, see "[Opening an issue from a comment](/github/managing-your-work-on-github/opening-an-issue-from-a-comment)." ### Learning about conversations on GitHub You can create and participate in discussions, issues, and pull requests, depending on the type of conversation you'd like to have. You can use {% data variables.product.prodname_discussions %} to discuss big picture ideas, brainstorm, and spike out a project's specific details before committing it to an issue, which can then be scoped. Discussions are useful for teams if: - You are in the discovery phase of a project and are still learning which director your team wants to go in - You want to collect feedback from a wider community about a project - You want to keep bug fixes, feature requests, and general conversations separate Issues are useful for discussing specific details of a project such as bug reports and planned improvements. For more information, see "[About issues](/articles/about-issues)." Pull requests allow you to comment directly on proposed changes. For more information, see "[About pull requests](/articles/about-pull-requests)" and "[Commenting on a pull request](/articles/commenting-on-a-pull-request)." {% data reusables.organizations.team-discussions-purpose %} For more information, see "[About team discussions](/articles/about-team-discussions)." ### Following contributing guidelines Before you open a discussion, check to see if the repository has contributing guidelines. The CONTRIBUTING file includes information about how the repository maintainer would like you to contribute ideas to the project. For more information, see "[Setting up your project for healthy contributions](/github/building-a-strong-community/setting-up-your-project-for-healthy-contributions)." ### Next steps To continue learning about {% data variables.product.prodname_discussions %} and quickly create a discussion for your community, see "[Quickstart for {% data variables.product.prodname_discussions %}](/discussions/quickstart)." ### Further reading - "[Setting up your project for healthy contributions](/articles/setting-up-your-project-for-healthy-contributions)" - "[Using templates to encourage useful issues and pull requests](/github/building-a-strong-community/using-templates-to-encourage-useful-issues-and-pull-requests)" - "[Moderating comments and conversations](/articles/moderating-comments-and-conversations)" - "[Writing on {% data variables.product.prodname_dotcom %}](/articles/writing-on-github)" 21 content/discussions/guides/finding-discussions-across-multiple-repositories.md @@ -0,0 +1,21 @@ --- title: Finding discussions across multiple repositories intro: 'You can easily access every discussion you''ve created or participated in across multiple repositories.' versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### Finding discussions 1. Navigate to {% data variables.product.prodname_dotcom_the_website %}. 1. In the top-right corner of {% data variables.product.prodname_dotcom_the_website %}, click your profile photo, then click **Your enterprises**.  1. Toggle between **Created** and **Commented** to see the discussions you've created or participated in. ### Further reading - "[Searching discussions](/github/searching-for-information-on-github/searching-discussions)" - "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)" - "[Managing discussions for your community](/discussions/managing-discussions-for-your-community)" 32 content/discussions/guides/granting-higher-permissions-to-top-contributors.md @@ -0,0 +1,32 @@ --- title: Granting higher permissions to top contributors intro: 'Repository administrators can promote any community member to a moderator and maintainer.' versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### Introduction The most helpful contributors for the past 30 days are highlighted on the {% data variables.product.prodname_discussions %} dashboard, based on how many comments were marked as answers by other community members. Helpful contributors can help drive a healthy community and moderate and guide the community space in addition to maintainers. ### Step 1: Audit your discussions top contributors {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} 1. Compare the list of contributors with their access permissions to see who qualifies to moderate the discussion. ### Step 2: Review permission levels for discussions People with triage permissions for a repository can help moderate a project's discussions by marking comments as answers, locking discussions that are not longer useful or are damaging to the community, and converting issues to discussions when an idea is still in the early stages of development. For more information, see "[Moderating discussions](/discussions/managing-discussions-for-your-community/moderating-discussions)." For more information about repository permission levels and {% data variables.product.prodname_discussions %}, see "[Repository permissions levels for an organization](/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization)." ### Step 3: Change permissions levels for top contributors You can change a contributor's permission levels to give them more access to the tooling they need to moderate GitHub Discussions. To change a person's or team's permission levels, see "[Managing teams and people with access to your repository](/github/administering-a-repository/managing-teams-and-people-with-access-to-your-repository)." ### Step 4: Notify community members of elevated access When you change a collaborators permission level, they will receive a notification for the change. 29 content/discussions/guides/index.md @@ -0,0 +1,29 @@ --- title: Discussions guides shortTitle: Guides intro: 'Discover pathways to get started or learn best practices for participating or monitoring your community''s discussions.' versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### Getting started with discussions {% link_in_list /about-discussions %} {% link_in_list /best-practices-for-community-conversations-on-github %} {% link_in_list /finding-discussions-across-multiple-repositories %} <!-- {% link_in_list /managing-notifications-for-discussions %} --> ### Administering discussions {% link_in_list /granting-higher-permissions-to-top-contributors %} <!--<!-- Commenting out what is only nice to have for discussions release {% link_in_list /updating-your-contributing-guidelines-with-discussions %} --> <!-- ### Discussions and open source projects {% link_in_list /collaborating-on-open-source-projects-in-discussions %} {% link_in_list /welcoming-contributions-to-your-communitys-discussions %} --> 55 content/discussions/index.md @@ -0,0 +1,55 @@ --- title: GitHub Discussions Documentation beta_product: true shortTitle: GitHub Discussions intro: '{% data variables.product.prodname_discussions %} is a collaborative communication forum for the community around an open source project. Community members can ask and answer questions, share updates, have open-ended conversations, and follow along on decisions affecting the community''s way of working.' introLinks: quickstart: /discussions/quickstart featuredLinks: guides: - /discussions/collaborating-with-your-community-using-discussions/about-discussions - /discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion - /discussions/managing-discussions-for-your-community/moderating-discussions gettingStarted: - /discussions/quickstart guideCards: - /discussions/collaborating-with-your-community-using-discussions/about-discussions - /discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion - /discussions/managing-discussions-for-your-community/moderating-discussions popular: - /discussions/guides/granting-higher-permissions-to-top-contributors - /discussions/guides/best-practices-for-community-conversations-on-github - /discussions/guides/finding-discussions-across-multiple-repositories - /discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions - /discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository product_video: https://www.youtube-nocookie.com/embed/DbTWBP3_RbM layout: product-landing versions: free-pro-team: '*' --- <!-- {% link_with_intro /quickstart %} --> <!-- {% link_with_intro /discussions-guides %} --> <!-- {% link_with_intro /collaborating-with-your-community-using-discussions %} --> <!-- {% link_with_intro /managing-discussions-for-your-community %} --> <!-- Community examples --> {% assign discussionsCommunityExamples = site.data.variables.discussions_community_examples %} {% if discussionsCommunityExamples %} <div class="my-6 pt-6"> <h2 class="mb-2 font-mktg h1">Communities using discussions</h2> <div class="d-flex flex-wrap gutter"> {% render 'discussions-community-card' for discussionsCommunityExamples as example %} </div> {% if discussionsCommunityExamples.length > 6 %} <button class="js-filter-card-show-more btn btn-outline float-right">Show more {% octicon "arrow-right" %}</button> {% endif %} <div class="js-filter-card-no-results d-none py-4 text-center text-gray font-mktg"> <div class="mb-3">{% octicon "search" width="24" %}</div> <h3 class="text-normal">Sorry, there is no result for <strong class="js-filter-card-value"></strong></h3> <p class="my-3 f4">It looks like we don't have an example that fits your filter.<br>Try another filter or add your code example</p> <a href="https://github.com/github/docs/blob/main/data/variables/discussions_community_examples.yml">Add your community {% octicon "arrow-right" %}</a> </div> </div> {% endif %} 13 content/discussions/managing-discussions-for-your-community/index.md @@ -0,0 +1,13 @@ --- title: Managing discussions for your community shortTitle: Managing discussions intro: 'You can enable and configure discussions for your repository, and you can use tools on {% data variables.product.product_name %} to moderate conversations among community members.' versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} {% link_in_list /managing-discussions-in-your-repository %} {% link_in_list /managing-categories-for-discussions-in-your-repository %} {% link_in_list /moderating-discussions %} 64 ...ns-for-your-community/managing-categories-for-discussions-in-your-repository.md @@ -0,0 +1,64 @@ --- title: Managing categories for discussions in your repository intro: You can categorize the discussions in your repository to organize conversations for your community members, and you can choose a format for each category. permissions: Repository administrators and people with write or greater access to a repository can enable discussions in the repository. versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### About categories for discussions {% data reusables.discussions.about-discussions %} {% data reusables.discussions.about-categories-and-formats %} Each category must have a unique name and emoji pairing, and can be accompanied by a detailed description stating its purpose. Categories help maintainers organize how conversations are filed and are customizable to help distinguish categories that are Q&A or more open-ended conversations.{% data reusables.discussions.repository-category-limit %} For more information, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions#about-categories-and-formats-for-discussions)." ### Default categories | Category | Purpose | Type | | :- | :- | :- | | #️⃣ General | Anything and everything relevant to the project | Open-ended discussion | |💡Ideas | Ideas to change or improve the project | Open-ended discussion | | 🙏 Q&A | Questions for the community to answer, with a question/answer format | Question and Answer | | 🙌 Show and tell | Creations, experiments, or tests relevant to the project | Open-ended discussion | ### Creating a category {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.edit-categories %} 1. Click **New category**.  1. Edit the emoji, title, description, and discussion format for the category. For more information about discussion formats, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions#about-categories-and-formats-for-discussions)."  1. Click **Create**.  ### Editing a category You can edit a category to change the category's emoji, title, description, and discussion format. {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} 1. To the right of a category in the list, click {% octicon "pencil" aria-label="The pencil icon" %}.  1. {% data reusables.discussions.edit-category-details %}  1. Click **Save changes**.  ### Deleting a category When you delete a category, {% data variables.product.product_name %} will move all discussions in the deleted category to an existing category that you choose. {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} 1. To the right of a category in the list, click {% octicon "trash" aria-label="The trash icon" %}.  1. Use the drop-down menu, and choose a new category for any discussions in the category you're deleting.  1. Click **Delete & Move**.  108 ...aging-discussions-for-your-community/managing-discussions-in-your-repository.md @@ -0,0 +1,108 @@ --- title: Managing discussions in your repository intro: You can categorize, spotlight, transfer, or delete the discussions in a repository. permissions: Repository administrators and people with write or greater access to a repository can manage discussions in the repository. versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### About management of discussions {% data reusables.discussions.about-discussions %} For more information about discussions, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)." Organization owners can choose the permissions required to create a discussion for repositories owned by the organization. For more information, see "[Managing discussion creation for repositories in your organization](/github/setting-up-and-managing-organizations-and-teams/managing-discussion-creation-for-repositories-in-your-organization)." As a discussions maintainer, you can create community resources to encourage discussions that are aligned with the overall project goal and maintain a friendly open forum for collaborators. Creating a code of conduct or contribution guidelines for collaborators to follow will help facilitate a collaborative and productive forum. For more information on creating community resources, see "[Adding a code of conduct to your project](/github/building-a-strong-community/adding-a-code-of-conduct-to-your-project)," and "[Setting guidelines for repository contributors](/github/building-a-strong-community/setting-guidelines-for-repository-contributors)." For more information on facilitating a healthy discussion, see "[Moderating comments and conversations](/github/building-a-strong-community/moderating-comments-and-conversations)." ### Prerequisites To manage discussions in a repository, discussions must be enabled for the repository. For more information, see "[Enabling or disabling discussions for a repository](/github/administering-a-repository/enabling-or-disabling-github-discussions-for-a-repository)." ### Changing the category for a discussion You can categorize discussions to help community members find related discussions. For more information, see "[Managing categories for discussions in your repository](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)" article. You can also move a discussion to a different category. {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} 1. In the right sidebar, click {% octicon "pencil" aria-label="The pencil icon" %} **Edit pinned discussion**.  ### Pinning a discussion You can pin up to four important discussions above the list of discussions for the repository. {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} 1. In the right sidebar, click {% octicon "pin" aria-label="The pin icon" %} **Pin discussion**.  1. Optionally, customize the look of the pinned discussion.  1. Click **Pin discussion**.  ### Editing a pinned discussion Editing a pinned discussion will not change the discussion's category. For more information, see "[Managing categories for discussions in your repository](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} 1. In the right sidebar, click {% octicon "pencil" aria-label="The pencil icon" %} **Edit pinned discussion**.  1. Customize the look of the pinned discussion.  1. Click **Pin discussion**.  ### Unpinning a discussion {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} 1. In the right sidebar, click {% octicon "pin" aria-label="The pin icon" %} **Unpin discussion**.  1. Read the warning, then click **Unpin discussion**.  ### Transferring a discussion To transfer a discussion, you must have permissions to create discussions in the repository where you want to transfer the discussion. {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} 1. In the right sidebar, click {% octicon "arrow-right" aria-label="The right arrow icon" %} **Transfer discussion**.  1. Select the **Choose a repository** drop-down, and click the repository you want to transfer the discussion to.  1. Click **Transfer discussion**.  ### Deleting a discussion {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} {% data reusables.discussions.click-discussion-in-list %} 1. In the right sidebar, click {% octicon "trash" aria-label="The trash arrow icon" %} **Delete discussion**.  1. Read the warning, then click **Delete this discussion**.  ### Converting issues based on labels You can convert all issues with the same label to discussions in bulk. Future issues with this label will also automatically convert to the discussion and category you configure. {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issues %} {% data reusables.project-management.labels %} 1. Next to the label you want to convert to issues, click **Convert issues**. 1. Select the **Choose a category** drop-down menu, and click a category for your discussion. 1. Click **I understand, convert this issue to a discussion**. 40 ...t/discussions/managing-discussions-for-your-community/moderating-discussions.md @@ -0,0 +1,40 @@ --- title: Moderating discussions intro: 'You can promote healthy collaboration by marking comments as answers, locking or unlocking discussions, and converting issues to discussions. and editing or deleting comments, discussions, and categories that don''t align with your community''s code of conduct to discussions.' permissions: People with triage access to a repository can moderate discussions in the repository. versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### About moderating discussions {% data reusables.discussions.about-discussions %} If you have triage permissions for a repository, you can help moderate a project's discussions by marking comments as answers, locking discussions that are not longer useful or are damaging to the community, and converting issues to discussions when an idea is still in the early stages of development. ### Marking a comment as an answer {% data reusables.discussions.marking-a-comment-as-an-answer %} ### Locking discussions It's appropriate to lock a conversation when the entire conversation is not constructive or violates your community's code of conduct or {% data variables.product.prodname_dotcom %}'s [Community Guidelines](/github/site-policy/github-community-guidelines). You can also lock a conversation to prevent comments on a discussion you want to use as an announcement to the community. When you lock a conversation, people with write access to the repository will still be able to comment on the discussion. {% data reusables.repositories.navigate-to-repo %} {% data reusables.discussions.discussions-tab %} 1. In the list of discussions, click the discussion you want to lock.  1. In the right margin of a discussion, click **Lock conversation**. 1. Read the information about locking conversations and click **Lock conversation on this discussion**. 1. When you're ready to unlock the conversation, click **Unlock conversation**, then click **Unlock conversation on this discussion**. ### Converting an issue to a discussion When you convert an issue to a discussion, the discussion is automatically created using the content from the issue. People with write access to a repository can bulk convert issues based on labels. For more information, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository)." {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issues %} 1. In the list of issues, click the issue you'd like to convert. 1. In the right margin of an issue, click **Convert to discussion**. 1. Select the **Choose a category** drop-down menu, and click a category for your discussion. 1. Click **I understand, convert this issue to a discussion**. 62 content/discussions/quickstart.md @@ -0,0 +1,62 @@ --- title: Quickstart for GitHub Discussions intro: 'Enable {% data variables.product.prodname_discussions %} on an existing repository and start conversations with your community.' allowTitleToDifferFromFilename: true versions: free-pro-team: '*' --- {% data reusables.discussions.beta %} ### Introduction {% data variables.product.prodname_discussions %} is a collaborative communication forum for the community around an open source project. Discussions are for conversations that need to be transparent and accessible but do not need to be tracked on a project board and are not related to code, unlike issues. Discussions enable fluid, open conversation in a public forum. Discussions give a space for more collaborative conversations by connecting and giving a more centralized area to connect and find information. ### Enabling {% data variables.product.prodname_discussions %} on your repository Repository owners and people with write access can enable {% data variables.product.prodname_discussions %} for a community on their public repositories. When you first enable a {% data variables.product.prodname_discussions %}, you will be invited to configure a welcome post. {% data reusables.repositories.navigate-to-repo %} 1. Under your repository name, click {% octicon "gear" aria-label="The gear icon" %} **Settings**.  1. Under "Features", click **Set up discussions**.  1. Under "Start a new discussion," edit the template to align with the resources and tone you want to set for your community. 1. Click **Start discussion**.  ### Welcoming contributions to your discussions You can welcome your community and introduce a new way to communicate in a repository by creating a welcome post and pin the post to your {% data variables.product.prodname_discussions %} page. Pinning and locking discussions helps people know that a post is meant as an announcement. You can use announcements as a way to link people to more resources and offer guidance for opening discussions in your community. For more information about pinning a discussion, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository#pinning-a-discussion)." ### Setting up community guidelines for contributors You can set contributing guidelines to encourage collaborators to have meaningful, useful conversations that are relevant to the repository. You can also update the repository's README to communicate expectations on when collaborators should open an issue or discussion. For more information about providing guidelines for your project, see "[Adding a code of conduct to your project](/github/building-a-strong-community/adding-a-code-of-conduct-to-your-project)" and "[Setting up your project for healthy contributions](/github/building-a-strong-community/setting-up-your-project-for-healthy-contributions)." ### Creating a new discussion Anyone with access to a repository can create a discussion. {% data reusables.discussions.starting-a-discussion %} ### Organizing discussions into relevant categories Repository owners and people with write access can create new categories to keep discussions organized. Collaborators participating and creating new discussions can group discussions into the most relevant existing categories. Discussions can also be recategorized after they are created. For more information, see "[Managing categories for discussions in your repository](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)" ### Promoting healthy conversations People with write permissions for a repository can help surface important conversations by pinning discussions, deleting discussions that are no longer useful or are damaging to the community, and transferring discussions to more relevant repositories owned by the organization. For more information, see "[Managing discussions in your repository](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository)." People with triage permissions for a repository can help moderate a project's discussions by marking comments as answers, locking discussions that are not longer useful or are damaging to the community, and converting issues to discussions when an idea is still in the early stages of development. For more information, see "[Moderating discussions](/discussions/managing-discussions-for-your-community/moderating-discussions)." ### Next steps Once there is a clear path to scope work out and move an idea from concept to reality, you can create an issue and start tracking your progress. For more information on creating an issue from a discussion, see "[Moderating discussions](/discussions/managing-discussions-for-your-community/moderating-discussions)." 45 content/education/guides.md @@ -0,0 +1,45 @@ --- title: Guides for GitHub Education intro: 'These guides for {% data variables.product.prodname_education %} help you teach and learn both {% data variables.product.product_name %} and software development.' allowTitleToDifferFromFilename: true versions: free-pro-team: '*' --- ### Get started with {% data variables.product.product_name %} Teachers, students, and researchers can use tools from {% data variables.product.product_name %} to enrich a software development curriculum and develop real-world collaboration skills. - [Sign up for a new {% data variables.product.prodname_dotcom %} account](/github/getting-started-with-github/signing-up-for-a-new-github-account) - [Git and {% data variables.product.prodname_dotcom %} quickstart ](/github/getting-started-with-github/quickstart) - [Apply for an educator or researcher discount](/education/teach-and-learn-with-github-education/apply-for-an-educator-or-researcher-discount) - [Apply for a student developer pack](/education/teach-and-learn-with-github-education/apply-for-a-student-developer-pack) ### Run a software development course with {% data variables.product.company_short %} Administer a classroom, assign and review work from your students, and teach the new generation of software developers with {% data variables.product.prodname_classroom %}. - [Basics of setting up {% data variables.product.prodname_classroom %} ](/education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom) - [Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms) - [Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment) - [Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment) - [Create an assignment from a template repository](/education/manage-coursework-with-github-classroom/create-an-assignment-from-a-template-repository) - [Leave feedback with pull requests](/education/manage-coursework-with-github-classroom/leave-feedback-with-pull-requests) - [Use autograding](/education/manage-coursework-with-github-classroom/use-autograding) ### Learn to develop software Incorporate {% data variables.product.prodname_dotcom %} into your education, and use the same tools as the professionals. - [Git and {% data variables.product.prodname_dotcom %} learning resources](/github/getting-started-with-github/git-and-github-learning-resources) - [Use {% data variables.product.prodname_dotcom %} for your schoolwork](/education/teach-and-learn-with-github-education/use-github-for-your-schoolwork) - [Try {% data variables.product.prodname_desktop %}](/desktop) - [Try {% data variables.product.prodname_cli %}](/github/getting-started-with-github/github-cli) ### Contribute to the community Participate in the community, get training from {% data variables.product.company_short %}, and learn or teach new skills. - [{% data variables.product.prodname_education_community %}](https://education.github.community) - [About Campus Experts](/education/teach-and-learn-with-github-education/about-campus-experts) - [About Campus Advisors](/education/teach-and-learn-with-github-education/about-campus-advisors) 43 content/education/index.md @@ -0,0 +1,43 @@ --- title: GitHub Education Documentation shortTitle: Education intro: "{% data variables.product.prodname_education %} helps you teach or learn software development with the tools and support of {% data variables.product.company_short %}'s platform and community." introLinks: quickstart: /education/quickstart featuredLinks: guides: - /education/teach-and-learn-with-github-education/apply-for-a-student-developer-pack - /education/teach-and-learn-with-github-education/apply-for-an-educator-or-researcher-discount - /education/teach-and-learn-with-github-education/use-github-at-your-educational-institution guideCards: - /github/getting-started-with-github/signing-up-for-a-new-github-account - /github/getting-started-with-github/git-and-github-learning-resources - /education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom popular: - /education/teach-and-learn-with-github-education/use-github-for-your-schoolwork - /education/teach-and-learn-with-github-education/use-github-in-your-classroom-and-research - /desktop - /github/getting-started-with-github/github-cli - /education/manage-coursework-with-github-classroom/teach-with-github-classroom changelog: - title: 'Try something new at Local Hack Day: Learn' date: '2020-10-15' href: https://github.blog/2020-10-15-try-something-new-at-local-hack-day-learn/ - title: 'Remote Education: Creating community through shared experiences' date: '2020-09-24' href: https://github.blog/2020-09-24-remote-education-creating-community-through-shared-experiences/ - title: 'Remote Education: A series of best practices for online campus communities' date: '2020-09-10' href: https://github.blog/2020-09-10-remote-education-a-series-of-best-practices-for-online-campus-communities/ - title: Welcome to the inaugural class of MLH Fellows date: '2020-06-24' href: https://github.blog/2020-06-24-welcome-to-the-inaugural-class-of-mlh-fellows/ layout: product-landing versions: free-pro-team: '*' --- <!-- {% link_with_intro /teach-and-learn-with-github-education %} --> <!-- {% link_with_intro /manage-coursework-with-github-classroom %} --> 31 ...work-with-github-classroom/about-using-makecode-arcade-with-github-classroom.md @@ -0,0 +1,31 @@ --- title: About using MakeCode Arcade with GitHub Classroom shortTitle: About using MakeCode Arcade intro: You can configure MakeCode Arcade as the online IDE for assignments in {% data variables.product.prodname_classroom %}. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/student-experience-makecode --- ### About MakeCode Arcade MakeCode Arcade is an online integrated development environment (IDE) for developing retro arcade games using drag-and-drop block programming and JavaScript. Students can write, edit, run, test, and debug code in a browser with MakeCode Arcade. For more information about online IDEs and {% data variables.product.prodname_classroom %}, see "[Integrate {% data variables.product.prodname_classroom %} with an online IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-online-ide)." {% data reusables.classroom.readme-contains-button-for-online-ide %} The first time the student clicks the button to visit MakeCode Arcade, the student must sign into MakeCode Arcade with {% data variables.product.product_name %} credentials. After signing in, the student will have access to a development environment containing the code from the assignment repository, fully configured on MakeCode Arcade. For more information about working on MakeCode Arcade, see the [MakeCode Arcade Tour](https://arcade.makecode.com/ide-tour) and [documentation](https://arcade.makecode.com/docs) on the MakeCode Arcade website. MakeCode Arcade does not support multiplayer-editing for group assignments. Instead, students can collaborate with Git and {% data variables.product.product_name %} features like branches and pull requests. ### About submission of assignments with MakeCode Arcade By default, MakeCode Arcade is configured to push to the assignment repository on {% data variables.product.product_location %}. After making progress on an assignment with MakeCode Arcade, students should push changes to {% data variables.product.product_location %} using the {% octicon "mark-github" aria-label="The GitHub mark" %}{% octicon "arrow-up" aria-label="The up arrow icon" %} button at the bottom of the screen.  ### Further reading - "[About READMEs](/github/creating-cloning-and-archiving-repositories/about-readmes)" 33 ...ge-coursework-with-github-classroom/about-using-replit-with-github-classroom.md @@ -0,0 +1,33 @@ --- title: About using Repl.it with GitHub Classroom shortTitle: About using Repl.it intro: You can configure Repl.it as the online integrated development environment (IDE) for assignments in {% data variables.product.prodname_classroom %}. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/student-experience-replit --- ### About Repl.it Repl.it is an online integrated development environment (IDE) that supports multiple programming languages. Students can write, edit, run, test, and debug code in a browser with Repl.it. For more information about online IDEs and {% data variables.product.prodname_classroom %}, see "[Integrate {% data variables.product.prodname_classroom %} with an online IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-online-ide)." {% data reusables.classroom.readme-contains-button-for-online-ide %} The first time the student clicks the button to visit Repl.it, the student must sign into Repl.it with {% data variables.product.product_name %} credentials. After signing in, the student will have access to a development environment containing the code from the assignment repository, fully configured on Repl.it. For more information about working on Repl.it, see the [Repl.it Quickstart Guide](https://docs.repl.it/misc/quick-start#the-repl-environment). For group assignments, students can use Repl.it Multiplayer to work collaboratively. For more information, see the [Repl.it Multiplayer](https://repl.it/site/multiplayer) website. ### About submission of assignments with Repl.it By default, Repl.it is configured to push to the assignment repository on {% data variables.product.product_location %}. After making progress on an assignment with Repl.it, students should push changes to {% data variables.product.product_location %} using the version control functionality in the left sidebar.  For more information about using Git on Repl.it, see the [Repl.it + Git Tutorial](https://repl.it/talk/learn/Replit-Git-Tutorial/23331) on the Repl.it website. ### Further reading - "[About READMEs](/github/creating-cloning-and-archiving-repositories/about-readmes)" 33 ...anage-coursework-with-github-classroom/basics-of-setting-up-github-classroom.md @@ -0,0 +1,33 @@ --- title: Basics of setting up GitHub Classroom shortTitle: '{% data variables.product.prodname_classroom %} basics' intro: Learn how to set up your classroom, manage assignments, and configure time-saving automation. versions: free-pro-team: '*' --- ### Videos about {% data variables.product.prodname_classroom %} You can watch a series of short video tutorials about the configuration and use of {% data variables.product.prodname_classroom %}. To watch all videos as part of a continuous playlist, see the [{% data variables.product.prodname_classroom %} Getting Started Guide](https://www.youtube.com/playlist?list=PLIRjfNq867bewk3ZGV6Z7a16YDNRCpK3u) on YouTube. For more information about terminology for {% data variables.product.prodname_classroom %}, see "[Glossary](/education/manage-coursework-with-github-classroom/glossary)". 1. <a href="https://youtu.be/xVVeqIDgCvM" target="_blank">Getting started</a> {% octicon "link-external" aria-label="The external link icon" %} 2. <a href="https://youtu.be/DTzrKduaHj8" target="_blank">Adding your student roster</a> {% octicon "link-external" aria-label="The external link icon" %} 3. Creating assignments - <a href="https://youtu.be/6QzKZ63KLss" target="_blank">Creating an assignment using a {% data variables.product.prodname_dotcom %} repository</a> {% octicon "link-external" aria-label="The external link icon" %} - <a href="https://youtu.be/Qmwh6ijsQJU" target="_blank">Creating an assignment using Microsoft MakeCode as your online IDE</a> {% octicon "link-external" aria-label="The external link icon" %} - <a href="https://youtu.be/p_g5sQ7hUis" target="_blank">Creating an assignment using Repl.it as your online IDE</a> {% octicon "link-external" aria-label="The external link icon" %} 4. <a href="https://youtu.be/ObaFRGp_Eko" target="_blank">How students complete assignments</a> {% octicon "link-external" aria-label="The external link icon" %} 5. <a href="https://youtu.be/g45OJn3UyCU" target="_blank">How teachers review assignments</a> {% octicon "link-external" aria-label="The external link icon" %} 6. <a href="https://youtu.be/QxrA3taZdNM" target="_blank">Creating group assignments</a> {% octicon "link-external" aria-label="The external link icon" %} 7. <a href="https://youtu.be/tJK2cmoh1KM" target="_blank">Next steps to get started</a> {% octicon "link-external" aria-label="The external link icon" %} 8. <a href="https://youtu.be/X87v3SFQxLU" target="_blank">{% data variables.product.prodname_dotcom %} Teacher Toolbox</a> {% octicon "link-external" aria-label="The external link icon" %} ### Next steps For more information about teaching with {% data variables.product.prodname_classroom %}, see "[Teach with {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/teach-with-github-classroom)." ### Further reading - "[Teach and learn with {% data variables.product.prodname_education %}](/education/teach-and-learn-with-github-education)" 51 ...with-github-classroom/configure-default-settings-for-assignment-repositories.md @@ -0,0 +1,51 @@ --- title: Configure default settings for assignment repositories shortTitle: Configure defaults for assignment repositories intro: You can use the Probot Settings app to configure the default settings for repositories that {% data variables.product.prodname_classroom %} creates for an assignment. permissions: Organization owners can configure default settings for assignment repositories by installing a {% data variables.product.prodname_github_app %} for the organization. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/probot-settings --- ### About configuration of defaults for assignment repositories {% data variables.product.prodname_classroom %} creates a repository that belongs for each student or team that accepts an assignment. The repository belongs to the organization that you use for {% data variables.product.prodname_classroom %}. Assignment repositories can be empty, or you can use a template repository. For more information, see "[Create an assignment from a template repository](/education/manage-coursework-with-github-classroom/create-an-assignment-from-a-template-repository)." {% data reusables.classroom.you-may-want-to-predefine-repository-settings %} With the Probot Settings app, you can create a file named _.github/settings.yml_ in a repository that contains a list of settings for the repository, and then install a {% data variables.product.prodname_github_app %} for your organization that automatically applies the settings to the repository. You can include _.github/settings.yml_ in a template repository that you use for an assignment in {% data variables.product.prodname_classroom %}. When an individual or team accepts the assignment, {% data variables.product.prodname_classroom %} creates the assignment repository, and the Settings app automatically applies the settings from _.github/settings.yml_. Probot is a a project, framework, and collection of free apps to automate {% data variables.product.product_name %}. A Probot app can listen to repository events, like the creation of new commits, comments, and issues, and automatically respond to the event. For more information, see the [Probot website](https://probot.github.io) and the [Settings app website](https://probot.github.io/apps/settings/). For more information about {% data variables.product.prodname_github_apps %}, see "[About apps](/developers/apps/about-apps)." ### Adding the Settings app to your organization After you install the Probot Settings app for your organization, the app will apply the settings that you define in _.github/settings.yml_ for any repository in your organization, including new assignment repositories that {% data variables.product.prodname_classroom %} creates. 1. Navigate to the [Settings app page](https://github.com/apps/settings). 1. Click **Install**, then click the organization that you use for {% data variables.product.prodname_classroom %}. Provide the app full access to all repositories owned by the organization.  ### Configuring default settings for an assignment repository 1. Create a template repository that contains a _.github/settings.yml_ file. For a complete list of settings, see the [README](https://github.com/probot/settings#github-settings) for the `probot/settings` repository. For more information about using a template repository for starter code in {% data variables.product.prodname_classroom %}, see "[Create an assignment from a template repository](/education/manage-coursework-with-github-classroom/create-an-assignment-from-a-template-repository)." {% warning %} **Warning:** Do not define `collaborators` in the _.github/settings.yml_ file for your template repository. {% data variables.product.prodname_classroom %} automatically grants teachers and teaching assistants access to assignment repositories. {% endwarning %} 1. Create an assignment using the template repository containing _.github/settings.yml_ as the starter code. {% data reusables.classroom.for-more-information-about-assignment-creation %} The Probot Settings app for your organization will now apply the settings you define in _.github/settings.yml_ within the template repository to every assignment repository that {% data reusables.classroom.you-may-want-to-predefine-repository-settings %} creates for a student or team. ### Further reading - [Probot apps](https://probot.github.io/apps/) - [Probot documentation](https://probot.github.io/docs/) 142 ...th-github-classroom/connect-a-learning-management-system-to-github-classroom.md @@ -0,0 +1,142 @@ --- title: Connect a learning management system to GitHub Classroom intro: You can configure an LTI-compliant learning management system (LMS) to connect to {% data variables.product.prodname_classroom %} so that you can import a roster for your classroom. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/configuring-a-learning-management-system-for-github-classroom - /education/manage-coursework-with-github-classroom/connect-to-lms - /education/manage-coursework-with-github-classroom/generate-lms-credentials - /education/manage-coursework-with-github-classroom/setup-canvas - /education/manage-coursework-with-github-classroom/setup-generic-lms - /education/manage-coursework-with-github-classroom/setup-moodle --- ### About configuration of your LMS You can connect a learning management system (LMS) to {% data variables.product.prodname_classroom %}, and {% data variables.product.prodname_classroom %} can import a roster of student identifiers from the LMS. To connect your LMS to {% data variables.product.prodname_classroom %}, you must enter configuration credentials for {% data variables.product.prodname_classroom %} in your LMS. ### Prerequisites To configure an LMS to connect to {% data variables.product.prodname_classroom %}, you must first create a classroom. For more information, see "[Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms#creating-a-classroom)." ### Supported LMSes {% data variables.product.prodname_classroom %} supports import of roster data from LMSes that implement Learning Tools Interoperability (LTI) standards. - LTI version 1.0 and/or 1.1 - LTI Names and Roles Provisioning 1.X Using LTI helps keep your information safe and secure. LTI is an industry-standard protocol and GitHub Classroom's use of LTI is certified by the Instructional Management System (IMS) Global Learning Consortium. For more information, see [Learning Tools Interoperability](https://www.imsglobal.org/activity/learning-tools-interoperability) and [About IMS Global Learning Consortium](http://www.imsglobal.org/aboutims.html) on the IMS Global Learning Consortium website. {% data variables.product.company_short %} has tested import of roster data from the following LMSes into {% data variables.product.prodname_classroom %}. - Canvas - Google Classroom - Moodle - Sakai Currently, {% data variables.product.prodname_classroom %} doesn't support import of roster data from Blackboard or Brightspace ### Generating configuration credentials for your classroom {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-students %} 1. If your classroom already has a roster, you can either update the roster or delete the roster and create a new roster. - For more information about deleting and creating a roster, see "[Deleting a roster for a classroom](/education/manage-coursework-with-github-classroom/manage-classrooms#deleting-a-roster-for-a-classroom)" and "[Creating a roster for your classroom](/education/manage-coursework-with-github-classroom/manage-classrooms#creating-a-roster-for-your-classroom)." - For more information about updating a roster, see "[Adding students to the roster for your classroom](/education/manage-coursework-with-github-classroom/manage-classrooms#adding-students-to-the-roster-for-your-classroom)." 1. In the list of LMSes, click your LMS. If your LMS is not supported, click **Other LMS**.  1. Read about connecting your LMS, then click **Connect to _LMS_**. 1. Copy the "Consumer Key", "Shared Secret", and "Launch URL" for the connection to the classroom.  ### Configuring a generic LMS You must configure the privacy settings for your LMS to allow external tools to receive roster information. 1. Navigate to your LMS. 1. Configure an external tool. 1. Provide the configuration credentials you generated in {% data variables.product.prodname_classroom %}. - Consumer key - Shared secret - Launch URL (sometimes called "tool URL" or similar) ### Configuring Canvas You can configure {% data variables.product.prodname_classroom %} as an external app for Canvas to import roster data into your classroom. For more information about Canvas, see the [Canvas website](https://www.instructure.com/canvas/). 1. Sign into [Canvas](https://www.instructure.com/canvas/#login). 1. Select the Canvas course to integrate with {% data variables.product.prodname_classroom %}. 1. In the left sidebar, click **Settings**. 1. Click the **Apps** tab. 1. Click **View app configurations**. 1. Click **+App**. 1. Select the **Configuration Type** drop-down menu, and click **By URL**. 1. Paste the configuration credentials from {% data variables.product.prodname_classroom %}. For more information, see "[Generating configuration credentials for your classroom](#generating-configuration-credentials-for-your-classroom)." | Field in Canvas app configuration | Value or setting | | :- | :- | | **Consumer Key** | Consumer key from {% data variables.product.prodname_classroom %} | | **Shared Secret** | Shared secret from {% data variables.product.prodname_classroom %} | | **Allow this tool to access the IMS Names and Role Provisioning Service** | Enabled | | **Configuration URL** | Launch URL from {% data variables.product.prodname_classroom %} | {% note %} **Note**: If you don't see a checkbox in Canvas labeled "Allow this tool to access the IMS Names and Role Provisioning Service", then your Canvas administrator must contact Canvas support to enable membership service configuration for your Canvas account. Without enabling this feature, you won't be able to sync the roster from Canvas. For more information, see [How do I contact Canvas Support?](https://community.canvaslms.com/t5/Canvas-Basics-Guide/How-do-I-contact-Canvas-Support/ta-p/389767) on the Canvas website. {% endnote %} 1. Click **Submit**. 1. In the left sidebar, click **Home**. 1. To prompt Canvas to send a confirmation email, in the left sidebar, click **GitHub Classroom**. Follow the instructions in the email to finish linking {% data variables.product.prodname_classroom %}. ### Configuring Moodle You can configure {% data variables.product.prodname_classroom %} as an activity for Moodle to import roster data into your classroom. For more information about Moodle, see the [Moodle website](https://moodle.org). You must be using Moodle version 3.0 or greater. 1. Sign into [Moodle](https://moodle.org/login/index.php). 1. Select the Moodle course to integrate with {% data variables.product.prodname_classroom %}. 1. Click **Turn editing on**. 1. Wherever you'd like {% data variables.product.prodname_classroom %} to be available in Moodle, click **Add an activity or resource**. 1. Choose **External tool** and click **Add**. 1. In the "Activity name" field, type "GitHub Classroom". 1. In the **Preconfigured tool** field, to the right of the drop-down menu, click **+**. 1. Under "External tool configuration", paste the configuration credentials from {% data variables.product.prodname_classroom %}. For more information, see "[Generating configuration credentials for your classroom](#generating-configuration-credentials-for-your-classroom)." | Field in Moodle app configuration | Value or setting | | :- | :- | | **Tool name** | {% data variables.product.prodname_classroom %} - _YOUR CLASSROOM NAME_<br/><br/>**Note**: You can use any name, but we suggest this value for clarity. | | **Tool URL** | Launch URL from {% data variables.product.prodname_classroom %} | | **LTI version** | LTI 1.0/1.1 | | **Default launch container** | New window | | **Consumer key** | Consumer key from {% data variables.product.prodname_classroom %} | | **Shared secret** | Shared secret from {% data variables.product.prodname_classroom %} | 1. Scroll to and click **Services**. 1. To the right of "IMS LTI Names and Role Provisioning", select the drop-down menu and click **Use this service to retrieve members' information as per privacy settings**. 1. Scroll to and click **Privacy**. 1. To the right of **Share launcher's name with tool** and **Share launcher's email with tool**, select the drop-down menus to click **Always**. 1. At the bottom of the page, click **Save changes**. 1. In the **Preconfigure tool** menu, click **GitHub Classroom - _YOUR CLASSROOM NAME_**. 1. Under "Common module settings", to the right of "Availability", select the drop-down menu and click **Hide from students**. 1. At the bottom of the page, click **Save and return to course**. 1. Navigate to anywhere you chose to display {% data variables.product.prodname_classroom %}, and click the {% data variables.product.prodname_classroom %} activity. ### Importing a roster from your LMS For more information about importing the roster from your LMS into {% data variables.product.prodname_classroom %}, see "[Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms#creating-a-roster-for-your-classroom)." ### Disconnecting your LMS {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-settings %} 1. Under "Connect to a learning management system (LMS)", click **Connection Settings**.  1. Under "Delete Connection to your learning management system", click **Disconnect from your learning management system**.  145 .../education/manage-coursework-with-github-classroom/create-a-group-assignment.md @@ -0,0 +1,145 @@ --- title: Create a group assignment intro: 'You can create a collaborative assignment for teams of students who participate in your course.' versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/create-group-assignments --- ### About group assignments {% data reusables.classroom.assignments-group-definition %} Students can work together on a group assignment in a shared repository, like a team of professional developers. When a student accepts a group assignment, the student can create a new team or join an existing team. {% data variables.product.prodname_classroom %} saves the teams for an assignment as a set. You can name the set of teams for a specific assignment when you create the assignment, and you can reuse that set of teams for a later assignment. {% data reusables.classroom.classroom-creates-group-repositories %} {% data reusables.classroom.about-assignments %} You can decide how many teams one assignment can have, and how many members each team can have. Each team that a student creates for an assignment is a team within your organization on {% data variables.product.product_name %}. The visibility of the team is secret. Teams that you create on {% data variables.product.product_name %} will not appear in {% data variables.product.prodname_classroom %}. For more information, see "[About teams](/github/setting-up-and-managing-organizations-and-teams/about-teams)." For a video demonstration of the creation of a group assignment, see "[Basics of setting up {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom)." ### Prerequisites {% data reusables.classroom.assignments-classroom-prerequisite %} ### Creating an assignment {% data reusables.classroom.assignments-guide-create-the-assignment %} ### Setting up the basics for an assignment Name your assignment, decide whether to assign a deadline, define teams, and choose the visibility of assignment repositories. - [Naming an assignment](#naming-an-assignment) - [Assigning a deadline for an assignment](#assigning-a-deadline-for-an-assignment) - [Choosing an assignment type](#choosing-an-assignment-type) - [Defining teams for an assignment](#defining-teams-for-an-assignment) - [Choosing a visibility for assignment repositories](#choosing-a-visibility-for-assignment-repositories) #### Naming an assignment For a group assignment, {% data variables.product.prodname_classroom %} names repositories by the repository prefix and the name of the team. By default, the repository prefix is the assignment title. For example, if you name an assignment "assignment-1" and the team's name on {% data variables.product.product_name %} is "student-team", the name of the assignment repository for members of the team will be `assignment-1-student-team`. {% data reusables.classroom.assignments-type-a-title %} #### Assigning a deadline for an assignment {% data reusables.classroom.assignments-guide-assign-a-deadline %} #### Choosing an assignment type Under "Individual or group assignment", select the drop-down menu, then click **Group assignment**. You can't change the assignment type after you create the assignment. If you'd rather create a individual assignment, see "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)." #### Defining teams for an assignment If you've already created a group assignment for the classroom, you can reuse a set of teams for the new assignment. To create a new set with the teams that your students create for the assignment, type the name for the set. Optionally, type the maximum number of team members and total teams. {% tip %} **Tips**: - We recommend including details about the set of teams in the name for the set. For example, if you want to use the set of teams for one assignment, name the set after the assignment. If you want to reuse the set throughout a semester or course, name the set after the semester or course. - If you'd like to assign students to a specific team, give your students a name for the team and provide a list of members. {% endtip %}  #### Choosing a visibility for assignment repositories {% data reusables.classroom.assignments-guide-choose-visibility %} {% data reusables.classroom.assignments-guide-click-continue-after-basics %} ### Adding starter code and configuring a development environment {% data reusables.classroom.assignments-guide-intro-for-environment %} - [Choosing a template repository](#choosing-a-template-repository) - [Choosing an online integrated development environment (IDE)](#choosing-an-online-integrated-development-environment-ide) #### Choosing a template repository By default, a new assignment will create an empty repository for each team that a student creates. {% data reusables.classroom.you-can-choose-a-template-repository %} For more information about template repositories, see "[Creating a template repository](/github/creating-cloning-and-archiving-repositories/creating-a-template-repository)." {% data reusables.classroom.assignments-guide-choose-template-repository %} #### Choosing an online integrated development environment (IDE) {% data reusables.classroom.about-online-ides %} For more information, see "[Integrate {% data variables.product.prodname_classroom %} with an IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide)." {% data reusables.classroom.assignments-guide-choose-an-online-ide %} {% data reusables.classroom.assignments-guide-click-continue-after-starter-code-and-feedback %} ### Providing feedback Optionally, you can automatically grade assignments and create a space for discussing each submission with the team. - [Testing assignments automatically](#testing-assignments-automatically) - [Preventing changes to important files](#preventing-changes-to-important-files) - [Creating a pull request for feedback](#creating-a-pull-request-for-feedback) #### Testing assignments automatically {% data reusables.classroom.assignments-guide-using-autograding %} #### Preventing changes to important files {% data reusables.classroom.assignments-guide-prevent-changes %} #### Creating a pull request for feedback {% data reusables.classroom.you-can-create-a-pull-request-for-feedback %} {% data reusables.classroom.assignments-guide-create-review-pull-request %} {% data reusables.classroom.assignments-guide-click-create-assignment-button %} ### Inviting students to an assignment {% data reusables.classroom.assignments-guide-invite-students-to-assignment %} You can see the teams that are working on or have submitted an assignment in the **Teams** tab for the assignment. {% data reusables.classroom.assignments-to-prevent-submission %} <div class="procedural-image-wrapper"> <img alt="Group assignment" class="procedural-image-wrapper" src="/assets/images/help/classroom/assignment-group-hero.png"> </div> ### Next steps - After you create the assignment and your students form teams, team members can start work on the assignment using Git and {% data variables.product.product_name %}'s features. Students can clone the repository, push commits, manage branches, create and review pull requests, address merge conflicts, and discuss changes with issues. Both you and the team can review the commit history for the repository. For more information, see "[Getting started with {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github)," "[Creating, cloning, and archiving repositories](/github/creating-cloning-and-archiving-repositories)," "[Using Git](/github/using-git)," and "[Collaborating with issues and pull requests](/github/collaborating-with-issues-and-pull-requests)," and the free course on [managing merge conflicts](https://lab.github.com/githubtraining/managing-merge-conflicts) from {% data variables.product.prodname_learning %}. - When a team finishes an assignment, you can review the files in the repository, or you can review the history and visualizations for the repository to better understand how the team collaborated. For more information, see "[Visualizing repository data with graphs](/github/visualizing-repository-data-with-graphs)." - You can provide feedback for an assignment by commenting on individual commits or lines in a pull request. For more information, see "[Commenting on a pull request](/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request)" and "[Opening an issue from code](/github/managing-your-work-on-github/opening-an-issue-from-code)." For more information about creating saved replies to provide feedback for common errors, see "[About saved replies](/github/writing-on-github/about-saved-replies)." ### Further reading - "[Use {% data variables.product.prodname_dotcom %} in your classroom and research](/education/teach-and-learn-with-github-education/use-github-in-your-classroom-and-research)" - "[Connect a learning management system to {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom)" - [Using Existing Teams in Group Assignments?](https://education.github.community/t/using-existing-teams-in-group-assignments/6999) in the {% data variables.product.prodname_education %} Community 19 ...sework-with-github-classroom/create-an-assignment-from-a-template-repository.md @@ -0,0 +1,19 @@ --- title: Create an assignment from a template repository intro: You can create an assignment from a template repository to provide starter code, documentation, and other resources to your students. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/using-template-repos-for-assignments --- You can use a template repository on {% data variables.product.product_name %} as starter code for an assignment on {% data variables.product.prodname_classroom %}. Your template repository can contain boilerplate code, documentation, and other resources for your students. For more information, see "[Creating a template repository](/github/creating-cloning-and-archiving-repositories/creating-a-template-repository)." To use the template repository for your assignment, the template repository must be owned by your organization, or the visibility of the template repository must be public. {% data reusables.classroom.you-may-want-to-predefine-repository-settings %} For more information, see "[Configure default settings for assignment repositories](/education/manage-coursework-with-github-classroom/configure-default-settings-for-assignment-repositories)." ### Further reading - "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)" - "[Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)" 124 ...tion/manage-coursework-with-github-classroom/create-an-individual-assignment.md @@ -0,0 +1,124 @@ --- title: Create an individual assignment intro: You can create an assignment for students in your course to complete individually. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/creating-an-individual-assignment - /education/manage-coursework-with-github-classroom/create-an-individual-assignment --- ### About individual assignments {% data reusables.classroom.assignments-individual-definition %} {% data reusables.classroom.classroom-creates-individual-repositories %} {% data reusables.classroom.about-assignments %} For a video demonstration of the creation of an individual assignment, see "[Basics of setting up {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom)." ### Prerequisites {% data reusables.classroom.assignments-classroom-prerequisite %} ### Creating an assignment {% data reusables.classroom.assignments-guide-create-the-assignment %} ### Setting up the basics for an assignment Name your assignment, decide whether to assign a deadline, and choose the visibility of assignment repositories. - [Naming an assignment](#naming-an-assignment) - [Assigning a deadline for an assignment](#assigning-a-deadline-for-an-assignment) - [Choosing an assignment type](#choosing-an-assignment-type) - [Choosing a visibility for assignment repositories](#choosing-a-visibility-for-assignment-repositories) #### Naming an assignment For an individual assignment, {% data variables.product.prodname_classroom %} names repositories by the repository prefix and the student's {% data variables.product.product_name %} username. By default, the repository prefix is the assignment title. For example, if you name an assignment "assignment-1" and the student's username on {% data variables.product.product_name %} is @octocat, the name of the assignment repository for @octocat will be `assignment-1-octocat`. {% data reusables.classroom.assignments-type-a-title %} #### Assigning a deadline for an assignment {% data reusables.classroom.assignments-guide-assign-a-deadline %} #### Choosing an assignment type Under "Individual or group assignment", select the drop-down menu, and click **Individual assignment**. You can't change the assignment type after you create the assignment. If you'd rather create a group assignment, see "[Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)." #### Choosing a visibility for assignment repositories {% data reusables.classroom.assignments-guide-choose-visibility %} {% data reusables.classroom.assignments-guide-click-continue-after-basics %} ### Adding starter code and configuring a development environment {% data reusables.classroom.assignments-guide-intro-for-environment %} - [Choosing a template repository](#choosing-a-template-repository) - [Choosing an online integrated development environment (IDE)](#choosing-an-online-integrated-development-environment-ide) #### Choosing a template repository By default, a new assignment will create an empty repository for each student on the roster for the classroom. {% data reusables.classroom.you-can-choose-a-template-repository %} For more information about template repositories, see "[Creating a template repository](/github/creating-cloning-and-archiving-repositories/creating-a-template-repository)." {% data reusables.classroom.assignments-guide-choose-template-repository %} {% data reusables.classroom.assignments-guide-click-continue-after-starter-code-and-feedback %} #### Choosing an online integrated development environment (IDE) {% data reusables.classroom.about-online-ides %} For more information, see "[Integrate {% data variables.product.prodname_classroom %} with an IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide)." {% data reusables.classroom.assignments-guide-choose-an-online-ide %} ### Providing feedback for an assignment Optionally, you can automatically grade assignments and create a space for discussing each submission with the student. - [Testing assignments automatically](#testing-assignments-automatically) - [Preventing changes to important files](#preventing-changes-to-important-files) - [Creating a pull request for feedback](#creating-a-pull-request-for-feedback) #### Testing assignments automatically {% data reusables.classroom.assignments-guide-using-autograding %} #### Preventing changes to important files {% data reusables.classroom.assignments-guide-prevent-changes %} #### Creating a pull request for feedback {% data reusables.classroom.you-can-create-a-pull-request-for-feedback %} {% data reusables.classroom.assignments-guide-create-review-pull-request %} {% data reusables.classroom.assignments-guide-click-create-assignment-button %} ### Inviting students to an assignment {% data reusables.classroom.assignments-guide-invite-students-to-assignment %} You can see whether a student has joined the classroom and accepted or submitted an assignment in the **All students** tab for the assignment. {% data reusables.classroom.assignments-to-prevent-submission %} <div class="procedural-image-wrapper"> <img alt="Individual assignment" class="procedural-image-wrapper" src="/assets/images/help/classroom/assignment-individual-hero.png"> </div> ### Next steps - Once you create the assignment, students can start work on the assignment using Git and {% data variables.product.product_name %}'s features. Students can clone the repository, push commits, manage branches, create and review pull requests, address merge conflicts, and discuss changes with issues. Both you and student can review the commit history for the repository. For more information, see "[Getting started with {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github)," "[Creating, cloning, and archiving repositories](/github/creating-cloning-and-archiving-repositories)," "[Using Git](/github/using-git)," and "[Collaborating with issues and pull requests](/github/collaborating-with-issues-and-pull-requests)." - When a student finishes an assignment, you can review the files in the repository, or you can review the history and visualizations for the repository to better understand the student's work. For more information, see "[Visualizing repository data with graphs](/github/visualizing-repository-data-with-graphs)." - You can provide feedback for an assignment by commenting on individual commits or lines in a pull request. For more information, see "[Commenting on a pull request](/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request)" and "[Opening an issue from code](/github/managing-your-work-on-github/opening-an-issue-from-code)." For more information about creating saved replies to provide feedback for common errors, see "[About saved replies](/github/writing-on-github/about-saved-replies)." ### Further reading - "[Use {% data variables.product.prodname_dotcom %} in your classroom and research](/education/teach-and-learn-with-github-education/use-github-in-your-classroom-and-research)" - "[Connect a learning management system to {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom)" 9 ...on/manage-coursework-with-github-classroom/get-started-with-github-classroom.md @@ -0,0 +1,9 @@ --- title: Get started with GitHub Classroom shortTitle: Get started intro: Learn how to configure and use {% data variables.product.prodname_classroom %} to administer your course. mapTopic: true versions: free-pro-team: '*' --- 52 content/education/manage-coursework-with-github-classroom/glossary.md @@ -0,0 +1,52 @@ --- title: Glossary intro: You can review explanations of terminology for {% data variables.product.prodname_classroom %}. versions: free-pro-team: '*' --- ### assignment An assignment is coursework in {% data variables.product.prodname_classroom %}. A teacher can assign an assignment to an individual student or a group of students. Teachers can import starter code for the assignment, assign students, and create a deadline for each assignment. For more information, see the definitions for "[individual assignment](#individual-assignment)" and "[group assignment](#group-assignment)." --- ### classroom A classroom is the basic unit of {% data variables.product.prodname_classroom %}. Teachers can use a classroom to organize and manage students, teaching assistants, and assignments for a single course. A classroom belongs to an organization on {% data variables.product.prodname_dotcom_the_website %}. To administer a classroom, you must be an organization owner for the organization on {% data variables.product.prodname_dotcom %}. For more information, see "[Manage classrooms](/education/manage-coursework-with-github-classroom/manage-classrooms)." --- ### {% data variables.product.prodname_classroom %} {% data variables.product.prodname_classroom %} is a web application for educators that provides course administration tools integrated with {% data variables.product.prodname_dotcom %}. For more information, see the [{% data variables.product.prodname_classroom %}](https://classroom.github.com/) website. --- ### group assignment {% data reusables.classroom.assignments-group-definition %} For more information, see "[Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)." --- ### identifier An identifier in {% data variables.product.prodname_classroom %} is a unique ID for a student participating in a course. For example, an identifier can be a student name, alphanumeric ID, or email address. --- ### individual assignment {% data reusables.classroom.assignments-individual-definition %} For more information, see "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)." --- ### roster A roster allows a teacher to manage students and assignment submissions in a classroom on {% data variables.product.prodname_classroom %}. Teachers can create a roster by entering a list of student identifiers, or by connecting {% data variables.product.prodname_classroom %} to a learning management system (LMS). For more information about identifiers, see the definition of "[identifier](#identifier)." For more information about connecting {% data variables.product.prodname_classroom %} to an LMS, see "[Connect a learning management system to {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom)." --- ### Further reading - "[{% data variables.product.prodname_dotcom %} glossary](/github/getting-started-with-github/github-glossary)" 32 content/education/manage-coursework-with-github-classroom/index.md @@ -0,0 +1,32 @@ --- title: Manage coursework with GitHub Classroom shortTitle: '{% data variables.product.prodname_classroom %}' intro: With {% data variables.product.prodname_classroom %}, you can use {% data variables.product.product_name %} to administer or participate in a course about software development. versions: free-pro-team: '*' --- ### Table of Contents {% topic_link_in_list /get-started-with-github-classroom %} {% link_in_list /basics-of-setting-up-github-classroom %} {% link_in_list /glossary %} {% topic_link_in_list /teach-with-github-classroom %} {% link_in_list /manage-classrooms %} {% link_in_list /create-an-individual-assignment %} {% link_in_list /create-a-group-assignment %} {% link_in_list /create-an-assignment-from-a-template-repository %} {% link_in_list /leave-feedback-with-pull-requests %} {% link_in_list /use-autograding %} {% link_in_list /configure-default-settings-for-assignment-repositories %} {% link_in_list /connect-a-learning-management-system-to-github-classroom %} {% topic_link_in_list /integrate-github-classroom-with-an-ide %} {% link_in_list /integrate-github-classroom-with-an-online-ide %} {% link_in_list /about-using-makecode-arcade-with-github-classroom %} {% link_in_list /about-using-replit-with-github-classroom %} {% link_in_list /run-student-code-in-an-online-ide %} {% topic_link_in_list /learn-with-github-classroom %} {% link_in_list /view-autograding-results %} 8 ...nage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide.md @@ -0,0 +1,8 @@ --- title: Integrate GitHub Classroom with an IDE shortTitle: Integrate with an IDE intro: You can help your students write, test, and debug code by preconfiguring a development environment for assignment repositories on {% data variables.product.prodname_classroom %}. mapTopic: true versions: free-pro-team: '*' --- 42 ...ursework-with-github-classroom/integrate-github-classroom-with-an-online-ide.md @@ -0,0 +1,42 @@ --- title: Integrate GitHub Classroom with an online IDE shortTitle: Integrate with an online IDE intro: You can preconfigure a supported online integrated development environment (IDE) for assignments you create in {% data variables.product.prodname_classroom %}. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/online-ide-integrations --- ### About integration with an online IDE {% data reusables.classroom.about-online-ides %} After a student accepts an assignment with an online IDE, the README file in the student's assignment repository will contain a button to open the assignment in the IDE. The student can begin working immediately, and no additional configuration is necessary.  ### Supported online IDEs {% data variables.product.prodname_classroom %} supports the following online IDEs. You can learn more about the student experience for each IDE. | IDE | More information | | :- | :- | | Microsoft MakeCode Arcade | "[About using MakeCode Arcade with {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/about-using-makecode-arcade-with-github-classroom)" | | Repl.it | "[About using Repl.it with GitHub Classroom](/education/manage-coursework-with-github-classroom/about-using-replit-with-github-classroom)" | ### Configuring an online IDE for an assignment You can choose the online IDE you'd like to use for an assignment when you create an assignment. To learn how to create a new assignment that uses an online IDE, see "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)" or "[Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)." ### Authorizing the OAuth app for an online IDE The first time you configure an assignment with an online IDE, you must authorize the OAuth app for the online IDE for your organization.  For all repositories, grant the app **read** access to metadata, administration, and code, and **write** access to administration and code. For more information, see "[Authorizing OAuth Apps](/github/authenticating-to-github/authorizing-oauth-apps)." ### Further reading - "[About READMEs](/github/creating-cloning-and-archiving-repositories/about-readmes)" 7 ...ducation/manage-coursework-with-github-classroom/learn-with-github-classroom.md @@ -0,0 +1,7 @@ --- title: Learn with GitHub Classroom intro: You can participate in coursework in {% data variables.product.prodname_classroom %} and see results from your teacher. mapTopic: true versions: free-pro-team: '*' --- 33 ...on/manage-coursework-with-github-classroom/leave-feedback-with-pull-requests.md @@ -0,0 +1,33 @@ --- title: Leave feedback with pull requests intro: You can leave feedback for your students in a special pull request within the repository for each assignment. permissions: People with read permissions to a repository can leave feedback in a pull request for the repository. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/leaving-feedback-in-github --- ### About feedback pull requests for assignments {% data reusables.classroom.you-can-create-a-pull-request-for-feedback %} When you enable the pull request for feedback for an assignment, {% data variables.product.prodname_classroom %} will create a special pull request titled **Feedback** in the assignment repository for each student or team. The pull request automatically shows every commit that a student pushed to the assignment repository's default branch. ### Prerequisites To create and access the feedback pull request, you must enable the feedback pull request when you create the assignment. {% data reusables.classroom.for-more-information-about-assignment-creation %} ### Leaving feedback in a pull request for an assignment {% data reusables.classroom.sign-into-github-classroom %} 1. In the list of classrooms, click the classroom with the assignment you want to review.  {% data reusables.classroom.click-assignment-in-list %} 1. To the right of the submission, click **Review**.  1. Review the pull request. For more information, see "[Commenting on a pull request](/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request)." ### Further reading - "[Integrate {% data variables.product.prodname_classroom %} with an IDE](http://localhost:4000/en/free-pro-team@latest/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide)" 121 content/education/manage-coursework-with-github-classroom/manage-classrooms.md @@ -0,0 +1,121 @@ --- title: Manage classrooms intro: You can create and manage a classroom for each course that you teach using {% data variables.product.prodname_classroom %}. permissions: Organization owners can manage a classroom for an organization. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/archive-a-classroom --- ### About classrooms {% data reusables.classroom.about-classrooms %}  ### About management of classrooms {% data variables.product.prodname_classroom %} uses organization accounts on {% data variables.product.product_name %} to manage permissions, administration, and security for each classroom that you create. Each organization can have multiple classrooms. After you create a classroom, {% data variables.product.prodname_classroom %} will prompt you to invite teaching assistants (TAs) and admins to the classroom. Each classroom can have one or more admins. Admins can be teachers, TAs, or any other course administrator who you'd like to have control over your classrooms on {% data variables.product.prodname_classroom %}. Invite TAs and admins to your classroom by inviting the user accounts on {% data variables.product.product_name %} to your organization as organization owners and sharing the URL for your classrom. Organization owners can administer any classroom for the organization. For more information, see "[Permission levels for an organization](/github/setting-up-and-managing-organizations-and-teams/permission-levels-for-an-organization)" and "[Inviting users to join your organization](/github/setting-up-and-managing-organizations-and-teams/inviting-users-to-join-your-organization)." When you're done using a classroom, you can archive the classroom and refer to the classroom, roster, and assignments later, or you can delete the classroom if you no longer need the classroom. ### About classroom rosters Each classroom has a roster. A roster is a list of identifiers for the students who participate in your course. When you first share the URL for an assignment with a student, the student must sign into {% data variables.product.product_name %} with a user account to link the user account to an identifier for the classroom. After the student links a user account, you can see the associated user account in the roster. You can also see when the student accepts or submits an assignment.  ### Prerequisites You must have an organization account on {% data variables.product.product_name %} to manage classrooms on {% data variables.product.prodname_classroom %}. For more information, see "[Types of {% data variables.product.company_short %} accounts](/github/getting-started-with-github/types-of-github-accounts#organization-accounts)" and "[Creating a new organization from scratch](/github/setting-up-and-managing-organizations-and-teams/creating-a-new-organization-from-scratch)." You must authorize the OAuth app for {% data variables.product.prodname_classroom %} for your organization to manage classrooms for your organization account. For more information, see "[Authorizing OAuth Apps](/github/authenticating-to-github/authorizing-oauth-apps)." ### Creating a classroom {% data reusables.classroom.sign-into-github-classroom %} 1. Click **New classroom**.  {% data reusables.classroom.guide-create-new-classroom %} After you create a classroom, you can begin creating assignments for students. For more information, see "[Create an individual assignment](/education/manage-coursework-with-github-classroom/create-an-individual-assignment)" or "[Create a group assignment](/education/manage-coursework-with-github-classroom/create-a-group-assignment)." ### Creating a roster for your classroom You can create a roster of the students who participate in your course. If your course already has a roster, you can update the students on the roster or delete the roster. For more information, see "[Adding a student to the roster for your classroom](#adding-students-to-the-roster-for-your-classroom)" or "[Deleting a roster for a classroom](#deleting-a-roster-for-a-classroom)." {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-students %} 1. To connect {% data variables.product.prodname_classroom %} to your LMS and import a roster, click {% octicon "mortar-board" aria-label="The mortar board icon" %} **Import from a learning management system** and follow the instructions. For more information, see "[Connect a learning management system to {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom)."  1. To create a roster manually, type your student identifiers. Optionally, click **Upload a CSV or text file** to upload a file containing the identifiers.  1. Click **Create roster**.  ### Adding students to the roster for your classroom Your classroom must have an existing roster to add students to the roster. For more information about creating a roster, see "[Creating a roster for your classrom](#creating-a-roster-for-your-classroom)." {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-students %} 1. To the right of "Classroom roster", click **Update students**.  1. Follow the instructions to add students to the roster. - To import students from an LMS, click **Sync from a learning management system**. For more information about importing a roster from an LMS, see "[Connect a learning management system to {% data variables.product.prodname_classroom %}](/education/manage-coursework-with-github-classroom/connect-a-learning-management-system-to-github-classroom)." - To manually add students, under "Manually add students", click **Upload a CSV or text file** or type the identifiers for the students, then click **Add roster entries**.  ### Renaming a classroom {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-settings %} 1. Under "Classroom name", type a new name for the classroom.  1. Click **Rename classroom**.  ### Archiving or unarchiving a classroom You can archive a classroom that you no longer use on {% data variables.product.prodname_classroom %}. When you archive a classroom, you can't create new assignments or edit existing assignments for the classroom. Students can't accept invitations to assignments in archived classrooms. {% data reusables.classroom.sign-into-github-classroom %} 1. To the right of a classroom's name, select the {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} drop-down menu, then click **Archive**.  1. To unarchive a classroom, to the right of a classroom's name, select the {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} drop-down menu, then click **Unarchive**.  ### Deleting a roster for a classroom {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-students %} 1. Under "Delete this roster", click **Delete roster**.  1. Read the warnings, then click **Delete roster**.  ### Deleting a classroom {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-settings %} 1. To the right of "Delete this classroom", click **Delete classroom**.  1. **Read the warnings**. 1. To verify that you're deleting the correct classroom, type the name of the classroom you want to delete.  1. Click **Delete classroom**.  22 ...on/manage-coursework-with-github-classroom/run-student-code-in-an-online-ide.md @@ -0,0 +1,22 @@ --- title: Run student code in an online IDE intro: You can run the code from a student assignment within the online integrated development environment (IDE) that you configured for the assignment. versions: free-pro-team: '*' redirect_from: - /education/manage-coursework-with-github-classroom/running-student-code --- ### About student code and online IDEs If you configure an online integrated development environment (IDE) for an assignment, you can run the code within the online IDE. You don't need to clone the assignment repository to your computer. For more information about online IDEs, see "[Integrate {% data variables.product.prodname_classroom %} with an online IDE](/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-online-ide)." ### Running student code in the online IDE {% data reusables.classroom.sign-into-github-classroom %} {% data reusables.classroom.click-classroom-in-list %} {% data reusables.classroom.click-assignment-in-list %} 1. To the right of the submission, click **View IDE**.  8 ...ducation/manage-coursework-with-github-classroom/teach-with-github-classroom.md @@ -0,0 +1,8 @@ --- title: Teach with GitHub Classroom intro: Learn how to set up your classroom and assignments. mapTopic: true versions: free-pro-team: '*' --- 93 content/education/manage-coursework-with-github-classroom/use-autograding.md 30 ...t/education/manage-coursework-with-github-classroom/view-autograding-results.md 90 content/education/quickstart.md 1 ...github-education/about-campus-advisors.md → ...github-education/about-campus-advisors.md 1 ...-github-education/about-campus-experts.md → ...-github-education/about-campus-experts.md 1 ...ducation-for-educators-and-researchers.md → ...ducation-for-educators-and-researchers.md 5 ...on/about-github-education-for-students.md → ...on/about-github-education-for-students.md 9 ...ithub-education/about-github-education.md → ...ithub-education/about-github-education.md 5 .../applying-for-a-student-developer-pack.md → ...ion/apply-for-a-student-developer-pack.md 14 ...for-an-educator-or-researcher-discount.md → ...for-an-educator-or-researcher-discount.md 26 content/education/teach-and-learn-with-github-education/index.md 3 ...github-at-your-educational-institution.md → ...github-at-your-educational-institution.md 3 ...ation/using-github-for-your-schoolwork.md → ...ucation/use-github-for-your-schoolwork.md 3 ...-github-in-your-classroom-and-research.md → ...-github-in-your-classroom-and-research.md 5 ...-for-a-student-developer-pack-approved.md → ...-for-a-student-developer-pack-approved.md 3 ...ucator-or-researcher-discount-approved.md → ...ucator-or-researcher-discount-approved.md 20 ...ering-a-repository/enabling-or-disabling-github-discussions-for-a-repository.md 5 content/github/administering-a-repository/index.md 2 content/github/authenticating-to-github/reviewing-your-security-log.md 1 content/github/collaborating-with-issues-and-pull-requests/index.md 74 ...with-issues-and-pull-requests/reviewing-dependency-changes-in-a-pull-request.md 19 ...g-with-issues-and-pull-requests/reviewing-proposed-changes-in-a-pull-request.md 10 content/github/creating-cloning-and-archiving-repositories/about-repositories.md 15 content/github/customizing-your-github-workflow/about-github-marketplace.md 2 content/github/getting-started-with-github/git-and-github-learning-resources.md 4 content/github/getting-started-with-github/github-glossary.md 6 content/github/getting-started-with-github/signing-up-for-a-new-github-account.md 1 content/github/index.md 2 ...b/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies.md 25 ...hub/managing-security-vulnerabilities/about-managing-vulnerable-dependencies.md 1 content/github/managing-security-vulnerabilities/index.md 4 ...nerabilities/viewing-and-updating-vulnerable-dependencies-in-your-repository.md 3 ...criptions-and-notifications-on-github/managing-notifications-from-your-inbox.md 6 content/github/managing-your-work-on-github/about-issues.md 3 content/github/searching-for-information-on-github/about-searching-on-github.md 5 content/github/searching-for-information-on-github/index.md 114 content/github/searching-for-information-on-github/searching-discussions.md 2 ...ithub/searching-for-information-on-github/searching-issues-and-pull-requests.md 2 ...nd-managing-billing-and-payments-on-github/about-billing-for-github-sponsors.md 4 ...-billing-and-payments-on-github/discounted-subscriptions-for-github-accounts.md 19 ...ing-up-and-managing-billing-and-payments-on-github/downgrading-a-sponsorship.md 16 ...tting-up-and-managing-billing-and-payments-on-github/upgrading-a-sponsorship.md 4 content/github/setting-up-and-managing-organizations-and-teams/index.md 27 ...and-teams/managing-discussion-creation-for-repositories-in-your-organization.md 25 ...izations-and-teams/managing-updates-from-accounts-your-organization-sponsors.md 3 ...p-and-managing-organizations-and-teams/permission-levels-for-an-organization.md 14 ...ing-organizations-and-teams/repository-permission-levels-for-an-organization.md 86 ...naging-organizations-and-teams/reviewing-the-audit-log-for-your-organization.md 1 content/github/setting-up-and-managing-your-github-user-account/index.md 24 ...etting-up-and-managing-your-github-user-account/managing-your-theme-settings.md 12 content/github/site-policy/github-additional-product-terms.md 8 ...porting-the-open-source-community-with-github-sponsors/about-github-sponsors.md 17 ...community-with-github-sponsors/attributing-sponsorships-to-your-organization.md 28 ...e-open-source-community-with-github-sponsors/changing-your-sponsorship-tiers.md 22 ...th-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account.md 17 ...ting-the-open-source-community-with-github-sponsors/contacting-your-sponsors.md 25 ...munity-with-github-sponsors/editing-your-profile-details-for-github-sponsors.md 1 content/github/supporting-the-open-source-community-with-github-sponsors/index.md 12 ...ce-community-with-github-sponsors/managing-your-payouts-from-github-sponsors.md 18 ...he-open-source-community-with-github-sponsors/managing-your-sponsorship-goal.md 39 ...ing-the-open-source-community-with-github-sponsors/managing-your-sponsorship.md 10 ...munity-with-github-sponsors/setting-up-github-sponsors-for-your-organization.md 10 ...munity-with-github-sponsors/setting-up-github-sponsors-for-your-user-account.md 62 ...-source-community-with-github-sponsors/sponsoring-an-open-source-contributor.md 27 ...source-community-with-github-sponsors/viewing-your-sponsors-and-sponsorships.md 23 content/github/teaching-and-learning-with-github-education/index.md This file was deleted. 7 ...nt/github/visualizing-repository-data-with-graphs/about-the-dependency-graph.md 1 content/github/working-with-github-support/index.md 10 content/graphql/README.md 58 ...tting-started-with-github-container-registry/about-github-container-registry.md This file was deleted. 15 content/packages/getting-started-with-github-container-registry/index.md This file was deleted. 95 content/packages/guides/about-github-container-registry.md 2 ...ol-and-visibility-for-container-images.md → ...ol-and-visibility-for-container-images.md 5 ...che-maven-for-use-with-github-packages.md → ...che-maven-for-use-with-github-packages.md 1 ...ng-docker-for-use-with-github-packages.md → ...ng-docker-for-use-with-github-packages.md 1 ...otnet-cli-for-use-with-github-packages.md → ...otnet-cli-for-use-with-github-packages.md 1 ...ng-gradle-for-use-with-github-packages.md → ...ng-gradle-for-use-with-github-packages.md 1 ...uring-npm-for-use-with-github-packages.md → ...uring-npm-for-use-with-github-packages.md 1 ...-rubygems-for-use-with-github-packages.md → ...-rubygems-for-use-with-github-packages.md 2 ...ting-a-repository-to-a-container-image.md → ...ting-a-repository-to-a-container-image.md 10 content/packages/guides/container-guides-for-github-packages.md 2 ...er-registry/deleting-a-container-image.md → ...ages/guides/deleting-a-container-image.md 2 ...ry/enabling-improved-container-support.md → ...es/enabling-improved-container-support.md 33 content/packages/guides/index.md 2 ...b-container-registry-for-docker-images.md → ...b-container-registry-for-docker-images.md 10 content/packages/guides/package-client-guides-for-github-packages.md 2 ...stry/pushing-and-pulling-docker-images.md → ...ides/pushing-and-pulling-docker-images.md 1 ...ng-github-packages-with-github-actions.md → ...ng-github-packages-with-github-actions.md 46 content/packages/index.md 60 ...anaging-packages/about-github-packages.md → ...-github-packages/about-github-packages.md 13 ...concepts-for-github-container-registry.md → ...ages/core-concepts-for-github-packages.md 16 content/packages/learn-github-packages/index.md 1 ...managing-packages/publishing-a-package.md → ...n-github-packages/publishing-a-package.md 3 ...d-managing-packages/deleting-a-package.md → ...ges/manage-packages/deleting-a-package.md 8 ...publishing-and-managing-packages/index.md → content/packages/manage-packages/index.md 1 ...managing-packages/installing-a-package.md → ...s/manage-packages/installing-a-package.md 1 ...and-managing-packages/viewing-packages.md → ...kages/manage-packages/viewing-packages.md 11 content/packages/managing-container-images-with-github-container-registry/index.md This file was deleted. 109 content/packages/quickstart.md 20 content/packages/using-github-packages-with-your-projects-ecosystem/index.md This file was deleted. 10 content/rest/README.md 18 content/rest/overview/resources-in-the-rest-api.md 2 content/rest/overview/troubleshooting.md 10 content/rest/reference/enterprise-admin.md 2 data/products.yml 2 data/reusables/accounts/create-account.md 2 data/reusables/actions/actions-not-verified.md 7 data/reusables/actions/visualization-beta.md 5 data/reusables/audit_log/audit-log-api-info.md 1 data/reusables/audit_log/audit-log-git-events-retention.md 1 data/reusables/classroom/about-assignments.md 1 data/reusables/classroom/about-autograding.md 1 data/reusables/classroom/about-classrooms.md 1 data/reusables/classroom/about-online-ides.md 1 data/reusables/classroom/assignments-classroom-prerequisite.md 2 data/reusables/classroom/assignments-click-pencil.md 1 data/reusables/classroom/assignments-group-definition.md 5 data/reusables/classroom/assignments-guide-assign-a-deadline.md 5 data/reusables/classroom/assignments-guide-choose-an-online-ide.md 5 data/reusables/classroom/assignments-guide-choose-template-repository.md 9 data/reusables/classroom/assignments-guide-choose-visibility.md 7 data/reusables/classroom/assignments-guide-click-continue-after-basics.md 7 ...s/classroom/assignments-guide-click-continue-after-starter-code-and-feedback.md 5 data/reusables/classroom/assignments-guide-click-create-assignment-button.md 5 data/reusables/classroom/assignments-guide-create-review-pull-request.md 5 data/reusables/classroom/assignments-guide-create-the-assignment.md 1 data/reusables/classroom/assignments-guide-intro-for-environment.md 3 data/reusables/classroom/assignments-guide-invite-students-to-assignment.md 7 data/reusables/classroom/assignments-guide-prevent-changes.md 23 data/reusables/classroom/assignments-guide-using-autograding.md 1 data/reusables/classroom/assignments-individual-definition.md 1 data/reusables/classroom/assignments-to-prevent-submission.md 5 data/reusables/classroom/assignments-type-a-title.md 1 data/reusables/classroom/classroom-creates-group-repositories.md 1 data/reusables/classroom/classroom-creates-individual-repositories.md 1 data/reusables/classroom/classroom-enables-invitation-urls.md 2 data/reusables/classroom/click-assignment-in-list.md 2 data/reusables/classroom/click-classroom-in-list.md 2 data/reusables/classroom/click-settings.md 2 data/reusables/classroom/click-students.md 1 data/reusables/classroom/for-more-information-about-assignment-creation.md 6 data/reusables/classroom/guide-create-new-classroom.md 5 data/reusables/classroom/invitation-url-warning.md 1 data/reusables/classroom/readme-contains-button-for-online-ide.md 1 data/reusables/classroom/sign-into-github-classroom.md 1 data/reusables/classroom/use-add-test-drop-down-to-click-grading-method.md 1 data/reusables/classroom/you-can-choose-a-template-repository.md 1 data/reusables/classroom/you-can-create-a-pull-request-for-feedback.md 1 data/reusables/classroom/you-may-want-to-predefine-repository-settings.md 1 data/reusables/discussions/about-categories-and-formats.md 1 data/reusables/discussions/about-discussions.md 5 data/reusables/discussions/beta.md 2 data/reusables/discussions/click-discussion-in-list.md 2 data/reusables/discussions/discussions-tab.md 2 data/reusables/discussions/edit-categories.md 1 data/reusables/discussions/edit-category-details.md 8 ...les/discussions/enabling-or-disabling-github-discussions-for-your-repository.md 1 data/reusables/discussions/github-recognizes-members.md 16 data/reusables/discussions/marking-a-comment-as-an-answer.md 1 data/reusables/discussions/repository-category-limit.md 10 data/reusables/discussions/starting-a-discussion.md 1 data/reusables/discussions/you-can-categorize-discussions.md 1 data/reusables/discussions/you-can-convert-an-issue.md 1 data/reusables/discussions/you-can-use-discussions.md 1 data/reusables/discussions/you-cannot-convert-a-discussion.md 2 data/reusables/education/about-github-education-link.md 2 data/reusables/education/apply-for-team.md 2 data/reusables/education/click-get-teacher-benefits.md 6 data/reusables/education/educator-requirements.md 1 data/reusables/gated-features/discussions.md 1 data/reusables/marketplace/app-transfer-to-org-for-verification.md 5 data/reusables/marketplace/free-plan-note.md 2 data/reusables/marketplace/launch-with-free.md 8 data/reusables/marketplace/marketplace-billing-ui-requirements.md 2 data/reusables/package_registry/billing-for-container-registry.md 2 data/reusables/package_registry/container-registry-beta-billing-note.md 2 data/reusables/package_registry/container-registry-beta.md 2 data/reusables/package_registry/docker_registry_deprecation_status.md 2 data/reusables/package_registry/feature-preview-for-container-registry.md 2 data/reusables/package_registry/required-scopes.md 2 data/reusables/package_registry/viewing-packages.md 3 data/reusables/repositories/dependency-review.md 7 data/reusables/repositories/navigate-to-job-superlinter.md 4 data/reusables/repositories/view-failed-job-results-superlinter.md 4 data/reusables/repositories/view-specific-line-superlinter.md 2 data/reusables/search/date_gt_lt.md 2 data/reusables/sponsors/billing-switcher.md 2 data/reusables/sponsors/change-tier.md 2 data/reusables/sponsors/choose-updates.md 2 data/reusables/sponsors/developer-sponsored-choose-updates.md This file was deleted. 4 data/reusables/sponsors/manage-developer-sponsorship.md This file was deleted. 4 data/reusables/sponsors/manage-org-sponsorship.md This file was deleted. 2 data/reusables/sponsors/manage-sponsorship.md 1 data/reusables/sponsors/manage-updates-for-orgs.md 2 data/reusables/sponsors/maximum-tier.md 4 data/reusables/sponsors/navigate-to-org-sponsors-dashboard.md This file was deleted. 2 ...onsors/navigate-to-sponsored-developer.md → ...sponsors/navigate-to-sponsored-account.md 1 data/reusables/sponsors/navigate-to-sponsored-org.md This file was deleted. 2 ...ors/navigate-to-dev-sponsors-dashboard.md → ...ponsors/navigate-to-sponsors-dashboard.md 2 data/reusables/sponsors/no-fees.md 5 data/reusables/sponsors/org-sponsors-release-phase.md 2 data/reusables/sponsors/pay-prorated-amount.md 2 data/reusables/sponsors/prorated-sponsorship.md 2 data/reusables/sponsors/sponsor-account.md 7 data/reusables/sponsors/sponsorship-dashboard.md 2 data/reusables/sponsors/sponsorship-details.md 1 data/reusables/webhooks/app_always_desc.md 3 data/ui.yml 7 data/variables/action_code_examples.yml 37 data/variables/discussions_community_examples.yml 6 data/variables/product.yml 21 includes/all-articles.html 4 includes/breadcrumbs.html 2 includes/code-example-card.html 14 includes/discussions-community-card.html 2 includes/header-notification.html 90 javascripts/filter-cards.js 92 javascripts/filter-code-examples.js This file was deleted. 4 javascripts/index.js 64 layouts/product-landing.html 68 lib/data-directory.js 28 lib/filename-to-key.js 7 lib/frontmatter.js 2 lib/liquid-tags/data.js 25 lib/page.js 54 lib/pages.js 21 lib/redirects/get-docs-path-from-developer-path.js 41 lib/redirects/precompile.js 231 lib/rest/static/decorated/api.github.com.json 495 lib/rest/static/dereferenced/api.github.com.deref.json 17 lib/rewrite-local-links.js 10 lib/site-data.js 24 lib/warm-server.js 5 middleware/breadcrumbs.js 38 middleware/categories-for-support-team.js 6 middleware/contextualizers/early-access-links.js 103 middleware/csp.js 69 middleware/early-access-breadcrumbs.js 1 middleware/index.js 45 package-lock.json 3 package.json 4 script/check-s3-images.js 4 script/early-access/clone-locally 41 script/early-access/create-branch 7 server.js 2 stylesheets/article.scss 4 tests/browser/browser.js 10 tests/content/category-pages.js 2 tests/content/crowdin-config.js 3 tests/content/featured-links.js 5 tests/content/glossary.js 42 tests/content/remove-liquid-statements.js 39 tests/content/site-data-references.js 4 tests/content/site-data.js 22 tests/fixtures/rest-redirects.json 10 tests/graphql/build-changelog-test.js 9 tests/helpers/conditional-runs.js 20 tests/meta/orphan-tests.js 23 tests/rendering/breadcrumbs.js 4 tests/rendering/rest.js 3 tests/rendering/server.js 47 tests/routing/developer-site-redirects.js 10 tests/routing/redirects.js 15 tests/unit/data-directory/filename-to-key.js 1 tests/unit/data-directory/fixtures/README.md 1 tests/unit/data-directory/fixtures/bar.yaml 1 tests/unit/data-directory/fixtures/foo.json 1 tests/unit/data-directory/fixtures/nested/baz.md 40 tests/unit/data-directory/index.js 19 tests/unit/early-access.js 4 tests/unit/find-page.js 57 tests/unit/liquid-helpers.js 140 tests/unit/page.js 2 tests/unit/pages.js 0 comments on commit 1a56ed1 Leave a comment You’re not receiving notifications from this thread. © 2021 GitHub, Inc. Terms Privacy Security Status Docs Contact GitHub Pricing API Training Blog About
caijiahao / SpringMvcPlusMongo慕课网 首页 实战 路径 猿问 手记 登录 注册 11.11 Python 手记 \ 史上最全,最详idea搭建springdata+mongoDB+maven+springmvc 史上最全,最详idea搭建springdata+mongoDB+maven+springmvc 原创 2016-10-21 10:54:297759浏览2评论 作为IT届的小弟,本篇作为本人的第一篇手记,还希望各位大牛多多指点,以下均为个人学习所得,如有错误,敬请指正。本着服务IT小白的原则,该手记比较详细。由于最近使用postgre开发大型项目,发现了关系型数据库的弊端及查询效率之慢,苦心钻研之下,对nosql的mongoDB从无知到有了初步了解。 项目环境:win10+IntelliJ IDEA2016+maven3.3.9+MongoDB 3.2+JDK1.7+spring4.1.7 推荐网站(适合学习各种知识的基础):http://www.runoob.com/ mongo安装请参考http://www.runoob.com/mongodb/mongodb-window-install.html 由于最近osChina的maven仓库挂掉,推荐大家使用阿里的镜像,速度快的飞起 maven配置:<localRepository>F:\.m2\repository</localRepository> <mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> 这里不实用idea自带maven插件,改用3.3.9 图片描述 项目结构:图片描述 这里dao与mongoDao分别为mongoDB的两种查询方式: dao为JPA的查询方式(请参考springdataJPA) mongoDao使用mongoTemplate,类似于关系型数据库使用的jdbcTemplate 不罗嗦,上代码 先看配置文件 spring-context.xm为最基本的spring配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!--扫描service包嗲所有使用注解的类型--> <context:component-scan base-package="com.lida.mongo"/> <!-- 导入mongodb的配置文件 --> <import resource="spring-mongo.xml" /> <!-- 开启注解 --> <context:annotation-config /> </beans> spring-web.xml为springmvc的基本配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"> <!--配置springmvc--> <!--1.开启springmvc注解模式--> <!--简化配置: (1)主动注册DefaultAnnotationHandlerMapping,AnnotationMethodHandlerAdapter (2)提供一系列功能:数据绑定,数字和日期的format @NumberFormt @DataTimeFormat,xml json默认的读写支持--> <mvc:annotation-driven/> <!--servlet-mapping--> <!--2静态资源默认的servlet配置,(1)允许对静态资源的处理:js,gif (2)允许使用“/”做整体映射--> <!-- 容器默认的DefaultServletHandler处理 所有静态内容与无RequestMapping处理的URL--> <mvc:default-servlet-handler/> <!--3:配置jsp 显示viewResolver--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/views/"/> <property name="suffix" value=".jsp"/> </bean> <!-- 4自动扫描且只扫描@Controller --> <context:component-scan base-package="com.lida.mongo.controller" /> <!-- 定义无需Controller的url<->view直接映射 --> <mvc:view-controller path="/" view-name="redirect:/goMongo/list"/> </beans> spring-mongo.xml为mongo配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mongo="http://www.springframework.org/schema/data/mongo" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo.xsd"> <!-- 加载mongodb的属性配置文件 --> <context:property-placeholder location="classpath:mongo.properties" /> <!-- spring连接mongodb数据库的配置 --> <mongo:mongo-client replica-set="${mongo.hostport}" id="mongo"> <mongo:client-options connections-per-host="${mongo.connectionsPerHost}" threads-allowed-to-block-for-connection-multiplier="${mongo.threadsAllowedToBlockForConnectionMultiplier}" connect-timeout="${mongo.connectTimeout}" max-wait-time="${mongo.maxWaitTime}" socket-timeout="${mongo.socketTimeout}"/> </mongo:mongo-client> <!-- mongo的工厂,通过它来取得mongo实例,dbname为mongodb的数据库名,没有的话会自动创建 --> <mongo:db-factory id="mongoDbFactory" dbname="mongoLida" mongo-ref="mongo" /> <!-- 只要使用这个调用相应的方法操作 --> <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"> <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" /> </bean> <!-- mongodb bean的仓库目录,会自动扫描扩展了MongoRepository接口的接口进行注入 --> <mongo:repositories base-package="com.lida.mongo" /> </beans> mongo.properties #mongoDB连接配置 mongo.hostport=127.0.0.1:27017 mongo.connectionsPerHost=8 mongo.threadsAllowedToBlockForConnectionMultiplier=4 #连接超时时间 mongo.connectTimeout=1000 #等待时间 mongo.maxWaitTime=1500 #Socket超时时间 mongo.socketTimeout=1500 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.liad</groupId> <artifactId>mongo</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>mongo Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <!--使用junit4,注解的方式测试--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <!--日志--> <!--日志 slf4j,log4j,logback,common-logging--> <!--slf4j是规范/接口--> <!--log4j,logback,common-logging是日志实现 本项目使用slf4j + logback --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.12</version> </dependency> <!--实现slf4j并整合--> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.1.1</version> </dependency> <!--数据库相关--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.22</version> <!--maven工作范围 驱动在真正工作的时候使用,故生命周期改为runtime--> <scope>runtime</scope> </dependency> <!--servlet web相关--> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.5.4</version> </dependency> <!--spring--> <!--spring核心--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.1.7.RELEASE</version> </dependency> <!--spring dao--> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-mongodb</artifactId> <version>1.8.0.RELEASE</version> </dependency> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.2.2</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>4.1.7.RELEASE</version> </dependency> <!--spring web--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.1.7.RELEASE</version> </dependency> <!--spring test--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.2</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.10</version> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-framework-bom</artifactId> <version>${spring.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache-core</artifactId> <version>2.6.9</version> </dependency> </dependencies> </dependencyManagement> <build> <finalName>mongo</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> </plugins> </build> </project> 两个实体类: /** * Created by DuLida on 2016/10/20. */ public class Address { private String city; private String street; private int num; public Address() { } public Address(String city, String street, int num) { this.city = city; this.street = street; this.num = num; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getStreet() { return street; } public void setStreet(String street) { this.street = street; } public int getNum() { return num; } public void setNum(int num) { this.num = num; } @Override public String toString() { return "Address{" + "city='" + city + '\'' + ", street='" + street + '\'' + ", num=" + num + '}'; } } /** * Created by DuLida on 2016/10/20. */ @Document(collection="person") public class Person implements Serializable { @Id private ObjectId id; private String name; private int age; private Address address; public Person() { } public Person( String name, int age, Address address) { this.name = name; this.age = age; this.address = address; } public ObjectId getId() { return id; } public void setId(ObjectId id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } @Override public String toString() { return "Person{" + "id=" + id + ", name='" + name + '\'' + ", age=" + age + ", address=" + address + '}'; } } JPA的dao,注意这里只要继承MongoRepository不用写注解spring就能认识这是个Repository,MongoRepository提供了基本的增删改查,不用实现便可直接调用,例如testMongo的personDao.save(persons); public interface PersonDao extends MongoRepository<Person, ObjectId> { @Query(value = "{'age' : {'$gte' : ?0, '$lte' : ?1}, 'name':?2 }",fields="{ 'name' : 1, 'age' : 1}") List<Person> findByAge(int age1, int age2, String name); } mongoTemplate的dao /** * Created by DuLida on 2016/10/21. */ public interface PersonMongoDao { List<Person> findAll(); void insertPerson(Person user); void removePerson(String userName); void updatePerson(); List<Person> findForRequery(String userName); } @Repository("personMongoImpl") public class PersonMongoImpl implements PersonMongoDao { @Resource private MongoTemplate mongoTemplate; @Override public List<Person> findAll() { return mongoTemplate.findAll(Person.class,"person"); } @Override public void insertPerson(Person person) { mongoTemplate.insert(person,"person"); } @Override public void removePerson(String userName) { mongoTemplate.remove(Query.query(Criteria.where("name").is(userName)),"person"); } @Override public void updatePerson() { mongoTemplate.updateMulti(Query.query(Criteria.where("age").gt(3).lte(5)), Update.update("age",3),"person"); } @Override public List<Person> findForRequery(String userName) { return mongoTemplate.find(Query.query(Criteria.where("name").is(userName)),Person.class); } } JPA查询的测试类: /** * Created by DuLida on 2016/10/20. */ @RunWith(SpringJUnit4ClassRunner.class) //告诉junit spring配置文件 @ContextConfiguration({"classpath:spring/spring-context.xml","classpath:spring/spring-mongo.xml"}) public class PersonDaoTest { @Resource private PersonDao personDao; /*先往数据库中插入10个person*/ @Test public void testMongo() { List<Person> persons = new ArrayList<Person>(); for (int i = 0; i < 10; i++) { persons.add(new Person("name"+i,i,new Address("石家庄","裕华路",i))); } personDao.save(persons); } @Test public void findMongo() { System.out.println(personDao.findByAge(2,8,"name6")); } } mongoTemplate查询的测试类 /** * Created by DuLida on 2016/10/21. */ @RunWith(SpringJUnit4ClassRunner.class) //告诉junit spring配置文件 @ContextConfiguration({"classpath:spring/spring-context.xml","classpath:spring/spring-mongo.xml"}) public class MongoTemplateTest { @Resource private PersonMongoImpl personMongo; @Test public void testMongoTemplate() { //personMongo.insertPerson(new Person("wukong",24,new Address("石家庄","鑫达路",20))); //personMongo.removePerson("name3"); //personMongo.updatePerson(); //System.out.println(personMongo.findAll()); System.out.println(personMongo.findForRequery("wukong")); } } 注意测试前请先通过testMongo()向数据库中插入数据。 项目源码Git地址,仅供学习使用:https://github.com/dreamSmile/mongo.git 参考资料http://docs.spring.io/spring-data/mongodb/docs/current/reference/html/ 本文原创发布于慕课网 ,转载请注明出处,谢谢合作! 相关标签:JAVAMongoDB 时间丶思考 天才小驴 你好小Song 陈词滥调1 4 人推荐 收藏 相关阅读 JAVA第三季1-9(模拟借书系统)作业 用pkp类,players类,playgame类三步教你写扑克牌游戏 Java入门第三季习题,简易扑克牌游戏 java学习第二季哒哒租车系统 Java入门第二季第六章练习题 请登录后,发表评论 评论(Enter+Ctrl) 全部评论2条 你好小Song2F 多数据源如何配置, 比如多个mongodb数据库再加mysql 1天前回复赞同0 时间丶思考 回复 你好小Song: 41分钟前 就在加一个datasource就行啊,原来mysql的datasource怎么加,现在就怎么加上就行,加上直接用。 回复 你好小Song1F 参考一下, 学习了. 2天前回复赞同0 时间丶思考 JAVA开发工程师 情劫难逃。 3篇手记 3推荐 作者的热门手记 神奇的Canvas贝塞尔曲线画心,程序员的表白 1021浏览18推荐3评论 深入探究setTimeout 和setInterval 44浏览1推荐0评论 网站首页企业合作人才招聘联系我们合作专区关于我们讲师招募常见问题意见反馈友情链接 Copyright © 2016 imooc.com All Rights Reserved | 京ICP备 13046642号-2
BabyJ723 / Blast ON# Awesome Keycloak [](https://github.com/sindresorhus/awesome) # [<img src="https://www.keycloak.org/resources/images/keycloak_logo_480x108.png">](https://github.com/thomasdarimont/awesome-keycloak) > Carefully curated list of awesome Keycloak resources. A curated list of resources for learning about the Open Source Identity and Access Management solution Keycloak. Contains books, websites, blog posts, links to github Repositories. # Contributing Contributions welcome. Add links through pull requests or create an issue to start a discussion. [Please refer to the contributing guide for details](CONTRIBUTING.md). # Contents * [General](#general) * [Documentation](#docs) * [Keycloak Website](http://www.keycloak.org) * [Current Documentation](http://www.keycloak.org/documentation.html) * [Archived Documentation](http://www.keycloak.org/documentation-archive.html) * [Mailing Lists](#mailing-lists) * [User Mailing List](#user-mailing-list) * [Developer Mailing List](#dev-mailing-list) * [Mailing List Search](#mailing-list-search) * [Books](#books) * [Articles](#articles) * [Talks](#talks) * [Presentations](#presentations) * [Video Playlists](#video-playlists) * [Community Extensions](#community-extensions) * [Integrations](#integrations) * [Themes](#themes) * [Docker](#docker) * [Deployment Examples](#deployment-examples) * [Example Projects](#example-projects) * [Benchmarks](#benchmarks) * [Help](#help) * [Commercial Offerings](#commercial-offerings) * [Miscellaneous](#miscellaneous) # General ## Documentation * [Keycloak Website](http://www.keycloak.org/) * [Current Documentation](http://www.keycloak.org/documentation.html) * [Archived Documentation](http://www.keycloak.org/documentation-archive.html) * [Product Documentation for Red Hat Single Sign-On](https://access.redhat.com/documentation/en/red-hat-single-sign-on/) ## Discussion Groups and Mailing Lists * [Keycloak Users Google Group](https://groups.google.com/forum/#!forum/keycloak-user) * [Keycloak Developers Google Group](https://groups.google.com/forum/#!forum/keycloak-dev) * [Keycloak Discourse Group](https://keycloak.discourse.group/) * [Keycloak Developer Chat](https://keycloak.zulipchat.com) * [Inactive - User Mailing List](https://lists.jboss.org/mailman/listinfo/keycloak-user) * [Inactive - Developer Mailing List](https://lists.jboss.org/mailman/listinfo/keycloak-dev) * [Mailing List Search](http://www.keycloak.org/search) * [Keycloak Subreddit](https://www.reddit.com/r/keycloak) ## Books * [Keycloak - Identity and Access Management for Modern Applications](https://www.packtpub.com/product/keycloak-identity-and-access-management-for-modern-applications/9781800562493) ## Articles * [How to get Keycloak working with Docker](https://www.ivonet.nl/2015/05/23/Keycloak-Docker/) * [Single-Sign-On for Microservices and/or Java EE applications with Keycloak SSO](http://www.n-k.de/2016/06/keycloak-sso-for-microservices.html) * [Keycloak Admin Client(s) - multiple ways to manage your SSO system](http://www.n-k.de/2016/08/keycloak-admin-client.html) * [How to get the AccessToken of Keycloak in Spring Boot and/or Java EE](http://www.n-k.de/2016/05/how-to-get-accesstoken-from-keycloak-springboot-javaee.html) * [JWT authentication with Vert.x, Keycloak and Angular 2](http://paulbakker.io/java/jwt-keycloak-angular2/) * [Authenticating via Kerberos with Keycloak and Windows 2008 Active Directory](http://matthewcasperson.blogspot.de/2015/07/authenticating-via-kerberos-with.html) * [Deploying Keycloak with Ansible](https://adam.younglogic.com/2016/01/deploying-keycloak-via-ansible/) * [Easily secure your Spring Boot applications with Keycloak](https://developers.redhat.com/blog/2017/05/25/easily-secure-your-spring-boot-applications-with-keycloak/) * [How Red Hat re-designed its Single Sign On (SSO) architecture, and why](https://developers.redhat.com/blog/2016/10/04/how-red-hat-re-designed-its-single-sign-on-sso-architecture-and-why/) * [OAuth2, JWT, Open-ID Connect and other confusing things](http://giallone.blogspot.de/2017/06/oath2.html) * [X509 Authentication with Keycloak and JBoss Fuse](https://sjhiggs.github.io/fuse/sso/x509/smartcard/2017/03/29/fuse-hawtio-keycloak.html) * [Running Keycloak on OpenShift 3](https://medium.com/@sbose78/running-keycloak-on-openshift-3-8d195c0daaf6) * [Introducing Keycloak for Identity and Access Management](https://www.thomasvitale.com/introducing-keycloak-identity-access-management/) * [Keycloak Basic Configuration for Authentication and Authorisation](https://www.thomasvitale.com/keycloak-configuration-authentication-authorisation/) * [Keycloak on OpenShift Origin](https://medium.com/@james_devcomb/keycloak-on-openshift-origin-ee81d01dac97) * [Identity Management, One-Time-Passwords and Two-Factor-Auth with Spring Boot and Keycloak](http://www.hascode.com/2017/11/identity-management-one-time-passwords-and-two-factor-auth-with-spring-boot-and-keycloak/) * [Keycloak Identity Brokering with Openshift](https://developers.redhat.com/blog/2017/12/06/keycloak-identity-brokering-openshift/) * [OpenID Connect Identity Brokering with Red Hat Single Sign-On](https://developers.redhat.com/blog/2017/10/18/openid-connect-identity-brokering-red-hat-single-sign/) * [Authentication & user management is hard](https://eclipsesource.com/blogs/2018/01/11/authenticating-reverse-proxy-with-keycloak/) * [Securing Nginx with Keycloak](https://edhull.co.uk/blog/2018-06-06/keycloak-nginx) * [Secure kibana dashboards using keycloak](https://aboullaite.me/secure-kibana-keycloak/) * [Configuring NGINX for OAuth/OpenID Connect SSO with Keycloak/Red Hat SSO](https://developers.redhat.com/blog/2018/10/08/configuring-nginx-keycloak-oauth-oidc/) * [Keycloak Clustering Setup and Configuration Examples](https://github.com/fit2anything/keycloak-cluster-setup-and-configuration) * [MicroProfile JWT with Keycloak](https://kodnito.com/posts/microprofile-jwt-with-keycloak/) * [Keycloak Essentials](https://medium.com/keycloak/keycloak-essentials-86254b2f1872) * [SSO-session failover with Keycloak and AWS S3](https://medium.com/@georgijsr/sso-session-failover-with-keycloak-and-aws-s3-e0b1db985e12) * [KTOR and Keycloak: authentication with OpenId](https://medium.com/slickteam/ktor-and-keycloak-authentication-with-openid-ecd415d7a62e) * [Keycloak: Core concepts of open source identity and access management](https://developers.redhat.com/blog/2019/12/11/keycloak-core-concepts-of-open-source-identity-and-access-management) * [Who am I? Keycloak Impersonation API](https://blog.softwaremill.com/who-am-i-keycloak-impersonation-api-bfe7acaf051a) * [Setup Keycloak Server on Ubuntu 18.04](https://medium.com/@hasnat.saeed/setup-keycloak-server-on-ubuntu-18-04-ed8c7c79a2d9) * [Getting started with Keycloak](https://robferguson.org/blog/2019/12/24/getting-started-with-keycloak/) * [Angular, OpenID Connect and Keycloak](https://robferguson.org/blog/2019/12/29/angular-openid-connect-keycloak/) * [Angular, OAuth 2.0 Scopes and Keycloak](https://robferguson.org/blog/2019/12/31/angular-oauth2-keycloak/) * [Keycloak, Flowable and OpenLDAP](https://robferguson.org/blog/2020/01/03/keycloak-flowable-and-openldap/) * [How to exchange token from an external provider to a keycloak token](https://www.mathieupassenaud.fr/token-exchange-keycloak/) * [Building an Event Listener SPI (Plugin) for Keycloak](https://dev.to/adwaitthattey/building-an-event-listener-spi-plugin-for-keycloak-2044) * [Keycloak user migration – connect your legacy authentication system to Keycloak](https://codesoapbox.dev/keycloak-user-migration/) * [Keycloak Authentication and Authorization in GraphQL](https://medium.com/@darahayes/keycloak-authentication-and-authorization-in-graphql-ad0a1685f7da) * [Kong / Konga / Keycloak: securing API through OIDC](https://github.com/d4rkstar/kong-konga-keycloak) * [KeyCloak: Custom Login theme](https://codehumsafar.wordpress.com/2018/09/11/keycloak-custom-login-theme/) * [Keycloak: Use background color instead of background image in Custom Login theme](https://codehumsafar.wordpress.com/2018/09/21/keycloak-use-background-color-instead-of-background-image-in-custom-login-theme/) * [How to turn off the Keycloak theme cache](https://keycloakthemes.com/blog/how-to-turn-off-the-keycloak-theme-cache) * [How to add a custom field to the Keycloak registration page](https://keycloakthemes.com/blog/how-to-add-custom-field-keycloak-registration-page) * [How to setup Sign in with Google using Keycloak](https://keycloakthemes.com/blog/how-to-setup-sign-in-with-google-using-keycloak) * [How to sign in users on Keycloak using Github](https://keycloakthemes.com/blog/how-to-sign-in-users-on-keycloak-using-github) * [Extending Keycloak SSO Capabilities with IBM Security Verify](https://community.ibm.com/community/user/security/blogs/jason-choi1/2020/06/10/extending-keycloak-sso-capabilities-with-ibm-secur) * [AWS SAML based User Federation using Keycloak](https://medium.com/@karanbir.tech/aws-connect-saml-based-identity-provider-using-keycloak-9b3e6d0111e6) * [AWS user account OpenID federation using Keycloak](https://medium.com/@karanbir.tech/aws-account-openid-federation-using-keycloak-40d22b952a43) * [How to Run Keycloak in HA on Kubernetes](https://blog.sighup.io/keycloak-ha-on-kubernetes/) * [How to create a Keycloak authenticator as a microservice?](https://medium.com/application-security/how-to-create-a-keycloak-authenticator-as-a-microservice-ad332e287b58) * [keycloak.ch | Installing & Running Keycloak](https://keycloak.ch/keycloak-tutorials/tutorial-1-installing-and-running-keycloak/) * [keycloak.ch | Configuring Token Exchange using the CLI](https://keycloak.ch/keycloak-tutorials/tutorial-token-exchange/) * [keycloak.ch | Configuring WebAuthn](https://keycloak.ch/keycloak-tutorials/tutorial-webauthn/) * [keycloak.ch | Configuring a SwissID integration](https://keycloak.ch/keycloak-tutorials/tutorial-swissid/) * [Getting Started with Service Accounts in Keycloak](https://medium.com/@mihirrajdixit/getting-started-with-service-accounts-in-keycloak-c8f6798a0675) * [Building cloud native apps: Identity and Access Management](https://dev.to/lukaszbudnik/building-cloud-native-apps-identity-and-access-management-1e5m) * [X.509 user certificate authentication with Red Hat’s single sign-on technology](https://developers.redhat.com/blog/2021/02/19/x-509-user-certificate-authentication-with-red-hats-single-sign-on-technology) * [Grafana OAuth with Keycloak and how to validate a JWT token](https://janikvonrotz.ch/2020/08/27/grafana-oauth-with-keycloak-and-how-to-validate-a-jwt-token/) * [How to setup a Keycloak server with external MySQL database on AWS ECS Fargate in clustered mode](https://jbjerksetmyr.medium.com/how-to-setup-a-keycloak-server-with-external-mysql-database-on-aws-ecs-fargate-in-clustered-mode-9775d01cd317) * [Extending Keycloak: adding API key authentication](http://www.zakariaamine.com/2019-06-14/extending-keycloak) * [Extending Keycloak: using a custom email sender](http://www.zakariaamine.com/2019-07-14/extending-keycloak2) * [Integrating Keycloak and OPA with Confluent](https://goraft.tech/2021/03/17/integrating-keycloak-and-opa-with-confluent.html) * [UMA 2.0 : User Managed Access - how to use it with bash](https://blog.please-open.it/uma/) ## Talks * [JDD2015 - Keycloak Open Source Identity and Access Management Solution](https://www.youtube.com/watch?v=TuEkj25lbd0) * [2015 Using Tomcat and Keycloak in an iFrame](https://www.youtube.com/watch?v=nF_lw7uIxao) * [2016 You've Got Microservices Now Secure Them](https://www.youtube.com/watch?v=SfVhqf-rMQY) * [2016 Keycloak: Open Source Single Sign On - Sebastian Rose - AOE conf (german)](https://www.youtube.com/watch?v=wbKw0Bwyne4) * [2016 Sécuriser ses applications back et front facilement avec Keycloak (french)](https://www.youtube.com/watch?v=bVidgluUcg0) * [2016 Keycloak and Red Hat Mobile Application Platform](https://www.youtube.com/watch?v=4NBgiHM5aOA) * [2016 Easily secure your Front and back applications with KeyCloak](https://www.youtube.com/watch?v=RGp4HUKikts) * [2017 Easily secure your Spring Boot applications with Keycloak - Part 1](https://developers.redhat.com/video/youtube/vpgRTPFDHAw/) * [2017 Easily secure your Spring Boot applications with Keycloak - Part 2](https://developers.redhat.com/video/youtube/O5ePCWON08Y/) * [2018 How to secure your Spring Apps with Keycloak by Thomas Darimont @ Spring I/O 2018](https://www.youtube.com/watch?v=haHFoeWUj0w) * [2018 DevNation Live | A Deep Dive into Keycloak](https://www.youtube.com/watch?v=ZxpY_zZ52kU) * [2018 IDM Europe: WSO2 Identity Server vs. Keycloak (Dmitry Kann)](https://www.youtube.com/watch?v=hnjBiGsEDoU) * [2018 JPrime|Building an effective identity and access management architecture with Keycloak (Sebastien Blanc)](https://www.youtube.com/watch?v=bMqcGkCvUVQ) * [2018 WJAX| Sichere Spring-Anwendungen mit Keycloak](https://www.youtube.com/watch?v=6Z490EMcafs) * [2019 Spring I/O | Secure your Spring Apps with Keycloak](https://www.youtube.com/watch?v=KrOd5wIkqls) * [2019 DevoxxFR | Maitriser sa gestion de l'identité avec Keycloak (L. Benoit, T. Recloux, S. Blanc)](https://www.youtube.com/watch?v=0cziL__0-K8) * [2019 DevConf | Fine - Grained Authorization with Keycloak SSO (Marek Posolda)](https://www.youtube.com/watch?v=yosg4St0iUw) * [2019 VoxxedDays Minsk | Bilding an effective identity and access management architecture with Keycloak (Sebastien Blanc)](https://www.youtube.com/watch?v=RupQWmYhrLA) * [2019 Single-Sign-On Authentifizierung mit dem Keycloak Identity Provider | jambit CoffeeTalk](https://www.youtube.com/watch?v=dnY6ORaFNY8) * [2020 Keycloak Team | Keycloak Pitch](https://www.youtube.com/watch?v=GZTN_VXjoQw) * [2020 Keycloak Team | Keycloak Overview](https://www.youtube.com/watch?v=duawSV69LDI) * [2020 Please-open.it : oauth2 dans le monde des ops (french)](https://www.youtube.com/watch?v=S-9X50QajmY) ## Presentations * [Keycloak 101](https://stevenolen.github.io/kc101-talk/#1) ## Video Playlists * [Keycloak Identity and Access Management by Łukasz Budnik](https://www.youtube.com/playlist?list=PLPZal7ksxNs0mgScrJxrggEayV-TPZ9sA) * [Keycloak by Niko Köbler](https://www.youtube.com/playlist?list=PLNn3plN7ZiaowUvKzKiJjYfWpp86u98iY) * [Keycloak Playlist by hexaDefence](https://youtu.be/35bflT_zxXA) * [Keycloak Tutorial Series by CodeLens](https://www.youtube.com/watch?v=Lr9WeIMtFow&list=PLeGNmkzI56BTjRxNGxUhh4k30FD_gy0pC) ## Clients * [Official Keycloak Node.js Admin Client](https://github.com/keycloak/keycloak-admin-client/) ("Extremely Experimental") * [Keycloak Node.js TypeScript Admin Client by Canner](https://github.com/Canner/keycloak-admin/) * [Keycloak Go Client by Cloudtrust](https://github.com/cloudtrust/keycloak-client) * [Keycloak Nest.js Admin Client by Relevant Fruit](https://github.com/relevantfruit/nestjs-keycloak-admin) ## Community Extensions * [Keycloak Extensions List](https://www.keycloak.org/extensions.html) * [Keycloak Benchmark Project](https://github.com/keycloak/keycloak-benchmark) * [Keycloak: Link IdP Login with User Provider](https://github.com/ohioit/keycloak-link-idp-with-user) * [Client Owner Manager: Control who can edit a client](https://github.com/cyclone-project/cyclone-client-registration) * [Keyloak Proxy written in Go](https://github.com/gambol99/keycloak-proxy) * [Script based ProtocolMapper extension for SAML](https://github.com/cloudtrust/keycloak-client-mappers) * [Realm export REST resource by Cloudtrust](https://github.com/cloudtrust/keycloak-export) * [Keycloak JDBC Ping Setup by moremagic](https://github.com/moremagic/keycloak-jdbc-ping) * [SMS 2 Factor Authentication for Keycloak via AWS SNS](https://github.com/nickpack/keycloak-sms-authenticator-sns) * [SMS 2 Factor Authentiation for Keycloak via SMS by Alliander](https://github.com/Alliander/keycloak-sms-authenticator) * [Identity Provider for vk.com](https://github.com/mrk08/keycloak-vk) * [CAS Protocol Support](https://github.com/Doccrazy/keycloak-protocol-cas) * [WS-FED Support](https://github.com/cloudtrust/keycloak-wsfed) * [Keycloak Discord Support](https://github.com/wadahiro/keycloak-discord) * [Keycloak Login with User Attribute](https://github.com/cnieg/keycloak-login-attribute) * [zonaut/keycloak-extensions](https://github.com/zonaut/keycloak-extensions) * [leroyguillaume/keycloak-bcrypt](https://github.com/leroyguillaume/keycloak-bcrypt) * [SPI Authenticator in Nodejs](https://www.npmjs.com/package/keycloak-rest-authenticator) * [Have I Been Pwned? Keycloak Password Policy](https://github.com/alexashley/keycloak-password-policy-have-i-been-pwned) * [Keycloak Eventlistener for Google Cloud Pub Sub](https://github.com/acesso-io/keycloak-event-listener-gcpubsub) * [Enforcing Password policy based on attributes of User Groups](https://github.com/sayedcsekuet/keycloak-user-group-based-password-policy) * [Verify Email with Link or Code by hokumski](https://github.com/hokumski/keycloak-verifyemailwithcode) * [Role-based Docker registry authentication](https://github.com/lifs-tools/keycloak-docker-role-mapper) * [SCIM for keycloak](https://github.com/Captain-P-Goldfish/scim-for-keycloak) * [Keycloak Kafka Module](https://github.com/SnuK87/keycloak-kafka) ## Integrations * [Official Keycloak Node.js Connect Adapter](https://github.com/keycloak/keycloak-nodejs-connect) * [Keycloak support for Aurelia](https://github.com/waynepennington/aurelia-keycloak) * [Keycloak OAuth2 Auth for PHP](https://github.com/stevenmaguire/oauth2-keycloak) * [Jenkins Keycloak Authentication Plugin](https://github.com/jenkinsci/keycloak-plugin) * [Meteor Keycloak Accounts](https://github.com/mxab/meteor-keycloak) * [HapiJS Keycloak Auth](https://github.com/felixheck/hapi-auth-keycloak) * [zmartzone mod_auth_openidc for Apache 2.x](https://github.com/zmartzone/mod_auth_openidc) * [Duo Security MFA Authentication for Keycloak](https://github.com/mulesoft-labs/keycloak-duo-spi) * [Extension Keycloak facilitant l'utilisation de FranceConnect](https://github.com/InseeFr/Keycloak-FranceConnect) * [Ambassador Keycloak Support](https://www.getambassador.io/reference/idp-support/keycloak/) * [Keycloak Python Client](https://github.com/akhilputhiry/keycloak-client) * [Keycloak Terraform Provider](https://github.com/mrparkers/terraform-provider-keycloak) * [Keycloak ADFS OpenID Connect](https://www.michaelboeynaems.com/keycloak-ADFS-OIDC.html) * [React/NextJS Keycloak Bindings](https://github.com/panz3r/react-keycloak) * [Keycloak Open-Shift integration](https://github.com/keycloak/openshift-integration) * [Keycloak, Kong and Konga setup scripts (local development)](https://github.com/JaouherK/Kong-konga-Keycloak) * [SSO for Keycloak and Nextcloud with SAML](https://stackoverflow.com/questions/48400812/sso-with-saml-keycloak-and-nextcloud) * [Keycloak Connect GraphQL Adapter for Node.js](https://github.com/aerogear/keycloak-connect-graphql) * [python-keycloak](https://github.com/marcospereirampj/python-keycloak) * [Keycloak and PrivacyId3a docker-compose (local development)](https://github.com/JaouherK/keycloak-privacyIdea) * [Nerzal/gocloak Golang Keycloak API Package](https://github.com/Nerzal/gocloak) * [Apple Social Identity Provider for Keycloak](https://github.com/BenjaminFavre/keycloak-apple-social-identity-provider) ## Quick demo Videos * [Keycloak with istio envoy jwt-auth proxy](https://www.youtube.com/watch?v=wscX7JMfuBI) ## Themes * [Community Keycloak Ionic Theme](https://github.com/lfryc/keycloak-ionic-theme) * [A Keycloak theme based on the AdminLTE UI library](https://github.com/MAXIMUS-DeltaWare/adminlte-keycloak-theme) * [GOV.UK Theme](https://github.com/UKHomeOffice/keycloak-theme-govuk) * [Carbon Design](https://github.com/httpsOmkar/carbon-keycloak-theme) * [Modern](https://keycloakthemes.com/themes/modern) * [Adminlte](https://git.uptic.nl/uptic-public-projects/uptic-keyclock-theme-adminlte) * [keycloakify: Create Keycloak themes using React](https://github.com/InseeFrLab/keycloakify) ## Docker * [Official Keycloak Docker Images](https://github.com/jboss-dockerfiles/keycloak) * [Keycloak Examples as Docker Image](https://hub.docker.com/r/jboss/keycloak-examples) * [Keycloak Maven SDK for managing the entire lifecycle of your extensions with Docker](https://github.com/OpenPj/keycloak-docker-quickstart) ## Kubernetes * [Deprecated Keycloak Helm Chart](https://github.com/codecentric/helm-charts/tree/master/charts/keycloak) * [codecentric Keycloak Helm Chart](https://github.com/codecentric/helm-charts/tree/master/charts/keycloak) * [Import / Export Keycloak Config](https://gist.github.com/unguiculus/19618ef57b1863145262191944565c9d) * [keycloak-operator](https://github.com/keycloak/keycloak-operator) ## Tools * [keycloakmigration: Manage your Keycloak configuration with code](https://github.com/klg71/keycloakmigration) * [tool to autogenerate an OpenAPI Specification for Keycloak's Admin API](https://github.com/ccouzens/keycloak-openapi) * [oidc-bash-client](https://github.com/please-openit/oidc-bash-client) * [louketo-proxy (FKA Gatekeeper)](https://github.com/louketo/louketo-proxy) * [keycloak-config-cli: Configuration as Code for Keycloak](https://github.com/adorsys/keycloak-config-cli) * [Keycloak Pulumi](https://github.com/pulumi/pulumi-keycloak) * [Keycloak on AWS](https://github.com/aws-samples/keycloak-on-aws) * [aws-cdk construct library that allows you to create KeyCloak on AWS in TypeScript or Python](https://github.com/aws-samples/cdk-keycloak) * [keycloak-scanner Python CLI](https://github.com/NeuronAddict/keycloak-scanner) ## Deployment Examples * [Keycloak deployment with CDK on AWS with Fargate](https://github.com/aws-samples/cdk-keycloak) ## Example Projects * [Examples from Keycloak Book: Keycloak - Identity and Access Management for Modern Applications](https://github.com/PacktPublishing/Keycloak-Identity-and-Access-Management-for-Modern-Applications) * [Official Examples](https://github.com/keycloak/keycloak/tree/master/examples) * [Keycloak Quickstarts](https://github.com/keycloak/keycloak-quickstarts) * [Drupal 7.0 with Keycloak](https://gist.github.com/thomasdarimont/17fa146c4fb5440d7fc2ee6322ec392d) * [Securing Realm Resources With Custom Roles](https://github.com/dteleguin/custom-admin-roles) * [BeerCloak: a comprehensive KeyCloak extension example](https://github.com/dteleguin/beercloak) * [KeyCloak Extensions: Securing Realm Resources With Custom Roles](https://github.com/dteleguin/custom-admin-roles) * [Red Hat Single Sign-On Labs](https://github.com/RedHatWorkshops/red-hat-sso) * [Spring Boot Keycloak Tutorial](https://github.com/sebastienblanc/spring-boot-keycloak-tutorial) * [Custom Keycloak Docker Image of Computer Science House of RIT](https://github.com/ComputerScienceHouse/keycloak-docker) * [Example of custom password hash SPI for Keycloak](https://github.com/pavelbogomolenko/keycloak-custom-password-hash) * [Example for a custom http-client-provider with Proxy support](https://github.com/xiaoyvr/custom-http-client-provider) * [Monitor your keycloak with prometheus](https://github.com/larscheid-schmitzhermes/keycloak-monitoring-prometheus) * [Custom User Storage Provider .ear with jboss-cli setup](https://github.com/thomasdarimont/keycloak-user-storage-provider-demo) * [Keycloak - Experimental extensions by Stian Thorgersen/Keycloak](https://github.com/stianst/keycloak-experimental) * [Securing Spring Boot Admin & Actuator Endpoints with Keycloak](https://github.com/thomasdarimont/spring-boot-admin-keycloak-example) * [A Keycloak Mobile Implementation using Angular v4 and Ionic v3](https://github.com/tomjackman/keyonic-v2) * [Example for Securing Apps with Keycloak on Kubernetes](https://github.com/stianst/demo-kubernetes) * [Example for Securing AspDotNet Core Apps with Keycloak](https://github.com/thomasdarimont/kc-dnc-demo) * [Example for passing custom URL parameters to a Keycloak theme for dynamic branding](https://github.com/dteleguin/keycloak-dynamic-branding) * [Angular Webapp secured with Keycloak](https://github.com/CodepediaOrg/bookmarks.dev) * [Keycloak Theme Development Kit](https://github.com/anthonny/kit-keycloak-theme) * [Keycloak Clustering examples](https://github.com/ivangfr/keycloak-clustered) * [Keycloak Last Login Date Event Listener](https://github.com/ThoreKr/keycloak-last-login-event-listener) * [Keycloak Project Example (Customizations, Extensions, Configuration)](https://github.com/thomasdarimont/keycloak-project-example) * [Example of adding API Key authentication to Keycloak](https://github.com/zak905/keycloak-api-key-demo) ## Benchmarks * [Gatling based Benchmark by @rvansa](https://github.com/rvansa/keycloak-benchmark) ## Help * [Keycloak on Stackoverflow](https://stackoverflow.com/questions/tagged/keycloak) ## Commercial Offerings * [Red Hat Single Sign-On](https://access.redhat.com/products/red-hat-single-sign-on) * [INTEGSOFT UNIFIED USER CREDENTIALS WITH KEYCLOAK SSO](https://www.integsoft.cz/en/sso.html#what-is-sso) * [JIRA SSO Plugin by codecentric](https://marketplace.atlassian.com/plugins/de.codecentric.atlassian.oidc.jira-oidc-plugin/server/overview) * [Keycloak Competence Center by Inventage AG](https://keycloak.ch/) * [Keycloak as a Service](https://www.cloud-iam.com) ## Miscellaneous * [Find sites using Keycloak with google](https://www.google.de/search?q=inurl%3Aauth+inurl%3Arealms+inurl%3Aprotocol&oq=inurl%3A&client=ubuntu&sourceid=chrome&ie=UTF-8) * [Keycloak Dev Bookmarks](http://bookmarks.dev/search?q=keycloak) - Use the tag [keycloak](https://www.bookmarks.dev/tagged/keycloak) * [Use fail2ban to block brute-force attacks to keycloak server](https://gist.github.com/drmalex07/3eba8b98d0ac4a1e821e8e721b3e1816) * [Pentest-Report Keycloak 8.0 Audit & Pentest 11.2019 by Cure53](https://cure53.de/pentest-report_keycloak.pdf) * [Keycloak - CNCF Security SIG - Self Assesment](https://docs.google.com/document/d/14IIGliP3BWjdS-0wfOk3l_1AU8kyoSiLUzpPImsz4R0/edit#) # License [](https://creativecommons.org/publicdomain/zero/1.0/) To the extent possible under law, [Thomas Darimont](https://github.com/thomasdarimont) has waived all copyright and related or neighboring rights to this work.
mercerheather476 / Turbo Garbanzo [](https://search.maven.org/search?q=g:net.openid%20appauth) [](http://javadoc.io/doc/net.openid/appauth) [](https://github.com/openid/AppAuth-Android/actions/workflows/build.yml) [](https://codecov.io/github/openid/AppAuth-Android?branch=master) AppAuth for Android is a client SDK for communicating with [OAuth 2.0](https://tools.ietf.org/html/rfc6749) and [OpenID Connect](http://openid.net/specs/openid-connect-core-1_0.html) providers. It strives to directly map the requests and responses of those specifications, while following the idiomatic style of the implementation language. In addition to mapping the raw protocol flows, convenience methods are available to assist with common tasks like performing an action with fresh tokens. The library follows the best practices set out in [RFC 8252 - OAuth 2.0 for Native Apps](https://tools.ietf.org/html/rfc8252), including using [Custom Tabs](https://developer.chrome.com/multidevice/android/customtabs) for authorization requests. For this reason, `WebView` is explicitly *not* supported due to usability and security reasons. The library also supports the [PKCE](https://tools.ietf.org/html/rfc7636) extension to OAuth which was created to secure authorization codes in public clients when custom URI scheme redirects are used. The library is friendly to other extensions (standard or otherwise) with the ability to handle additional parameters in all protocol requests and responses. A talk providing an overview of using the library for enterprise single sign-on (produced by Google) can be found here: [Enterprise SSO with Chrome Custom Tabs](https://www.youtube.com/watch?v=DdQTXrk6YTk). ## Download AppAuth for Android is available on [MavenCentral](https://search.maven.org/search?q=g:net.openid%20appauth) ```groovy implementation 'net.openid:appauth:<version>' ``` ## Requirements AppAuth supports Android API 16 (Jellybean) and above. Browsers which provide a custom tabs implementation are preferred by the library, but not required. Both Custom URI Schemes (all supported versions of Android) and App Links (Android M / API 23+) can be used with the library. In general, AppAuth can work with any Authorization Server (AS) that supports native apps as documented in [RFC 8252](https://tools.ietf.org/html/rfc8252), either through custom URI scheme redirects, or App Links. AS's that assume all clients are web-based or require clients to maintain confidentiality of the client secrets may not work well. ## Demo app A demo app is contained within this repository. For instructions on how to build and configure this app, see the [demo app readme](https://github.com/openid/AppAuth-Android/blob/master/app/README.md). ## Conceptual overview AppAuth encapsulates the authorization state of the user in the [net.openid.appauth.AuthState](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/AuthState.java) class, and communicates with an authorization server through the use of the [net.openid.appauth.AuthorizationService](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/AuthorizationService.java) class. AuthState is designed to be easily persistable as a JSON string, using the storage mechanism of your choice (e.g. [SharedPreferences](https://developer.android.com/training/basics/data-storage/shared-preferences.html), [sqlite](https://developer.android.com/training/basics/data-storage/databases.html), or even just [in a file](https://developer.android.com/training/basics/data-storage/files.html)). AppAuth provides data classes which are intended to model the OAuth2 specification as closely as possible; this provides the greatest flexibility in interacting with a wide variety of OAuth2 and OpenID Connect implementations. Authorizing the user occurs via the user's web browser, and the request is described using instances of [AuthorizationRequest](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/AuthorizationRequest.java). The request is dispatched using [performAuthorizationRequest()](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/AuthorizationService.java#L159) on an AuthorizationService instance, and the response (an [AuthorizationResponse](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/AuthorizationResponse.java) instance) will be dispatched to the activity of your choice, expressed via an Intent. Token requests, such as obtaining a new access token using a refresh token, follow a similar pattern: [TokenRequest](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/TokenRequest.java) instances are dispatched using [performTokenRequest()](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/AuthorizationService.java#L252) on an AuthorizationService instance, and a [TokenResponse](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/TokenResponse.java) instance is returned via a callback. Responses can be provided to the [update()](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/AuthState.java#L367) methods on AuthState in order to track and persist changes to the authorization state. Once in an authorized state, the [performActionWithFreshTokens()](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/AuthState.java#L449) method on AuthState can be used to automatically refresh access tokens as necessary before performing actions that require valid tokens. ## Implementing the authorization code flow It is recommended that native apps use the [authorization code](https://tools.ietf.org/html/rfc6749#section-1.3.1) flow with a public client to gain authorization to access user data. This has the primary advantage for native clients that the authorization flow, which must occur in a browser, only needs to be performed once. This flow is effectively composed of four stages: 1. Discovering or specifying the endpoints to interact with the provider. 2. Authorizing the user, via a browser, in order to obtain an authorization code. 3. Exchanging the authorization code with the authorization server, to obtain a refresh token and/or ID token. 4. Using access tokens derived from the refresh token to interact with a resource server for further access to user data. At each step of the process, an AuthState instance can (optionally) be updated with the result to help with tracking the state of the flow. ### Authorization service configuration First, AppAuth must be instructed how to interact with the authorization service. This can be done either by directly creating an [AuthorizationServiceConfiguration](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/AuthorizationServiceConfiguration.java#L102) instance, or by retrieving an OpenID Connect discovery document. Directly specifying an AuthorizationServiceConfiguration involves providing the URIs of the authorization endpoint and token endpoint, and optionally a dynamic client registration endpoint (see "Dynamic client registration" for more info): ```java AuthorizationServiceConfiguration serviceConfig = new AuthorizationServiceConfiguration( Uri.parse("https://idp.example.com/auth"), // authorization endpoint Uri.parse("https://idp.example.com/token")); // token endpoint ``` Where available, using an OpenID Connect discovery document is preferable: ```java AuthorizationServiceConfiguration.fetchFromIssuer( Uri.parse("https://idp.example.com"), new AuthorizationServiceConfiguration.RetrieveConfigurationCallback() { public void onFetchConfigurationCompleted( @Nullable AuthorizationServiceConfiguration serviceConfiguration, @Nullable AuthorizationException ex) { if (ex != null) { Log.e(TAG, "failed to fetch configuration"); return; } // use serviceConfiguration as needed } }); ``` This will attempt to download a discovery document from the standard location under this base URI, `https://idp.example.com/.well-known/openid-configuration`. If the discovery document for your IDP is in some other non-standard location, you can instead provide the full URI as follows: ```java AuthorizationServiceConfiguration.fetchFromUrl( Uri.parse("https://idp.example.com/exampletenant/openid-config"), new AuthorizationServiceConfiguration.RetrieveConfigurationCallback() { ... } }); ``` If desired, this configuration can be used to seed an AuthState instance, to persist the configuration easily: ```java AuthState authState = new AuthState(serviceConfig); ``` ### Obtaining an authorization code An authorization code can now be acquired by constructing an AuthorizationRequest, using its Builder. In AppAuth, the builders for each data class accept the mandatory parameters via the builder constructor: ```java AuthorizationRequest.Builder authRequestBuilder = new AuthorizationRequest.Builder( serviceConfig, // the authorization service configuration MY_CLIENT_ID, // the client ID, typically pre-registered and static ResponseTypeValues.CODE, // the response_type value: we want a code MY_REDIRECT_URI); // the redirect URI to which the auth response is sent ``` Other optional parameters, such as the OAuth2 [scope string](https://tools.ietf.org/html/rfc6749#section-3.3) or OpenID Connect [login hint](http://openid.net/specs/openid-connect-core-1_0.html#rfc.section.3.1.2.1) are specified through set methods on the builder: ```java AuthorizationRequest authRequest = authRequestBuilder .setScope("openid email profile https://idp.example.com/custom-scope") .setLoginHint("jdoe@user.example.com") .build(); ``` This request can then be dispatched using one of two approaches. a `startActivityForResult` call using an Intent returned from the `AuthorizationService`, or by calling `performAuthorizationRequest` and providing pending intent for completion and cancelation handling activities. The `startActivityForResult` approach is simpler to use but may require more processing of the result: ```java private void doAuthorization() { AuthorizationService authService = new AuthorizationService(this); Intent authIntent = authService.getAuthorizationRequestIntent(authRequest); startActivityForResult(authIntent, RC_AUTH); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == RC_AUTH) { AuthorizationResponse resp = AuthorizationResponse.fromIntent(data); AuthorizationException ex = AuthorizationException.fromIntent(data); // ... process the response or exception ... } else { // ... } } ``` If instead you wish to directly transition to another activity on completion or cancelation, you can use `performAuthorizationRequest`: ```java AuthorizationService authService = new AuthorizationService(this); authService.performAuthorizationRequest( authRequest, PendingIntent.getActivity(this, 0, new Intent(this, MyAuthCompleteActivity.class), 0), PendingIntent.getActivity(this, 0, new Intent(this, MyAuthCanceledActivity.class), 0)); ``` The intents may be customized to carry any additional data or flags required for the correct handling of the authorization response. #### Capturing the authorization redirect Once the authorization flow is completed in the browser, the authorization service will redirect to a URI specified as part of the authorization request, providing the response via query parameters. In order for your app to capture this response, it must register with the Android OS as a handler for this redirect URI. We recommend using a custom scheme based redirect URI (i.e. those of form `my.scheme:/path`), as this is the most widely supported across all versions of Android. To avoid conflicts with other apps, it is recommended to configure a distinct scheme using "reverse domain name notation". This can either match your service web domain (in reverse) e.g. `com.example.service` or your package name `com.example.app` or be something completely new as long as it's distinct enough. Using the package name of your app is quite common but it's not always possible if it contains illegal characters for URI schemes (like underscores) or if you already have another handler for that scheme - so just use something else. When a custom scheme is used, AppAuth can be easily configured to capture all redirects using this custom scheme through a manifest placeholder: ```groovy android.defaultConfig.manifestPlaceholders = [ 'appAuthRedirectScheme': 'com.example.app' ] ``` Alternatively, the redirect URI can be directly configured by adding an intent-filter for AppAuth's RedirectUriReceiverActivity to your AndroidManifest.xml: ```xml <activity android:name="net.openid.appauth.RedirectUriReceiverActivity" tools:node="replace"> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:scheme="com.example.app"/> </intent-filter> </activity> ``` If an HTTPS redirect URI is required instead of a custom scheme, the same approach (modifying your AndroidManifest.xml) is used: ```xml <activity android:name="net.openid.appauth.RedirectUriReceiverActivity" tools:node="replace"> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:scheme="https" android:host="app.example.com" android:path="/oauth2redirect"/> </intent-filter> </activity> ``` HTTPS redirects can be secured by configuring the redirect URI as an [app link](https://developer.android.com/training/app-links/index.html) in Android M and above. We recommend that a fallback page be configured at the same address to forward authorization responses to your app via a custom scheme, for older Android devices. #### Handling the authorization response Upon completion of the authorization flow, the completion Intent provided to performAuthorizationRequest will be triggered. The authorization response is provided to this activity via Intent extra data, which can be extracted using the `fromIntent()` methods on AuthorizationResponse and AuthorizationException respectively: ```java public void onCreate(Bundle b) { AuthorizationResponse resp = AuthorizationResponse.fromIntent(getIntent()); AuthorizationException ex = AuthorizationException.fromIntent(getIntent()); if (resp != null) { // authorization completed } else { // authorization failed, check ex for more details } // ... } ``` The response can be provided to the AuthState instance for easy persistence and further processing: ``` authState.update(resp, ex); ``` If the full redirect URI is required in order to extract additional information that AppAuth does not provide, this is also provided to your activity: ```java public void onCreate(Bundle b) { // ... Uri redirectUri = getIntent().getData(); // ... } ``` ### Exchanging the authorization code Given a successful authorization response carrying an authorization code, a token request can be made to exchange the code for a refresh token: ```java authService.performTokenRequest( resp.createTokenExchangeRequest(), new AuthorizationService.TokenResponseCallback() { @Override public void onTokenRequestCompleted( TokenResponse resp, AuthorizationException ex) { if (resp != null) { // exchange succeeded } else { // authorization failed, check ex for more details } } }); ``` The token response can also be used to update an AuthState instance: ```java authState.update(resp, ex); ``` ### Using access tokens Finally, the retrieved access token can be used to interact with a resource server. This can be done directly, by extracting the access token from a token response. However, in most cases, it is simpler to use the `performActionWithFreshTokens` utility method provided by AuthState: ```java authState.performActionWithFreshTokens(service, new AuthStateAction() { @Override public void execute( String accessToken, String idToken, AuthorizationException ex) { if (ex != null) { // negotiation for fresh tokens failed, check ex for more details return; } // use the access token to do something ... } }); ``` This also updates the AuthState object with current access, id, and refresh tokens. If you are storing your AuthState in persistent storage, you should write the updated copy in the callback to this method. ### Ending current session Given you have a logged in session and you want to end it. In that case you need to get: - `AuthorizationServiceConfiguration` - valid Open Id Token that you should get after authentication - End of session URI that should be provided within you OpenId service config First you have to build EndSessionRequest ```java EndSessionRequest endSessionRequest = new EndSessionRequest.Builder(authorizationServiceConfiguration) .setIdTokenHint(idToken) .setPostLogoutRedirectUri(endSessionRedirectUri) .build(); ``` This request can then be dispatched using one of two approaches. a `startActivityForResult` call using an Intent returned from the `AuthorizationService`, or by calling `performEndSessionRequest` and providing pending intent for completion and cancelation handling activities. The startActivityForResult approach is simpler to use but may require more processing of the result: ```java private void endSession() { AuthorizationService authService = new AuthorizationService(this); Intent endSessionItent = authService.getEndSessionRequestIntent(endSessionRequest); startActivityForResult(endSessionItent, RC_END_SESSION); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == RC_END_SESSION) { EndSessionResonse resp = EndSessionResonse.fromIntent(data); AuthorizationException ex = AuthorizationException.fromIntent(data); // ... process the response or exception ... } else { // ... } } ``` If instead you wish to directly transition to another activity on completion or cancelation, you can use `performEndSessionRequest`: ```java AuthorizationService authService = new AuthorizationService(this); authService.performEndSessionRequest( endSessionRequest, PendingIntent.getActivity(this, 0, new Intent(this, MyAuthCompleteActivity.class), 0), PendingIntent.getActivity(this, 0, new Intent(this, MyAuthCanceledActivity.class), 0)); ``` End session flow will also work involving browser mechanism that is described in authorization mechanism session. Handling response mechanism with transition to another activity should be as follows: ```java public void onCreate(Bundle b) { EndSessionResponse resp = EndSessionResponse.fromIntent(getIntent()); AuthorizationException ex = AuthorizationException.fromIntent(getIntent()); if (resp != null) { // authorization completed } else { // authorization failed, check ex for more details } // ... } ``` ### AuthState persistence Instances of `AuthState` keep track of the authorization and token requests and responses. This is the only object that you need to persist to retain the authorization state of the session. Typically, one would do this by storing the authorization state in SharedPreferences or some other persistent store private to the app: ```java @NonNull public AuthState readAuthState() { SharedPreferences authPrefs = getSharedPreferences("auth", MODE_PRIVATE); String stateJson = authPrefs.getString("stateJson", null); if (stateJson != null) { return AuthState.jsonDeserialize(stateJson); } else { return new AuthState(); } } public void writeAuthState(@NonNull AuthState state) { SharedPreferences authPrefs = getSharedPreferences("auth", MODE_PRIVATE); authPrefs.edit() .putString("stateJson", state.jsonSerializeString()) .apply(); } ``` The demo app has an [AuthStateManager](https://github.com/openid/AppAuth-Android/blob/master/app/java/net/openid/appauthdemo/AuthStateManager.java) type which demonstrates this in more detail. ## Advanced configuration AppAuth provides some advanced configuration options via [AppAuthConfiguration](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/AppAuthConfiguration.java) instances, which can be provided to [AuthorizationService](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/AuthorizationService.java) during construction. ### Controlling which browser is used for authorization Some applications require explicit control over which browsers can be used for authorization - for example, to require that Chrome be used for second factor authentication to work, or require that some custom browser is used for authentication in an enterprise environment. Control over which browsers can be used can be achieved by defining a [BrowserMatcher](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/browser/BrowserMatcher.java), and supplying this to the builder of AppAuthConfiguration. A BrowserMatcher is suppled with a [BrowserDescriptor](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/browser/BrowserDescriptor.java) instance, and must decide whether this browser is permitted for the authorization flow. By default, [AnyBrowserMatcher](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/browser/AnyBrowserMatcher.java) is used. For your convenience, utility classes to help define a browser matcher are provided, such as: - [Browsers](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/browser/Browsers.java): contains a set of constants for the official package names and signatures of Chrome, Firefox and Samsung SBrowser. - [VersionedBrowserMatcher](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/browser/VersionedBrowserMatcher.java): will match a browser if it has a matching package name and signature, and a version number within a defined [VersionRange](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/browser/VersionRange.java). This class also provides some static instances for matching Chrome, Firefox and Samsung SBrowser. - [BrowserAllowList](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/browser/BrowserAllowList.java): takes a list of BrowserMatcher instances, and will match a browser if any of these child BrowserMatcher instances signals a match. - [BrowserDenyList](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/browser/BrowserDenyList.java): the inverse of BrowserAllowList - takes a list of browser matcher instances, and will match a browser if it _does not_ match any of these child BrowserMatcher instances. For instance, in order to restrict the authorization flow to using Chrome or SBrowser as a custom tab: ```java AppAuthConfiguration appAuthConfig = new AppAuthConfiguration.Builder() .setBrowserMatcher(new BrowserAllowList( VersionedBrowserMatcher.CHROME_CUSTOM_TAB, VersionedBrowserMatcher.SAMSUNG_CUSTOM_TAB)) .build(); AuthorizationService authService = new AuthorizationService(context, appAuthConfig); ``` Or, to prevent the use of a buggy version of the custom tabs in Samsung SBrowser: ```java AppAuthConfiguration appAuthConfig = new AppAuthConfiguration.Builder() .setBrowserMatcher(new BrowserDenyList( new VersionedBrowserMatcher( Browsers.SBrowser.PACKAGE_NAME, Browsers.SBrowser.SIGNATURE_SET, true, // when this browser is used via a custom tab VersionRange.atMost("5.3") ))) .build(); AuthorizationService authService = new AuthorizationService(context, appAuthConfig); ``` ### Customizing the connection builder for HTTP requests It can be desirable to customize how HTTP connections are made when performing token requests, for instance to use [certificate pinning](https://www.owasp.org/index.php/Certificate_and_Public_Key_Pinning) or to add additional trusted certificate authorities for an enterprise environment. This can be achieved in AppAuth by providing a custom [ConnectionBuilder](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/connectivity/ConnectionBuilder.java) instance. For example, to custom the SSL socket factory used, one could do the following: ```java AppAuthConfiguration appAuthConfig = new AppAuthConfiguration.Builder() .setConnectionBuilder(new ConnectionBuilder() { public HttpURLConnection openConnect(Uri uri) throws IOException { URL url = new URL(uri.toString()); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); if (connection instanceof HttpsUrlConnection) { HttpsURLConnection connection = (HttpsURLConnection) connection; connection.setSSLSocketFactory(MySocketFactory.getInstance()); } } }) .build(); ``` ### Issues with [ID Token](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/IdToken.java#L118) validation ID Token validation was introduced in `0.8.0` but not all authorization servers or configurations support it correctly. - For testing environments [setSkipIssuerHttpsCheck](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/AppAuthConfiguration.java#L129) can be used to bypass the fact the issuer needs to be HTTPS. ```java AppAuthConfiguration appAuthConfig = new AppAuthConfiguration.Builder() .setSkipIssuerHttpsCheck(true) .build() ``` - For services that don't support nonce[s] resulting in **IdTokenException** `Nonce mismatch` just set nonce to `null` on the `AuthorizationRequest`. Please consider **raising an issue** with your Identity Provider and removing this once it is fixed. ```java AuthorizationRequest authRequest = authRequestBuilder .setNonce(null) .build(); ``` ## Dynamic client registration AppAuth supports the [OAuth2 dynamic client registration protocol](https://tools.ietf.org/html/rfc7591). In order to dynamically register a client, create a [RegistrationRequest](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/RegistrationRequest.java) and dispatch it using [performRegistrationRequest](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/AuthorizationService.java#L278) on your AuthorizationService instance. The registration endpoint can either be defined directly as part of your [AuthorizationServiceConfiguration](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/AuthorizationServiceConfiguration.java), or discovered from an OpenID Connect discovery document. ```java RegistrationRequest registrationRequest = new RegistrationRequest.Builder( serviceConfig, Arrays.asList(redirectUri)) .build(); ``` Requests are dispatched with the help of `AuthorizationService`. As this request is asynchronous the response is passed to a callback: ```java service.performRegistrationRequest( registrationRequest, new AuthorizationService.RegistrationResponseCallback() { @Override public void onRegistrationRequestCompleted( @Nullable RegistrationResponse resp, @Nullable AuthorizationException ex) { if (resp != null) { // registration succeeded, store the registration response AuthState state = new AuthState(resp); //proceed to authorization... } else { // registration failed, check ex for more details } } }); ``` ## Utilizing client secrets (DANGEROUS) We _strongly recommend_ you avoid using static client secrets in your native applications whenever possible. Client secrets derived via a dynamic client registration are safe to use, but static client secrets can be easily extracted from your apps and allow others to impersonate your app and steal user data. If client secrets must be used by the OAuth2 provider you are integrating with, we strongly recommend performing the code exchange step on your backend, where the client secret can be kept hidden. Having said this, in some cases using client secrets is unavoidable. In these cases, a [ClientAuthentication](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/ClientAuthentication.java) instance can be provided to AppAuth when performing a token request. This allows additional parameters (both HTTP headers and request body parameters) to be added to token requests. Two standard implementations of ClientAuthentication are provided: - [ClientSecretBasic](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/ClientSecretBasic.java): includes a client ID and client secret as an HTTP Basic Authorization header. - [ClientSecretPost](https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/ClientSecretPost.java): includes a client ID and client secret as additional request parameters. So, in order to send a token request using HTTP basic authorization, one would write: ```java ClientAuthentication clientAuth = new ClientSecretBasic(MY_CLIENT_SECRET); TokenRequest req = ...; authService.performTokenRequest(req, clientAuth, callback); ``` This can also be done when using `performActionWithFreshTokens` on AuthState: ```java ClientAuthentication clientAuth = new ClientSecretPost(MY_CLIENT_SECRET); authState.performActionWithFreshTokens( authService, clientAuth, action); ``` ## Modifying or contributing to AppAuth This project requires the Android SDK for API level 25 (Nougat) to build, though the produced binaries only require API level 16 (Jellybean) to be used. We recommend that you fork and/or clone this repository to make modifications; downloading the source has been known to cause some developers problems. For contributors, see the additional instructions in [CONTRIBUTING.md](https://github.com/openid/AppAuth-Android/blob/master/CONTRIBUTING.md). ### Building from the Command line AppAuth for Android uses Gradle as its build system. In order to build the library and app binaries, run `./gradlew assemble`. The library AAR files are output to `library/build/outputs/aar`, while the demo app is output to `app/build/outputs/apk`. In order to run the tests and code analysis, run `./gradlew check`. ### Building from Android Studio In AndroidStudio, File -> New -> Import project. Select the root folder (the one with the `build.gradle` file).
TheBusyBiscuit / BuildsWebpage that provides downloads for compiled Github Repositories that use Maven and Java
poitch / PkglookupLooks up packages on PyPI, CPAN, RubyGems, NPM, Maven Central, Clojars, GitHub, Bitbucket, Ubuntu, Arch User Repository, FreeBSD ports, Fedora and Homebrew.
Saturnremabtc64 / Supreme Octo RoboticeyxGear61 / Random-Number-Generator Code Issues 5 Pull requests 0 Projects 0 Wiki Pulse projectFilesBackup/.idea/workspace.xml <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="AndroidLayouts"> <shared> <config /> </shared> </component> <component name="AndroidLogFilters"> <option name="TOOL_WINDOW_CONFIGURED_FILTER" value="Show only selected application" /> </component> <component name="ChangeListManager"> <list default="true" id="f5e37520-ca17-4d94-bb6c-b4cbc9c73568" name="Default" comment="" /> <ignored path="rngplus.iws" /> <ignored path=".idea/workspace.xml" /> <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> <option name="TRACKING_ENABLED" value="true" /> <option name="SHOW_DIALOG" value="false" /> <option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> <option name="LAST_RESOLUTION" value="IGNORE" /> </component> <component name="ChangesViewManager" flattened_view="true" show_ignored="false" /> <component name="CreatePatchCommitExecutor"> <option name="PATCH_PATH" value="" /> </component> <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" /> <component name="ExternalProjectsManager"> <system id="GRADLE"> <state> <projects_view /> </state> </system> </component> <component name="FavoritesManager"> <favorites_list name="rngplus" /> </component> <component name="FileEditorManager"> <leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> <file leaf-file-name="SettingsActivity.java" pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Activities/SettingsActivity.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="21" column="4" selection-start-line="21" selection-start-column="4" selection-end-line="69" selection-end-column="5" /> <folding> <element signature="imports" expanded="false" /> </folding> </state> </provider> </entry> </file> <file leaf-file-name="settings_strings.xml" pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/app/src/main/res/values/settings_strings.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="20" column="50" selection-start-line="20" selection-start-column="50" selection-end-line="20" selection-end-column="50" /> <folding /> </state> </provider> </entry> </file> <file leaf-file-name="styles.xml" pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/app/src/main/res/values/styles.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="7" column="4" selection-start-line="7" selection-start-column="4" selection-end-line="21" selection-end-column="12" /> <folding /> </state> </provider> </entry> </file> <file leaf-file-name="ripple_button.xml" pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/app/src/main/res/drawable/ripple_button.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="5" column="11" selection-start-line="5" selection-start-column="11" selection-end-line="5" selection-end-column="11" /> <folding /> </state> </provider> </entry> </file> <file leaf-file-name="homepage.xml" pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/homepage.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="-0.28301886"> <caret line="1" column="48" selection-start-line="1" selection-start-column="48" selection-end-line="1" selection-end-column="48" /> <folding /> </state> </provider> <provider editor-type-id="android-designer"> <state /> </provider> </entry> </file> <file leaf-file-name="settings.xml" pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/settings.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="6" column="41" selection-start-line="0" selection-start-column="0" selection-end-line="14" selection-end-column="0" /> <folding /> </state> </provider> <provider editor-type-id="android-designer"> <state /> </provider> </entry> </file> <file leaf-file-name="MainActivity.java" pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Activities/MainActivity.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="331" column="5" selection-start-line="296" selection-start-column="4" selection-end-line="331" selection-end-column="5" /> <folding> <element signature="imports" expanded="false" /> <element signature="e#5173#5174#0" expanded="false" /> <element signature="e#5212#5213#0" expanded="false" /> <element signature="e#5339#5340#0" expanded="false" /> <element signature="e#5378#5379#0" expanded="false" /> </folding> </state> </provider> </entry> </file> <file leaf-file-name="menu_main.xml" pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/app/src/main/res/menu/menu_main.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="13" column="0" selection-start-line="13" selection-start-column="0" selection-end-line="13" selection-end-column="0" /> <folding /> </state> </provider> </entry> </file> <file leaf-file-name="AndroidManifest.xml" pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/app/src/main/AndroidManifest.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="-8.75"> <caret line="14" column="49" selection-start-line="14" selection-start-column="0" selection-end-line="15" selection-end-column="0" /> <folding /> </state> </provider> </entry> </file> <file leaf-file-name="edittext_border.xml" pinned="false" current-in-tab="true"> <entry file="file://$PROJECT_DIR$/app/src/main/res/drawable/edittext_border.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.2112676"> <caret line="5" column="8" selection-start-line="0" selection-start-column="0" selection-end-line="5" selection-end-column="8" /> <folding /> </state> </provider> </entry> </file> </leaf> </component> <component name="FileTemplateManagerImpl"> <option name="RECENT_TEMPLATES"> <list> <option value="resourceFile" /> <option value="layoutResourceFile_vertical" /> <option value="Class" /> <option value="valueResourceFile" /> </list> </option> </component> <component name="GenerateSignedApkSettings"> <option name="KEY_STORE_PATH" value="$PROJECT_DIR$/../keys/randomappsinc.jks" /> <option name="KEY_ALIAS" value="randomappsinc" /> <option name="REMEMBER_PASSWORDS" value="true" /> </component> <component name="Git.Settings"> <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> </component> <component name="GradleLocalSettings"> <option name="availableProjects"> <map> <entry> <key> <ExternalProjectPojo> <option name="name" value="rngplus" /> <option name="path" value="$PROJECT_DIR$" /> </ExternalProjectPojo> </key> <value> <list> <ExternalProjectPojo> <option name="name" value=":app" /> <option name="path" value="$PROJECT_DIR$/app" /> </ExternalProjectPojo> <ExternalProjectPojo> <option name="name" value="rngplus" /> <option name="path" value="$PROJECT_DIR$" /> </ExternalProjectPojo> </list> </value> </entry> </map> </option> <option name="availableTasks"> <map> <entry key="$PROJECT_DIR$"> <value> <list> <ExternalTaskPojo> <option name="description" value="Displays all buildscript dependencies declared in root project 'rngplus'." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="buildEnvironment" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="clean" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Displays the components produced by root project 'rngplus'. [incubating]" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="components" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Displays all dependencies declared in root project 'rngplus'." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="dependencies" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Displays the insight into a specific dependency in root project 'rngplus'." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="dependencyInsight" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Displays a help message." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="help" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Initializes a new Gradle build. [incubating]" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="init" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Displays the configuration model of root project 'rngplus'. [incubating]" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="model" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Displays the sub-projects of root project 'rngplus'." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="projects" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Displays the properties of root project 'rngplus'." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="properties" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Displays the tasks runnable from root project 'rngplus' (some of the displayed tasks may belong to subprojects)." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="tasks" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Generates Gradle wrapper files. [incubating]" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="wrapper" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Displays the Android dependencies of the project." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="androidDependencies" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Assembles all variants of all applications and secondary packages." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="assemble" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Assembles all the Test applications." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="assembleAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Assembles all Debug builds." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="assembleDebug" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="assembleDebugAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="assembleDebugUnitTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Assembles all Release builds." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="assembleRelease" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="assembleReleaseUnitTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Assembles and tests this project." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="build" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Assembles and tests this project and all projects that depend on it." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="buildDependents" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Assembles and tests this project and all projects it depends on." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="buildNeeded" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Runs all checks." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="check" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="checkDebugManifest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="checkReleaseManifest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="compileDebugAidl" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="compileDebugAndroidTestAidl" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="compileDebugAndroidTestJavaWithJavac" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="compileDebugAndroidTestNdk" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="compileDebugAndroidTestRenderscript" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="compileDebugAndroidTestShaders" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="compileDebugAndroidTestSources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="compileDebugJavaWithJavac" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="compileDebugNdk" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="compileDebugRenderscript" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="compileDebugShaders" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="compileDebugSources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="compileDebugUnitTestJavaWithJavac" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="compileDebugUnitTestSources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="compileLint" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="compileReleaseAidl" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="compileReleaseJavaWithJavac" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="compileReleaseNdk" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="compileReleaseRenderscript" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="compileReleaseShaders" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="compileReleaseSources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="compileReleaseUnitTestJavaWithJavac" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="compileReleaseUnitTestSources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Installs and runs instrumentation tests for all flavors on connected devices." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="connectedAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Runs all device checks on currently connected devices." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="connectedCheck" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Installs and runs the tests for debug on connected devices." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="connectedDebugAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Installs and runs instrumentation tests using all Device Providers." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="deviceAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Runs all device checks using Device Providers and Test Servers." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="deviceCheck" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="generateDebugAndroidTestAssets" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="generateDebugAndroidTestBuildConfig" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="generateDebugAndroidTestResValues" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="generateDebugAndroidTestResources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="generateDebugAndroidTestSources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="generateDebugAssets" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="generateDebugBuildConfig" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="generateDebugResValues" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="generateDebugResources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="generateDebugSources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="generateReleaseAssets" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="generateReleaseBuildConfig" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="generateReleaseResValues" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="generateReleaseResources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="generateReleaseSources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="incrementalDebugAndroidTestJavaCompilationSafeguard" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="incrementalDebugJavaCompilationSafeguard" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="incrementalDebugUnitTestJavaCompilationSafeguard" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="incrementalReleaseJavaCompilationSafeguard" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="incrementalReleaseUnitTestJavaCompilationSafeguard" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Installs the Debug build." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="installDebug" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Installs the android (on device) tests for the Debug build." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="installDebugAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="jarDebugClasses" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="jarReleaseClasses" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Runs lint on all variants." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="lint" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Runs lint on the Debug build." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="lintDebug" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Runs lint on the Release build." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="lintRelease" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Runs lint on just the fatal issues in the Release build." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="lintVitalRelease" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="mergeDebugAndroidTestAssets" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="mergeDebugAndroidTestJniLibFolders" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="mergeDebugAndroidTestResources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="mergeDebugAndroidTestShaders" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="mergeDebugAssets" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="mergeDebugJniLibFolders" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="mergeDebugResources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="mergeDebugShaders" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="mergeReleaseAssets" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="mergeReleaseJniLibFolders" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="mergeReleaseResources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="mergeReleaseShaders" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Creates a version of android.jar that's suitable for unit tests." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="mockableAndroidJar" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="packageDebug" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="packageDebugAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="packageRelease" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="preBuild" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="preDebugAndroidTestBuild" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="preDebugBuild" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="preDebugUnitTestBuild" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="prePackageMarkerForDebug" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="prePackageMarkerForDebugAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="prePackageMarkerForRelease" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="preReleaseBuild" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="preReleaseUnitTestBuild" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.android.support:animated-vector-drawable:23.3.0" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="prepareComAndroidSupportAnimatedVectorDrawable2330Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.android.support:appcompat-v7:23.3.0" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="prepareComAndroidSupportAppcompatV72330Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.android.support:cardview-v7:23.1.1" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="prepareComAndroidSupportCardviewV72311Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.android.support:design:23.3.0" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="prepareComAndroidSupportDesign2330Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.android.support:recyclerview-v7:23.3.0" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="prepareComAndroidSupportRecyclerviewV72330Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.android.support:support-v4:23.3.0" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="prepareComAndroidSupportSupportV42330Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.android.support:support-vector-drawable:23.3.0" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="prepareComAndroidSupportSupportVectorDrawable2330Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.github.afollestad.material-dialogs:core:0.8.5.8" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="prepareComGithubAfollestadMaterialDialogsCore0858Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.github.rey5137:material:1.2.2" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="prepareComGithubRey5137Material122Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.joanzapata.iconify:android-iconify:2.2.2" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="prepareComJoanzapataIconifyAndroidIconify222Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.joanzapata.iconify:android-iconify-fontawesome:2.2.2" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="prepareComJoanzapataIconifyAndroidIconifyFontawesome222Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.joanzapata.iconify:android-iconify-ionicons:2.2.2" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="prepareComJoanzapataIconifyAndroidIconifyIonicons222Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="prepareDebugAndroidTestDependencies" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="prepareDebugDependencies" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="prepareDebugUnitTestDependencies" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare me.zhanghai.android.materialprogressbar:library:1.1.5" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="prepareMeZhanghaiAndroidMaterialprogressbarLibrary115Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="prepareReleaseDependencies" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="prepareReleaseUnitTestDependencies" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="processDebugAndroidTestJavaRes" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="processDebugAndroidTestManifest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="processDebugAndroidTestResources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="processDebugJavaRes" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="processDebugManifest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="processDebugResources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="processDebugUnitTestJavaRes" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="processReleaseJavaRes" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="processReleaseManifest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="processReleaseResources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="processReleaseUnitTestJavaRes" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Displays the signing info for each variant." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="signingReport" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prints out all the source sets defined in this project." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="sourceSets" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Run unit tests for all variants." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="test" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Run unit tests for the debug build." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="testDebugUnitTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Run unit tests for the release build." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="testReleaseUnitTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="transformClassesWithDexForDebug" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="transformClassesWithDexForDebugAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="transformClassesWithDexForRelease" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="transformNative_libsWithMergeJniLibsForDebug" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="transformNative_libsWithMergeJniLibsForDebugAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="transformNative_libsWithMergeJniLibsForRelease" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="transformResourcesWithMergeJavaResForDebug" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="transformResourcesWithMergeJavaResForDebugAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="transformResourcesWithMergeJavaResForDebugUnitTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="transformResourcesWithMergeJavaResForRelease" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="transformResourcesWithMergeJavaResForReleaseUnitTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Uninstall all applications." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="uninstallAll" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Uninstalls the Debug build." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="uninstallDebug" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Uninstalls the android (on device) tests for the Debug build." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="uninstallDebugAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Uninstalls the Release build." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="uninstallRelease" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="validateDebugSigning" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" /> <option name="name" value="zipalignDebug" /> </ExternalTaskPojo> </list> </value> </entry> <entry key="$PROJECT_DIR$/app"> <value> <list> <ExternalTaskPojo> <option name="description" value="Displays the Android dependencies of the project." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="androidDependencies" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Assembles all variants of all applications and secondary packages." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="assemble" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Assembles all the Test applications." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="assembleAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Assembles all Debug builds." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="assembleDebug" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="assembleDebugAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="assembleDebugUnitTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Assembles all Release builds." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="assembleRelease" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="assembleReleaseUnitTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Assembles and tests this project." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="build" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Assembles and tests this project and all projects that depend on it." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="buildDependents" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Displays all buildscript dependencies declared in project ':app'." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="buildEnvironment" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Assembles and tests this project and all projects it depends on." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="buildNeeded" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Runs all checks." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="check" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="checkDebugManifest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="checkReleaseManifest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Deletes the build directory." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="clean" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="compileDebugAidl" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="compileDebugAndroidTestAidl" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="compileDebugAndroidTestJavaWithJavac" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="compileDebugAndroidTestNdk" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="compileDebugAndroidTestRenderscript" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="compileDebugAndroidTestShaders" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="compileDebugAndroidTestSources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="compileDebugJavaWithJavac" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="compileDebugNdk" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="compileDebugRenderscript" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="compileDebugShaders" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="compileDebugSources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="compileDebugUnitTestJavaWithJavac" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="compileDebugUnitTestSources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="compileLint" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="compileReleaseAidl" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="compileReleaseJavaWithJavac" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="compileReleaseNdk" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="compileReleaseRenderscript" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="compileReleaseShaders" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="compileReleaseSources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="compileReleaseUnitTestJavaWithJavac" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="compileReleaseUnitTestSources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Displays the components produced by project ':app'. [incubating]" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="components" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Installs and runs instrumentation tests for all flavors on connected devices." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="connectedAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Runs all device checks on currently connected devices." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="connectedCheck" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Installs and runs the tests for debug on connected devices." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="connectedDebugAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Displays all dependencies declared in project ':app'." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="dependencies" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Displays the insight into a specific dependency in project ':app'." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="dependencyInsight" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Installs and runs instrumentation tests using all Device Providers." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="deviceAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Runs all device checks using Device Providers and Test Servers." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="deviceCheck" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="generateDebugAndroidTestAssets" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="generateDebugAndroidTestBuildConfig" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="generateDebugAndroidTestResValues" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="generateDebugAndroidTestResources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="generateDebugAndroidTestSources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="generateDebugAssets" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="generateDebugBuildConfig" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="generateDebugResValues" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="generateDebugResources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="generateDebugSources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="generateReleaseAssets" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="generateReleaseBuildConfig" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="generateReleaseResValues" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="generateReleaseResources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="generateReleaseSources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Displays a help message." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="help" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="incrementalDebugAndroidTestJavaCompilationSafeguard" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="incrementalDebugJavaCompilationSafeguard" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="incrementalDebugUnitTestJavaCompilationSafeguard" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="incrementalReleaseJavaCompilationSafeguard" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="incrementalReleaseUnitTestJavaCompilationSafeguard" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Installs the Debug build." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="installDebug" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Installs the android (on device) tests for the Debug build." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="installDebugAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="jarDebugClasses" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="jarReleaseClasses" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Runs lint on all variants." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="lint" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Runs lint on the Debug build." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="lintDebug" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Runs lint on the Release build." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="lintRelease" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Runs lint on just the fatal issues in the Release build." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="lintVitalRelease" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="mergeDebugAndroidTestAssets" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="mergeDebugAndroidTestJniLibFolders" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="mergeDebugAndroidTestResources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="mergeDebugAndroidTestShaders" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="mergeDebugAssets" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="mergeDebugJniLibFolders" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="mergeDebugResources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="mergeDebugShaders" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="mergeReleaseAssets" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="mergeReleaseJniLibFolders" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="mergeReleaseResources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="mergeReleaseShaders" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Creates a version of android.jar that's suitable for unit tests." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="mockableAndroidJar" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Displays the configuration model of project ':app'. [incubating]" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="model" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="packageDebug" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="packageDebugAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="packageRelease" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="preBuild" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="preDebugAndroidTestBuild" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="preDebugBuild" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="preDebugUnitTestBuild" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="prePackageMarkerForDebug" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="prePackageMarkerForDebugAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="prePackageMarkerForRelease" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="preReleaseBuild" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="preReleaseUnitTestBuild" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.android.support:animated-vector-drawable:23.3.0" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="prepareComAndroidSupportAnimatedVectorDrawable2330Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.android.support:appcompat-v7:23.3.0" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="prepareComAndroidSupportAppcompatV72330Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.android.support:cardview-v7:23.1.1" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="prepareComAndroidSupportCardviewV72311Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.android.support:design:23.3.0" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="prepareComAndroidSupportDesign2330Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.android.support:recyclerview-v7:23.3.0" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="prepareComAndroidSupportRecyclerviewV72330Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.android.support:support-v4:23.3.0" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="prepareComAndroidSupportSupportV42330Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.android.support:support-vector-drawable:23.3.0" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="prepareComAndroidSupportSupportVectorDrawable2330Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.github.afollestad.material-dialogs:core:0.8.5.8" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="prepareComGithubAfollestadMaterialDialogsCore0858Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.github.rey5137:material:1.2.2" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="prepareComGithubRey5137Material122Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.joanzapata.iconify:android-iconify:2.2.2" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="prepareComJoanzapataIconifyAndroidIconify222Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.joanzapata.iconify:android-iconify-fontawesome:2.2.2" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="prepareComJoanzapataIconifyAndroidIconifyFontawesome222Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare com.joanzapata.iconify:android-iconify-ionicons:2.2.2" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="prepareComJoanzapataIconifyAndroidIconifyIonicons222Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="prepareDebugAndroidTestDependencies" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="prepareDebugDependencies" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="prepareDebugUnitTestDependencies" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prepare me.zhanghai.android.materialprogressbar:library:1.1.5" /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="prepareMeZhanghaiAndroidMaterialprogressbarLibrary115Library" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="prepareReleaseDependencies" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="prepareReleaseUnitTestDependencies" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="processDebugAndroidTestJavaRes" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="processDebugAndroidTestManifest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="processDebugAndroidTestResources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="processDebugJavaRes" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="processDebugManifest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="processDebugResources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="processDebugUnitTestJavaRes" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="processReleaseJavaRes" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="processReleaseManifest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="processReleaseResources" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="processReleaseUnitTestJavaRes" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Displays the sub-projects of project ':app'." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="projects" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Displays the properties of project ':app'." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="properties" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Displays the signing info for each variant." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="signingReport" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Prints out all the source sets defined in this project." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="sourceSets" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Displays the tasks runnable from project ':app'." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="tasks" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Run unit tests for all variants." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="test" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Run unit tests for the debug build." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="testDebugUnitTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Run unit tests for the release build." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="testReleaseUnitTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="transformClassesWithDexForDebug" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="transformClassesWithDexForDebugAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="transformClassesWithDexForRelease" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="transformNative_libsWithMergeJniLibsForDebug" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="transformNative_libsWithMergeJniLibsForDebugAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="transformNative_libsWithMergeJniLibsForRelease" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="transformResourcesWithMergeJavaResForDebug" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="transformResourcesWithMergeJavaResForDebugAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="transformResourcesWithMergeJavaResForDebugUnitTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="transformResourcesWithMergeJavaResForRelease" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="transformResourcesWithMergeJavaResForReleaseUnitTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Uninstall all applications." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="uninstallAll" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Uninstalls the Debug build." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="uninstallDebug" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Uninstalls the android (on device) tests for the Debug build." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="uninstallDebugAndroidTest" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="description" value="Uninstalls the Release build." /> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="uninstallRelease" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="validateDebugSigning" /> </ExternalTaskPojo> <ExternalTaskPojo> <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/app" /> <option name="name" value="zipalignDebug" /> </ExternalTaskPojo> </list> </value> </entry> </map> </option> <option name="modificationStamps"> <map> <entry key="$PROJECT_DIR$" value="4377878861000" /> </map> </option> <option name="projectBuildClasspath"> <map> <entry key="$PROJECT_DIR$"> <value> <ExternalProjectBuildClasspathPojo> <option name="modulesBuildClasspath"> <map> <entry key="$PROJECT_DIR$"> <value> <ExternalModuleBuildClasspathPojo> <option name="entries"> <list> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle/2.1.0/gradle-2.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle-core/2.1.0/gradle-core-2.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/jacoco/org.jacoco.core/0.7.4.201502262128/org.jacoco.core-0.7.4.201502262128-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/jacoco/org.jacoco.core/0.7.4.201502262128/org.jacoco.core-0.7.4.201502262128.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-commons/5.0.3/asm-commons-5.0.3-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-commons/5.0.3/asm-commons-5.0.3.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle-api/2.1.0/gradle-api-2.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint/25.1.0/lint-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/databinding/compilerCommon/2.1.0/compilerCommon-2.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm/5.0.3/asm-5.0.3-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm/5.0.3/asm-5.0.3.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguard/proguard-gradle/5.2.1/proguard-gradle-5.2.1-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguard/proguard-gradle/5.2.1/proguard-gradle-5.2.1.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-gradle-api.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder/2.1.0/builder-2.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-debug-all/5.0.1/asm-debug-all-5.0.1-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-debug-all/5.0.1/asm-debug-all-5.0.1.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-tree/5.0.3/asm-tree-5.0.3-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-tree/5.0.3/asm-tree-5.0.3.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/guava/guava/17.0/guava-17.0-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/guava/guava/17.0/guava-17.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/annotations/25.1.0/annotations-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint-checks/25.1.0/lint-checks-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/eclipse/jdt/core/compiler/ecj/4.4.2/ecj-4.4.2-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/eclipse/jdt/core/compiler/ecj/4.4.2/ecj-4.4.2.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/googlecode/juniversalchardet/juniversalchardet/1.0.3/juniversalchardet-1.0.3.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/tunnelvisionlabs/antlr4/4.5/antlr4-4.5.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/commons-io/commons-io/2.4/commons-io-2.4-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/commons-io/commons-io/2.4/commons-io-2.4.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/databinding/baseLibrary/2.1.0/baseLibrary-2.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguard/proguard-base/5.2.1/proguard-base-5.2.1-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguard/proguard-base/5.2.1/proguard-base-5.2.1.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder-model/2.1.0/builder-model-2.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/common/25.1.0/common-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/ddms/ddmlib/25.1.0/ddmlib-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycastle/bcprov-jdk15on/1.48/bcprov-jdk15on-1.48-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycastle/bcprov-jdk15on/1.48/bcprov-jdk15on-1.48.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/sdklib/25.1.0/sdklib-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/squareup/javawriter/2.5.0/javawriter-2.5.0-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/squareup/javawriter/2.5.0/javawriter-2.5.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder-test-api/2.1.0/builder-test-api-2.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/sdk-common/25.1.0/sdk-common-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/manifest-merger/25.1.0/manifest-merger-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/jack/jack-api/0.10.0/jack-api-0.10.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycastle/bcpkix-jdk15on/1.48/bcpkix-jdk15on-1.48-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycastle/bcpkix-jdk15on/1.48/bcpkix-jdk15on-1.48.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/jill/jill-api/0.10.0/jill-api-0.10.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-analysis/5.0.3/asm-analysis-5.0.3-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-analysis/5.0.3/asm-analysis-5.0.3.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint-api/25.1.0/lint-api-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/tunnelvisionlabs/antlr4-runtime/4.5/antlr4-runtime-4.5.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/tunnelvisionlabs/antlr4-annotations/4.5/antlr4-annotations-4.5.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/antlr/antlr-runtime/3.5.2/antlr-runtime-3.5.2.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/antlr/ST4/4.0.8/ST4-4.0.8.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/repository/25.1.0/repository-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/httpcomponents/httpclient/4.1.1/httpclient-4.1.1-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/httpcomponents/httpclient/4.1.1/httpclient-4.1.1.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/httpcomponents/httpmime/4.1/httpmime-4.1-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/httpcomponents/httpmime/4.1/httpmime-4.1.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/code/gson/gson/2.2.4/gson-2.2.4-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/code/gson/gson/2.2.4/gson-2.2.4.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/dvlib/25.1.0/dvlib-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/layoutlib/layoutlib-api/25.1.0/layoutlib-api-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/external/lombok/lombok-ast/0.2.3/lombok-ast-0.2.3-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/external/lombok/lombok-ast/0.2.3/lombok-ast-0.2.3.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/abego/treelayout/org.abego.treelayout.core/1.0.1/org.abego.treelayout.core-1.0.1.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/httpcomponents/httpcore/4.1/httpcore-4.1-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/httpcomponents/httpcore/4.1/httpcore-4.1.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/commons-codec/commons-codec/1.4/commons-codec-1.4-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/commons-codec/commons-codec/1.4/commons-codec-1.4.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/intellij/annotations/12.0/annotations-12.0-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/intellij/annotations/12.0/annotations-12.0.jar" /> </list> </option> <option name="path" value="$PROJECT_DIR$" /> </ExternalModuleBuildClasspathPojo> </value> </entry> <entry key="$PROJECT_DIR$/app"> <value> <ExternalModuleBuildClasspathPojo> <option name="entries"> <list> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle/2.1.0/gradle-2.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle-core/2.1.0/gradle-core-2.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/jacoco/org.jacoco.core/0.7.4.201502262128/org.jacoco.core-0.7.4.201502262128-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/jacoco/org.jacoco.core/0.7.4.201502262128/org.jacoco.core-0.7.4.201502262128.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-commons/5.0.3/asm-commons-5.0.3-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-commons/5.0.3/asm-commons-5.0.3.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle-api/2.1.0/gradle-api-2.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint/25.1.0/lint-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/databinding/compilerCommon/2.1.0/compilerCommon-2.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm/5.0.3/asm-5.0.3-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm/5.0.3/asm-5.0.3.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguard/proguard-gradle/5.2.1/proguard-gradle-5.2.1-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguard/proguard-gradle/5.2.1/proguard-gradle-5.2.1.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-gradle-api.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder/2.1.0/builder-2.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-debug-all/5.0.1/asm-debug-all-5.0.1-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-debug-all/5.0.1/asm-debug-all-5.0.1.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-tree/5.0.3/asm-tree-5.0.3-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-tree/5.0.3/asm-tree-5.0.3.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/guava/guava/17.0/guava-17.0-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/guava/guava/17.0/guava-17.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/annotations/25.1.0/annotations-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint-checks/25.1.0/lint-checks-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/eclipse/jdt/core/compiler/ecj/4.4.2/ecj-4.4.2-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/eclipse/jdt/core/compiler/ecj/4.4.2/ecj-4.4.2.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/googlecode/juniversalchardet/juniversalchardet/1.0.3/juniversalchardet-1.0.3.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/tunnelvisionlabs/antlr4/4.5/antlr4-4.5.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/commons-io/commons-io/2.4/commons-io-2.4-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/commons-io/commons-io/2.4/commons-io-2.4.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/databinding/baseLibrary/2.1.0/baseLibrary-2.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguard/proguard-base/5.2.1/proguard-base-5.2.1-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguard/proguard-base/5.2.1/proguard-base-5.2.1.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder-model/2.1.0/builder-model-2.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/common/25.1.0/common-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/ddms/ddmlib/25.1.0/ddmlib-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycastle/bcprov-jdk15on/1.48/bcprov-jdk15on-1.48-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycastle/bcprov-jdk15on/1.48/bcprov-jdk15on-1.48.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/sdklib/25.1.0/sdklib-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/squareup/javawriter/2.5.0/javawriter-2.5.0-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/squareup/javawriter/2.5.0/javawriter-2.5.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder-test-api/2.1.0/builder-test-api-2.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/sdk-common/25.1.0/sdk-common-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/manifest-merger/25.1.0/manifest-merger-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/jack/jack-api/0.10.0/jack-api-0.10.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycastle/bcpkix-jdk15on/1.48/bcpkix-jdk15on-1.48-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycastle/bcpkix-jdk15on/1.48/bcpkix-jdk15on-1.48.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/jill/jill-api/0.10.0/jill-api-0.10.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-analysis/5.0.3/asm-analysis-5.0.3-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-analysis/5.0.3/asm-analysis-5.0.3.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint-api/25.1.0/lint-api-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/tunnelvisionlabs/antlr4-runtime/4.5/antlr4-runtime-4.5.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/tunnelvisionlabs/antlr4-annotations/4.5/antlr4-annotations-4.5.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/antlr/antlr-runtime/3.5.2/antlr-runtime-3.5.2.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/antlr/ST4/4.0.8/ST4-4.0.8.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/repository/25.1.0/repository-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/httpcomponents/httpclient/4.1.1/httpclient-4.1.1-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/httpcomponents/httpclient/4.1.1/httpclient-4.1.1.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/httpcomponents/httpmime/4.1/httpmime-4.1-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/httpcomponents/httpmime/4.1/httpmime-4.1.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/code/gson/gson/2.2.4/gson-2.2.4-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/code/gson/gson/2.2.4/gson-2.2.4.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/dvlib/25.1.0/dvlib-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/layoutlib/layoutlib-api/25.1.0/layoutlib-api-25.1.0.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/external/lombok/lombok-ast/0.2.3/lombok-ast-0.2.3-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/external/lombok/lombok-ast/0.2.3/lombok-ast-0.2.3.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/abego/treelayout/org.abego.treelayout.core/1.0.1/org.abego.treelayout.core-1.0.1.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/httpcomponents/httpcore/4.1/httpcore-4.1-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/httpcomponents/httpcore/4.1/httpcore-4.1.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/commons-codec/commons-codec/1.4/commons-codec-1.4-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/commons-codec/commons-codec/1.4/commons-codec-1.4.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/intellij/annotations/12.0/annotations-12.0-sources.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/m2repository/com/intellij/annotations/12.0/annotations-12.0.jar" /> <option value="$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/appcompat-v7/23.3.0/appcompat-v7-23.3.0.aar" /> <option value="$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/design/23.3.0/design-23.3.0.aar" /> <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.afollestad.material-dialogs/core/0.8.5.8/b4d41fdd96238d1e6c97575fccbc7c0f34a36368/core-0.8.5.8.aar" /> <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.jakewharton/butterknife/7.0.1/d5d13ea991eab0252e3710e5df3d6a9d4b21d461/butterknife-7.0.1.jar" /> <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.joanzapata.iconify/android-iconify-fontawesome/2.2.2/928b3e5124c431395319f4a0daa2572160f0d4a2/android-iconify-fontawesome-2.2.2.aar" /> <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.joanzapata.iconify/android-iconify-ionicons/2.2.2/7275b0e41ceea9f529c2034da11db27151ef628e/android-iconify-ionicons-2.2.2.aar" /> <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.rey5137/material/1.2.2/febd2d94a6309e3eb337231577abd3eadd5226b8/material-1.2.2.aar" /> <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/io.realm/realm-android/0.87.1/6d9a1bba4e31252cc8183aa27a32e6edbdacaeb7/realm-android-0.87.1.jar" /> <option value="$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/support-vector-drawable/23.3.0/support-vector-drawable-23.3.0.aar" /> <option value="$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/animated-vector-drawable/23.3.0/animated-vector-drawable-23.3.0.aar" /> <option value="$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/support-v4/23.3.0/support-v4-23.3.0.aar" /> <option value="$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/recyclerview-v7/23.3.0/recyclerview-v7-23.3.0.aar" /> <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/me.zhanghai.android.materialprogressbar/library/1.1.5/afbd308dd929885b239f90e170d9b88ed292bc07/library-1.1.5.aar" /> <option value="$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/support-annotations/23.3.0/support-annotations-23.3.0.jar" /> <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.joanzapata.iconify/android-iconify/2.2.2/ec87ddc551e6e266f17c2569a1bd29bf7640e0ed/android-iconify-2.2.2.aar" /> <option value="$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/cardview-v7/23.1.1/cardview-v7-23.1.1.aar" /> </list> </option> <option name="path" value="$PROJECT_DIR$/app" /> </ExternalModuleBuildClasspathPojo> </value> </entry> </map> </option> <option name="name" value="app" /> <option name="projectBuildClasspath"> <list> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/ant-1.9.3.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/ant-launcher-1.9.3.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/gradle-base-services-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/gradle-base-services-groovy-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/gradle-cli-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/gradle-core-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/gradle-docs-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/gradle-launcher-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/gradle-messaging-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/gradle-model-core-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/gradle-model-groovy-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/gradle-native-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/gradle-open-api-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/gradle-resources-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/gradle-tooling-api-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/gradle-ui-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/gradle-wrapper-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/groovy-all-2.4.4.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-announce-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-antlr-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-build-comparison-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-build-init-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-code-quality-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-dependency-management-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-diagnostics-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-ear-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-ide-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-ide-native-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-ivy-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-jacoco-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-javascript-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-jetty-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-language-groovy-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-language-java-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-language-jvm-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-language-native-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-language-scala-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-maven-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-osgi-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-platform-base-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-platform-jvm-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-platform-native-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-platform-play-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-plugin-development-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-plugin-use-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-plugins-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-publish-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-reporting-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-resources-http-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-resources-s3-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-resources-sftp-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-scala-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-signing-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-sonar-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-test-kit-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-testing-native-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/gradle-tooling-api-builders-2.10.jar" /> <option value="$APPLICATION_HOME_DIR$/gradle/gradle-2.10/lib/plugins/ivy-2.2.0.jar" /> <option value="$PROJECT_DIR$/buildSrc/src/main/java" /> <option value="$PROJECT_DIR$/buildSrc/src/main/groovy" /> </list> </option> </ExternalProjectBuildClasspathPojo> </value> </entry> </map> </option> <option name="externalProjectsViewState"> <projects_view /> </option> </component> <component name="IdeDocumentHistory"> <option name="CHANGED_PATHS"> <list> <option value="$PROJECT_DIR$/build.gradle" /> <option value="$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Activities/StandardActivity.java" /> <option value="$PROJECT_DIR$/app/src/main/res/anim/slide_left_out.xml" /> <option value="$PROJECT_DIR$/app/src/main/res/anim/slide_left_in.xml" /> <option value="$PROJECT_DIR$/app/src/main/res/values/integers.xml" /> <option value="$PROJECT_DIR$/app/src/main/res/anim/slide_right_out.xml" /> <option value="$PROJECT_DIR$/app/src/main/res/anim/slide_right_in.xml" /> <option value="$PROJECT_DIR$/app/src/main/res/values/settings_item_cell.xml" /> <option value="$PROJECT_DIR$/app/src/main/res/layout/settings_item_cell.xml" /> <option value="$PROJECT_DIR$/app/src/main/res/drawable/edittext_border.xml" /> <option value="$PROJECT_DIR$/app/src/main/res/values/configuration_styles.xml" /> <option value="$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Adapters/SettingsAdapter.java" /> <option value="$PROJECT_DIR$/app/src/main/res/layout/excluded_number_cell.xml" /> <option value="$PROJECT_DIR$/app/src/main/res/layout/other_apps.xml" /> <option value="$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Adapters/OtherAppsAdapter.java" /> <option value="$PROJECT_DIR$/app/src/main/res/layout/other_app_cell.xml" /> <option value="$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Activities/OtherAppsActivity.java" /> <option value="$PROJECT_DIR$/app/src/main/res/values/other_apps_strings.xml" /> <option value="$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Persistence/Database/ExcludedNumber.java" /> <option value="$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Persistence/Database/Configuration.java" /> <option value="$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Utils/ConversionUtils.java" /> <option value="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" /> <option value="$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Adapters/ExcludedNumbersAdapter.java" /> <option value="$PROJECT_DIR$/app/src/main/res/layout/settings.xml" /> <option value="$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Utils/FormUtils.java" /> <option value="$PROJECT_DIR$/app/src/main/res/values/styles.xml" /> <option value="$PROJECT_DIR$/app/src/main/res/layout/edit_excluded.xml" /> <option value="$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Activities/EditExcludedActivity.java" /> <option value="$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Persistence/Database/DatabaseManager.java" /> <option value="$PROJECT_DIR$/app/src/main/res/layout/configuration_cell.xml" /> <option value="$PROJECT_DIR$/app/src/main/res/values/colors.xml" /> <option value="$PROJECT_DIR$/app/src/main/res/layout/config_cell.xml" /> <option value="$PROJECT_DIR$/app/src/main/res/layout/edit_configurations.xml" /> <option value="$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Activities/EditConfigurationsActivity.java" /> <option value="$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Adapters/ConfigurationsAdapter.java" /> <option value="$PROJECT_DIR$/app/src/main/res/layout/homepage.xml" /> <option value="$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Activities/SettingsActivity.java" /> <option value="$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Persistence/PreferencesManager.java" /> <option value="$PROJECT_DIR$/app/src/main/res/values/edit_excluded_strings.xml" /> <option value="$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Utils/RandUtils.java" /> <option value="$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Activities/MainActivity.java" /> <option value="$PROJECT_DIR$/app/src/main/res/values/config_strings.xml" /> <option value="$PROJECT_DIR$/app/src/main/res/values/settings_strings.xml" /> <option value="$PROJECT_DIR$/app/src/main/res/values/strings.xml" /> <option value="$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Utils/MyApplication.java" /> <option value="$PROJECT_DIR$/app/build.gradle" /> <option value="$PROJECT_DIR$/app/src/main/res/menu/menu_main.xml" /> <option value="$PROJECT_DIR$/app/src/main/res/drawable/ripple_button.xml" /> </list> </option> </component> <component name="MavenImportPreferences"> <option name="generalSettings"> <MavenGeneralSettings> <option name="mavenHome" value="Bundled (Maven 3)" /> </MavenGeneralSettings> </option> </component> <component name="ProjectFrameBounds"> <option name="y" value="23" /> <option name="width" value="1280" /> <option name="height" value="709" /> </component> <component name="ProjectLevelVcsManager" settingsEditedManually="true"> <OptionsSetting value="true" id="Add" /> <OptionsSetting value="true" id="Remove" /> <OptionsSetting value="true" id="Checkout" /> <OptionsSetting value="true" id="Update" /> <OptionsSetting value="true" id="Status" /> <OptionsSetting value="true" id="Edit" /> <ConfirmationsSetting value="2" id="Add" /> <ConfirmationsSetting value="0" id="Remove" /> </component> <component name="ProjectView"> <navigator currentView="AndroidView" proportions="" version="1"> <flattenPackages /> <showMembers /> <showModules /> <showLibraryContents /> <hideEmptyPackages /> <abbreviatePackageNames /> <autoscrollToSource /> <autoscrollFromSource /> <sortByType /> <manualOrder /> <foldersAlwaysOnTop value="true" /> </navigator> <panes> <pane id="ProjectPane" /> <pane id="PackagesPane" /> <pane id="Scope" /> <pane id="AndroidView"> <subPane> <PATH> <PATH_ELEMENT> <option name="myItemId" value="rngplus" /> <option name="myItemType" value="com.android.tools.idea.navigator.nodes.AndroidViewProjectNode" /> </PATH_ELEMENT> </PATH> </subPane> </pane> <pane id="Scratches" /> </panes> </component> <component name="PropertiesComponent"> <property name="last_opened_file_path" value="$PROJECT_DIR$/../keys/randomappsinc.jks" /> <property name="settings.editor.selected.configurable" value="preferences.updates" /> <property name="settings.editor.splitter.proportion" value="0.2" /> <property name="recentsLimit" value="5" /> <property name="ANDROID_EXTENDED_DEVICE_CHOOSER_SERIALS" value="d2659bb9" /> <property name="ANDROID_EXTENDED_DEVICE_CHOOSER_AVD" value="Nexus_5_API_21_x86" /> <property name="OverrideImplement.combined" value="true" /> <property name="OverrideImplement.overriding.sorted" value="false" /> <property name="lastFolderRoot" value="$USER_HOME$/Downloads/sql_practice.png" /> <property name="ExportApk.ApkPath" value="$PROJECT_DIR$/app" /> <property name="ExportApk.Flavors" value="" /> <property name="ExportApk.BuildType" value="release" /> <property name="device.picker.selection" value="192.168.59.101:5555" /> </component> <component name="RunManager" selected="Android Application.app"> <configuration default="true" type="AndroidRunConfigurationType" factoryName="Android Application"> <module name="" /> <option name="DEPLOY" value="true" /> <option name="ARTIFACT_NAME" value="" /> <option name="PM_INSTALL_OPTIONS" value="" /> <option name="ACTIVITY_EXTRA_FLAGS" value="" /> <option name="MODE" value="default_activity" /> <option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" /> <option name="PREFERRED_AVD" value="" /> <option name="CLEAR_LOGCAT" value="false" /> <option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" /> <option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" /> <option name="FORCE_STOP_RUNNING_APP" value="true" /> <option name="DEBUGGER_TYPE" value="Java" /> <option name="USE_LAST_SELECTED_DEVICE" value="false" /> <option name="PREFERRED_AVD" value="" /> <option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" /> <option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" /> <Hybrid> <option name="WORKING_DIR" value="" /> <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" /> </Hybrid> <Native> <option name="WORKING_DIR" value="" /> <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" /> </Native> <Java /> <Profilers> <option name="GAPID_DISABLE_PCS" value="false" /> </Profilers> <option name="DEEP_LINK" value="" /> <option name="ACTIVITY_CLASS" value="" /> <method /> </configuration> <configuration default="true" type="AndroidTestRunConfigurationType" factoryName="Android Tests"> <module name="" /> <option name="TESTING_TYPE" value="0" /> <option name="INSTRUMENTATION_RUNNER_CLASS" value="" /> <option name="METHOD_NAME" value="" /> <option name="CLASS_NAME" value="" /> <option name="PACKAGE_NAME" value="" /> <option name="EXTRA_OPTIONS" value="" /> <option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" /> <option name="PREFERRED_AVD" value="" /> <option name="CLEAR_LOGCAT" value="false" /> <option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" /> <option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" /> <option name="FORCE_STOP_RUNNING_APP" value="true" /> <option name="DEBUGGER_TYPE" value="Java" /> <option name="USE_LAST_SELECTED_DEVICE" value="false" /> <option name="PREFERRED_AVD" value="" /> <option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" /> <option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" /> <Hybrid> <option name="WORKING_DIR" value="" /> <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" /> </Hybrid> <Native> <option name="WORKING_DIR" value="" /> <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" /> </Native> <Java /> <Profilers> <option name="GAPID_DISABLE_PCS" value="false" /> </Profilers> <method /> </configuration> <configuration default="true" type="Application" factoryName="Application"> <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> <option name="MAIN_CLASS_NAME" /> <option name="VM_PARAMETERS" /> <option name="PROGRAM_PARAMETERS" /> <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" /> <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> <option name="ALTERNATIVE_JRE_PATH" /> <option name="ENABLE_SWING_INSPECTOR" value="false" /> <option name="ENV_VARIABLES" /> <option name="PASS_PARENT_ENVS" value="true" /> <module name="" /> <envs /> <method /> </configuration> <configuration default="true" type="JUnit" factoryName="JUnit"> <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> <module name="" /> <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> <option name="ALTERNATIVE_JRE_PATH" /> <option name="PACKAGE_NAME" /> <option name="MAIN_CLASS_NAME" /> <option name="METHOD_NAME" /> <option name="TEST_OBJECT" value="class" /> <option name="VM_PARAMETERS" value="-ea" /> <option name="PARAMETERS" /> <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" /> <option name="ENV_VARIABLES" /> <option name="PASS_PARENT_ENVS" value="true" /> <option name="TEST_SEARCH_SCOPE"> <value defaultName="singleModule" /> </option> <envs /> <patterns /> <method> <option name="Make" enabled="false" /> <option name="Android.Gradle.BeforeRunTask" enabled="true" /> </method> </configuration> <configuration default="true" type="JUnitTestDiscovery" factoryName="JUnit Test Discovery" changeList="All"> <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> <module name="" /> <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> <option name="ALTERNATIVE_JRE_PATH" /> <option name="PACKAGE_NAME" /> <option name="MAIN_CLASS_NAME" /> <option name="METHOD_NAME" /> <option name="TEST_OBJECT" value="class" /> <option name="VM_PARAMETERS" /> <option name="PARAMETERS" /> <option name="WORKING_DIRECTORY" /> <option name="ENV_VARIABLES" /> <option name="PASS_PARENT_ENVS" value="true" /> <option name="TEST_SEARCH_SCOPE"> <value defaultName="singleModule" /> </option> <envs /> <patterns /> <method /> </configuration> <configuration default="true" type="JarApplication" factoryName="JAR Application"> <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> <envs /> <method /> </configuration> <configuration default="true" type="Java Scratch" factoryName="Java Scratch"> <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> <option name="SCRATCH_FILE_ID" value="0" /> <option name="MAIN_CLASS_NAME" /> <option name="VM_PARAMETERS" /> <option name="PROGRAM_PARAMETERS" /> <option name="WORKING_DIRECTORY" /> <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> <option name="ALTERNATIVE_JRE_PATH" /> <option name="ENABLE_SWING_INSPECTOR" value="false" /> <option name="ENV_VARIABLES" /> <option name="PASS_PARENT_ENVS" value="true" /> <module name="" /> <envs /> <method /> </configuration> <configuration default="true" type="Remote" factoryName="Remote"> <option name="USE_SOCKET_TRANSPORT" value="true" /> <option name="SERVER_MODE" value="false" /> <option name="SHMEM_ADDRESS" value="javadebug" /> <option name="HOST" value="localhost" /> <option name="PORT" value="5005" /> <method /> </configuration> <configuration default="true" type="TestNG" factoryName="TestNG"> <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> <module name="" /> <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> <option name="ALTERNATIVE_JRE_PATH" /> <option name="SUITE_NAME" /> <option name="PACKAGE_NAME" /> <option name="MAIN_CLASS_NAME" /> <option name="METHOD_NAME" /> <option name="GROUP_NAME" /> <option name="TEST_OBJECT" value="CLASS" /> <option name="VM_PARAMETERS" value="-ea" /> <option name="PARAMETERS" /> <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" /> <option name="OUTPUT_DIRECTORY" /> <option name="ANNOTATION_TYPE" /> <option name="ENV_VARIABLES" /> <option name="PASS_PARENT_ENVS" value="true" /> <option name="TEST_SEARCH_SCOPE"> <value defaultName="singleModule" /> </option> <option name="USE_DEFAULT_REPORTERS" value="false" /> <option name="PROPERTIES_FILE" /> <envs /> <properties /> <listeners /> <method /> </configuration> <configuration default="true" type="TestNGTestDiscovery" factoryName="TestNG Test Discovery" changeList="All"> <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> <module name="" /> <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> <option name="ALTERNATIVE_JRE_PATH" /> <option name="SUITE_NAME" /> <option name="PACKAGE_NAME" /> <option name="MAIN_CLASS_NAME" /> <option name="METHOD_NAME" /> <option name="GROUP_NAME" /> <option name="TEST_OBJECT" value="CLASS" /> <option name="VM_PARAMETERS" /> <option name="PARAMETERS" /> <option name="WORKING_DIRECTORY" /> <option name="OUTPUT_DIRECTORY" /> <option name="ANNOTATION_TYPE" /> <option name="ENV_VARIABLES" /> <option name="PASS_PARENT_ENVS" value="true" /> <option name="TEST_SEARCH_SCOPE"> <value defaultName="singleModule" /> </option> <option name="USE_DEFAULT_REPORTERS" value="false" /> <option name="PROPERTIES_FILE" /> <envs /> <properties /> <listeners /> <method /> </configuration> <configuration default="false" name="app" type="AndroidRunConfigurationType" factoryName="Android Application" activateToolWindowBeforeRun="false"> <module name="app" /> <option name="DEPLOY" value="true" /> <option name="ARTIFACT_NAME" value="" /> <option name="PM_INSTALL_OPTIONS" value="" /> <option name="ACTIVITY_EXTRA_FLAGS" value="" /> <option name="MODE" value="default_activity" /> <option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" /> <option name="PREFERRED_AVD" value="" /> <option name="CLEAR_LOGCAT" value="false" /> <option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" /> <option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" /> <option name="FORCE_STOP_RUNNING_APP" value="true" /> <option name="DEBUGGER_TYPE" value="Java" /> <option name="USE_LAST_SELECTED_DEVICE" value="true" /> <option name="PREFERRED_AVD" value="" /> <option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" /> <option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" /> <Hybrid> <option name="WORKING_DIR" value="" /> <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" /> </Hybrid> <Native> <option name="WORKING_DIR" value="" /> <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" /> </Native> <Java /> <Profilers> <option name="GAPID_DISABLE_PCS" value="false" /> </Profilers> <option name="DEEP_LINK" value="" /> <option name="ACTIVITY_CLASS" value="" /> <method /> </configuration> <list size="1"> <item index="0" class="java.lang.String" itemvalue="Android Application.app" /> </list> <configuration name="<template>" type="Applet" default="true" selected="false"> <option name="MAIN_CLASS_NAME" /> <option name="HTML_FILE_NAME" /> <option name="HTML_USED" value="false" /> <option name="WIDTH" value="400" /> <option name="HEIGHT" value="300" /> <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" /> <option name="VM_PARAMETERS" /> </configuration> <configuration name="<template>" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" default="true" selected="false"> <option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" /> </configuration> </component> <component name="ShelveChangesManager" show_recycled="false" /> <component name="SvnConfiguration"> <configuration /> </component> <component name="TaskManager"> <task active="true" id="Default" summary="Default task"> <changelist id="f5e37520-ca17-4d94-bb6c-b4cbc9c73568" name="Default" comment="" /> <created>1451460273974</created> <option name="number" value="Default" /> <updated>1451460273974</updated> </task> <servers /> </component> <component name="ToolWindowManager"> <frame x="0" y="23" width="1280" height="709" extended-state="6" /> <editor active="true" /> <layout> <window_info id="Palette	" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Designer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Preview" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Android Model" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="true" content_ui="tabs" /> <window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Android Monitor" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.31365937" sideWeight="0.47415185" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Captures" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3153457" sideWeight="0.52584815" order="7" side_tool="true" content_ui="tabs" /> <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" /> <window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Gradle Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" /> <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Build Variants" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" /> <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32715008" sideWeight="0.49353796" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Gradle" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.22374798" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.327787" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32833335" sideWeight="0.49676898" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> </layout> </component> <component name="Vcs.Log.UiProperties"> <option name="RECENTLY_FILTERED_USER_GROUPS"> <collection /> </option> <option name="RECENTLY_FILTERED_BRANCH_GROUPS"> <collection /> </option> </component> <component name="VcsContentAnnotationSettings"> <option name="myLimit" value="2678400000" /> </component> <component name="XDebuggerManager"> <breakpoint-manager /> <watches-manager /> </component> <component name="editorHistoryManager"> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Activities/SettingsActivity.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="46" column="76" selection-start-line="46" selection-start-column="76" selection-end-line="46" selection-end-column="76" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/build.gradle"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Activities/MainActivity.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="30" column="44" selection-start-line="30" selection-start-column="44" selection-end-line="30" selection-end-column="44" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/values/strings.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="15" column="71" selection-start-line="15" selection-start-column="71" selection-end-line="15" selection-end-column="71" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Activities/EditExcludedActivity.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="25" column="0" selection-start-line="25" selection-start-column="0" selection-end-line="25" selection-end-column="0" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Activities/StandardActivity.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="20" column="4" selection-start-line="20" selection-start-column="4" selection-end-line="25" selection-end-column="5" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/homepage.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="91" column="52" selection-start-line="91" selection-start-column="52" selection-end-line="91" selection-end-column="52" /> </state> </provider> <provider editor-type-id="android-designer"> <state /> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Utils/RandUtils.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="8" column="0" selection-start-line="8" selection-start-column="0" selection-end-line="8" selection-end-column="0" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Utils/MyApplication.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="19" column="5" selection-start-line="19" selection-start-column="5" selection-end-line="19" selection-end-column="5" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/values/styles.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="47" column="0" selection-start-line="47" selection-start-column="0" selection-end-line="47" selection-end-column="0" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/excluded_number_cell.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="-3.6206896"> <caret line="7" column="37" selection-start-line="7" selection-start-column="37" selection-end-line="7" selection-end-column="37" /> </state> </provider> <provider editor-type-id="android-designer"> <state /> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Adapters/ExcludedNumbersAdapter.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="-0.18110237"> <caret line="81" column="36" selection-start-line="81" selection-start-column="36" selection-end-line="81" selection-end-column="36" /> </state> </provider> </entry> <entry file="jar://$USER_HOME$/Library/Android/sdk/extras/android/m2repository/com/android/support/design/23.2.0/design-23.2.0-sources.jar!/android/support/design/widget/Snackbar.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.33333334"> <caret line="357" column="65" selection-start-line="357" selection-start-column="54" selection-end-line="357" selection-end-column="65" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/build.gradle"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="17" column="8" selection-start-line="17" selection-start-column="8" selection-end-line="17" selection-end-column="42" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/anim/slide_left_in.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="5" column="24" selection-start-line="0" selection-start-column="0" selection-end-line="5" selection-end-column="53" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/values/integers.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="4" column="12" selection-start-line="0" selection-start-column="0" selection-end-line="4" selection-end-column="12" /> <folding /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/anim/slide_left_out.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="5" column="43" selection-start-line="5" selection-start-column="43" selection-end-line="5" selection-end-column="43" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/anim/slide_right_in.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="5" column="37" selection-start-line="0" selection-start-column="0" selection-end-line="5" selection-end-column="53" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/anim/slide_right_out.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="5" column="19" selection-start-line="5" selection-start-column="19" selection-end-line="5" selection-end-column="19" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Activities/StandardActivity.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="27" column="13" selection-start-line="27" selection-start-column="13" selection-end-line="27" selection-end-column="13" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Utils/FormUtils.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="15" column="0" selection-start-line="15" selection-start-column="0" selection-end-line="36" selection-end-column="1" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Adapters/SettingsAdapter.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.28"> <caret line="18" column="0" selection-start-line="18" selection-start-column="0" selection-end-line="71" selection-end-column="0" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Persistence/Database/DatabaseManager.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="-2.1496062"> <caret line="20" column="33" selection-start-line="20" selection-start-column="33" selection-end-line="20" selection-end-column="33" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/values/colors.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.30259365"> <caret line="7" column="29" selection-start-line="7" selection-start-column="29" selection-end-line="7" selection-end-column="29" /> <folding /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/config_cell.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.6132075"> <caret line="20" column="36" selection-start-line="20" selection-start-column="36" selection-end-line="20" selection-end-column="36" /> <folding /> </state> </provider> <provider editor-type-id="android-designer"> <state /> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/edit_configurations.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.18867925"> <caret line="4" column="37" selection-start-line="4" selection-start-column="37" selection-end-line="4" selection-end-column="37" /> <folding /> </state> </provider> <provider editor-type-id="android-designer"> <state /> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Adapters/ConfigurationsAdapter.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.3968254"> <caret line="33" column="27" selection-start-line="33" selection-start-column="27" selection-end-line="33" selection-end-column="27" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Persistence/PreferencesManager.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.7619048"> <caret line="52" column="0" selection-start-line="52" selection-start-column="0" selection-end-line="52" selection-end-column="0" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/edit_excluded.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="-0.1875"> <caret line="12" column="39" selection-start-line="12" selection-start-column="39" selection-end-line="12" selection-end-column="39" /> <folding /> </state> </provider> <provider editor-type-id="android-designer"> <state /> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Persistence/Database/ExcludedNumber.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.2777778"> <caret line="7" column="13" selection-start-line="7" selection-start-column="13" selection-end-line="7" selection-end-column="13" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Utils/ConversionUtils.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.44444445"> <caret line="23" column="37" selection-start-line="23" selection-start-column="37" selection-end-line="23" selection-end-column="37" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Persistence/Database/RNGConfiguration.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="-0.34920636"> <caret line="17" column="30" selection-start-line="17" selection-start-column="30" selection-end-line="17" selection-end-column="30" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/values/edit_excluded_strings.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.63559324"> <caret line="15" column="74" selection-start-line="15" selection-start-column="74" selection-end-line="15" selection-end-column="74" /> <folding /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Utils/RandUtils.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="166" column="0" selection-start-line="166" selection-start-column="0" selection-end-line="166" selection-end-column="0" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Activities/EditConfigurationsActivity.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.7010582"> <caret line="27" column="76" selection-start-line="27" selection-start-column="76" selection-end-line="27" selection-end-column="76" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Activities/EditExcludedActivity.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="-1.2222222"> <caret line="37" column="24" selection-start-line="37" selection-start-column="24" selection-end-line="37" selection-end-column="24" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/values/config_strings.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="-1.875"> <caret line="3" column="46" selection-start-line="3" selection-start-column="46" selection-end-line="3" selection-end-column="46" /> <folding /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/values/strings.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="33" column="36" selection-start-line="33" selection-start-column="36" selection-end-line="33" selection-end-column="36" /> <folding /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Utils/MyApplication.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="22" column="16" selection-start-line="22" selection-start-column="16" selection-end-line="22" selection-end-column="16" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/build.gradle"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="11" column="26" selection-start-line="11" selection-start-column="26" selection-end-line="11" selection-end-column="26" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/settings_item_cell.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="10" column="32" selection-start-line="0" selection-start-column="0" selection-end-line="26" selection-end-column="15" /> <folding /> </state> </provider> <provider editor-type-id="android-designer"> <state /> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Activities/SettingsActivity.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="21" column="4" selection-start-line="21" selection-start-column="4" selection-end-line="69" selection-end-column="5" /> <folding> <element signature="imports" expanded="false" /> </folding> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/values/settings_strings.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="20" column="50" selection-start-line="20" selection-start-column="50" selection-end-line="20" selection-end-column="50" /> <folding /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/values/styles.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="7" column="4" selection-start-line="7" selection-start-column="4" selection-end-line="21" selection-end-column="12" /> <folding /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/drawable/ripple_button.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="5" column="11" selection-start-line="5" selection-start-column="11" selection-end-line="5" selection-end-column="11" /> <folding /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/homepage.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="-0.28301886"> <caret line="1" column="48" selection-start-line="1" selection-start-column="48" selection-end-line="1" selection-end-column="48" /> <folding /> </state> </provider> <provider editor-type-id="android-designer"> <state /> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/settings.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="6" column="41" selection-start-line="0" selection-start-column="0" selection-end-line="14" selection-end-column="0" /> <folding /> </state> </provider> <provider editor-type-id="android-designer"> <state /> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/java/com/randomappsinc/randomnumbergeneratorplus/Activities/MainActivity.java"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="331" column="5" selection-start-line="296" selection-start-column="4" selection-end-line="331" selection-end-column="5" /> <folding> <element signature="imports" expanded="false" /> <element signature="e#5173#5174#0" expanded="false" /> <element signature="e#5212#5213#0" expanded="false" /> <element signature="e#5339#5340#0" expanded="false" /> <element signature="e#5378#5379#0" expanded="false" /> </folding> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/menu/menu_main.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.0"> <caret line="13" column="0" selection-start-line="13" selection-start-column="0" selection-end-line="13" selection-end-column="0" /> <folding /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/AndroidManifest.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="-8.75"> <caret line="14" column="49" selection-start-line="14" selection-start-column="0" selection-end-line="15" selection-end-column="0" /> <folding /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/app/src/main/res/drawable/edittext_border.xml"> <provider selected="true" editor-type-id="text-editor"> <state vertical-scroll-proportion="0.2112676"> <caret line="5" column="8" selection-start-line="0" selection-start-column="0" selection-end-line="5" selection-end-column="8" /> <folding /> </state> </provider> </entry> </component> </project> Sign out
alphagov / Alphagov.github.ioGitHub organisation site for GDS. Also an Apache Maven repository.
PatilShreyas / Library CiSample repository to demonstrate usage of GitHub Actions CI's workflow dispatch to automate publishing of a library to Maven Central
ThomasOM / MavenRepoToolA simple shell script that creates a maven repository on your project github
svn2github / SAT4JThis is a clone of an SVN repository at svn://svn.forge.objectweb.org/svnroot/sat4j/maven/trunk. It had been cloned by http://svn2github.com/ , but the service was since closed. Please read a closing note on my blog post: http://piotr.gabryjeluk.pl/blog:closing-svn2github . If you want to continue synchronizing this repo, look at https://github.com/gabrys/svn2github
Lhagawajaw / 11 36 00 PM Build Ready To Start 11 36 02 PM Build Image Version 72a309a113b53ef075815b129953617811:36:00 PM: Build ready to start 11:36:02 PM: build-image version: 72a309a113b53ef075815b129953617827965e48 (focal) 11:36:02 PM: build-image tag: v4.8.2 11:36:02 PM: buildbot version: 72ebfe61ef7a5152002962d9129cc52f5b1bb560 11:36:02 PM: Fetching cached dependencies 11:36:02 PM: Failed to fetch cache, continuing with build 11:36:02 PM: Starting to prepare the repo for build 11:36:02 PM: No cached dependencies found. Cloning fresh repo 11:36:02 PM: git clone https://github.com/netlify-templates/gatsby-ecommerce-theme 11:36:03 PM: Preparing Git Reference refs/heads/main 11:36:04 PM: Parsing package.json dependencies 11:36:05 PM: Starting build script 11:36:05 PM: Installing dependencies 11:36:05 PM: Python version set to 2.7 11:36:06 PM: v16.15.1 is already installed. 11:36:06 PM: Now using node v16.15.1 (npm v8.11.0) 11:36:06 PM: Started restoring cached build plugins 11:36:06 PM: Finished restoring cached build plugins 11:36:06 PM: Attempting ruby version 2.7.2, read from environment 11:36:08 PM: Using ruby version 2.7.2 11:36:08 PM: Using PHP version 8.0 11:36:08 PM: No npm workspaces detected 11:36:08 PM: Started restoring cached node modules 11:36:08 PM: Finished restoring cached node modules 11:36:09 PM: Installing NPM modules using NPM version 8.11.0 11:36:09 PM: npm WARN config tmp This setting is no longer used. npm stores temporary files in a special 11:36:09 PM: npm WARN config location in the cache, and they are managed by 11:36:09 PM: npm WARN config [`cacache`](http://npm.im/cacache). 11:36:09 PM: npm WARN config tmp This setting is no longer used. npm stores temporary files in a special 11:36:09 PM: npm WARN config location in the cache, and they are managed by 11:36:09 PM: npm WARN config [`cacache`](http://npm.im/cacache). 11:36:24 PM: npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated 11:36:25 PM: npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated 11:36:26 PM: npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. 11:36:28 PM: npm WARN deprecated querystring@0.2.1: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. 11:36:33 PM: npm WARN deprecated subscriptions-transport-ws@0.9.19: The `subscriptions-transport-ws` package is no longer maintained. We recommend you use `graphql-ws` instead. For help migrating Apollo software to `graphql-ws`, see https://www.apollographql.com/docs/apollo-server/data/subscriptions/#switching-from-subscriptions-transport-ws For general help using `graphql-ws`, see https://github.com/enisdenjo/graphql-ws/blob/master/README.md 11:36:36 PM: npm WARN deprecated async-cache@1.1.0: No longer maintained. Use [lru-cache](http://npm.im/lru-cache) version 7.6 or higher, and provide an asynchronous `fetchMethod` option. 11:36:37 PM: npm WARN deprecated babel-eslint@10.1.0: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates. 11:36:41 PM: npm WARN deprecated devcert@1.2.0: critical regex denial of service bug fixed in 1.2.1 patch 11:36:42 PM: npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) 11:36:45 PM: npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated 11:36:45 PM: npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated 11:36:53 PM: npm WARN deprecated puppeteer@7.1.0: Version no longer supported. Upgrade to @latest 11:37:30 PM: added 2044 packages, and audited 2045 packages in 1m 11:37:30 PM: 208 packages are looking for funding 11:37:30 PM: run `npm fund` for details 11:37:30 PM: 41 vulnerabilities (13 moderate, 25 high, 3 critical) 11:37:30 PM: To address issues that do not require attention, run: 11:37:30 PM: npm audit fix 11:37:30 PM: To address all issues possible (including breaking changes), run: 11:37:30 PM: npm audit fix --force 11:37:30 PM: Some issues need review, and may require choosing 11:37:30 PM: a different dependency. 11:37:30 PM: Run `npm audit` for details. 11:37:30 PM: NPM modules installed 11:37:31 PM: npm WARN config tmp This setting is no longer used. npm stores temporary files in a special 11:37:31 PM: npm WARN config location in the cache, and they are managed by 11:37:31 PM: npm WARN config [`cacache`](http://npm.im/cacache). 11:37:31 PM: Started restoring cached go cache 11:37:31 PM: Finished restoring cached go cache 11:37:31 PM: Installing Go version 1.17 (requested 1.17) 11:37:36 PM: unset GOOS; 11:37:36 PM: unset GOARCH; 11:37:36 PM: export GOROOT='/opt/buildhome/.gimme/versions/go1.17.linux.amd64'; 11:37:36 PM: export PATH="/opt/buildhome/.gimme/versions/go1.17.linux.amd64/bin:${PATH}"; 11:37:36 PM: go version >&2; 11:37:36 PM: export GIMME_ENV="/opt/buildhome/.gimme/env/go1.17.linux.amd64.env" 11:37:37 PM: go version go1.17 linux/amd64 11:37:37 PM: Installing missing commands 11:37:37 PM: Verify run directory 11:37:38 PM: 11:37:38 PM: ──────────────────────────────────────────────────────────────── 11:37:38 PM: Netlify Build 11:37:38 PM: ──────────────────────────────────────────────────────────────── 11:37:38 PM: 11:37:38 PM: ❯ Version 11:37:38 PM: @netlify/build 27.3.0 11:37:38 PM: 11:37:38 PM: ❯ Flags 11:37:38 PM: baseRelDir: true 11:37:38 PM: buildId: 62b9ce60232d3454599e9b1c 11:37:38 PM: deployId: 62b9ce60232d3454599e9b1e 11:37:38 PM: 11:37:38 PM: ❯ Current directory 11:37:38 PM: /opt/build/repo 11:37:38 PM: 11:37:38 PM: ❯ Config file 11:37:38 PM: /opt/build/repo/netlify.toml 11:37:38 PM: 11:37:38 PM: ❯ Context 11:37:38 PM: production 11:37:38 PM: 11:37:38 PM: ❯ Loading plugins 11:37:38 PM: - @netlify/plugin-gatsby@3.2.4 from netlify.toml and package.json 11:37:38 PM: - netlify-plugin-cypress@2.2.0 from netlify.toml and package.json 11:37:40 PM: 11:37:40 PM: ──────────────────────────────────────────────────────────────── 11:37:40 PM: 1. @netlify/plugin-gatsby (onPreBuild event) 11:37:40 PM: ──────────────────────────────────────────────────────────────── 11:37:40 PM: 11:37:40 PM: No Gatsby cache found. Building fresh. 11:37:40 PM: 11:37:40 PM: (@netlify/plugin-gatsby onPreBuild completed in 17ms) 11:37:40 PM: 11:37:40 PM: ──────────────────────────────────────────────────────────────── 11:37:40 PM: 2. netlify-plugin-cypress (onPreBuild event) 11:37:40 PM: ──────────────────────────────────────────────────────────────── 11:37:40 PM: 11:37:41 PM: [STARTED] Task without title. 11:37:44 PM: [SUCCESS] Task without title. 11:37:46 PM: [2266:0627/153746.716704:ERROR:zygote_host_impl_linux.cc(263)] Failed to adjust OOM score of renderer with pid 2420: Permission denied (13) 11:37:46 PM: [2420:0627/153746.749095:ERROR:sandbox_linux.cc(377)] InitializeSandbox() called with multiple threads in process gpu-process. 11:37:46 PM: [2420:0627/153746.764711:ERROR:gpu_memory_buffer_support_x11.cc(44)] dri3 extension not supported. 11:37:46 PM: Displaying Cypress info... 11:37:46 PM: Detected no known browsers installed 11:37:46 PM: Proxy Settings: none detected 11:37:46 PM: Environment Variables: 11:37:46 PM: CYPRESS_CACHE_FOLDER: ./node_modules/.cache/CypressBinary 11:37:46 PM: Application Data: /opt/buildhome/.config/cypress/cy/development 11:37:46 PM: Browser Profiles: /opt/buildhome/.config/cypress/cy/development/browsers 11:37:46 PM: Binary Caches: /opt/build/repo/node_modules/.cache/CypressBinary 11:37:46 PM: Cypress Version: 10.2.0 (stable) 11:37:46 PM: System Platform: linux (Ubuntu - 20.04) 11:37:46 PM: System Memory: 32.8 GB free 27.9 GB 11:37:47 PM: 11:37:47 PM: (netlify-plugin-cypress onPreBuild completed in 6.2s) 11:37:47 PM: 11:37:47 PM: ──────────────────────────────────────────────────────────────── 11:37:47 PM: 3. build.command from netlify.toml 11:37:47 PM: ──────────────────────────────────────────────────────────────── 11:37:47 PM: 11:37:47 PM: $ gatsby build 11:37:49 PM: success open and validate gatsby-configs, load plugins - 0.298s 11:37:49 PM: success onPreInit - 0.003s 11:37:49 PM: success initialize cache - 0.107s 11:37:49 PM: success copy gatsby files - 0.044s 11:37:49 PM: success Compiling Gatsby Functions - 0.251s 11:37:49 PM: success onPreBootstrap - 0.259s 11:37:50 PM: success createSchemaCustomization - 0.000s 11:37:50 PM: success Checking for changed pages - 0.000s 11:37:50 PM: success source and transform nodes - 0.154s 11:37:50 PM: info Writing GraphQL type definitions to /opt/build/repo/.cache/schema.gql 11:37:50 PM: success building schema - 0.402s 11:37:50 PM: success createPages - 0.000s 11:37:50 PM: success createPagesStatefully - 0.312s 11:37:50 PM: info Total nodes: 49, SitePage nodes: 26 (use --verbose for breakdown) 11:37:50 PM: success Checking for changed pages - 0.000s 11:37:50 PM: success onPreExtractQueries - 0.000s 11:37:54 PM: success extract queries from components - 3.614s 11:37:54 PM: success write out redirect data - 0.006s 11:37:54 PM: success Build manifest and related icons - 0.468s 11:37:54 PM: success onPostBootstrap - 0.469s 11:37:54 PM: info bootstrap finished - 7.967s 11:37:54 PM: success write out requires - 0.009s 11:38:19 PM: success Building production JavaScript and CSS bundles - 24.472s 11:38:38 PM: <w> [webpack.cache.PackFileCacheStrategy] Skipped not serializable cache item 'mini-css-extract-plugin /opt/build/repo/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[10].oneOf[0].use[1]!/opt/build/repo/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[10].oneOf[0].use[2]!/opt/build/repo/src/components/Footer/Footer.module.css|0|Compilation/modules|/opt/build/repo/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[10].oneOf[0].use[1]!/opt/build/repo/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[10].oneOf[0].use[2]!/opt/build/repo/src/components/Footer/Footer.module.css': No serializer registered for Warning 11:38:38 PM: <w> while serializing webpack/lib/cache/PackFileCacheStrategy.PackContentItems -> webpack/lib/NormalModule -> Array { 1 items } -> webpack/lib/ModuleWarning -> Warning 11:38:38 PM: <w> [webpack.cache.PackFileCacheStrategy] Skipped not serializable cache item 'mini-css-extract-plugin /opt/build/repo/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[10].oneOf[0].use[1]!/opt/build/repo/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[10].oneOf[0].use[2]!/opt/build/repo/src/components/Header/Header.module.css|0|Compilation/modules|/opt/build/repo/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[10].oneOf[0].use[1]!/opt/build/repo/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[10].oneOf[0].use[2]!/opt/build/repo/src/components/Header/Header.module.css': No serializer registered for Warning 11:38:38 PM: <w> while serializing webpack/lib/cache/PackFileCacheStrategy.PackContentItems -> webpack/lib/NormalModule -> Array { 1 items } -> webpack/lib/ModuleWarning -> Warning 11:38:39 PM: <w> [webpack.cache.PackFileCacheStrategy] Skipped not serializable cache item 'Compilation/modules|/opt/build/repo/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[9].oneOf[0].use[0]!/opt/build/repo/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[9].oneOf[0].use[1]!/opt/build/repo/src/components/Footer/Footer.module.css': No serializer registered for Warning 11:38:39 PM: <w> while serializing webpack/lib/cache/PackFileCacheStrategy.PackContentItems -> webpack/lib/NormalModule -> Array { 1 items } -> webpack/lib/ModuleWarning -> Warning 11:38:39 PM: <w> [webpack.cache.PackFileCacheStrategy] Skipped not serializable cache item 'Compilation/modules|/opt/build/repo/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[9].oneOf[0].use[0]!/opt/build/repo/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[9].oneOf[0].use[1]!/opt/build/repo/src/components/Header/Header.module.css': No serializer registered for Warning 11:38:39 PM: <w> while serializing webpack/lib/cache/PackFileCacheStrategy.PackContentItems -> webpack/lib/NormalModule -> Array { 1 items } -> webpack/lib/ModuleWarning -> Warning 11:38:41 PM: success Building HTML renderer - 21.648s 11:38:41 PM: success Execute page configs - 0.024s 11:38:41 PM: success Caching Webpack compilations - 0.000s 11:38:41 PM: success run queries in workers - 0.042s - 26/26 621.26/s 11:38:41 PM: success Merge worker state - 0.001s 11:38:41 PM: success Rewriting compilation hashes - 0.001s 11:38:41 PM: success Writing page-data.json files to public directory - 0.014s - 26/26 1818.92/s 11:38:45 PM: success Building static HTML for pages - 4.353s - 26/26 5.97/s 11:38:45 PM: info [gatsby-plugin-netlify] Creating SSR/DSG redirects... 11:38:45 PM: info [gatsby-plugin-netlify] Created 0 SSR/DSG redirects... 11:38:45 PM: success onPostBuild - 0.011s 11:38:45 PM: 11:38:45 PM: Pages 11:38:45 PM: ┌ src/pages/404.js 11:38:45 PM: │ ├ /404/ 11:38:45 PM: │ └ /404.html 11:38:45 PM: ├ src/pages/about.js 11:38:45 PM: │ └ /about/ 11:38:45 PM: ├ src/pages/accountSuccess.js 11:38:45 PM: │ └ /accountSuccess/ 11:38:45 PM: ├ src/pages/cart.js 11:38:45 PM: │ └ /cart/ 11:38:45 PM: ├ src/pages/faq.js 11:38:45 PM: │ └ /faq/ 11:38:45 PM: ├ src/pages/forgot.js 11:38:45 PM: │ └ /forgot/ 11:38:45 PM: ├ src/pages/how-to-use.js 11:38:45 PM: │ └ /how-to-use/ 11:38:45 PM: ├ src/pages/index.js 11:38:45 PM: │ └ / 11:38:45 PM: ├ src/pages/login.js 11:38:45 PM: │ └ /login/ 11:38:45 PM: ├ src/pages/orderConfirm.js 11:38:45 PM: │ └ /orderConfirm/ 11:38:45 PM: ├ src/pages/search.js 11:38:45 PM: │ └ /search/ 11:38:45 PM: ├ src/pages/shop.js 11:38:45 PM: │ └ /shop/ 11:38:45 PM: ├ src/pages/shopV2.js 11:38:45 PM: │ └ /shopV2/ 11:38:45 PM: ├ src/pages/signup.js 11:38:45 PM: │ └ /signup/ 11:38:45 PM: ├ src/pages/styling.js 11:38:45 PM: │ └ /styling/ 11:38:45 PM: ├ src/pages/support.js 11:38:45 PM: │ └ /support/ 11:38:45 PM: ├ src/pages/account/address.js 11:38:45 PM: │ └ /account/address/ 11:38:45 PM: ├ src/pages/account/favorites.js 11:38:45 PM: │ └ /account/favorites/ 11:38:45 PM: ├ src/pages/account/index.js 11:38:45 PM: │ └ /account/ 11:38:45 PM: ├ src/pages/account/orders.js 11:38:45 PM: │ └ /account/orders/ 11:38:45 PM: ├ src/pages/account/settings.js 11:38:45 PM: │ └ /account/settings/ 11:38:45 PM: ├ src/pages/account/viewed.js 11:38:45 PM: │ └ /account/viewed/ 11:38:45 PM: ├ src/pages/blog/index.js 11:38:45 PM: │ └ /blog/ 11:38:45 PM: ├ src/pages/blog/sample.js 11:38:45 PM: │ └ /blog/sample/ 11:38:45 PM: └ src/pages/product/sample.js 11:38:45 PM: └ /product/sample/ 11:38:45 PM: ╭────────────────────────────────────────────────────────────────────╮ 11:38:45 PM: │ │ 11:38:45 PM: │ (SSG) Generated at build time │ 11:38:45 PM: │ D (DSG) Deferred static generation - page generated at runtime │ 11:38:45 PM: │ ∞ (SSR) Server-side renders at runtime (uses getServerData) │ 11:38:45 PM: │ λ (Function) Gatsby function │ 11:38:45 PM: │ │ 11:38:45 PM: ╰────────────────────────────────────────────────────────────────────╯ 11:38:45 PM: info Done building in 58.825944508 sec 11:38:46 PM: 11:38:46 PM: (build.command completed in 59s) 11:38:46 PM: 11:38:46 PM: ──────────────────────────────────────────────────────────────── 11:38:46 PM: 4. @netlify/plugin-gatsby (onBuild event) 11:38:46 PM: ──────────────────────────────────────────────────────────────── 11:38:46 PM: 11:38:46 PM: Skipping Gatsby Functions and SSR/DSG support 11:38:46 PM: 11:38:46 PM: (@netlify/plugin-gatsby onBuild completed in 9ms) 11:38:46 PM: 11:38:46 PM: ──────────────────────────────────────────────────────────────── 11:38:46 PM: 5. Functions bundling 11:38:46 PM: ──────────────────────────────────────────────────────────────── 11:38:46 PM: 11:38:46 PM: The Netlify Functions setting targets a non-existing directory: netlify/functions 11:38:46 PM: 11:38:46 PM: (Functions bundling completed in 3ms) 11:38:46 PM: 11:38:46 PM: ──────────────────────────────────────────────────────────────── 11:38:46 PM: 6. @netlify/plugin-gatsby (onPostBuild event) 11:38:46 PM: ──────────────────────────────────────────────────────────────── 11:38:46 PM: 11:38:47 PM: Skipping Gatsby Functions and SSR/DSG support 11:38:47 PM: 11:38:47 PM: (@netlify/plugin-gatsby onPostBuild completed in 1.4s) 11:38:47 PM: 11:38:47 PM: ──────────────────────────────────────────────────────────────── 11:38:47 PM: 7. netlify-plugin-cypress (onPostBuild event) 11:38:47 PM: ──────────────────────────────────────────────────────────────── 11:38:47 PM: 11:38:49 PM: [2557:0627/153849.751277:ERROR:zygote_host_impl_linux.cc(263)] Failed to adjust OOM score of renderer with pid 2711: Permission denied (13) 11:38:49 PM: [2711:0627/153849.770005:ERROR:sandbox_linux.cc(377)] InitializeSandbox() called with multiple threads in process gpu-process. 11:38:49 PM: [2711:0627/153849.773016:ERROR:gpu_memory_buffer_support_x11.cc(44)] dri3 extension not supported. 11:38:52 PM: Couldn't find tsconfig.json. tsconfig-paths will be skipped 11:38:52 PM: tput: No value for $TERM and no -T specified 11:38:52 PM: ==================================================================================================== 11:38:52 PM: (Run Starting) 11:38:52 PM: ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ 11:38:52 PM: │ Cypress: 10.2.0 │ 11:38:52 PM: │ Browser: Custom Chromium 90 (headless) │ 11:38:52 PM: │ Node Version: v16.15.1 (/opt/buildhome/.nvm/versions/node/v16.15.1/bin/node) │ 11:38:52 PM: │ Specs: 1 found (basic.cy.js) │ 11:38:52 PM: │ Searched: cypress/e2e/**/*.cy.{js,jsx,ts,tsx} │ 11:38:52 PM: └────────────────────────────────────────────────────────────────────────────────────────────────┘ 11:38:52 PM: ──────────────────────────────────────────────────────────────────────────────────────────────────── 11:38:52 PM: Running: basic.cy.js (1 of 1) 11:38:56 PM: 11:38:56 PM: sample render test 11:38:58 PM: ✓ displays the title text (2517ms) 11:38:58 PM: 1 passing (3s) 11:39:00 PM: (Results) 11:39:00 PM: ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ 11:39:00 PM: │ Tests: 1 │ 11:39:00 PM: │ Passing: 1 │ 11:39:00 PM: │ Failing: 0 │ 11:39:00 PM: │ Pending: 0 │ 11:39:00 PM: │ Skipped: 0 │ 11:39:00 PM: │ Screenshots: 0 │ 11:39:00 PM: │ Video: true │ 11:39:00 PM: │ Duration: 2 seconds │ 11:39:00 PM: │ Spec Ran: basic.cy.js │ 11:39:00 PM: └────────────────────────────────────────────────────────────────────────────────────────────────┘ 11:39:00 PM: (Video) 11:39:00 PM: - Started processing: Compressing to 32 CRF 11:39:01 PM: - Finished processing: /opt/build/repo/cypress/videos/basic.cy.js.mp4 (1 second) 11:39:01 PM: tput: No value for $TERM and no -T specified 11:39:01 PM: ==================================================================================================== 11:39:01 PM: (Run Finished) 11:39:01 PM: Spec Tests Passing Failing Pending Skipped 11:39:01 PM: ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ 11:39:01 PM: Creating deploy upload records 11:39:01 PM: │ ✔ basic.cy.js 00:02 1 1 - - - │ 11:39:01 PM: └────────────────────────────────────────────────────────────────────────────────────────────────┘ 11:39:01 PM: ✔ All specs passed! 00:02 1 1 - - - 11:39:01 PM: 11:39:01 PM: (netlify-plugin-cypress onPostBuild completed in 14s) 11:39:01 PM: 11:39:01 PM: ──────────────────────────────────────────────────────────────── 11:39:01 PM: 8. Deploy site 11:39:01 PM: ──────────────────────────────────────────────────────────────── 11:39:01 PM: 11:39:01 PM: Starting to deploy site from 'public' 11:39:01 PM: Creating deploy tree 11:39:01 PM: 0 new files to upload 11:39:01 PM: 0 new functions to upload 11:39:02 PM: Starting post processing 11:39:02 PM: Incorrect TOML configuration format: Key inputs is already used as table key 11:39:02 PM: Post processing - HTML 11:39:02 PM: Incorrect TOML configuration format: Key inputs is already used as table key 11:39:03 PM: Incorrect TOML configuration format: Key inputs is already used as table key 11:39:03 PM: Post processing - header rules 11:39:03 PM: Incorrect TOML configuration format: Key inputs is already used as table key 11:39:03 PM: Post processing - redirect rules 11:39:03 PM: Incorrect TOML configuration format: Key inputs is already used as table key 11:39:03 PM: Post processing done 11:39:07 PM: Site is live ✨ 11:39:07 PM: Finished waiting for live deploy in 6.137803722s 11:39:07 PM: Site deploy was successfully initiated 11:39:07 PM: 11:39:07 PM: (Deploy site completed in 6.4s) 11:39:07 PM: 11:39:07 PM: ──────────────────────────────────────────────────────────────── 11:39:07 PM: 9. @netlify/plugin-gatsby (onSuccess event) 11:39:07 PM: ──────────────────────────────────────────────────────────────── 11:39:07 PM: 11:39:07 PM: 11:39:07 PM: (@netlify/plugin-gatsby onSuccess completed in 5ms) 11:39:07 PM: 11:39:07 PM: ──────────────────────────────────────────────────────────────── 11:39:07 PM: 10. netlify-plugin-cypress (onSuccess event) 11:39:07 PM: ──────────────────────────────────────────────────────────────── 11:39:07 PM: 11:39:07 PM: 11:39:07 PM: (netlify-plugin-cypress onSuccess completed in 6ms) 11:39:08 PM: 11:39:08 PM: ──────────────────────────────────────────────────────────────── 11:39:08 PM: Netlify Build Complete 11:39:08 PM: ──────────────────────────────────────────────────────────────── 11:39:08 PM: 11:39:08 PM: (Netlify Build completed in 1m 29.4s) 11:39:08 PM: Caching artifacts 11:39:08 PM: Started saving node modules 11:39:08 PM: Finished saving node modules 11:39:08 PM: Started saving build plugins 11:39:08 PM: Finished saving build plugins 11:39:08 PM: Started saving pip cache 11:39:08 PM: Finished saving pip cache 11:39:08 PM: Started saving emacs cask dependencies 11:39:08 PM: Finished saving emacs cask dependencies 11:39:08 PM: Started saving maven dependencies 11:39:08 PM: Finished saving maven dependencies 11:39:08 PM: Started saving boot dependencies 11:39:08 PM: Finished saving boot dependencies 11:39:08 PM: Started saving rust rustup cache 11:39:08 PM: Finished saving rust rustup cache 11:39:08 PM: Started saving go dependencies 11:39:08 PM: Finished saving go dependencies 11:39:10 PM: Build script success 11:39:10 PM: Pushing to repository git@github.com:Lhagawajaw/hymd-baraa 11:40:32 PM: Finished processing build request in 4m30.278982258s
daniperez / CMakeLists.txtCMake scripts including "SuperInclude.cmake" (include CMake macros straight from Github), "Win32CC.cmake" (cross-compilation helpers), "FindWine.cmake" and "jar.cmake" (downloads dependencies from Maven repositories)
arey / Maven Config Github CloudbeesMaven configuration example pom.xml file for working both with GitHub and CloudBees maven repository
hydro0 / Maven2github BashHelps to create Maven repository on the GitHub using bash scripting. Could be useful for your CI system.
ahmedglez / Pweb JsfThis public Github repository contains a school project for a car rental company web application developed using Java, Spring, JavaServer Faces, Maven, and Primefaces. The project aims to provide a user-friendly interface for customers to rent cars and for the company to manage their inventory.
AryamanTewari / Simplilearn Phase2 FlyAwayFlyAway (An Airline Booking Portal). Project 2 DESCRIPTION Project objective: As a Full Stack Developer, design and develop an airline booking portal named as FlyAway. Use the GitHub repository to manage the project artifacts. Background of the problem statement: FlyAway is a ticket-booking portal that lets people book flights on their website. The website needs to have the following features: ● A search form in the homepage to allow entry of travel details, like the date of travel, source, destination, and the number of persons. ● Based on the travel details entered, it will show the available flights with their ticket prices. ● Once a person selects a flight to book, they will be taken to a register page where they must fill in their personal details. In the next page, they are shown the flight details of the flight that they are booking, and the payment is done via a dummy payment gateway. On completion of the payment, they are shown a confirmation page with the details of the booking. For the above features to work, there will be an admin backend with the following features: ● An admin login page where the admin can change the password after login, if he wishes ● A master list of places for source and destination ● A master list of airlines ● A list of flights where each flight has a source, destination, airline, and ticket price The goal of the company is to deliver a high-end quality product as early as possible. The flow and features of the application: ● Plan more than two sprints to complete the application ● Document the flow of the application and prepare a flow chart ● List the core concepts and algorithms being used to complete this application ● Implement the appropriate concepts, such as exceptions, collections, and sorting techniques for source code optimization and increased performance You must use the following: ● Eclipse/IntelliJ: An IDE to code for the application ● Java: A programming language to develop the web pages, databases, and others ● SQL: To create tables for admin, airlines, and other specifics ● Maven: To create a web-enabled Maven project ● Git: To connect and push files from the local system to GitHub ● GitHub: To store the application code and track its versions ● Scrum: An efficient agile framework to deliver the product incrementally ● Search and Sort techniques: Data structures used for the project ● Specification document: Any open-source document or Google Docs The following requirements should be met: ● The source code should be pushed to your GitHub repository. You need to document the steps and write the algorithms in it. ● The submission of your GitHub repository link is mandatory. In order to track your task, you need to share the link of the repository. You can add a section in your document. ● Document the step-by-step process starting from sprint planning to the product release. ● The application should not close, exit, or throw an exception if the user specifies an invalid input. ● You need to submit the final specification document which will include: ● Project and developer details ● Sprints planned and the tasks achieved in them ● Algorithms and flowcharts of the application ● Core concepts used in the project ● Links to the GitHub repository to verify the project completion
Parda11 / Bug FrogeJVM info: Oracle Corporation - 1.8.0_301 - 25.301-b09 java.net.preferIPv4Stack=true Found java version 1.8.0_301 Extracting json Considering minecraft client jar Downloading libraries Considering library cpw.mods:securejarhandler:0.9.46 File exists: Checksum validated. Considering library org.ow2.asm:asm:9.1 File exists: Checksum validated. Considering library org.ow2.asm:asm-commons:9.1 File exists: Checksum validated. Considering library org.ow2.asm:asm-tree:9.1 File exists: Checksum validated. Considering library org.ow2.asm:asm-util:9.1 File exists: Checksum validated. Considering library org.ow2.asm:asm-analysis:9.1 File exists: Checksum validated. Considering library net.minecraftforge:accesstransformers:8.0.4 File exists: Checksum validated. Considering library org.antlr:antlr4-runtime:4.9.1 File exists: Checksum validated. Considering library net.minecraftforge:eventbus:5.0.3 File exists: Checksum validated. Considering library net.minecraftforge:forgespi:4.0.9 File exists: Checksum validated. Considering library net.minecraftforge:coremods:5.0.1 File exists: Checksum validated. Considering library cpw.mods:modlauncher:9.0.7 File exists: Checksum validated. Considering library net.minecraftforge:unsafe:0.2.0 File exists: Checksum validated. Considering library com.electronwill.night-config:core:3.6.3 File exists: Checksum validated. Considering library com.electronwill.night-config:toml:3.6.3 File exists: Checksum validated. Considering library org.apache.maven:maven-artifact:3.6.3 File exists: Checksum validated. Considering library org.apache.commons:commons-lang3:3.8.1 File exists: Checksum validated. Considering library net.jodah:typetools:0.8.3 File exists: Checksum validated. Considering library org.apache.logging.log4j:log4j-api:2.14.1 File exists: Checksum validated. Considering library org.apache.logging.log4j:log4j-core:2.14.1 File exists: Checksum validated. Considering library net.minecrell:terminalconsoleappender:1.2.0 File exists: Checksum validated. Considering library org.jline:jline-reader:3.12.1 File exists: Checksum validated. Considering library org.jline:jline-terminal:3.12.1 File exists: Checksum validated. Considering library net.sf.jopt-simple:jopt-simple:5.0.4 File exists: Checksum validated. Considering library org.openjdk.nashorn:nashorn-core:15.1.1 File exists: Checksum validated. Considering library com.google.guava:guava:21.0 File exists: Checksum validated. Considering library com.google.code.gson:gson:2.8.0 File exists: Checksum validated. Considering library cpw.mods:bootstraplauncher:0.1.17 File exists: Checksum validated. Considering library net.minecraftforge:fmlloader:1.17.1-37.0.58 File exists: Checksum validated. Considering library com.github.jponge:lzma-java:1.3 File exists: Checksum validated. Considering library com.google.code.findbugs:jsr305:3.0.2 File exists: Checksum validated. Considering library com.google.code.gson:gson:2.8.7 File exists: Checksum validated. Considering library com.google.errorprone:error_prone_annotations:2.1.3 File exists: Checksum validated. Considering library com.google.errorprone:error_prone_annotations:2.3.4 File exists: Checksum validated. Considering library com.google.guava:failureaccess:1.0.1 File exists: Checksum validated. Considering library com.google.guava:guava:20.0 File exists: Checksum validated. Considering library com.google.guava:guava:25.1-jre File exists: Checksum validated. Considering library com.google.guava:guava:30.1-android File exists: Checksum validated. Considering library com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava File exists: Checksum validated. Considering library com.google.j2objc:j2objc-annotations:1.1 File exists: Checksum validated. Considering library com.google.j2objc:j2objc-annotations:1.3 File exists: Checksum validated. Considering library com.google.jimfs:jimfs:1.2 File exists: Checksum validated. Considering library com.nothome:javaxdelta:2.0.1 File exists: Checksum validated. Considering library com.opencsv:opencsv:4.4 File exists: Checksum validated. Considering library commons-beanutils:commons-beanutils:1.9.3 File exists: Checksum validated. Considering library commons-collections:commons-collections:3.2.2 File exists: Checksum validated. Considering library commons-io:commons-io:2.4 File exists: Checksum validated. Considering library commons-logging:commons-logging:1.2 File exists: Checksum validated. Considering library de.oceanlabs.mcp:mcp_config:1.17.1-20210706.113038@zip File exists: Checksum validated. Considering library de.siegmar:fastcsv:2.0.0 File exists: Checksum validated. Considering library net.md-5:SpecialSource:1.10.0 File exists: Checksum validated. Considering library net.minecraftforge.lex:vignette:0.2.0.16 File exists: Checksum validated. Considering library net.minecraftforge:binarypatcher:1.0.12 File exists: Checksum validated. Considering library net.minecraftforge:fmlcore:1.17.1-37.0.58 File exists: Checksum validated. Considering library net.minecraftforge:fmlloader:1.17.1-37.0.58 File exists: Checksum validated. Considering library net.minecraftforge:forge:1.17.1-37.0.58:universal File exists: Checksum validated. Considering library net.minecraftforge:installertools:1.2.7 File exists: Checksum validated. Considering library net.minecraftforge:jarsplitter:1.1.4 File exists: Checksum validated. Considering library net.minecraftforge:javafmllanguage:1.17.1-37.0.58 File exists: Checksum validated. Considering library net.minecraftforge:mclanguage:1.17.1-37.0.58 File exists: Checksum validated. Considering library net.minecraftforge:srgutils:0.4.3 File exists: Checksum validated. Considering library net.sf.jopt-simple:jopt-simple:5.0.4 File exists: Checksum validated. Considering library org.apache.commons:commons-collections4:4.2 File exists: Checksum validated. Considering library org.apache.commons:commons-lang3:3.8.1 File exists: Checksum validated. Considering library org.apache.commons:commons-text:1.3 File exists: Checksum validated. Considering library org.cadixdev:atlas:0.2.2 File exists: Checksum validated. Considering library org.cadixdev:bombe-asm:0.3.5 File exists: Checksum validated. Considering library org.cadixdev:bombe:0.3.5 File exists: Checksum validated. Considering library org.cadixdev:lorenz-asm:0.5.7 File exists: Checksum validated. Considering library org.cadixdev:lorenz:0.5.7 File exists: Checksum validated. Considering library org.checkerframework:checker-compat-qual:2.5.5 File exists: Checksum validated. Considering library org.checkerframework:checker-qual:2.0.0 File exists: Checksum validated. Considering library org.codehaus.mojo:animal-sniffer-annotations:1.14 File exists: Checksum validated. Considering library org.ow2.asm:asm-analysis:9.1 File exists: Checksum validated. Considering library org.ow2.asm:asm-commons:9.1 File exists: Checksum validated. Considering library org.ow2.asm:asm-tree:9.1 File exists: Checksum validated. Considering library org.ow2.asm:asm:9.1 File exists: Checksum validated. Considering library trove:trove:1.0.2 File exists: Checksum validated. Created Temporary Directory: C:\Users\USER-PC\AppData\Local\Temp\forge_installer8166668735222705055 Extracting: /data/client.lzma Building Processors =============================================================================== MainClass: net.minecraftforge.installertools.ConsoleTool Classpath: C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\minecraftforge\installertools\1.2.7\installertools-1.2.7.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\md-5\SpecialSource\1.10.0\SpecialSource-1.10.0.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\5.0.4\jopt-simple-5.0.4.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\com\google\code\gson\gson\2.8.7\gson-2.8.7.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\de\siegmar\fastcsv\2.0.0\fastcsv-2.0.0.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\minecraftforge\srgutils\0.4.3\srgutils-0.4.3.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-commons\9.1\asm-commons-9.1.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\com\google\guava\guava\20.0\guava-20.0.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\com\opencsv\opencsv\4.4\opencsv-4.4.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-analysis\9.1\asm-analysis-9.1.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-tree\9.1\asm-tree-9.1.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm\9.1\asm-9.1.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-text\1.3\commons-text-1.3.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-lang3\3.8.1\commons-lang3-3.8.1.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\commons-beanutils\commons-beanutils\1.9.3\commons-beanutils-1.9.3.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-collections4\4.2\commons-collections4-4.2.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\commons-logging\commons-logging\1.2\commons-logging-1.2.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar Args: --task, MCP_DATA, --input, C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\de\oceanlabs\mcp\mcp_config\1.17.1-20210706.113038\mcp_config-1.17.1-20210706.113038.zip, --output, C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\de\oceanlabs\mcp\mcp_config\1.17.1-20210706.113038\mcp_config-1.17.1-20210706.113038-mappings.txt, --key, mappings Task: MCP_DATA Input: C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\de\oceanlabs\mcp\mcp_config\1.17.1-20210706.113038\mcp_config-1.17.1-20210706.113038.zip Output: C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\de\oceanlabs\mcp\mcp_config\1.17.1-20210706.113038\mcp_config-1.17.1-20210706.113038-mappings.txt Key: mappings Extracting: config/joined.tsrg =============================================================================== MainClass: net.minecraftforge.installertools.ConsoleTool Classpath: C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\minecraftforge\installertools\1.2.7\installertools-1.2.7.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\md-5\SpecialSource\1.10.0\SpecialSource-1.10.0.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\5.0.4\jopt-simple-5.0.4.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\com\google\code\gson\gson\2.8.7\gson-2.8.7.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\de\siegmar\fastcsv\2.0.0\fastcsv-2.0.0.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\minecraftforge\srgutils\0.4.3\srgutils-0.4.3.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-commons\9.1\asm-commons-9.1.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\com\google\guava\guava\20.0\guava-20.0.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\com\opencsv\opencsv\4.4\opencsv-4.4.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-analysis\9.1\asm-analysis-9.1.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-tree\9.1\asm-tree-9.1.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm\9.1\asm-9.1.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-text\1.3\commons-text-1.3.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-lang3\3.8.1\commons-lang3-3.8.1.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\commons-beanutils\commons-beanutils\1.9.3\commons-beanutils-1.9.3.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-collections4\4.2\commons-collections4-4.2.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\commons-logging\commons-logging\1.2\commons-logging-1.2.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar Args: --task, DOWNLOAD_MOJMAPS, --version, 1.17.1, --side, client, --output, C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\minecraft\client\1.17.1-20210706.113038\client-1.17.1-20210706.113038-mappings.txt Task: DOWNLOAD_MOJMAPS MC Version: 1.17.1 Side: client Output: C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\minecraft\client\1.17.1-20210706.113038\client-1.17.1-20210706.113038-mappings.txt Downloaded Mojang mappings for 1.17.1 =============================================================================== MainClass: net.minecraftforge.installertools.ConsoleTool Classpath: C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\minecraftforge\installertools\1.2.7\installertools-1.2.7.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\md-5\SpecialSource\1.10.0\SpecialSource-1.10.0.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\5.0.4\jopt-simple-5.0.4.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\com\google\code\gson\gson\2.8.7\gson-2.8.7.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\de\siegmar\fastcsv\2.0.0\fastcsv-2.0.0.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\minecraftforge\srgutils\0.4.3\srgutils-0.4.3.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-commons\9.1\asm-commons-9.1.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\com\google\guava\guava\20.0\guava-20.0.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\com\opencsv\opencsv\4.4\opencsv-4.4.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-analysis\9.1\asm-analysis-9.1.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-tree\9.1\asm-tree-9.1.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm\9.1\asm-9.1.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-text\1.3\commons-text-1.3.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-lang3\3.8.1\commons-lang3-3.8.1.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\commons-beanutils\commons-beanutils\1.9.3\commons-beanutils-1.9.3.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-collections4\4.2\commons-collections4-4.2.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\commons-logging\commons-logging\1.2\commons-logging-1.2.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar Args: --task, MERGE_MAPPING, --left, C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\de\oceanlabs\mcp\mcp_config\1.17.1-20210706.113038\mcp_config-1.17.1-20210706.113038-mappings.txt, --right, C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\minecraft\client\1.17.1-20210706.113038\client-1.17.1-20210706.113038-mappings.txt, --output, C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\de\oceanlabs\mcp\mcp_config\1.17.1-20210706.113038\mcp_config-1.17.1-20210706.113038-mappings-merged.txt, --classes, --reverse-right Task: MERGE_MAPPING Left: C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\de\oceanlabs\mcp\mcp_config\1.17.1-20210706.113038\mcp_config-1.17.1-20210706.113038-mappings.txt Reversed=false null Right: C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\minecraft\client\1.17.1-20210706.113038\client-1.17.1-20210706.113038-mappings.txt Reversed=true null Classes: true Fields: false Methods: false Params: false Output: C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\de\oceanlabs\mcp\mcp_config\1.17.1-20210706.113038\mcp_config-1.17.1-20210706.113038-mappings-merged.txt =============================================================================== Cache: C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\minecraft\client\1.17.1-20210706.113038\client-1.17.1-20210706.113038-slim.jar Validated: b8de6b6dc0fc88232d974bdaaf085c56145277b1 C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\minecraft\client\1.17.1-20210706.113038\client-1.17.1-20210706.113038-extra.jar Validated: 483cfeb6029f2d180f740af4ea7ecb3613182772 Cache Hit! =============================================================================== MainClass: org.cadixdev.vignette.VignetteMain Classpath: C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\minecraftforge\lex\vignette\0.2.0.16\vignette-0.2.0.16.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\cadixdev\atlas\0.2.2\atlas-0.2.2.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\cadixdev\lorenz-asm\0.5.7\lorenz-asm-0.5.7.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\cadixdev\lorenz\0.5.7\lorenz-0.5.7.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\5.0.4\jopt-simple-5.0.4.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\cadixdev\bombe-asm\0.3.5\bombe-asm-0.3.5.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-commons\9.1\asm-commons-9.1.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\com\google\jimfs\jimfs\1.2\jimfs-1.2.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\cadixdev\bombe\0.3.5\bombe-0.3.5.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-analysis\9.1\asm-analysis-9.1.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-tree\9.1\asm-tree-9.1.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm\9.1\asm-9.1.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\com\google\guava\guava\30.1-android\guava-30.1-android.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\com\google\guava\failureaccess\1.0.1\failureaccess-1.0.1.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\checkerframework\checker-compat-qual\2.5.5\checker-compat-qual-2.5.5.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\com\google\errorprone\error_prone_annotations\2.3.4\error_prone_annotations-2.3.4.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\com\google\j2objc\j2objc-annotations\1.3\j2objc-annotations-1.3.jar Args: --jar-in, C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\minecraft\client\1.17.1-20210706.113038\client-1.17.1-20210706.113038-slim.jar, --jar-out, C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\minecraft\client\1.17.1-20210706.113038\client-1.17.1-20210706.113038-srg.jar, --mapping-format, tsrg2, --mappings, C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\de\oceanlabs\mcp\mcp_config\1.17.1-20210706.113038\mcp_config-1.17.1-20210706.113038-mappings-merged.txt, --create-inits, --fix-param-annotations, --fernflower-meta Input: C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\minecraft\client\1.17.1-20210706.113038\client-1.17.1-20210706.113038-slim.jar Output: C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\minecraft\client\1.17.1-20210706.113038\client-1.17.1-20210706.113038-srg.jar Format: tsrg2 Mappings: C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\de\oceanlabs\mcp\mcp_config\1.17.1-20210706.113038\mcp_config-1.17.1-20210706.113038-mappings-merged.txt Constructors Parameter Annotations Found extra RuntimeVisibleParameterAnnotations entries in <init>(Lnet/minecraft/world/entity/animal/Fox;Ljava/lang/Class;ZZLjava/util/function/Predicate;)V in net/minecraft/world/entity/animal/Fox$DefendTrustedTargetGoal: removing 1 Found extra RuntimeVisibleParameterAnnotations entries in <init>(Lnet/minecraft/server/ServerFunctionManager;Lnet/minecraft/server/ServerFunctionManager$TraceCallbacks;)V in net/minecraft/server/ServerFunctionManager$ExecutionContext: removing 1 Found extra RuntimeVisibleParameterAnnotations entries in <init>(Ljava/lang/String;ILjava/lang/String;CILjava/lang/Integer;)V in net/minecraft/ChatFormatting: removing 2 Found extra RuntimeVisibleParameterAnnotations entries in <init>(Ljava/lang/String;ILjava/lang/String;CZILjava/lang/Integer;)V in net/minecraft/ChatFormatting: removing 2 Found extra RuntimeVisibleParameterAnnotations entries in <init>(Lnet/minecraft/client/renderer/chunk/ChunkRenderDispatcher$RenderChunk;DLnet/minecraft/client/renderer/chunk/RenderChunkRegion;)V in net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$RenderChunk$RebuildTask: removing 1 Found extra RuntimeVisibleParameterAnnotations entries in <init>(Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;Ljava/util/List;ILnet/minecraft/client/renderer/texture/TextureAtlasSprite$InterpolationData;)V in net/minecraft/client/renderer/texture/TextureAtlasSprite$AnimatedTexture: removing 1 Found extra RuntimeVisibleParameterAnnotations entries in <init>(Lnet/minecraft/client/gui/screens/worldselection/EditGameRulesScreen;Ljava/util/List;)V in net/minecraft/client/gui/screens/worldselection/EditGameRulesScreen$RuleEntry: removing 1 Found extra RuntimeVisibleParameterAnnotations entries in <init>(Lnet/minecraft/client/gui/screens/worldselection/EditGameRulesScreen;Ljava/util/List;Lnet/minecraft/network/chat/Component;)V in net/minecraft/client/gui/screens/worldselection/EditGameRulesScreen$GameRuleEntry: removing 1 Processing Complete =============================================================================== MainClass: net.minecraftforge.binarypatcher.ConsoleTool Classpath: C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\minecraftforge\binarypatcher\1.0.12\binarypatcher-1.0.12.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\commons-io\commons-io\2.4\commons-io-2.4.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\com\google\guava\guava\25.1-jre\guava-25.1-jre.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\5.0.4\jopt-simple-5.0.4.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\com\github\jponge\lzma-java\1.3\lzma-java-1.3.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\com\nothome\javaxdelta\2.0.1\javaxdelta-2.0.1.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\checkerframework\checker-qual\2.0.0\checker-qual-2.0.0.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\com\google\errorprone\error_prone_annotations\2.1.3\error_prone_annotations-2.1.3.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\com\google\j2objc\j2objc-annotations\1.1\j2objc-annotations-1.1.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\org\codehaus\mojo\animal-sniffer-annotations\1.14\animal-sniffer-annotations-1.14.jar C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\trove\trove\1.0.2\trove-1.0.2.jar Args: --clean, C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\minecraft\client\1.17.1-20210706.113038\client-1.17.1-20210706.113038-srg.jar, --output, C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\minecraftforge\forge\1.17.1-37.0.58\forge-1.17.1-37.0.58-client.jar, --apply, C:\Users\USER-PC\AppData\Local\Temp\forge_installer8166668735222705055\data\client.lzma Applying: Clean: C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\minecraft\client\1.17.1-20210706.113038\client-1.17.1-20210706.113038-srg.jar Output: C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\minecraftforge\forge\1.17.1-37.0.58\forge-1.17.1-37.0.58-client.jar KeepData: false Unpatched: false Patches: C:\Users\USER-PC\AppData\Local\Temp\forge_installer8166668735222705055\data\client.lzma Loading patches file: C:\Users\USER-PC\AppData\Local\Temp\forge_installer8166668735222705055\data\client.lzma Reading patch com.mojang.blaze3d.pipeline.RenderTarget.binpatch Checksum: 8f3f6c4b Exists: true Reading patch com.mojang.blaze3d.platform.GlStateManager$BlendState.binpatch Checksum: 6cbbfe90 Exists: true Reading patch com.mojang.blaze3d.platform.GlStateManager$BooleanState.binpatch Checksum: cb7ab7c3 Exists: true Reading patch com.mojang.blaze3d.platform.GlStateManager$ColorLogicState.binpatch Checksum: 2780f447 Exists: true Reading patch com.mojang.blaze3d.platform.GlStateManager$ColorMask.binpatch Checksum: 1f2a9fd5 Exists: true Reading patch com.mojang.blaze3d.platform.GlStateManager$CullState.binpatch Checksum: 4b92ec43 Exists: true Reading patch com.mojang.blaze3d.platform.GlStateManager$DepthState.binpatch Checksum: 5a09f3dc Exists: true Reading patch com.mojang.blaze3d.platform.GlStateManager$DestFactor.binpatch Checksum: bd8087b Exists: true Reading patch com.mojang.blaze3d.platform.GlStateManager$LogicOp.binpatch Checksum: ca78b1af Exists: true Reading patch com.mojang.blaze3d.platform.GlStateManager$PolygonOffsetState.binpatch Checksum: d6d40128 Exists: true Reading patch com.mojang.blaze3d.platform.GlStateManager$ScissorState.binpatch Checksum: 2d7eeaeb Exists: true Reading patch com.mojang.blaze3d.platform.GlStateManager$SourceFactor.binpatch Checksum: 5a6b1bfb Exists: true Reading patch com.mojang.blaze3d.platform.GlStateManager$StencilFunc.binpatch Checksum: 655d9abd Exists: true Reading patch com.mojang.blaze3d.platform.GlStateManager$StencilState.binpatch Checksum: 651c00ac Exists: true Reading patch com.mojang.blaze3d.platform.GlStateManager$TextureState.binpatch Checksum: 556e9542 Exists: true Reading patch com.mojang.blaze3d.platform.GlStateManager$Viewport.binpatch Checksum: 46e3d556 Exists: true Reading patch com.mojang.blaze3d.platform.GlStateManager.binpatch Checksum: 206dab28 Exists: true Reading patch com.mojang.blaze3d.platform.Window$WindowInitFailed.binpatch Checksum: 7e1d9170 Exists: true Reading patch com.mojang.blaze3d.platform.Window.binpatch Checksum: 690694d9 Exists: true Reading patch com.mojang.blaze3d.vertex.BufferBuilder$1.binpatch Checksum: 5fda1e Exists: true Reading patch com.mojang.blaze3d.vertex.BufferBuilder$DrawState.binpatch Checksum: ed3a207e Exists: true Reading patch com.mojang.blaze3d.vertex.BufferBuilder$SortState.binpatch Checksum: 201738a6 Exists: true Reading patch com.mojang.blaze3d.vertex.BufferBuilder.binpatch Checksum: 6efa401b Exists: true Reading patch com.mojang.blaze3d.vertex.VertexConsumer.binpatch Checksum: 920a3efc Exists: true Reading patch com.mojang.blaze3d.vertex.VertexFormat$1.binpatch Checksum: 8e4900e8 Exists: true Reading patch com.mojang.blaze3d.vertex.VertexFormat$IndexType.binpatch Checksum: 864fb259 Exists: true Reading patch com.mojang.blaze3d.vertex.VertexFormat$Mode.binpatch Checksum: 1f7e22f9 Exists: true Reading patch com.mojang.blaze3d.vertex.VertexFormat.binpatch Checksum: 181519e3 Exists: true Reading patch com.mojang.blaze3d.vertex.VertexFormatElement$Type.binpatch Checksum: 8f5a1ee5 Exists: true Reading patch com.mojang.blaze3d.vertex.VertexFormatElement$Usage$ClearState.binpatch Checksum: 46b9819f Exists: true Reading patch com.mojang.blaze3d.vertex.VertexFormatElement$Usage$SetupState.binpatch Checksum: cd3982cd Exists: true Reading patch com.mojang.blaze3d.vertex.VertexFormatElement$Usage.binpatch Checksum: 3abe08a1 Exists: true Reading patch com.mojang.blaze3d.vertex.VertexFormatElement.binpatch Checksum: b7ee9aee Exists: true Reading patch com.mojang.math.Matrix3f.binpatch Checksum: 23afa4ec Exists: true Reading patch com.mojang.math.Matrix4f.binpatch Checksum: 77ad308e Exists: true Reading patch com.mojang.math.Transformation.binpatch Checksum: 6ff206d8 Exists: true Reading patch com.mojang.math.Vector3f.binpatch Checksum: 179df1cf Exists: true Reading patch com.mojang.math.Vector4f.binpatch Checksum: 8ca56d31 Exists: true Reading patch com.mojang.realmsclient.gui.screens.RealmsGenericErrorScreen.binpatch Checksum: 1de1b50e Exists: true Reading patch net.minecraft.CrashReport.binpatch Checksum: 7fa52623 Exists: true Reading patch net.minecraft.CrashReportCategory$Entry.binpatch Checksum: 8affa101 Exists: true Reading patch net.minecraft.CrashReportCategory.binpatch Checksum: 266ad5e2 Exists: true Reading patch net.minecraft.SharedConstants.binpatch Checksum: 15d17650 Exists: true Reading patch net.minecraft.Util$1.binpatch Checksum: aca18af Exists: true Reading patch net.minecraft.Util$2.binpatch Checksum: 0 Exists: false Reading patch net.minecraft.Util$3.binpatch Checksum: ffdfdb49 Exists: true Reading patch net.minecraft.Util$4.binpatch Checksum: 7a779c78 Exists: true Reading patch net.minecraft.Util$5.binpatch Checksum: 1f40648b Exists: true Reading patch net.minecraft.Util$6.binpatch Checksum: 90c75f57 Exists: true Reading patch net.minecraft.Util$7.binpatch Checksum: fb2dd34a Exists: true Reading patch net.minecraft.Util$8.binpatch Checksum: d8acd9b4 Exists: true Reading patch net.minecraft.Util$9.binpatch Checksum: 6f911bed Exists: true Reading patch net.minecraft.Util$IdentityStrategy.binpatch Checksum: c125b0d2 Exists: true Reading patch net.minecraft.Util$OS$1.binpatch Checksum: b356a333 Exists: true Reading patch net.minecraft.Util$OS$2.binpatch Checksum: e00c961e Exists: true Reading patch net.minecraft.Util$OS.binpatch Checksum: 5df440af Exists: true Reading patch net.minecraft.Util.binpatch Checksum: 5303977e Exists: true Reading patch net.minecraft.advancements.Advancement$Builder.binpatch Checksum: 942a3059 Exists: true Reading patch net.minecraft.advancements.Advancement.binpatch Checksum: b7800be0 Exists: true Reading patch net.minecraft.advancements.AdvancementList$Listener.binpatch Checksum: febd6078 Exists: true Reading patch net.minecraft.advancements.AdvancementList.binpatch Checksum: 1265bab1 Exists: true Reading patch net.minecraft.advancements.AdvancementRewards$Builder.binpatch Checksum: c83bdd63 Exists: true Reading patch net.minecraft.advancements.AdvancementRewards.binpatch Checksum: 90b4b0c5 Exists: true Reading patch net.minecraft.advancements.critereon.ItemPredicate$Builder.binpatch Checksum: 13f6d38c Exists: true Reading patch net.minecraft.advancements.critereon.ItemPredicate.binpatch Checksum: abf58349 Exists: true Reading patch net.minecraft.client.Camera$NearPlane.binpatch Checksum: 565f5c60 Exists: true Reading patch net.minecraft.client.Camera.binpatch Checksum: b2f67ded Exists: true Reading patch net.minecraft.client.ClientBrandRetriever.binpatch Checksum: a2f2826a Exists: true Reading patch net.minecraft.client.KeyMapping.binpatch Checksum: ff185f76 Exists: true Reading patch net.minecraft.client.KeyboardHandler$1.binpatch Checksum: 27cdc3b6 Exists: true Reading patch net.minecraft.client.KeyboardHandler.binpatch Checksum: 5af5db71 Exists: true Reading patch net.minecraft.client.Minecraft$1.binpatch Checksum: 870ac6a2 Exists: true Reading patch net.minecraft.client.Minecraft$ChatStatus$1.binpatch Checksum: 7cc9b899 Exists: true Reading patch net.minecraft.client.Minecraft$ChatStatus$2.binpatch Checksum: 8e79b8ab Exists: true Reading patch net.minecraft.client.Minecraft$ChatStatus$3.binpatch Checksum: a772b8d6 Exists: true Reading patch net.minecraft.client.Minecraft$ChatStatus$4.binpatch Checksum: afecb8e0 Exists: true Reading patch net.minecraft.client.Minecraft$ChatStatus.binpatch Checksum: 4fafe55a Exists: true Reading patch net.minecraft.client.Minecraft$ExperimentalDialogType.binpatch Checksum: cf0e6aed Exists: true Reading patch net.minecraft.client.Minecraft$ServerStem.binpatch Checksum: 3e0f8923 Exists: true Reading patch net.minecraft.client.Minecraft.binpatch Checksum: 8e33b54 Exists: true Reading patch net.minecraft.client.MouseHandler.binpatch Checksum: 52bd3e16 Exists: true Reading patch net.minecraft.client.Options$1.binpatch Checksum: d7ef802a Exists: true Reading patch net.minecraft.client.Options$2.binpatch Checksum: 60fbace Exists: true Reading patch net.minecraft.client.Options$3.binpatch Checksum: ce3a3a99 Exists: true Reading patch net.minecraft.client.Options$4.binpatch Checksum: cbb7a8f1 Exists: true Reading patch net.minecraft.client.Options$FieldAccess.binpatch Checksum: 6f483eb4 Exists: true Reading patch net.minecraft.client.Options.binpatch Checksum: 116f951d Exists: true Reading patch net.minecraft.client.Screenshot.binpatch Checksum: b37a803 Exists: true Reading patch net.minecraft.client.ToggleKeyMapping.binpatch Checksum: 73ca44eb Exists: true Reading patch net.minecraft.client.User$Type.binpatch Checksum: ef0a439d Exists: true Reading patch net.minecraft.client.User.binpatch Checksum: 3d7d1eb2 Exists: true Reading patch net.minecraft.client.color.block.BlockColors.binpatch Checksum: 837be8d1 Exists: true Reading patch net.minecraft.client.color.item.ItemColors.binpatch Checksum: 1e96dcb9 Exists: true Reading patch net.minecraft.client.gui.Gui$HeartType.binpatch Checksum: 486191da Exists: true Reading patch net.minecraft.client.gui.Gui.binpatch Checksum: 9cab203a Exists: true Reading patch net.minecraft.client.gui.MapRenderer$MapInstance.binpatch Checksum: 10a752a9 Exists: true Reading patch net.minecraft.client.gui.MapRenderer.binpatch Checksum: c88c0d08 Exists: true Reading patch net.minecraft.client.gui.components.AbstractSelectionList$Entry.binpatch Checksum: ed26be71 Exists: true Reading patch net.minecraft.client.gui.components.AbstractSelectionList$SelectionDirection.binpatch Checksum: af469f93 Exists: true Reading patch net.minecraft.client.gui.components.AbstractSelectionList$TrackedList.binpatch Checksum: 49f69fff Exists: true Reading patch net.minecraft.client.gui.components.AbstractSelectionList.binpatch Checksum: 2ab5db75 Exists: true Reading patch net.minecraft.client.gui.components.AbstractWidget.binpatch Checksum: e8c233c7 Exists: true Reading patch net.minecraft.client.gui.components.BossHealthOverlay$1.binpatch Checksum: 65efbef6 Exists: true Reading patch net.minecraft.client.gui.components.BossHealthOverlay.binpatch Checksum: ad260478 Exists: true Reading patch net.minecraft.client.gui.components.DebugScreenOverlay$1.binpatch Checksum: 5909c1c5 Exists: true Reading patch net.minecraft.client.gui.components.DebugScreenOverlay.binpatch Checksum: 4c931f3e Exists: true Reading patch net.minecraft.client.gui.screens.DeathScreen.binpatch Checksum: deeafafc Exists: true Reading patch net.minecraft.client.gui.screens.LanguageSelectScreen$LanguageSelectionList$Entry.binpatch Checksum: f823a775 Exists: true Reading patch net.minecraft.client.gui.screens.LanguageSelectScreen$LanguageSelectionList.binpatch Checksum: 467a46cc Exists: true Reading patch net.minecraft.client.gui.screens.LanguageSelectScreen.binpatch Checksum: a3ee977a Exists: true Reading patch net.minecraft.client.gui.screens.LoadingOverlay$LogoTexture.binpatch Checksum: 69233ce4 Exists: true Reading patch net.minecraft.client.gui.screens.LoadingOverlay.binpatch Checksum: 3196d576 Exists: true Reading patch net.minecraft.client.gui.screens.MenuScreens$ScreenConstructor.binpatch Checksum: 9bbe50e1 Exists: true Reading patch net.minecraft.client.gui.screens.MenuScreens.binpatch Checksum: 78926b5e Exists: true Reading patch net.minecraft.client.gui.screens.OptionsScreen.binpatch Checksum: d361303c Exists: true Reading patch net.minecraft.client.gui.screens.Screen$NarratableSearchResult.binpatch Checksum: 92be4176 Exists: true Reading patch net.minecraft.client.gui.screens.Screen.binpatch Checksum: 298a30b3 Exists: true Reading patch net.minecraft.client.gui.screens.TitleScreen$1.binpatch Checksum: ee4bd107 Exists: true Reading patch net.minecraft.client.gui.screens.TitleScreen.binpatch Checksum: e7e89b78 Exists: true Reading patch net.minecraft.client.gui.screens.advancements.AdvancementTab.binpatch Checksum: 21ff095a Exists: true Reading patch net.minecraft.client.gui.screens.advancements.AdvancementTabType$1.binpatch Checksum: 514cd7ea Exists: true Reading patch net.minecraft.client.gui.screens.advancements.AdvancementTabType.binpatch Checksum: 6876f30e Exists: true Reading patch net.minecraft.client.gui.screens.advancements.AdvancementsScreen.binpatch Checksum: 65d93c22 Exists: true Reading patch net.minecraft.client.gui.screens.controls.ControlList$CategoryEntry$1.binpatch Checksum: a28f4d51 Exists: true Reading patch net.minecraft.client.gui.screens.controls.ControlList$CategoryEntry.binpatch Checksum: 548c5b65 Exists: true Reading patch net.minecraft.client.gui.screens.controls.ControlList$Entry.binpatch Checksum: f4cfea14 Exists: true Reading patch net.minecraft.client.gui.screens.controls.ControlList$KeyEntry$1.binpatch Checksum: c9e0cb9f Exists: true Reading patch net.minecraft.client.gui.screens.controls.ControlList$KeyEntry$2.binpatch Checksum: 7c356fe5 Exists: true Reading patch net.minecraft.client.gui.screens.controls.ControlList$KeyEntry.binpatch Checksum: d82121eb Exists: true Reading patch net.minecraft.client.gui.screens.controls.ControlList.binpatch Checksum: 9916048a Exists: true Reading patch net.minecraft.client.gui.screens.controls.ControlsScreen.binpatch Checksum: 9eca5d79 Exists: true Reading patch net.minecraft.client.gui.screens.inventory.AbstractContainerScreen.binpatch Checksum: 791371d4 Exists: true Reading patch net.minecraft.client.gui.screens.inventory.CreativeModeInventoryScreen$CustomCreativeSlot.binpatch Checksum: acf66ba4 Exists: true Reading patch net.minecraft.client.gui.screens.inventory.CreativeModeInventoryScreen$ItemPickerMenu.binpatch Checksum: d3f9a1ed Exists: true Reading patch net.minecraft.client.gui.screens.inventory.CreativeModeInventoryScreen$SlotWrapper.binpatch Checksum: 1cbfb097 Exists: true Reading patch net.minecraft.client.gui.screens.inventory.CreativeModeInventoryScreen.binpatch Checksum: b112e9b9 Exists: true Reading patch net.minecraft.client.gui.screens.inventory.EffectRenderingInventoryScreen.binpatch Checksum: 620c6a40 Exists: true Reading patch net.minecraft.client.gui.screens.inventory.EnchantmentScreen.binpatch Checksum: 11bff49e Exists: true Reading patch net.minecraft.client.gui.screens.multiplayer.JoinMultiplayerScreen.binpatch Checksum: 7003d498 Exists: true Reading patch net.minecraft.client.gui.screens.multiplayer.ServerSelectionList$Entry.binpatch Checksum: 8727f112 Exists: true Reading patch net.minecraft.client.gui.screens.multiplayer.ServerSelectionList$LANHeader.binpatch Checksum: fc0ce2a9 Exists: true Reading patch net.minecraft.client.gui.screens.multiplayer.ServerSelectionList$NetworkServerEntry.binpatch Checksum: 7703a9ba Exists: true Reading patch net.minecraft.client.gui.screens.multiplayer.ServerSelectionList$OnlineServerEntry.binpatch Checksum: e60e9136 Exists: true Reading patch net.minecraft.client.gui.screens.multiplayer.ServerSelectionList.binpatch Checksum: 983dd759 Exists: true Reading patch net.minecraft.client.gui.screens.packs.PackSelectionModel$Entry.binpatch Checksum: 1bb75b06 Exists: true Reading patch net.minecraft.client.gui.screens.packs.PackSelectionModel$EntryBase.binpatch Checksum: ebffd8bb Exists: true Reading patch net.minecraft.client.gui.screens.packs.PackSelectionModel$SelectedPackEntry.binpatch Checksum: 1b746ca5 Exists: true Reading patch net.minecraft.client.gui.screens.packs.PackSelectionModel$UnselectedPackEntry.binpatch Checksum: c211712d Exists: true Reading patch net.minecraft.client.gui.screens.packs.PackSelectionModel.binpatch Checksum: 60579288 Exists: true Reading patch net.minecraft.client.gui.screens.packs.PackSelectionScreen$1.binpatch Checksum: f7532412 Exists: true Reading patch net.minecraft.client.gui.screens.packs.PackSelectionScreen$Watcher.binpatch Checksum: f32d5ef3 Exists: true Reading patch net.minecraft.client.gui.screens.packs.PackSelectionScreen.binpatch Checksum: 74d0f112 Exists: true Reading patch net.minecraft.client.gui.screens.recipebook.RecipeBookComponent.binpatch Checksum: 15ab7c53 Exists: true Reading patch net.minecraft.client.gui.screens.worldselection.CreateWorldScreen$1.binpatch Checksum: 62153186 Exists: true Reading patch net.minecraft.client.gui.screens.worldselection.CreateWorldScreen$OperationFailedException.binpatch Checksum: 8e1aba9a Exists: true Reading patch net.minecraft.client.gui.screens.worldselection.CreateWorldScreen$SelectedGameMode.binpatch Checksum: 995f6739 Exists: true Reading patch net.minecraft.client.gui.screens.worldselection.CreateWorldScreen.binpatch Checksum: 2c40b596 Exists: true Reading patch net.minecraft.client.gui.screens.worldselection.WorldGenSettingsComponent.binpatch Checksum: 8828fcb8 Exists: true Reading patch net.minecraft.client.gui.screens.worldselection.WorldPreset$1.binpatch Checksum: fa8a6221 Exists: true Reading patch net.minecraft.client.gui.screens.worldselection.WorldPreset$2.binpatch Checksum: b8c06b9 Exists: true Reading patch net.minecraft.client.gui.screens.worldselection.WorldPreset$3.binpatch Checksum: 5b006251 Exists: true Reading patch net.minecraft.client.gui.screens.worldselection.WorldPreset$4.binpatch Checksum: a7f96192 Exists: true Reading patch net.minecraft.client.gui.screens.worldselection.WorldPreset$5.binpatch Checksum: d7659007 Exists: true Reading patch net.minecraft.client.gui.screens.worldselection.WorldPreset$6.binpatch Checksum: e3c8d389 Exists: true Reading patch net.minecraft.client.gui.screens.worldselection.WorldPreset$7.binpatch Checksum: bb6d9061 Exists: true Reading patch net.minecraft.client.gui.screens.worldselection.WorldPreset$8.binpatch Checksum: cad6ac56 Exists: true Reading patch net.minecraft.client.gui.screens.worldselection.WorldPreset$PresetEditor.binpatch Checksum: 8c14a05a Exists: true Reading patch net.minecraft.client.gui.screens.worldselection.WorldPreset.binpatch Checksum: 7697886 Exists: true Reading patch net.minecraft.client.main.Main$1.binpatch Checksum: 3400c30c Exists: true Reading patch net.minecraft.client.main.Main$2.binpatch Checksum: eca4ff94 Exists: true Reading patch net.minecraft.client.main.Main$3.binpatch Checksum: c072312c Exists: true Reading patch net.minecraft.client.main.Main.binpatch Checksum: 23c4b73d Exists: true Reading patch net.minecraft.client.model.geom.LayerDefinitions.binpatch Checksum: 15240bf8 Exists: true Reading patch net.minecraft.client.multiplayer.ClientChunkCache$Storage.binpatch Checksum: 801b466f Exists: true Reading patch net.minecraft.client.multiplayer.ClientChunkCache.binpatch Checksum: b1ec8ea5 Exists: true Reading patch net.minecraft.client.multiplayer.ClientHandshakePacketListenerImpl.binpatch Checksum: fe9113ee Exists: true Reading patch net.minecraft.client.multiplayer.ClientLevel$1.binpatch Checksum: 9cd4cc49 Exists: true Reading patch net.minecraft.client.multiplayer.ClientLevel$ClientLevelData.binpatch Checksum: 26cd407c Exists: true Reading patch net.minecraft.client.multiplayer.ClientLevel$EntityCallbacks.binpatch Checksum: 56d02d2f Exists: true Reading patch net.minecraft.client.multiplayer.ClientLevel$MarkerParticleStatus.binpatch Checksum: 12da73ce Exists: true Reading patch net.minecraft.client.multiplayer.ClientLevel.binpatch Checksum: 4c2357db Exists: true Reading patch net.minecraft.client.multiplayer.ClientPacketListener$1.binpatch Checksum: f8aa3a2e Exists: true Reading patch net.minecraft.client.multiplayer.ClientPacketListener.binpatch Checksum: 6f4c1d21 Exists: true Reading patch net.minecraft.client.multiplayer.MultiPlayerGameMode.binpatch Checksum: 74c2e35 Exists: true Reading patch net.minecraft.client.multiplayer.PlayerInfo.binpatch Checksum: 1d81d15d Exists: true Reading patch net.minecraft.client.multiplayer.ServerData$ServerPackStatus.binpatch Checksum: e6968aa5 Exists: true Reading patch net.minecraft.client.multiplayer.ServerData.binpatch Checksum: f788b38f Exists: true Reading patch net.minecraft.client.multiplayer.ServerStatusPinger$1.binpatch Checksum: 10239f24 Exists: true Reading patch net.minecraft.client.multiplayer.ServerStatusPinger$2$1.binpatch Checksum: e4de6199 Exists: true Reading patch net.minecraft.client.multiplayer.ServerStatusPinger$2.binpatch Checksum: e9f28b11 Exists: true Reading patch net.minecraft.client.multiplayer.ServerStatusPinger.binpatch Checksum: b1cfc897 Exists: true Reading patch net.minecraft.client.particle.Particle.binpatch Checksum: 3593a45c Exists: true Reading patch net.minecraft.client.particle.ParticleEngine$MutableSpriteSet.binpatch Checksum: 291a02a9 Exists: true Reading patch net.minecraft.client.particle.ParticleEngine$SpriteParticleRegistration.binpatch Checksum: c588e59b Exists: true Reading patch net.minecraft.client.particle.ParticleEngine.binpatch Checksum: 87cb8f7e Exists: true Reading patch net.minecraft.client.particle.TerrainParticle$Provider.binpatch Checksum: bcf785d2 Exists: true Reading patch net.minecraft.client.particle.TerrainParticle.binpatch Checksum: b3112a8a Exists: true Reading patch net.minecraft.client.player.AbstractClientPlayer.binpatch Checksum: da612183 Exists: true Reading patch net.minecraft.client.player.LocalPlayer.binpatch Checksum: 8ec21436 Exists: true Reading patch net.minecraft.client.player.RemotePlayer.binpatch Checksum: dc863de7 Exists: true Reading patch net.minecraft.client.renderer.DimensionSpecialEffects$EndEffects.binpatch Checksum: 54c56098 Exists: true Reading patch net.minecraft.client.renderer.DimensionSpecialEffects$NetherEffects.binpatch Checksum: 9b611ee9 Exists: true Reading patch net.minecraft.client.renderer.DimensionSpecialEffects$OverworldEffects.binpatch Checksum: 21aa5ea4 Exists: true Reading patch net.minecraft.client.renderer.DimensionSpecialEffects$SkyType.binpatch Checksum: 48cf7c16 Exists: true Reading patch net.minecraft.client.renderer.DimensionSpecialEffects.binpatch Checksum: 9005201e Exists: true Reading patch net.minecraft.client.renderer.EffectInstance.binpatch Checksum: 408204a9 Exists: true Reading patch net.minecraft.client.renderer.FogRenderer$FogMode.binpatch Checksum: 37a24f0d Exists: true Reading patch net.minecraft.client.renderer.FogRenderer.binpatch Checksum: 4281582f Exists: true Reading patch net.minecraft.client.renderer.GameRenderer.binpatch Checksum: f4a6cf2b Exists: true Reading patch net.minecraft.client.renderer.ItemBlockRenderTypes.binpatch Checksum: 3a44fe6b Exists: true Reading patch net.minecraft.client.renderer.ItemInHandRenderer$1.binpatch Checksum: aa1bd4a5 Exists: true Reading patch net.minecraft.client.renderer.ItemInHandRenderer$HandRenderSelection.binpatch Checksum: d154c75 Exists: true Reading patch net.minecraft.client.renderer.ItemInHandRenderer.binpatch Checksum: 62e67716 Exists: true Reading patch net.minecraft.client.renderer.ItemModelShaper.binpatch Checksum: 9d503807 Exists: true Reading patch net.minecraft.client.renderer.LevelRenderer$RenderChunkInfo.binpatch Checksum: 41ccda3c Exists: true Reading patch net.minecraft.client.renderer.LevelRenderer$RenderInfoMap.binpatch Checksum: 767fed9d Exists: true Reading patch net.minecraft.client.renderer.LevelRenderer$TransparencyShaderException.binpatch Checksum: f0fdb3fe Exists: true Reading patch net.minecraft.client.renderer.LevelRenderer.binpatch Checksum: 96b1c877 Exists: true Reading patch net.minecraft.client.renderer.LightTexture.binpatch Checksum: fa6fe6f5 Exists: true Reading patch net.minecraft.client.renderer.PostChain.binpatch Checksum: 62e20b13 Exists: true Reading patch net.minecraft.client.renderer.ScreenEffectRenderer.binpatch Checksum: b3ec498d Exists: true Reading patch net.minecraft.client.renderer.ShaderInstance$1.binpatch Checksum: da7c2777 Exists: true Reading patch net.minecraft.client.renderer.ShaderInstance.binpatch Checksum: 557a85a9 Exists: true Reading patch net.minecraft.client.renderer.Sheets$1.binpatch Checksum: 618cce91 Exists: true Reading patch net.minecraft.client.renderer.Sheets.binpatch Checksum: af9a742 Exists: true Reading patch net.minecraft.client.renderer.block.BlockModelShaper.binpatch Checksum: 3b959dcc Exists: true Reading patch net.minecraft.client.renderer.block.BlockRenderDispatcher$1.binpatch Checksum: 14edc830 Exists: true Reading patch net.minecraft.client.renderer.block.BlockRenderDispatcher.binpatch Checksum: da6fd3a9 Exists: true Reading patch net.minecraft.client.renderer.block.LiquidBlockRenderer.binpatch Checksum: 45c048b5 Exists: true Reading patch net.minecraft.client.renderer.block.ModelBlockRenderer$1.binpatch Checksum: 6f78d396 Exists: true Reading patch net.minecraft.client.renderer.block.ModelBlockRenderer$AdjacencyInfo.binpatch Checksum: d4f09be Exists: true Reading patch net.minecraft.client.renderer.block.ModelBlockRenderer$AmbientOcclusionFace.binpatch Checksum: 86d64314 Exists: true Reading patch net.minecraft.client.renderer.block.ModelBlockRenderer$AmbientVertexRemap.binpatch Checksum: c7f9bddb Exists: true Reading patch net.minecraft.client.renderer.block.ModelBlockRenderer$Cache$1.binpatch Checksum: 7cc0fbb0 Exists: true Reading patch net.minecraft.client.renderer.block.ModelBlockRenderer$Cache$2.binpatch Checksum: d657fc94 Exists: true Reading patch net.minecraft.client.renderer.block.ModelBlockRenderer$Cache.binpatch Checksum: 76a29d19 Exists: true Reading patch net.minecraft.client.renderer.block.ModelBlockRenderer$SizeInfo.binpatch Checksum: 694ace9c Exists: true Reading patch net.minecraft.client.renderer.block.ModelBlockRenderer.binpatch Checksum: 8f049d1a Exists: true Reading patch net.minecraft.client.renderer.block.model.BakedQuad.binpatch Checksum: db24251d Exists: true Reading patch net.minecraft.client.renderer.block.model.BlockModel$Deserializer.binpatch Checksum: 1f889501 Exists: true Reading patch net.minecraft.client.renderer.block.model.BlockModel$GuiLight.binpatch Checksum: 80ec8257 Exists: true Reading patch net.minecraft.client.renderer.block.model.BlockModel$LoopException.binpatch Checksum: 1df9998a Exists: true Reading patch net.minecraft.client.renderer.block.model.BlockModel.binpatch Checksum: 6cb80e42 Exists: true Reading patch net.minecraft.client.renderer.block.model.FaceBakery$1.binpatch Checksum: 2955c822 Exists: true Reading patch net.minecraft.client.renderer.block.model.FaceBakery.binpatch Checksum: 5af72d32 Exists: true Reading patch net.minecraft.client.renderer.block.model.ItemModelGenerator$1.binpatch Checksum: 2fe4fd3e Exists: true Reading patch net.minecraft.client.renderer.block.model.ItemModelGenerator$Span.binpatch Checksum: cffa57e7 Exists: true Reading patch net.minecraft.client.renderer.block.model.ItemModelGenerator$SpanFacing.binpatch Checksum: a63469aa Exists: true Reading patch net.minecraft.client.renderer.block.model.ItemModelGenerator.binpatch Checksum: fad6656e Exists: true Reading patch net.minecraft.client.renderer.block.model.ItemOverrides$BakedOverride.binpatch Checksum: 117599d9 Exists: true Reading patch net.minecraft.client.renderer.block.model.ItemOverrides$PropertyMatcher.binpatch Checksum: 849e9e20 Exists: true Reading patch net.minecraft.client.renderer.block.model.ItemOverrides.binpatch Checksum: 370c6b4e Exists: true Reading patch net.minecraft.client.renderer.block.model.ItemTransform$Deserializer.binpatch Checksum: b9d04c64 Exists: true Reading patch net.minecraft.client.renderer.block.model.ItemTransform.binpatch Checksum: b41314e4 Exists: true Reading patch net.minecraft.client.renderer.block.model.ItemTransforms$1.binpatch Checksum: aff3d0e Exists: true Reading patch net.minecraft.client.renderer.block.model.ItemTransforms$Deserializer.binpatch Checksum: a7a11824 Exists: true Reading patch net.minecraft.client.renderer.block.model.ItemTransforms$TransformType.binpatch Checksum: 58413c3 Exists: true Reading patch net.minecraft.client.renderer.block.model.ItemTransforms.binpatch Checksum: 467c27d3 Exists: true Reading patch net.minecraft.client.renderer.block.model.MultiVariant$Deserializer.binpatch Checksum: e94a09ba Exists: true Reading patch net.minecraft.client.renderer.block.model.MultiVariant.binpatch Checksum: 9def7bf3 Exists: true Reading patch net.minecraft.client.renderer.blockentity.BlockEntityRenderers.binpatch Checksum: b2682dfb Exists: true Reading patch net.minecraft.client.renderer.blockentity.ChestRenderer.binpatch Checksum: ae9cd6f8 Exists: true Reading patch net.minecraft.client.renderer.blockentity.PistonHeadRenderer.binpatch Checksum: 8329ad48 Exists: true Reading patch net.minecraft.client.renderer.chunk.ChunkRenderDispatcher$ChunkTaskResult.binpatch Checksum: 49d697d2 Exists: true Reading patch net.minecraft.client.renderer.chunk.ChunkRenderDispatcher$CompiledChunk$1.binpatch Checksum: efecdd72 Exists: true Reading patch net.minecraft.client.renderer.chunk.ChunkRenderDispatcher$CompiledChunk.binpatch Checksum: b4a6b225 Exists: true Reading patch net.minecraft.client.renderer.chunk.ChunkRenderDispatcher$RenderChunk$ChunkCompileTask.binpatch Checksum: f078965e Exists: true Reading patch net.minecraft.client.renderer.chunk.ChunkRenderDispatcher$RenderChunk$RebuildTask.binpatch Checksum: d36d9ee5 Exists: true Reading patch net.minecraft.client.renderer.chunk.ChunkRenderDispatcher$RenderChunk$ResortTransparencyTask.binpatch Checksum: a16e23a3 Exists: true Reading patch net.minecraft.client.renderer.chunk.ChunkRenderDispatcher$RenderChunk.binpatch Checksum: 506efdc7 Exists: true Reading patch net.minecraft.client.renderer.chunk.ChunkRenderDispatcher.binpatch Checksum: b9b32fe2 Exists: true Reading patch net.minecraft.client.renderer.entity.BoatRenderer.binpatch Checksum: c61d512 Exists: true Reading patch net.minecraft.client.renderer.entity.EntityRenderDispatcher.binpatch Checksum: 89447f22 Exists: true Reading patch net.minecraft.client.renderer.entity.EntityRenderer.binpatch Checksum: 96fec266 Exists: true Reading patch net.minecraft.client.renderer.entity.FallingBlockRenderer.binpatch Checksum: 618d8aa9 Exists: true Reading patch net.minecraft.client.renderer.entity.ItemEntityRenderer.binpatch Checksum: f11f8a7a Exists: true Reading patch net.minecraft.client.renderer.entity.ItemFrameRenderer.binpatch Checksum: 9f46447a Exists: true Reading patch net.minecraft.client.renderer.entity.ItemRenderer.binpatch Checksum: 96712aad Exists: true Reading patch net.minecraft.client.renderer.entity.LivingEntityRenderer$1.binpatch Checksum: 6057552a Exists: true Reading patch net.minecraft.client.renderer.entity.LivingEntityRenderer.binpatch Checksum: 99989648 Exists: true Reading patch net.minecraft.client.renderer.entity.layers.ElytraLayer.binpatch Checksum: 490124b0 Exists: true Reading patch net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer$1.binpatch Checksum: 376bd7b8 Exists: true Reading patch net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer.binpatch Checksum: b0b4b36a Exists: true Reading patch net.minecraft.client.renderer.entity.player.PlayerRenderer.binpatch Checksum: 115a8315 Exists: true Reading patch net.minecraft.client.renderer.item.ItemProperties$1.binpatch Checksum: 1464a196 Exists: true Reading patch net.minecraft.client.renderer.item.ItemProperties$2.binpatch Checksum: 1d817c30 Exists: true Reading patch net.minecraft.client.renderer.item.ItemProperties$CompassWobble.binpatch Checksum: 4f67dcc5 Exists: true Reading patch net.minecraft.client.renderer.item.ItemProperties.binpatch Checksum: dfe29193 Exists: true Reading patch net.minecraft.client.renderer.texture.AbstractTexture.binpatch Checksum: 8d9dd939 Exists: true Reading patch net.minecraft.client.renderer.texture.Stitcher$Holder.binpatch Checksum: 2d40ac33 Exists: true Reading patch net.minecraft.client.renderer.texture.Stitcher$Region.binpatch Checksum: efdc3165 Exists: true Reading patch net.minecraft.client.renderer.texture.Stitcher$SpriteLoader.binpatch Checksum: 89ce9fa7 Exists: true Reading patch net.minecraft.client.renderer.texture.Stitcher.binpatch Checksum: 557fa10a Exists: true Reading patch net.minecraft.client.renderer.texture.TextureAtlas$Preparations.binpatch Checksum: 7e5561b6 Exists: true Reading patch net.minecraft.client.renderer.texture.TextureAtlas.binpatch Checksum: 592d7c66 Exists: true Reading patch net.minecraft.client.renderer.texture.TextureAtlasSprite$AnimatedTexture.binpatch Checksum: 6118bb0 Exists: true Reading patch net.minecraft.client.renderer.texture.TextureAtlasSprite$FrameInfo.binpatch Checksum: 2ccc9891 Exists: true Reading patch net.minecraft.client.renderer.texture.TextureAtlasSprite$Info.binpatch Checksum: cbd72e5d Exists: true Reading patch net.minecraft.client.renderer.texture.TextureAtlasSprite$InterpolationData.binpatch Checksum: c132c7d4 Exists: true Reading patch net.minecraft.client.renderer.texture.TextureAtlasSprite.binpatch Checksum: 4fedc34 Exists: true Reading patch net.minecraft.client.renderer.texture.TextureManager.binpatch Checksum: 2413e0c5 Exists: true Reading patch net.minecraft.client.resources.language.ClientLanguage.binpatch Checksum: fc42c11 Exists: true Reading patch net.minecraft.client.resources.language.I18n.binpatch Checksum: fa6a4d0 Exists: true Reading patch net.minecraft.client.resources.language.LanguageInfo.binpatch Checksum: f75cb78d Exists: true Reading patch net.minecraft.client.resources.language.LanguageManager.binpatch Checksum: a41de958 Exists: true Reading patch net.minecraft.client.resources.model.BakedModel.binpatch Checksum: aba02d47 Exists: true Reading patch net.minecraft.client.resources.model.ModelBakery$BlockStateDefinitionException.binpatch Checksum: 9201a817 Exists: true Reading patch net.minecraft.client.resources.model.ModelBakery$ModelGroupKey.binpatch Checksum: b752e44e Exists: true Reading patch net.minecraft.client.resources.model.ModelBakery.binpatch Checksum: bd102809 Exists: true Reading patch net.minecraft.client.resources.model.ModelManager.binpatch Checksum: 2e024f5a Exists: true Reading patch net.minecraft.client.resources.model.ModelResourceLocation.binpatch Checksum: 179fd231 Exists: true Reading patch net.minecraft.client.resources.model.ModelState.binpatch Checksum: 805a6e55 Exists: true Reading patch net.minecraft.client.resources.model.MultiPartBakedModel$Builder.binpatch Checksum: eb094f42 Exists: true Reading patch net.minecraft.client.resources.model.MultiPartBakedModel.binpatch Checksum: 786b8143 Exists: true Reading patch net.minecraft.client.resources.model.SimpleBakedModel$Builder.binpatch Checksum: a9967407 Exists: true Reading patch net.minecraft.client.resources.model.SimpleBakedModel.binpatch Checksum: deb94c2a Exists: true Reading patch net.minecraft.client.resources.model.UnbakedModel.binpatch Checksum: 57e52bd2 Exists: true Reading patch net.minecraft.client.resources.model.WeightedBakedModel$Builder.binpatch Checksum: 8af03117 Exists: true Reading patch net.minecraft.client.resources.model.WeightedBakedModel.binpatch Checksum: fe525acf Exists: true Reading patch net.minecraft.client.searchtree.SearchRegistry$Key.binpatch Checksum: 8687a1d3 Exists: true Reading patch net.minecraft.client.searchtree.SearchRegistry.binpatch Checksum: be69bb0f Exists: true Reading patch net.minecraft.client.server.IntegratedServer.binpatch Checksum: 13e56fd8 Exists: true Reading patch net.minecraft.client.sounds.SoundEngine.binpatch Checksum: 3e4fd007 Exists: true Reading patch net.minecraft.commands.Commands$CommandSelection.binpatch Checksum: fdb97cd1 Exists: true Reading patch net.minecraft.commands.Commands$ParseFunction.binpatch Checksum: b9617f5e Exists: true Reading patch net.minecraft.commands.Commands.binpatch Checksum: 313ad14c Exists: true Reading patch net.minecraft.commands.arguments.selector.EntitySelectorParser.binpatch Checksum: 2b6dcc6d Exists: true Reading patch net.minecraft.commands.synchronization.ArgumentTypes$Entry.binpatch Checksum: 3d7a845 Exists: true Reading patch net.minecraft.commands.synchronization.ArgumentTypes.binpatch Checksum: d248fee6 Exists: true Reading patch net.minecraft.core.Direction$1.binpatch Checksum: b3000da3 Exists: true Reading patch net.minecraft.core.Direction$Axis$1.binpatch Checksum: 9280d974 Exists: true Reading patch net.minecraft.core.Direction$Axis$2.binpatch Checksum: 5d93d970 Exists: true Reading patch net.minecraft.core.Direction$Axis$3.binpatch Checksum: 6d7fd9a3 Exists: true Reading patch net.minecraft.core.Direction$Axis.binpatch Checksum: 93294179 Exists: true Reading patch net.minecraft.core.Direction$AxisDirection.binpatch Checksum: 3a9aba01 Exists: true Reading patch net.minecraft.core.Direction$Plane.binpatch Checksum: 4e913afc Exists: true Reading patch net.minecraft.core.Direction.binpatch Checksum: 845fee74 Exists: true Reading patch net.minecraft.core.MappedRegistry$RegistryEntry.binpatch Checksum: 5abf1fb1 Exists: true Reading patch net.minecraft.core.MappedRegistry.binpatch Checksum: 17ef44e Exists: true Reading patch net.minecraft.core.Registry.binpatch Checksum: db741aa Exists: true Reading patch net.minecraft.core.RegistryAccess$RegistryData.binpatch Checksum: 589639b5 Exists: true Reading patch net.minecraft.core.RegistryAccess$RegistryHolder.binpatch Checksum: 1f5c95af Exists: true Reading patch net.minecraft.core.RegistryAccess.binpatch Checksum: 16f784aa Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$1.binpatch Checksum: 4387bc79 Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$10.binpatch Checksum: 8dd84d39 Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$11.binpatch Checksum: abd37312 Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$12.binpatch Checksum: 7753afff Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$13.binpatch Checksum: 6ddf977e Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$14.binpatch Checksum: 38b90e5f Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$15.binpatch Checksum: e966e943 Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$16.binpatch Checksum: 85c764fd Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$17.binpatch Checksum: 7f3bafb7 Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$18.binpatch Checksum: 9edc9c3e Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$19.binpatch Checksum: ac430114 Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$2.binpatch Checksum: bebd55c Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$20.binpatch Checksum: 855ae109 Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$21.binpatch Checksum: b5b11cd1 Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$22.binpatch Checksum: d939a90 Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$23.binpatch Checksum: 9453cc23 Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$24.binpatch Checksum: 297c363a Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$25.binpatch Checksum: 27447368 Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$26.binpatch Checksum: b946ab3 Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$3.binpatch Checksum: 39cac3b8 Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$4.binpatch Checksum: 148c73b Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$5.binpatch Checksum: 7254c658 Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$6.binpatch Checksum: 2edaf67a Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$7$1.binpatch Checksum: f3fc6f97 Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$7.binpatch Checksum: f5a3088a Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$8$1.binpatch Checksum: 4ec36ff6 Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$8.binpatch Checksum: 2fc308e6 Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior$9.binpatch Checksum: 634363f1 Exists: true Reading patch net.minecraft.core.dispenser.DispenseItemBehavior.binpatch Checksum: c9e69ec4 Exists: true Reading patch net.minecraft.core.particles.BlockParticleOption$1.binpatch Checksum: 5a073ead Exists: true Reading patch net.minecraft.core.particles.BlockParticleOption.binpatch Checksum: 459595fd Exists: true Reading patch net.minecraft.core.particles.ItemParticleOption$1.binpatch Checksum: cd126f40 Exists: true Reading patch net.minecraft.core.particles.ItemParticleOption.binpatch Checksum: 90ec5b77 Exists: true Reading patch net.minecraft.core.particles.ParticleType.binpatch Checksum: 33b0aaf4 Exists: true Reading patch net.minecraft.core.particles.ParticleTypes$1.binpatch Checksum: 99db0607 Exists: true Reading patch net.minecraft.core.particles.ParticleTypes.binpatch Checksum: eae29565 Exists: true Reading patch net.minecraft.data.BuiltinRegistries.binpatch Checksum: 213b81d8 Exists: true Reading patch net.minecraft.data.DataGenerator.binpatch Checksum: ff2d9db4 Exists: true Reading patch net.minecraft.data.HashCache.binpatch Checksum: 839631ff Exists: true Reading patch net.minecraft.data.Main.binpatch Checksum: c41a9213 Exists: true Reading patch net.minecraft.data.loot.BlockLoot.binpatch Checksum: 5ed3fcfe Exists: true Reading patch net.minecraft.data.loot.EntityLoot.binpatch Checksum: 360fa12a Exists: true Reading patch net.minecraft.data.loot.LootTableProvider.binpatch Checksum: 1c71b120 Exists: true Reading patch net.minecraft.data.recipes.RecipeProvider.binpatch Checksum: efa0c58b Exists: true Reading patch net.minecraft.data.tags.BlockTagsProvider.binpatch Checksum: 5f5a860d Exists: true Reading patch net.minecraft.data.tags.EntityTypeTagsProvider.binpatch Checksum: 8429b2ff Exists: true Reading patch net.minecraft.data.tags.FluidTagsProvider.binpatch Checksum: aae24249 Exists: true Reading patch net.minecraft.data.tags.GameEventTagsProvider.binpatch Checksum: b3927621 Exists: true Reading patch net.minecraft.data.tags.ItemTagsProvider.binpatch Checksum: e9c801e9 Exists: true Reading patch net.minecraft.data.tags.TagsProvider$TagAppender.binpatch Checksum: fadf743a Exists: true Reading patch net.minecraft.data.tags.TagsProvider.binpatch Checksum: 5ceae59a Exists: true Reading patch net.minecraft.data.worldgen.biome.Biomes.binpatch Checksum: a3e590a0 Exists: true Reading patch net.minecraft.locale.Language$1.binpatch Checksum: 44f3ddbf Exists: true Reading patch net.minecraft.locale.Language.binpatch Checksum: 76cb1aa7 Exists: true Reading patch net.minecraft.nbt.CompoundTag$1.binpatch Checksum: 849df90d Exists: true Reading patch net.minecraft.nbt.CompoundTag.binpatch Checksum: f3d07b36 Exists: true Reading patch net.minecraft.nbt.NbtAccounter$1.binpatch Checksum: 805f6323 Exists: true Reading patch net.minecraft.nbt.NbtAccounter.binpatch Checksum: ac144223 Exists: true Reading patch net.minecraft.nbt.NbtIo.binpatch Checksum: 3eb9e44f Exists: true Reading patch net.minecraft.nbt.StringTag$1.binpatch Checksum: 29c08ac1 Exists: true Reading patch net.minecraft.nbt.StringTag.binpatch Checksum: fc2c0bcd Exists: true Reading patch net.minecraft.network.CompressionEncoder.binpatch Checksum: 869e0ccc Exists: true Reading patch net.minecraft.network.Connection$1.binpatch Checksum: 3c0ea12c Exists: true Reading patch net.minecraft.network.Connection$2.binpatch Checksum: edff4550 Exists: true Reading patch net.minecraft.network.Connection$PacketHolder.binpatch Checksum: 30c1a6da Exists: true Reading patch net.minecraft.network.Connection.binpatch Checksum: c927465e Exists: true Reading patch net.minecraft.network.FriendlyByteBuf.binpatch Checksum: 9787cbe9 Exists: true Reading patch net.minecraft.network.PacketEncoder.binpatch Checksum: e2441096 Exists: true Reading patch net.minecraft.network.chat.Style$1.binpatch Checksum: 82c2c8a1 Exists: true Reading patch net.minecraft.network.chat.Style$Serializer.binpatch Checksum: 1ca4888a Exists: true Reading patch net.minecraft.network.chat.Style.binpatch Checksum: 6bdfa583 Exists: true Reading patch net.minecraft.network.chat.TranslatableComponent.binpatch Checksum: 7a84d759 Exists: true Reading patch net.minecraft.network.protocol.game.ClientboundCommandsPacket$Entry.binpatch Checksum: c53a3d99 Exists: true Reading patch net.minecraft.network.protocol.game.ClientboundCommandsPacket.binpatch Checksum: eca4bb47 Exists: true Reading patch net.minecraft.network.protocol.game.ClientboundCustomPayloadPacket.binpatch Checksum: b2779efb Exists: true Reading patch net.minecraft.network.protocol.game.ClientboundUpdateAttributesPacket$AttributeSnapshot.binpatch Checksum: c462dd40 Exists: true Reading patch net.minecraft.network.protocol.game.ClientboundUpdateAttributesPacket.binpatch Checksum: f70bfaa9 Exists: true Reading patch net.minecraft.network.protocol.game.ServerboundContainerClickPacket.binpatch Checksum: f05723ad Exists: true Reading patch net.minecraft.network.protocol.game.ServerboundCustomPayloadPacket.binpatch Checksum: 4f2beff7 Exists: true Reading patch net.minecraft.network.protocol.game.ServerboundSetCreativeModeSlotPacket.binpatch Checksum: 94b93e0f Exists: true Reading patch net.minecraft.network.protocol.handshake.ClientIntentionPacket.binpatch Checksum: a2e2590 Exists: true Reading patch net.minecraft.network.protocol.login.ClientboundCustomQueryPacket.binpatch Checksum: 2eaf0719 Exists: true Reading patch net.minecraft.network.protocol.login.ServerboundCustomQueryPacket.binpatch Checksum: 1f2fca4d Exists: true Reading patch net.minecraft.network.protocol.status.ClientboundStatusResponsePacket.binpatch Checksum: c3b5b0a Exists: true Reading patch net.minecraft.network.protocol.status.ServerStatus$Players$Serializer.binpatch Checksum: 4737191b Exists: true Reading patch net.minecraft.network.protocol.status.ServerStatus$Players.binpatch Checksum: a8e7f780 Exists: true Reading patch net.minecraft.network.protocol.status.ServerStatus$Serializer.binpatch Checksum: 27e5575f Exists: true Reading patch net.minecraft.network.protocol.status.ServerStatus$Version$Serializer.binpatch Checksum: f0ccdac8 Exists: true Reading patch net.minecraft.network.protocol.status.ServerStatus$Version.binpatch Checksum: f998d3d7 Exists: true Reading patch net.minecraft.network.protocol.status.ServerStatus.binpatch Checksum: 12bc4057 Exists: true Reading patch net.minecraft.network.syncher.EntityDataSerializers$1.binpatch Checksum: 292d76e Exists: true Reading patch net.minecraft.network.syncher.EntityDataSerializers$10.binpatch Checksum: 986e919 Exists: true Reading patch net.minecraft.network.syncher.EntityDataSerializers$11.binpatch Checksum: 10d31177 Exists: true Reading patch net.minecraft.network.syncher.EntityDataSerializers$12.binpatch Checksum: 71af0973 Exists: true Reading patch net.minecraft.network.syncher.EntityDataSerializers$13.binpatch Checksum: f27c33bd Exists: true Reading patch net.minecraft.network.syncher.EntityDataSerializers$14.binpatch Checksum: 39d405a9 Exists: true Reading patch net.minecraft.network.syncher.EntityDataSerializers$15.binpatch Checksum: 407ef65 Exists: true Reading patch net.minecraft.network.syncher.EntityDataSerializers$16.binpatch Checksum: 366f12cb Exists: true Reading patch net.minecraft.network.syncher.EntityDataSerializers$17.binpatch Checksum: ae58277d Exists: true Reading patch net.minecraft.network.syncher.EntityDataSerializers$18.binpatch Checksum: fd6c1ca7 Exists: true Reading patch net.minecraft.network.syncher.EntityDataSerializers$19.binpatch Checksum: 656e14e6 Exists: true Reading patch net.minecraft.network.syncher.EntityDataSerializers$2.binpatch Checksum: 8eecedbe Exists: true Reading patch net.minecraft.network.syncher.EntityDataSerializers$3.binpatch Checksum: 53f3de4d Exists: true Reading patch net.minecraft.network.syncher.EntityDataSerializers$4.binpatch Checksum: 17c0eab9 Exists: true Reading patch net.minecraft.network.syncher.EntityDataSerializers$5.binpatch Checksum: a4812821 Exists: true Reading patch net.minecraft.network.syncher.EntityDataSerializers$6.binpatch Checksum: 9b7d59a3 Exists: true Reading patch net.minecraft.network.syncher.EntityDataSerializers$7.binpatch Checksum: 3bf82ad6 Exists: true Reading patch net.minecraft.network.syncher.EntityDataSerializers$8.binpatch Checksum: a2d0924e Exists: true Reading patch net.minecraft.network.syncher.EntityDataSerializers$9.binpatch Checksum: 3beaed69 Exists: true Reading patch net.minecraft.network.syncher.EntityDataSerializers.binpatch Checksum: 5d646e64 Exists: true Reading patch net.minecraft.network.syncher.SynchedEntityData$DataItem.binpatch Checksum: cae64a16 Exists: true Reading patch net.minecraft.network.syncher.SynchedEntityData.binpatch Checksum: 1a5b835f Exists: true Reading patch net.minecraft.recipebook.PlaceRecipe.binpatch Checksum: d745d490 Exists: true Reading patch net.minecraft.resources.RegistryReadOps$1.binpatch Checksum: 2181e1d7 Exists: true Reading patch net.minecraft.resources.RegistryReadOps$ReadCache.binpatch Checksum: 29f01ecc Exists: true Reading patch net.minecraft.resources.RegistryReadOps$ResourceAccess$1.binpatch Checksum: bced0e6c Exists: true Reading patch net.minecraft.resources.RegistryReadOps$ResourceAccess$MemoryMap.binpatch Checksum: 6a31072f Exists: true Reading patch net.minecraft.resources.RegistryReadOps$ResourceAccess.binpatch Checksum: b700be59 Exists: true Reading patch net.minecraft.resources.RegistryReadOps.binpatch Checksum: f73f5a23 Exists: true Reading patch net.minecraft.resources.ResourceKey.binpatch Checksum: 1448c2f8 Exists: true Reading patch net.minecraft.resources.ResourceLocation$Serializer.binpatch Checksum: 286ae72d Exists: true Reading patch net.minecraft.resources.ResourceLocation.binpatch Checksum: db9af97b Exists: true Reading patch net.minecraft.server.Bootstrap$1.binpatch Checksum: 62df2f51 Exists: true Reading patch net.minecraft.server.Bootstrap.binpatch Checksum: c77fe539 Exists: true Reading patch net.minecraft.server.Main$1.binpatch Checksum: b75cc17 Exists: true Reading patch net.minecraft.server.Main.binpatch Checksum: 565516b9 Exists: true Reading patch net.minecraft.server.MinecraftServer$1.binpatch Checksum: c5288844 Exists: true Reading patch net.minecraft.server.MinecraftServer$2.binpatch Checksum: 115a97b8 Exists: true Reading patch net.minecraft.server.MinecraftServer$TimeProfiler$1.binpatch Checksum: 19e9f041 Exists: true Reading patch net.minecraft.server.MinecraftServer$TimeProfiler.binpatch Checksum: 508b0c58 Exists: true Reading patch net.minecraft.server.MinecraftServer.binpatch Checksum: 2a8cb056 Exists: true Reading patch net.minecraft.server.PlayerAdvancements$1.binpatch Checksum: ed5cbf66 Exists: true Reading patch net.minecraft.server.PlayerAdvancements.binpatch Checksum: da0ca6b7 Exists: true Reading patch net.minecraft.server.ServerAdvancementManager.binpatch Checksum: 61afad5e Exists: true Reading patch net.minecraft.server.ServerResources.binpatch Checksum: 4114c3d4 Exists: true Reading patch net.minecraft.server.commands.LocateCommand.binpatch Checksum: 95c90dfa Exists: true Reading patch net.minecraft.server.commands.SpreadPlayersCommand$Position.binpatch Checksum: a129916f Exists: true Reading patch net.minecraft.server.commands.SpreadPlayersCommand.binpatch Checksum: cf3f23a8 Exists: true Reading patch net.minecraft.server.commands.TeleportCommand$LookAt.binpatch Checksum: c6de961c Exists: true Reading patch net.minecraft.server.commands.TeleportCommand.binpatch Checksum: b6ab11b4 Exists: true Reading patch net.minecraft.server.dedicated.DedicatedServer$1.binpatch Checksum: 91c1faf0 Exists: true Reading patch net.minecraft.server.dedicated.DedicatedServer.binpatch Checksum: ea2b4f86 Exists: true Reading patch net.minecraft.server.dedicated.ServerWatchdog$1.binpatch Checksum: f0b0c5b7 Exists: true Reading patch net.minecraft.server.dedicated.ServerWatchdog.binpatch Checksum: 607cd907 Exists: true Reading patch net.minecraft.server.dedicated.Settings$MutableValue.binpatch Checksum: ad28e66 Exists: true Reading patch net.minecraft.server.dedicated.Settings.binpatch Checksum: b2f58754 Exists: true Reading patch net.minecraft.server.gui.MinecraftServerGui$1.binpatch Checksum: c0f1b9be Exists: true Reading patch net.minecraft.server.gui.MinecraftServerGui$2.binpatch Checksum: de18d193 Exists: true Reading patch net.minecraft.server.gui.MinecraftServerGui.binpatch Checksum: 9a973221 Exists: true Reading patch net.minecraft.server.level.ChunkHolder$1.binpatch Checksum: a945a87d Exists: true Reading patch net.minecraft.server.level.ChunkHolder$ChunkLoadingFailure$1.binpatch Checksum: c7e2a7a5 Exists: true Reading patch net.minecraft.server.level.ChunkHolder$ChunkLoadingFailure.binpatch Checksum: 16df90d1 Exists: true Reading patch net.minecraft.server.level.ChunkHolder$ChunkSaveDebug.binpatch Checksum: bafdeb7c Exists: true Reading patch net.minecraft.server.level.ChunkHolder$FullChunkStatus.binpatch Checksum: f6d6b560 Exists: true Reading patch net.minecraft.server.level.ChunkHolder$LevelChangeListener.binpatch Checksum: 195ba371 Exists: true Reading patch net.minecraft.server.level.ChunkHolder$PlayerProvider.binpatch Checksum: c13fa4ce Exists: true Reading patch net.minecraft.server.level.ChunkHolder.binpatch Checksum: b8140982 Exists: true Reading patch net.minecraft.server.level.ChunkMap$1.binpatch Checksum: 9a2ae268 Exists: true Reading patch net.minecraft.server.level.ChunkMap$2.binpatch Checksum: cd866905 Exists: true Reading patch net.minecraft.server.level.ChunkMap$DistanceManager.binpatch Checksum: ea7bc649 Exists: true Reading patch net.minecraft.server.level.ChunkMap$TrackedEntity.binpatch Checksum: 10adee06 Exists: true Reading patch net.minecraft.server.level.ChunkMap.binpatch Checksum: 7d8a75bd Exists: true Reading patch net.minecraft.server.level.DistanceManager$ChunkTicketTracker.binpatch Checksum: 53f17e4b Exists: true Reading patch net.minecraft.server.level.DistanceManager$FixedPlayerDistanceChunkTracker.binpatch Checksum: ec39c980 Exists: true Reading patch net.minecraft.server.level.DistanceManager$PlayerTicketTracker.binpatch Checksum: bb3145f Exists: true Reading patch net.minecraft.server.level.DistanceManager.binpatch Checksum: ab307c76 Exists: true Reading patch net.minecraft.server.level.ServerChunkCache$MainThreadExecutor.binpatch Checksum: b0a53137 Exists: true Reading patch net.minecraft.server.level.ServerChunkCache.binpatch Checksum: 55f1dd24 Exists: true Reading patch net.minecraft.server.level.ServerEntity.binpatch Checksum: dfb99bb3 Exists: true Reading patch net.minecraft.server.level.ServerLevel$EntityCallbacks.binpatch Checksum: ecac9ee7 Exists: true Reading patch net.minecraft.server.level.ServerLevel.binpatch Checksum: f62da266 Exists: true Reading patch net.minecraft.server.level.ServerPlayer$1.binpatch Checksum: 46729277 Exists: true Reading patch net.minecraft.server.level.ServerPlayer$2.binpatch Checksum: 201774ae Exists: true Reading patch net.minecraft.server.level.ServerPlayer$3.binpatch Checksum: 6cd7c45c Exists: true Reading patch net.minecraft.server.level.ServerPlayer.binpatch Checksum: 6a6432f5 Exists: true Reading patch net.minecraft.server.level.ServerPlayerGameMode.binpatch Checksum: 702ac65c Exists: true Reading patch net.minecraft.server.level.Ticket.binpatch Checksum: b6638e21 Exists: true Reading patch net.minecraft.server.network.MemoryServerHandshakePacketListenerImpl.binpatch Checksum: 9916ea19 Exists: true Reading patch net.minecraft.server.network.ServerConnectionListener$1.binpatch Checksum: db59f11a Exists: true Reading patch net.minecraft.server.network.ServerConnectionListener$2.binpatch Checksum: 54e15eba Exists: true Reading patch net.minecraft.server.network.ServerConnectionListener$LatencySimulator$DelayedMessage.binpatch Checksum: 4163fcc1 Exists: true Reading patch net.minecraft.server.network.ServerConnectionListener$LatencySimulator.binpatch Checksum: ea798160 Exists: true Reading patch net.minecraft.server.network.ServerConnectionListener.binpatch Checksum: 431b9e13 Exists: true Reading patch net.minecraft.server.network.ServerGamePacketListenerImpl$1.binpatch Checksum: bb1842e8 Exists: true Reading patch net.minecraft.server.network.ServerGamePacketListenerImpl$2.binpatch Checksum: 73e6e41d Exists: true Reading patch net.minecraft.server.network.ServerGamePacketListenerImpl$EntityInteraction.binpatch Checksum: 42cab319 Exists: true Reading patch net.minecraft.server.network.ServerGamePacketListenerImpl.binpatch Checksum: d39f03f6 Exists: true Reading patch net.minecraft.server.network.ServerHandshakePacketListenerImpl$1.binpatch Checksum: 139c569 Exists: true Reading patch net.minecraft.server.network.ServerHandshakePacketListenerImpl.binpatch Checksum: 89f5bf77 Exists: true Reading patch net.minecraft.server.network.ServerLoginPacketListenerImpl$1.binpatch Checksum: 8076a98b Exists: true Reading patch net.minecraft.server.network.ServerLoginPacketListenerImpl$State.binpatch Checksum: 800c700 Exists: true Reading patch net.minecraft.server.network.ServerLoginPacketListenerImpl.binpatch Checksum: 7a4d02cf Exists: true Reading patch net.minecraft.server.packs.PackResources.binpatch Checksum: f854e9c Exists: true Reading patch net.minecraft.server.packs.VanillaPackResources$1.binpatch Checksum: 7818fbfb Exists: true Reading patch net.minecraft.server.packs.VanillaPackResources.binpatch Checksum: bd41b79b Exists: true Reading patch net.minecraft.server.packs.repository.Pack$PackConstructor.binpatch Checksum: 2499ba38 Exists: true Reading patch net.minecraft.server.packs.repository.Pack$Position.binpatch Checksum: cc710d72 Exists: true Reading patch net.minecraft.server.packs.repository.Pack.binpatch Checksum: 51b0f094 Exists: true Reading patch net.minecraft.server.packs.repository.PackRepository.binpatch Checksum: 5486f6c5 Exists: true Reading patch net.minecraft.server.packs.resources.FallbackResourceManager$LeakedResourceWarningInputStream.binpatch Checksum: 8cc19522 Exists: true Reading patch net.minecraft.server.packs.resources.FallbackResourceManager.binpatch Checksum: 57c0b0c3 Exists: true Reading patch net.minecraft.server.packs.resources.ResourceManager$Empty.binpatch Checksum: e729e9ec Exists: true Reading patch net.minecraft.server.packs.resources.ResourceManager.binpatch Checksum: f1e398cc Exists: true Reading patch net.minecraft.server.packs.resources.ResourceManagerReloadListener.binpatch Checksum: b9096cd8 Exists: true Reading patch net.minecraft.server.packs.resources.SimpleJsonResourceReloadListener.binpatch Checksum: dc1c7b2c Exists: true Reading patch net.minecraft.server.packs.resources.SimpleReloadableResourceManager$FailingReloadInstance.binpatch Checksum: 1eec0b40 Exists: true Reading patch net.minecraft.server.packs.resources.SimpleReloadableResourceManager$ResourcePackLoadingFailure.binpatch Checksum: 9d6b3aa0 Exists: true Reading patch net.minecraft.server.packs.resources.SimpleReloadableResourceManager.binpatch Checksum: 7cc5dab4 Exists: true Reading patch net.minecraft.server.players.PlayerList$1.binpatch Checksum: edae6b7c Exists: true Reading patch net.minecraft.server.players.PlayerList.binpatch Checksum: f8ee484d Exists: true Reading patch net.minecraft.server.rcon.RconConsoleSource.binpatch Checksum: 2af1f4ff Exists: true Reading patch net.minecraft.server.rcon.thread.RconClient.binpatch Checksum: 9b0fb0e7 Exists: true Reading patch net.minecraft.sounds.SoundEvent.binpatch Checksum: 3d861666 Exists: true Reading patch net.minecraft.sounds.SoundEvents.binpatch Checksum: 40bd797b Exists: true Reading patch net.minecraft.stats.StatType.binpatch Checksum: 77cc640f Exists: true Reading patch net.minecraft.tags.BlockTags.binpatch Checksum: 1c84a8b Exists: true Reading patch net.minecraft.tags.EntityTypeTags.binpatch Checksum: 20e0b1fc Exists: true Reading patch net.minecraft.tags.FluidTags.binpatch Checksum: ed8cbef8 Exists: true Reading patch net.minecraft.tags.GameEventTags.binpatch Checksum: 1e2d13ad Exists: true Reading patch net.minecraft.tags.ItemTags.binpatch Checksum: ef17bc8d Exists: true Reading patch net.minecraft.tags.StaticTagHelper$OptionalNamedTag.binpatch Checksum: 0 Exists: false Reading patch net.minecraft.tags.StaticTagHelper$Wrapper.binpatch Checksum: 6bcb3135 Exists: true Reading patch net.minecraft.tags.StaticTagHelper.binpatch Checksum: 14d84b7c Exists: true Reading patch net.minecraft.tags.StaticTags.binpatch Checksum: 5dcf6239 Exists: true Reading patch net.minecraft.tags.Tag$Builder.binpatch Checksum: da56c833 Exists: true Reading patch net.minecraft.tags.Tag$BuilderEntry.binpatch Checksum: dd987ff1 Exists: true Reading patch net.minecraft.tags.Tag$ElementEntry.binpatch Checksum: c0d4636b Exists: true Reading patch net.minecraft.tags.Tag$Entry.binpatch Checksum: 4c3509f9 Exists: true Reading patch net.minecraft.tags.Tag$Named.binpatch Checksum: 666371fa Exists: true Reading patch net.minecraft.tags.Tag$OptionalElementEntry.binpatch Checksum: 861a5a63 Exists: true Reading patch net.minecraft.tags.Tag$OptionalTagEntry.binpatch Checksum: 5846d868 Exists: true Reading patch net.minecraft.tags.Tag$TagEntry.binpatch Checksum: e2c47e06 Exists: true Reading patch net.minecraft.tags.Tag.binpatch Checksum: f3dc537b Exists: true Reading patch net.minecraft.tags.TagContainer$1.binpatch Checksum: 7586274e Exists: true Reading patch net.minecraft.tags.TagContainer$Builder.binpatch Checksum: 84775329 Exists: true Reading patch net.minecraft.tags.TagContainer$CollectionConsumer.binpatch Checksum: 4544c15a Exists: true Reading patch net.minecraft.tags.TagContainer.binpatch Checksum: d2f70cc8 Exists: true Reading patch net.minecraft.tags.TagManager$LoaderInfo.binpatch Checksum: 74e26317 Exists: true Reading patch net.minecraft.tags.TagManager.binpatch Checksum: 3d80f516 Exists: true Reading patch net.minecraft.world.effect.MobEffect.binpatch Checksum: 506431e0 Exists: true Reading patch net.minecraft.world.effect.MobEffectCategory.binpatch Checksum: 589a051 Exists: true Reading patch net.minecraft.world.effect.MobEffectInstance.binpatch Checksum: 5dd7bb36 Exists: true Reading patch net.minecraft.world.effect.MobEffects$1.binpatch Checksum: 452c1c7d Exists: true Reading patch net.minecraft.world.effect.MobEffects.binpatch Checksum: 84c824c1 Exists: true Reading patch net.minecraft.world.entity.Entity$1.binpatch Checksum: 8d8816e9 Exists: true Reading patch net.minecraft.world.entity.Entity$MoveFunction.binpatch Checksum: 29926be7 Exists: true Reading patch net.minecraft.world.entity.Entity$MovementEmission.binpatch Checksum: 3351b64e Exists: true Reading patch net.minecraft.world.entity.Entity$RemovalReason.binpatch Checksum: 3e3eb132 Exists: true Reading patch net.minecraft.world.entity.Entity.binpatch Checksum: 855a9c39 Exists: true Reading patch net.minecraft.world.entity.EntityType$1.binpatch Checksum: 972e48f9 Exists: true Reading patch net.minecraft.world.entity.EntityType$Builder.binpatch Checksum: d9ecb073 Exists: true Reading patch net.minecraft.world.entity.EntityType$EntityFactory.binpatch Checksum: 2341be9f Exists: true Reading patch net.minecraft.world.entity.EntityType.binpatch Checksum: c9c472f2 Exists: true Reading patch net.minecraft.world.entity.ExperienceOrb.binpatch Checksum: 6780a8e0 Exists: true Reading patch net.minecraft.world.entity.FlyingMob.binpatch Checksum: a364b0a6 Exists: true Reading patch net.minecraft.world.entity.LightningBolt.binpatch Checksum: 93d1b20d Exists: true Reading patch net.minecraft.world.entity.LivingEntity$1.binpatch Checksum: e1f53f17 Exists: true Reading patch net.minecraft.world.entity.LivingEntity.binpatch Checksum: 6f07beba Exists: true Reading patch net.minecraft.world.entity.Mob$1.binpatch Checksum: 44232200 Exists: true Reading patch net.minecraft.world.entity.Mob.binpatch Checksum: c9eee74 Exists: true Reading patch net.minecraft.world.entity.MobCategory.binpatch Checksum: 6288edc2 Exists: true Reading patch net.minecraft.world.entity.Shearable.binpatch Checksum: 671d32ef Exists: true Reading patch net.minecraft.world.entity.SpawnPlacements$Data.binpatch Checksum: d898eaad Exists: true Reading patch net.minecraft.world.entity.SpawnPlacements$SpawnPredicate.binpatch Checksum: 3efc2bbf Exists: true Reading patch net.minecraft.world.entity.SpawnPlacements$Type.binpatch Checksum: d7616dbc Exists: true Reading patch net.minecraft.world.entity.SpawnPlacements.binpatch Checksum: 5395b5c1 Exists: true Reading patch net.minecraft.world.entity.ai.attributes.Attribute.binpatch Checksum: 360dbfe2 Exists: true Reading patch net.minecraft.world.entity.ai.attributes.AttributeSupplier$Builder.binpatch Checksum: a881c3b6 Exists: true Reading patch net.minecraft.world.entity.ai.attributes.AttributeSupplier.binpatch Checksum: 6c2a4d90 Exists: true Reading patch net.minecraft.world.entity.ai.attributes.DefaultAttributes.binpatch Checksum: 19367d60 Exists: true Reading patch net.minecraft.world.entity.ai.behavior.CrossbowAttack$CrossbowState.binpatch Checksum: 83de9eeb Exists: true Reading patch net.minecraft.world.entity.ai.behavior.CrossbowAttack.binpatch Checksum: 571227ca Exists: true Reading patch net.minecraft.world.entity.ai.behavior.HarvestFarmland.binpatch Checksum: 54725bc2 Exists: true Reading patch net.minecraft.world.entity.ai.goal.BreakDoorGoal.binpatch Checksum: 5371e433 Exists: true Reading patch net.minecraft.world.entity.ai.goal.EatBlockGoal.binpatch Checksum: 2b616268 Exists: true Reading patch net.minecraft.world.entity.ai.goal.MeleeAttackGoal.binpatch Checksum: be1bdb3f Exists: true Reading patch net.minecraft.world.entity.ai.goal.RangedBowAttackGoal.binpatch Checksum: d180bdb7 Exists: true Reading patch net.minecraft.world.entity.ai.goal.RangedCrossbowAttackGoal$CrossbowState.binpatch Checksum: cf52ad87 Exists: true Reading patch net.minecraft.world.entity.ai.goal.RangedCrossbowAttackGoal.binpatch Checksum: b4f60c3a Exists: true Reading patch net.minecraft.world.entity.ai.goal.RemoveBlockGoal.binpatch Checksum: 90b38065 Exists: true Reading patch net.minecraft.world.entity.ai.goal.RunAroundLikeCrazyGoal.binpatch Checksum: 4145705a Exists: true Reading patch net.minecraft.world.entity.ai.memory.MemoryModuleType.binpatch Checksum: 57e85c42 Exists: true Reading patch net.minecraft.world.entity.ai.navigation.PathNavigation.binpatch Checksum: 47792c30 Exists: true Reading patch net.minecraft.world.entity.ai.navigation.WallClimberNavigation.binpatch Checksum: 6170c25a Exists: true Reading patch net.minecraft.world.entity.ai.sensing.SensorType.binpatch Checksum: 7b3e3661 Exists: true Reading patch net.minecraft.world.entity.ai.village.VillageSiege$State.binpatch Checksum: d470736d Exists: true Reading patch net.minecraft.world.entity.ai.village.VillageSiege.binpatch Checksum: cabc3db8 Exists: true Reading patch net.minecraft.world.entity.ai.village.poi.PoiType.binpatch Checksum: 5b4b8d54 Exists: true Reading patch net.minecraft.world.entity.animal.Animal.binpatch Checksum: 1a045362 Exists: true Reading patch net.minecraft.world.entity.animal.Bee$1.binpatch Checksum: eb6b25f0 Exists: true Reading patch net.minecraft.world.entity.animal.Bee$BaseBeeGoal.binpatch Checksum: 281cc582 Exists: true Reading patch net.minecraft.world.entity.animal.Bee$BeeAttackGoal.binpatch Checksum: dbd81d09 Exists: true Reading patch net.minecraft.world.entity.animal.Bee$BeeBecomeAngryTargetGoal.binpatch Checksum: c017de81 Exists: true Reading patch net.minecraft.world.entity.animal.Bee$BeeEnterHiveGoal.binpatch Checksum: db9d0d66 Exists: true Reading patch net.minecraft.world.entity.animal.Bee$BeeGoToHiveGoal.binpatch Checksum: ccfaf14f Exists: true Reading patch net.minecraft.world.entity.animal.Bee$BeeGoToKnownFlowerGoal.binpatch Checksum: 786d0031 Exists: true Reading patch net.minecraft.world.entity.animal.Bee$BeeGrowCropGoal.binpatch Checksum: a81b7c35 Exists: true Reading patch net.minecraft.world.entity.animal.Bee$BeeHurtByOtherGoal.binpatch Checksum: 423e9f41 Exists: true Reading patch net.minecraft.world.entity.animal.Bee$BeeLocateHiveGoal.binpatch Checksum: cf8579f7 Exists: true Reading patch net.minecraft.world.entity.animal.Bee$BeeLookControl.binpatch Checksum: 4ad13c44 Exists: true Reading patch net.minecraft.world.entity.animal.Bee$BeePollinateGoal.binpatch Checksum: b0c14397 Exists: true Reading patch net.minecraft.world.entity.animal.Bee$BeeWanderGoal.binpatch Checksum: 59b3f0a8 Exists: true Reading patch net.minecraft.world.entity.animal.Bee.binpatch Checksum: 63f79139 Exists: true Reading patch net.minecraft.world.entity.animal.Cat$CatAvoidEntityGoal.binpatch Checksum: b533c9f7 Exists: true Reading patch net.minecraft.world.entity.animal.Cat$CatRelaxOnOwnerGoal.binpatch Checksum: 55b1bd21 Exists: true Reading patch net.minecraft.world.entity.animal.Cat$CatTemptGoal.binpatch Checksum: 46d6de0e Exists: true Reading patch net.minecraft.world.entity.animal.Cat.binpatch Checksum: 29997a80 Exists: true Reading patch net.minecraft.world.entity.animal.Fox$DefendTrustedTargetGoal.binpatch Checksum: 9394db36 Exists: true Reading patch net.minecraft.world.entity.animal.Fox$FaceplantGoal.binpatch Checksum: 56e44a7a Exists: true Reading patch net.minecraft.world.entity.animal.Fox$FoxAlertableEntitiesSelector.binpatch Checksum: 351d0539 Exists: true Reading patch net.minecraft.world.entity.animal.Fox$FoxBehaviorGoal.binpatch Checksum: 5d4cfca3 Exists: true Reading patch net.minecraft.world.entity.animal.Fox$FoxBreedGoal.binpatch Checksum: 532f7d26 Exists: true Reading patch net.minecraft.world.entity.animal.Fox$FoxEatBerriesGoal.binpatch Checksum: 5298d4e4 Exists: true Reading patch net.minecraft.world.entity.animal.Fox$FoxFloatGoal.binpatch Checksum: 61ac3034 Exists: true Reading patch net.minecraft.world.entity.animal.Fox$FoxFollowParentGoal.binpatch Checksum: dc1c2080 Exists: true Reading patch net.minecraft.world.entity.animal.Fox$FoxGroupData.binpatch Checksum: c43ee442 Exists: true Reading patch net.minecraft.world.entity.animal.Fox$FoxLookAtPlayerGoal.binpatch Checksum: f9c98ac Exists: true Reading patch net.minecraft.world.entity.animal.Fox$FoxLookControl.binpatch Checksum: 8ea8ffb2 Exists: true Reading patch net.minecraft.world.entity.animal.Fox$FoxMeleeAttackGoal.binpatch Checksum: c8e1f875 Exists: true Reading patch net.minecraft.world.entity.animal.Fox$FoxMoveControl.binpatch Checksum: f6bccd59 Exists: true Reading patch net.minecraft.world.entity.animal.Fox$FoxPanicGoal.binpatch Checksum: 3ce3d4d6 Exists: true Reading patch net.minecraft.world.entity.animal.Fox$FoxPounceGoal.binpatch Checksum: 78b272a8 Exists: true Reading patch net.minecraft.world.entity.animal.Fox$FoxSearchForItemsGoal.binpatch Checksum: f194c6f9 Exists: true Reading patch net.minecraft.world.entity.animal.Fox$FoxStrollThroughVillageGoal.binpatch Checksum: b22a46d6 Exists: true Reading patch net.minecraft.world.entity.animal.Fox$PerchAndSearchGoal.binpatch Checksum: d655248c Exists: true Reading patch net.minecraft.world.entity.animal.Fox$SeekShelterGoal.binpatch Checksum: 6d44ebed Exists: true Reading patch net.minecraft.world.entity.animal.Fox$SleepGoal.binpatch Checksum: 67731ac1 Exists: true Reading patch net.minecraft.world.entity.animal.Fox$StalkPreyGoal.binpatch Checksum: dc9587e Exists: true Reading patch net.minecraft.world.entity.animal.Fox$Type.binpatch Checksum: 1166eee6 Exists: true Reading patch net.minecraft.world.entity.animal.Fox.binpatch Checksum: 3c68290 Exists: true Reading patch net.minecraft.world.entity.animal.IronGolem$Crackiness.binpatch Checksum: 1914b648 Exists: true Reading patch net.minecraft.world.entity.animal.IronGolem.binpatch Checksum: 5d6bce91 Exists: true Reading patch net.minecraft.world.entity.animal.MushroomCow$MushroomType.binpatch Checksum: d7659688 Exists: true Reading patch net.minecraft.world.entity.animal.MushroomCow.binpatch Checksum: 46d35367 Exists: true Reading patch net.minecraft.world.entity.animal.Ocelot$OcelotAvoidEntityGoal.binpatch Checksum: 43b1d9c0 Exists: true Reading patch net.minecraft.world.entity.animal.Ocelot$OcelotTemptGoal.binpatch Checksum: 75e125a3 Exists: true Reading patch net.minecraft.world.entity.animal.Ocelot.binpatch Checksum: 6e50d25 Exists: true Reading patch net.minecraft.world.entity.animal.Parrot$1.binpatch Checksum: 48ec3f69 Exists: true Reading patch net.minecraft.world.entity.animal.Parrot.binpatch Checksum: 9f055ac7 Exists: true Reading patch net.minecraft.world.entity.animal.Pig.binpatch Checksum: 937a7d71 Exists: true Reading patch net.minecraft.world.entity.animal.Rabbit$EvilRabbitAttackGoal.binpatch Checksum: 3a181464 Exists: true Reading patch net.minecraft.world.entity.animal.Rabbit$RabbitAvoidEntityGoal.binpatch Checksum: ecb5a0ac Exists: true Reading patch net.minecraft.world.entity.animal.Rabbit$RabbitGroupData.binpatch Checksum: af5aad86 Exists: true Reading patch net.minecraft.world.entity.animal.Rabbit$RabbitJumpControl.binpatch Checksum: 96f21e9a Exists: true Reading patch net.minecraft.world.entity.animal.Rabbit$RabbitMoveControl.binpatch Checksum: c1b7a071 Exists: true Reading patch net.minecraft.world.entity.animal.Rabbit$RabbitPanicGoal.binpatch Checksum: 35ce08f Exists: true Reading patch net.minecraft.world.entity.animal.Rabbit$RaidGardenGoal.binpatch Checksum: 9c4d4e80 Exists: true Reading patch net.minecraft.world.entity.animal.Rabbit.binpatch Checksum: 6d921086 Exists: true Reading patch net.minecraft.world.entity.animal.Sheep$1.binpatch Checksum: 77db2726 Exists: true Reading patch net.minecraft.world.entity.animal.Sheep$2.binpatch Checksum: 597a4ce7 Exists: true Reading patch net.minecraft.world.entity.animal.Sheep.binpatch Checksum: 67518d82 Exists: true Reading patch net.minecraft.world.entity.animal.SnowGolem.binpatch Checksum: 5e23c019 Exists: true Reading patch net.minecraft.world.entity.animal.Wolf$WolfAvoidEntityGoal.binpatch Checksum: b2b1915f Exists: true Reading patch net.minecraft.world.entity.animal.Wolf.binpatch Checksum: 1610181d Exists: true Reading patch net.minecraft.world.entity.animal.horse.AbstractHorse$1.binpatch Checksum: 8bbeed62 Exists: true Reading patch net.minecraft.world.entity.animal.horse.AbstractHorse.binpatch Checksum: 3509e318 Exists: true Reading patch net.minecraft.world.entity.animal.horse.Horse$HorseGroupData.binpatch Checksum: e5c6dae7 Exists: true Reading patch net.minecraft.world.entity.animal.horse.Horse.binpatch Checksum: 4497fa74 Exists: true Reading patch net.minecraft.world.entity.animal.horse.SkeletonTrapGoal.binpatch Checksum: f58475a8 Exists: true Reading patch net.minecraft.world.entity.boss.EnderDragonPart.binpatch Checksum: e49eba9 Exists: true Reading patch net.minecraft.world.entity.boss.enderdragon.EnderDragon.binpatch Checksum: 42d78455 Exists: true Reading patch net.minecraft.world.entity.boss.wither.WitherBoss$WitherDoNothingGoal.binpatch Checksum: a6053bb3 Exists: true Reading patch net.minecraft.world.entity.boss.wither.WitherBoss.binpatch Checksum: 99441c1d Exists: true Reading patch net.minecraft.world.entity.decoration.ArmorStand$1.binpatch Checksum: 8243d5f6 Exists: true Reading patch net.minecraft.world.entity.decoration.ArmorStand.binpatch Checksum: 7e7f0fcf Exists: true Reading patch net.minecraft.world.entity.decoration.HangingEntity$1.binpatch Checksum: 3469ce34 Exists: true Reading patch net.minecraft.world.entity.decoration.HangingEntity.binpatch Checksum: 27d6f52 Exists: true Reading patch net.minecraft.world.entity.decoration.Motive.binpatch Checksum: 2562b549 Exists: true Reading patch net.minecraft.world.entity.item.ItemEntity.binpatch Checksum: e89df57a Exists: true Reading patch net.minecraft.world.entity.monster.AbstractSkeleton$1.binpatch Checksum: 34ed1e51 Exists: true Reading patch net.minecraft.world.entity.monster.AbstractSkeleton.binpatch Checksum: 70d4f00b Exists: true Reading patch net.minecraft.world.entity.monster.Creeper.binpatch Checksum: 6b7130eb Exists: true Reading patch net.minecraft.world.entity.monster.CrossbowAttackMob.binpatch Checksum: 845c65fd Exists: true Reading patch net.minecraft.world.entity.monster.EnderMan$EndermanFreezeWhenLookedAt.binpatch Checksum: 36297e82 Exists: true Reading patch net.minecraft.world.entity.monster.EnderMan$EndermanLeaveBlockGoal.binpatch Checksum: 7d1d96b1 Exists: true Reading patch net.minecraft.world.entity.monster.EnderMan$EndermanLookForPlayerGoal.binpatch Checksum: fc704a76 Exists: true Reading patch net.minecraft.world.entity.monster.EnderMan$EndermanTakeBlockGoal.binpatch Checksum: 8f813d91 Exists: true Reading patch net.minecraft.world.entity.monster.EnderMan.binpatch Checksum: 1b27ba1c Exists: true Reading patch net.minecraft.world.entity.monster.Evoker$EvokerAttackSpellGoal.binpatch Checksum: 796da674 Exists: true Reading patch net.minecraft.world.entity.monster.Evoker$EvokerCastingSpellGoal.binpatch Checksum: 86b3b12b Exists: true Reading patch net.minecraft.world.entity.monster.Evoker$EvokerSummonSpellGoal.binpatch Checksum: 77e2c07b Exists: true Reading patch net.minecraft.world.entity.monster.Evoker$EvokerWololoSpellGoal.binpatch Checksum: c13e78cf Exists: true Reading patch net.minecraft.world.entity.monster.Evoker.binpatch Checksum: 41698800 Exists: true Reading patch net.minecraft.world.entity.monster.Illusioner$IllusionerBlindnessSpellGoal.binpatch Checksum: 2c37185 Exists: true Reading patch net.minecraft.world.entity.monster.Illusioner$IllusionerMirrorSpellGoal.binpatch Checksum: 6c8a7ea7 Exists: true Reading patch net.minecraft.world.entity.monster.Illusioner.binpatch Checksum: 42e688f2 Exists: true Reading patch net.minecraft.world.entity.monster.MagmaCube.binpatch Checksum: 286cedfc Exists: true Reading patch net.minecraft.world.entity.monster.Pillager.binpatch Checksum: acd59571 Exists: true Reading patch net.minecraft.world.entity.monster.Ravager$RavagerMeleeAttackGoal.binpatch Checksum: e3f923cf Exists: true Reading patch net.minecraft.world.entity.monster.Ravager$RavagerNavigation.binpatch Checksum: 76b76758 Exists: true Reading patch net.minecraft.world.entity.monster.Ravager$RavagerNodeEvaluator.binpatch Checksum: ef65054 Exists: true Reading patch net.minecraft.world.entity.monster.Ravager.binpatch Checksum: c83ef37c Exists: true Reading patch net.minecraft.world.entity.monster.Silverfish$SilverfishMergeWithStoneGoal.binpatch Checksum: aa0bc5a0 Exists: true Reading patch net.minecraft.world.entity.monster.Silverfish$SilverfishWakeUpFriendsGoal.binpatch Checksum: da8d77d4 Exists: true Reading patch net.minecraft.world.entity.monster.Silverfish.binpatch Checksum: cbe989e9 Exists: true Reading patch net.minecraft.world.entity.monster.Slime$SlimeAttackGoal.binpatch Checksum: eacd2c20 Exists: true Reading patch net.minecraft.world.entity.monster.Slime$SlimeFloatGoal.binpatch Checksum: 36b62212 Exists: true Reading patch net.minecraft.world.entity.monster.Slime$SlimeKeepOnJumpingGoal.binpatch Checksum: a2da765d Exists: true Reading patch net.minecraft.world.entity.monster.Slime$SlimeMoveControl.binpatch Checksum: c2fb2d0b Exists: true Reading patch net.minecraft.world.entity.monster.Slime$SlimeRandomDirectionGoal.binpatch Checksum: 8d044168 Exists: true Reading patch net.minecraft.world.entity.monster.Slime.binpatch Checksum: 1bcf687e Exists: true Reading patch net.minecraft.world.entity.monster.Spider$SpiderAttackGoal.binpatch Checksum: 6fa6a46b Exists: true Reading patch net.minecraft.world.entity.monster.Spider$SpiderEffectsGroupData.binpatch Checksum: 36530e4d Exists: true Reading patch net.minecraft.world.entity.monster.Spider$SpiderTargetGoal.binpatch Checksum: d67db61d Exists: true Reading patch net.minecraft.world.entity.monster.Spider.binpatch Checksum: 32726598 Exists: true Reading patch net.minecraft.world.entity.monster.Zombie$ZombieAttackTurtleEggGoal.binpatch Checksum: 8c75dd37 Exists: true Reading patch net.minecraft.world.entity.monster.Zombie$ZombieGroupData.binpatch Checksum: b7929e1d Exists: true Reading patch net.minecraft.world.entity.monster.Zombie.binpatch Checksum: 58ddced4 Exists: true Reading patch net.minecraft.world.entity.monster.ZombieVillager.binpatch Checksum: 94d6722b Exists: true Reading patch net.minecraft.world.entity.monster.hoglin.Hoglin.binpatch Checksum: c30d1b86 Exists: true Reading patch net.minecraft.world.entity.monster.piglin.AbstractPiglin.binpatch Checksum: 6faf0a90 Exists: true Reading patch net.minecraft.world.entity.monster.piglin.Piglin.binpatch Checksum: c982e0e6 Exists: true Reading patch net.minecraft.world.entity.monster.piglin.PiglinAi.binpatch Checksum: 5f5393dd Exists: true Reading patch net.minecraft.world.entity.monster.piglin.StopHoldingItemIfNoLongerAdmiring.binpatch Checksum: 14648b4 Exists: true Reading patch net.minecraft.world.entity.npc.AbstractVillager.binpatch Checksum: 7b4932d5 Exists: true Reading patch net.minecraft.world.entity.npc.CatSpawner.binpatch Checksum: 2bc8904e Exists: true Reading patch net.minecraft.world.entity.npc.Villager.binpatch Checksum: 9f9694f2 Exists: true Reading patch net.minecraft.world.entity.npc.VillagerProfession.binpatch Checksum: 3a1c797 Exists: true Reading patch net.minecraft.world.entity.player.Inventory.binpatch Checksum: f51381c2 Exists: true Reading patch net.minecraft.world.entity.player.Player$1.binpatch Checksum: d2dac1f0 Exists: true Reading patch net.minecraft.world.entity.player.Player$BedSleepingProblem.binpatch Checksum: c89a9f37 Exists: true Reading patch net.minecraft.world.entity.player.Player.binpatch Checksum: 3c518457 Exists: true Reading patch net.minecraft.world.entity.projectile.AbstractArrow$1.binpatch Checksum: c610da04 Exists: true Reading patch net.minecraft.world.entity.projectile.AbstractArrow$Pickup.binpatch Checksum: 74bfacae Exists: true Reading patch net.minecraft.world.entity.projectile.AbstractArrow.binpatch Checksum: ab4cec8a Exists: true Reading patch net.minecraft.world.entity.projectile.AbstractHurtingProjectile.binpatch Checksum: 9ee06a55 Exists: true Reading patch net.minecraft.world.entity.projectile.FireworkRocketEntity.binpatch Checksum: b01d2c4a Exists: true Reading patch net.minecraft.world.entity.projectile.FishingHook$1.binpatch Checksum: 782deb37 Exists: true Reading patch net.minecraft.world.entity.projectile.FishingHook$FishHookState.binpatch Checksum: a5c785a6 Exists: true Reading patch net.minecraft.world.entity.projectile.FishingHook$OpenWaterType.binpatch Checksum: 57db8935 Exists: true Reading patch net.minecraft.world.entity.projectile.FishingHook.binpatch Checksum: 60abfc17 Exists: true Reading patch net.minecraft.world.entity.projectile.LargeFireball.binpatch Checksum: ef90279d Exists: true Reading patch net.minecraft.world.entity.projectile.LlamaSpit.binpatch Checksum: c9598bf3 Exists: true Reading patch net.minecraft.world.entity.projectile.Projectile.binpatch Checksum: 38e73b58 Exists: true Reading patch net.minecraft.world.entity.projectile.ProjectileUtil.binpatch Checksum: e4838543 Exists: true Reading patch net.minecraft.world.entity.projectile.ShulkerBullet.binpatch Checksum: 83f46ef1 Exists: true Reading patch net.minecraft.world.entity.projectile.SmallFireball.binpatch Checksum: dc97de90 Exists: true Reading patch net.minecraft.world.entity.projectile.ThrowableProjectile.binpatch Checksum: 3e820622 Exists: true Reading patch net.minecraft.world.entity.projectile.ThrownEnderpearl.binpatch Checksum: 199cda68 Exists: true Reading patch net.minecraft.world.entity.projectile.WitherSkull.binpatch Checksum: 27a9daf Exists: true Reading patch net.minecraft.world.entity.raid.Raid$1.binpatch Checksum: 87302b3b Exists: true Reading patch net.minecraft.world.entity.raid.Raid$RaidStatus.binpatch Checksum: 1205e217 Exists: true Reading patch net.minecraft.world.entity.raid.Raid$RaiderType.binpatch Checksum: 794787b0 Exists: true Reading patch net.minecraft.world.entity.raid.Raid.binpatch Checksum: ec7a4e8a Exists: true Reading patch net.minecraft.world.entity.schedule.Activity.binpatch Checksum: bdd9730d Exists: true Reading patch net.minecraft.world.entity.schedule.Schedule.binpatch Checksum: bdd4a7c6 Exists: true Reading patch net.minecraft.world.entity.vehicle.AbstractMinecart$1.binpatch Checksum: 5f4b85d8 Exists: true Reading patch net.minecraft.world.entity.vehicle.AbstractMinecart$Type.binpatch Checksum: 5beca85d Exists: true Reading patch net.minecraft.world.entity.vehicle.AbstractMinecart.binpatch Checksum: 7e005200 Exists: true Reading patch net.minecraft.world.entity.vehicle.AbstractMinecartContainer$1.binpatch Checksum: ad6a65e1 Exists: true Reading patch net.minecraft.world.entity.vehicle.AbstractMinecartContainer.binpatch Checksum: 5cb194b4 Exists: true Reading patch net.minecraft.world.entity.vehicle.Boat$1.binpatch Checksum: 4fab7600 Exists: true Reading patch net.minecraft.world.entity.vehicle.Boat$Status.binpatch Checksum: 542279ad Exists: true Reading patch net.minecraft.world.entity.vehicle.Boat$Type.binpatch Checksum: 16e100bc Exists: true Reading patch net.minecraft.world.entity.vehicle.Boat.binpatch Checksum: 2c9956bb Exists: true Reading patch net.minecraft.world.entity.vehicle.Minecart.binpatch Checksum: 47bb0504 Exists: true Reading patch net.minecraft.world.entity.vehicle.MinecartCommandBlock$MinecartCommandBase.binpatch Checksum: 13742063 Exists: true Reading patch net.minecraft.world.entity.vehicle.MinecartCommandBlock.binpatch Checksum: 9f241cd9 Exists: true Reading patch net.minecraft.world.entity.vehicle.MinecartFurnace.binpatch Checksum: 9e8a9805 Exists: true Reading patch net.minecraft.world.entity.vehicle.MinecartSpawner$1.binpatch Checksum: b9523ff Exists: true Reading patch net.minecraft.world.entity.vehicle.MinecartSpawner.binpatch Checksum: c65494c3 Exists: true Reading patch net.minecraft.world.food.FoodProperties$Builder.binpatch Checksum: a7c52b8b Exists: true Reading patch net.minecraft.world.food.FoodProperties.binpatch Checksum: aeffc4df Exists: true Reading patch net.minecraft.world.inventory.AbstractContainerMenu$1.binpatch Checksum: ebcc340e Exists: true Reading patch net.minecraft.world.inventory.AbstractContainerMenu.binpatch Checksum: 40be69e3 Exists: true Reading patch net.minecraft.world.inventory.AbstractFurnaceMenu.binpatch Checksum: 2c645a40 Exists: true Reading patch net.minecraft.world.inventory.AnvilMenu$1.binpatch Checksum: 296cf41d Exists: true Reading patch net.minecraft.world.inventory.AnvilMenu.binpatch Checksum: f60774a0 Exists: true Reading patch net.minecraft.world.inventory.BeaconMenu$1.binpatch Checksum: c0b635e1 Exists: true Reading patch net.minecraft.world.inventory.BeaconMenu$PaymentSlot.binpatch Checksum: f6146f2d Exists: true Reading patch net.minecraft.world.inventory.BeaconMenu.binpatch Checksum: c0f220f8 Exists: true Reading patch net.minecraft.world.inventory.BrewingStandMenu$FuelSlot.binpatch Checksum: 815d2a61 Exists: true Reading patch net.minecraft.world.inventory.BrewingStandMenu$IngredientsSlot.binpatch Checksum: 14a1fc32 Exists: true Reading patch net.minecraft.world.inventory.BrewingStandMenu$PotionSlot.binpatch Checksum: fcf87cba Exists: true Reading patch net.minecraft.world.inventory.BrewingStandMenu.binpatch Checksum: 5044aed9 Exists: true Reading patch net.minecraft.world.inventory.EnchantmentMenu$1.binpatch Checksum: fe81d0ad Exists: true Reading patch net.minecraft.world.inventory.EnchantmentMenu$2.binpatch Checksum: 3d6c41fa Exists: true Reading patch net.minecraft.world.inventory.EnchantmentMenu$3.binpatch Checksum: 3d228351 Exists: true Reading patch net.minecraft.world.inventory.EnchantmentMenu.binpatch Checksum: 60afb5d5 Exists: true Reading patch net.minecraft.world.inventory.FurnaceResultSlot.binpatch Checksum: ea5a7ea5 Exists: true Reading patch net.minecraft.world.inventory.GrindstoneMenu$1.binpatch Checksum: b1cbcf2b Exists: true Reading patch net.minecraft.world.inventory.GrindstoneMenu$2.binpatch Checksum: 9da798dc Exists: true Reading patch net.minecraft.world.inventory.GrindstoneMenu$3.binpatch Checksum: 961398e3 Exists: true Reading patch net.minecraft.world.inventory.GrindstoneMenu$4.binpatch Checksum: 10061844 Exists: true Reading patch net.minecraft.world.inventory.GrindstoneMenu.binpatch Checksum: da47fd3b Exists: true Reading patch net.minecraft.world.inventory.InventoryMenu$1.binpatch Checksum: 30f21d9e Exists: true Reading patch net.minecraft.world.inventory.InventoryMenu$2.binpatch Checksum: aa92aafd Exists: true Reading patch net.minecraft.world.inventory.InventoryMenu.binpatch Checksum: 5ff5bf0c Exists: true Reading patch net.minecraft.world.inventory.MenuType$MenuSupplier.binpatch Checksum: 9b60b38d Exists: true Reading patch net.minecraft.world.inventory.MenuType.binpatch Checksum: bdcd69df Exists: true Reading patch net.minecraft.world.inventory.RecipeBookMenu.binpatch Checksum: 50e05c1e Exists: true Reading patch net.minecraft.world.inventory.ResultSlot.binpatch Checksum: 1fd9fa0e Exists: true Reading patch net.minecraft.world.inventory.Slot.binpatch Checksum: 23ce6cb6 Exists: true Reading patch net.minecraft.world.item.ArmorItem$1.binpatch Checksum: c5c8086d Exists: true Reading patch net.minecraft.world.item.ArmorItem.binpatch Checksum: e27abb6b Exists: true Reading patch net.minecraft.world.item.ArrowItem.binpatch Checksum: 195078d1 Exists: true Reading patch net.minecraft.world.item.AxeItem.binpatch Checksum: 5171c0b3 Exists: true Reading patch net.minecraft.world.item.BlockItem.binpatch Checksum: cc52907c Exists: true Reading patch net.minecraft.world.item.BoneMealItem.binpatch Checksum: 1e35fc7e Exists: true Reading patch net.minecraft.world.item.BowItem.binpatch Checksum: 80b0bf9a Exists: true Reading patch net.minecraft.world.item.BucketItem.binpatch Checksum: e7fe49af Exists: true Reading patch net.minecraft.world.item.ChorusFruitItem.binpatch Checksum: 4965e93 Exists: true Reading patch net.minecraft.world.item.CreativeModeTab$1.binpatch Checksum: 63cd7e1 Exists: true Reading patch net.minecraft.world.item.CreativeModeTab$10.binpatch Checksum: ca8046ec Exists: true Reading patch net.minecraft.world.item.CreativeModeTab$11.binpatch Checksum: 953d722a Exists: true Reading patch net.minecraft.world.item.CreativeModeTab$12.binpatch Checksum: 88fd8e4 Exists: true Reading patch net.minecraft.world.item.CreativeModeTab$2.binpatch Checksum: 8909d815 Exists: true Reading patch net.minecraft.world.item.CreativeModeTab$3.binpatch Checksum: 2b54d1fa Exists: true Reading patch net.minecraft.world.item.CreativeModeTab$4.binpatch Checksum: 3a0dd807 Exists: true Reading patch net.minecraft.world.item.CreativeModeTab$5.binpatch Checksum: 1a6bd20c Exists: true Reading patch net.minecraft.world.item.CreativeModeTab$6.binpatch Checksum: 74f3d235 Exists: true Reading patch net.minecraft.world.item.CreativeModeTab$7.binpatch Checksum: 6dcfd279 Exists: true Reading patch net.minecraft.world.item.CreativeModeTab$8.binpatch Checksum: 5a50d287 Exists: true Reading patch net.minecraft.world.item.CreativeModeTab$9.binpatch Checksum: 457cd284 Exists: true Reading patch net.minecraft.world.item.CreativeModeTab.binpatch Checksum: 9ca635f0 Exists: true Reading patch net.minecraft.world.item.DiggerItem.binpatch Checksum: ce32a44c Exists: true Reading patch net.minecraft.world.item.DyeColor.binpatch Checksum: ff3109ce Exists: true Reading patch net.minecraft.world.item.DyeableHorseArmorItem.binpatch Checksum: b391d938 Exists: true Reading patch net.minecraft.world.item.ElytraItem.binpatch Checksum: 8a4f0449 Exists: true Reading patch net.minecraft.world.item.HoeItem.binpatch Checksum: 6173b0b0 Exists: true Reading patch net.minecraft.world.item.HorseArmorItem.binpatch Checksum: 5f31b7fc Exists: true Reading patch net.minecraft.world.item.Item$1.binpatch Checksum: 6edeb246 Exists: true Reading patch net.minecraft.world.item.Item$Properties.binpatch Checksum: c4b31b3b Exists: true Reading patch net.minecraft.world.item.Item.binpatch Checksum: 265a028 Exists: true Reading patch net.minecraft.world.item.ItemStack$TooltipPart.binpatch Checksum: e374ada9 Exists: true Reading patch net.minecraft.world.item.ItemStack.binpatch Checksum: 6c191e6e Exists: true Reading patch net.minecraft.world.item.Items.binpatch Checksum: e947ccf Exists: true Reading patch net.minecraft.world.item.MapItem.binpatch Checksum: fb4ba5f9 Exists: true Reading patch net.minecraft.world.item.MilkBucketItem.binpatch Checksum: a27c6808 Exists: true Reading patch net.minecraft.world.item.MinecartItem$1.binpatch Checksum: 74dab3bf Exists: true Reading patch net.minecraft.world.item.MinecartItem.binpatch Checksum: a69ed89d Exists: true Reading patch net.minecraft.world.item.MobBucketItem.binpatch Checksum: adbcd0a2 Exists: true Reading patch net.minecraft.world.item.PickaxeItem.binpatch Checksum: 136b306c Exists: true Reading patch net.minecraft.world.item.Rarity.binpatch Checksum: b9a58839 Exists: true Reading patch net.minecraft.world.item.RecordItem.binpatch Checksum: 46d486be Exists: true Reading patch net.minecraft.world.item.ShearsItem.binpatch Checksum: 54f79a61 Exists: true Reading patch net.minecraft.world.item.ShieldItem.binpatch Checksum: dc3251cd Exists: true Reading patch net.minecraft.world.item.ShovelItem.binpatch Checksum: 288ffc Exists: true Reading patch net.minecraft.world.item.StandingAndWallBlockItem.binpatch Checksum: 8a6e4138 Exists: true Reading patch net.minecraft.world.item.SwordItem.binpatch Checksum: 54fbbc63 Exists: true Reading patch net.minecraft.world.item.Tier.binpatch Checksum: f1213f49 Exists: true Reading patch net.minecraft.world.item.Tiers.binpatch Checksum: efb7f560 Exists: true Reading patch net.minecraft.world.item.alchemy.Potion.binpatch Checksum: 326ae518 Exists: true Reading patch net.minecraft.world.item.alchemy.PotionBrewing$Mix.binpatch Checksum: 1b3b27ab Exists: true Reading patch net.minecraft.world.item.alchemy.PotionBrewing.binpatch Checksum: 74a4cf1 Exists: true Reading patch net.minecraft.world.item.crafting.AbstractCookingRecipe.binpatch Checksum: 4693ffd9 Exists: true Reading patch net.minecraft.world.item.crafting.ArmorDyeRecipe.binpatch Checksum: 12bccf7e Exists: true Reading patch net.minecraft.world.item.crafting.BannerDuplicateRecipe.binpatch Checksum: 3a90fd88 Exists: true Reading patch net.minecraft.world.item.crafting.BlastingRecipe.binpatch Checksum: 95144992 Exists: true Reading patch net.minecraft.world.item.crafting.BookCloningRecipe.binpatch Checksum: 59c5e43 Exists: true Reading patch net.minecraft.world.item.crafting.CampfireCookingRecipe.binpatch Checksum: 62834f06 Exists: true Reading patch net.minecraft.world.item.crafting.FireworkRocketRecipe.binpatch Checksum: 5c5a3f2 Exists: true Reading patch net.minecraft.world.item.crafting.FireworkStarFadeRecipe.binpatch Checksum: 7158944f Exists: true Reading patch net.minecraft.world.item.crafting.FireworkStarRecipe.binpatch Checksum: 406b7b4e Exists: true Reading patch net.minecraft.world.item.crafting.Ingredient$ItemValue.binpatch Checksum: 3420ea2a Exists: true Reading patch net.minecraft.world.item.crafting.Ingredient$TagValue.binpatch Checksum: bae3ffb6 Exists: true Reading patch net.minecraft.world.item.crafting.Ingredient$Value.binpatch Checksum: 53357f83 Exists: true Reading patch net.minecraft.world.item.crafting.Ingredient.binpatch Checksum: c8f09700 Exists: true Reading patch net.minecraft.world.item.crafting.MapCloningRecipe.binpatch Checksum: 243dfccc Exists: true Reading patch net.minecraft.world.item.crafting.Recipe.binpatch Checksum: 347d2f97 Exists: true Reading patch net.minecraft.world.item.crafting.RecipeManager.binpatch Checksum: a9bb03c9 Exists: true Reading patch net.minecraft.world.item.crafting.RecipeSerializer.binpatch Checksum: cc01e5aa Exists: true Reading patch net.minecraft.world.item.crafting.RepairItemRecipe.binpatch Checksum: ad2de59d Exists: true Reading patch net.minecraft.world.item.crafting.ShapedRecipe$Serializer.binpatch Checksum: f1f19ad3 Exists: true Reading patch net.minecraft.world.item.crafting.ShapedRecipe.binpatch Checksum: 9e95dc76 Exists: true Reading patch net.minecraft.world.item.crafting.ShapelessRecipe$Serializer.binpatch Checksum: 23474954 Exists: true Reading patch net.minecraft.world.item.crafting.ShapelessRecipe.binpatch Checksum: 648588d4 Exists: true Reading patch net.minecraft.world.item.crafting.ShieldDecorationRecipe.binpatch Checksum: 645efb1f Exists: true Reading patch net.minecraft.world.item.crafting.ShulkerBoxColoring.binpatch Checksum: 68dad77d Exists: true Reading patch net.minecraft.world.item.crafting.SimpleCookingSerializer$CookieBaker.binpatch Checksum: d13a22f4 Exists: true Reading patch net.minecraft.world.item.crafting.SimpleCookingSerializer.binpatch Checksum: 76d45bf4 Exists: true Reading patch net.minecraft.world.item.crafting.SimpleRecipeSerializer.binpatch Checksum: 28aed715 Exists: true Reading patch net.minecraft.world.item.crafting.SingleItemRecipe$Serializer$SingleItemMaker.binpatch Checksum: 94463d1e Exists: true Reading patch net.minecraft.world.item.crafting.SingleItemRecipe$Serializer.binpatch Checksum: b56b7301 Exists: true Reading patch net.minecraft.world.item.crafting.SingleItemRecipe.binpatch Checksum: 69e9395b Exists: true Reading patch net.minecraft.world.item.crafting.SmeltingRecipe.binpatch Checksum: 41c4970 Exists: true Reading patch net.minecraft.world.item.crafting.SmokingRecipe.binpatch Checksum: 773848b1 Exists: true Reading patch net.minecraft.world.item.crafting.StonecutterRecipe.binpatch Checksum: 4869b7d3 Exists: true Reading patch net.minecraft.world.item.crafting.SuspiciousStewRecipe.binpatch Checksum: 6f15988b Exists: true Reading patch net.minecraft.world.item.crafting.TippedArrowRecipe.binpatch Checksum: 6922b4e4 Exists: true Reading patch net.minecraft.world.item.crafting.UpgradeRecipe$Serializer.binpatch Checksum: 7f667055 Exists: true Reading patch net.minecraft.world.item.crafting.UpgradeRecipe.binpatch Checksum: c3cc4e70 Exists: true Reading patch net.minecraft.world.item.enchantment.DiggingEnchantment.binpatch Checksum: e0f8f334 Exists: true Reading patch net.minecraft.world.item.enchantment.Enchantment$Rarity.binpatch Checksum: 5ad498dd Exists: true Reading patch net.minecraft.world.item.enchantment.Enchantment.binpatch Checksum: aa1b3fc4 Exists: true Reading patch net.minecraft.world.item.enchantment.EnchantmentCategory$1.binpatch Checksum: 8b92b541 Exists: true Reading patch net.minecraft.world.item.enchantment.EnchantmentCategory$10.binpatch Checksum: 2ec4b8c6 Exists: true Reading patch net.minecraft.world.item.enchantment.EnchantmentCategory$11.binpatch Checksum: 573bb55c Exists: true Reading patch net.minecraft.world.item.enchantment.EnchantmentCategory$12.binpatch Checksum: b3ff351 Exists: true Reading patch net.minecraft.world.item.enchantment.EnchantmentCategory$13.binpatch Checksum: 7475b79b Exists: true Reading patch net.minecraft.world.item.enchantment.EnchantmentCategory$14.binpatch Checksum: 159915f0 Exists: true Reading patch net.minecraft.world.item.enchantment.EnchantmentCategory$2.binpatch Checksum: a5bb0012 Exists: true Reading patch net.minecraft.world.item.enchantment.EnchantmentCategory$3.binpatch Checksum: bff60026 Exists: true Reading patch net.minecraft.world.item.enchantment.EnchantmentCategory$4.binpatch Checksum: d510089 Exists: true Reading patch net.minecraft.world.item.enchantment.EnchantmentCategory$5.binpatch Checksum: 20e40087 Exists: true Reading patch net.minecraft.world.item.enchantment.EnchantmentCategory$6.binpatch Checksum: 125db609 Exists: true Reading patch net.minecraft.world.item.enchantment.EnchantmentCategory$7.binpatch Checksum: db4eb652 Exists: true Reading patch net.minecraft.world.item.enchantment.EnchantmentCategory$8.binpatch Checksum: e10fb7f8 Exists: true Reading patch net.minecraft.world.item.enchantment.EnchantmentCategory$9.binpatch Checksum: 137bb6fa Exists: true Reading patch net.minecraft.world.item.enchantment.EnchantmentCategory.binpatch Checksum: 25a8d99e Exists: true Reading patch net.minecraft.world.item.enchantment.EnchantmentHelper$EnchantmentVisitor.binpatch Checksum: 8b25867b Exists: true Reading patch net.minecraft.world.item.enchantment.EnchantmentHelper.binpatch Checksum: cf96b88d Exists: true Reading patch net.minecraft.world.item.enchantment.Enchantments.binpatch Checksum: 43a2ca0 Exists: true Reading patch net.minecraft.world.item.enchantment.FrostWalkerEnchantment.binpatch Checksum: 81c78f39 Exists: true Reading patch net.minecraft.world.item.trading.MerchantOffer.binpatch Checksum: 728b622b Exists: true Reading patch net.minecraft.world.level.BaseSpawner.binpatch Checksum: a151d88a Exists: true Reading patch net.minecraft.world.level.BlockGetter.binpatch Checksum: d5cdc779 Exists: true Reading patch net.minecraft.world.level.ClipContext$Block.binpatch Checksum: ea29f797 Exists: true Reading patch net.minecraft.world.level.ClipContext$Fluid.binpatch Checksum: 9bb5204a Exists: true Reading patch net.minecraft.world.level.ClipContext$ShapeGetter.binpatch Checksum: 2fac9ec4 Exists: true Reading patch net.minecraft.world.level.ClipContext.binpatch Checksum: 59f6e010 Exists: true Reading patch net.minecraft.world.level.DataPackConfig.binpatch Checksum: f1717896 Exists: true Reading patch net.minecraft.world.level.Explosion$BlockInteraction.binpatch Checksum: cd87651e Exists: true Reading patch net.minecraft.world.level.Explosion.binpatch Checksum: 5a720ff7 Exists: true Reading patch net.minecraft.world.level.ExplosionDamageCalculator.binpatch Checksum: 49e2a8c0 Exists: true Reading patch net.minecraft.world.level.ForcedChunksSavedData.binpatch Checksum: c3a76757 Exists: true Reading patch net.minecraft.world.level.Level$1.binpatch Checksum: 49834c82 Exists: true Reading patch net.minecraft.world.level.Level.binpatch Checksum: 379f3719 Exists: true Reading patch net.minecraft.world.level.LevelReader.binpatch Checksum: 597bb06f Exists: true Reading patch net.minecraft.world.level.LevelSettings.binpatch Checksum: ba12e5f3 Exists: true Reading patch net.minecraft.world.level.NaturalSpawner$1.binpatch Checksum: d770e009 Exists: true Reading patch net.minecraft.world.level.NaturalSpawner$AfterSpawnCallback.binpatch Checksum: 596c84bb Exists: true Reading patch net.minecraft.world.level.NaturalSpawner$ChunkGetter.binpatch Checksum: 95359a1d Exists: true Reading patch net.minecraft.world.level.NaturalSpawner$SpawnPredicate.binpatch Checksum: 2cc1c8c2 Exists: true Reading patch net.minecraft.world.level.NaturalSpawner$SpawnState.binpatch Checksum: 71c057ea Exists: true Reading patch net.minecraft.world.level.NaturalSpawner.binpatch Checksum: 8a535745 Exists: true Reading patch net.minecraft.world.level.biome.Biome$1.binpatch Checksum: 3bd66317 Exists: true Reading patch net.minecraft.world.level.biome.Biome$BiomeBuilder.binpatch Checksum: d746a5b0 Exists: true Reading patch net.minecraft.world.level.biome.Biome$BiomeCategory.binpatch Checksum: 498a3ae7 Exists: true Reading patch net.minecraft.world.level.biome.Biome$ClimateParameters.binpatch Checksum: 461c553c Exists: true Reading patch net.minecraft.world.level.biome.Biome$ClimateSettings.binpatch Checksum: 3c1c102d Exists: true Reading patch net.minecraft.world.level.biome.Biome$Precipitation.binpatch Checksum: 8f2762dc Exists: true Reading patch net.minecraft.world.level.biome.Biome$TemperatureModifier$1.binpatch Checksum: be38d294 Exists: true Reading patch net.minecraft.world.level.biome.Biome$TemperatureModifier$2.binpatch Checksum: 32177182 Exists: true Reading patch net.minecraft.world.level.biome.Biome$TemperatureModifier.binpatch Checksum: 6bf9bcf9 Exists: true Reading patch net.minecraft.world.level.biome.Biome.binpatch Checksum: 3fcd411 Exists: true Reading patch net.minecraft.world.level.biome.BiomeGenerationSettings$Builder.binpatch Checksum: e2b00f39 Exists: true Reading patch net.minecraft.world.level.biome.BiomeGenerationSettings.binpatch Checksum: e1fd9bdd Exists: true Reading patch net.minecraft.world.level.biome.BiomeSpecialEffects$Builder.binpatch Checksum: ba1fdbd3 Exists: true Reading patch net.minecraft.world.level.biome.BiomeSpecialEffects$GrassColorModifier$1.binpatch Checksum: f8f4d075 Exists: true Reading patch net.minecraft.world.level.biome.BiomeSpecialEffects$GrassColorModifier$2.binpatch Checksum: b0c8d60a Exists: true Reading patch net.minecraft.world.level.biome.BiomeSpecialEffects$GrassColorModifier$3.binpatch Checksum: c7b73a22 Exists: true Reading patch net.minecraft.world.level.biome.BiomeSpecialEffects$GrassColorModifier$ColorModifier.binpatch Checksum: 0 Exists: false Reading patch net.minecraft.world.level.biome.BiomeSpecialEffects$GrassColorModifier.binpatch Checksum: 74a439f6 Exists: true Reading patch net.minecraft.world.level.biome.BiomeSpecialEffects.binpatch Checksum: 96ed5ea3 Exists: true Reading patch net.minecraft.world.level.biome.MobSpawnSettings$Builder.binpatch Checksum: ab1142df Exists: true Reading patch net.minecraft.world.level.biome.MobSpawnSettings$MobSpawnCost.binpatch Checksum: 84d50264 Exists: true Reading patch net.minecraft.world.level.biome.MobSpawnSettings$SpawnerData.binpatch Checksum: 572a96f3 Exists: true Reading patch net.minecraft.world.level.biome.MobSpawnSettings.binpatch Checksum: aca881f8 Exists: true Reading patch net.minecraft.world.level.biome.OverworldBiomeSource.binpatch Checksum: 8c30c41 Exists: true Reading patch net.minecraft.world.level.block.AbstractBannerBlock.binpatch Checksum: 832be048 Exists: true Reading patch net.minecraft.world.level.block.AttachedStemBlock.binpatch Checksum: 828655ed Exists: true Reading patch net.minecraft.world.level.block.BambooBlock.binpatch Checksum: 7548f990 Exists: true Reading patch net.minecraft.world.level.block.BambooSaplingBlock.binpatch Checksum: f696e90b Exists: true Reading patch net.minecraft.world.level.block.BannerBlock.binpatch Checksum: eaf10d35 Exists: true Reading patch net.minecraft.world.level.block.BaseFireBlock.binpatch Checksum: 6dcda937 Exists: true Reading patch net.minecraft.world.level.block.BaseRailBlock$1.binpatch Checksum: 17fee9ca Exists: true Reading patch net.minecraft.world.level.block.BaseRailBlock.binpatch Checksum: db6f4d03 Exists: true Reading patch net.minecraft.world.level.block.BeehiveBlock.binpatch Checksum: ce26d4e5 Exists: true Reading patch net.minecraft.world.level.block.BeetrootBlock.binpatch Checksum: dcfc34c7 Exists: true Reading patch net.minecraft.world.level.block.BigDripleafStemBlock$1.binpatch Checksum: 23b1bf03 Exists: true Reading patch net.minecraft.world.level.block.BigDripleafStemBlock.binpatch Checksum: 8b2843d1 Exists: true Reading patch net.minecraft.world.level.block.Block$1.binpatch Checksum: b28ece4d Exists: true Reading patch net.minecraft.world.level.block.Block$2.binpatch Checksum: cc61f74a Exists: true Reading patch net.minecraft.world.level.block.Block$BlockStatePairKey.binpatch Checksum: 50ee431c Exists: true Reading patch net.minecraft.world.level.block.Block.binpatch Checksum: b7a68e45 Exists: true Reading patch net.minecraft.world.level.block.Blocks.binpatch Checksum: 48144948 Exists: true Reading patch net.minecraft.world.level.block.BushBlock.binpatch Checksum: 6027a89b Exists: true Reading patch net.minecraft.world.level.block.CactusBlock.binpatch Checksum: 1f3b89cc Exists: true Reading patch net.minecraft.world.level.block.CampfireBlock.binpatch Checksum: f02c0b8f Exists: true Reading patch net.minecraft.world.level.block.CandleCakeBlock.binpatch Checksum: 64238534 Exists: true Reading patch net.minecraft.world.level.block.CarrotBlock.binpatch Checksum: c8d2b5f1 Exists: true Reading patch net.minecraft.world.level.block.CaveVinesBlock.binpatch Checksum: 6c58f045 Exists: true Reading patch net.minecraft.world.level.block.CaveVinesPlantBlock.binpatch Checksum: f337117e Exists: true Reading patch net.minecraft.world.level.block.ChestBlock$1.binpatch Checksum: 3435f435 Exists: true Reading patch net.minecraft.world.level.block.ChestBlock$2$1.binpatch Checksum: 456135a5 Exists: true Reading patch net.minecraft.world.level.block.ChestBlock$2.binpatch Checksum: ea7055 Exists: true Reading patch net.minecraft.world.level.block.ChestBlock$3.binpatch Checksum: 70ce0f51 Exists: true Reading patch net.minecraft.world.level.block.ChestBlock$4.binpatch Checksum: 8eaab725 Exists: true Reading patch net.minecraft.world.level.block.ChestBlock.binpatch Checksum: b08796cc Exists: true Reading patch net.minecraft.world.level.block.ChorusFlowerBlock.binpatch Checksum: 21a4ab3d Exists: true Reading patch net.minecraft.world.level.block.CocoaBlock$1.binpatch Checksum: 509db6e9 Exists: true Reading patch net.minecraft.world.level.block.CocoaBlock.binpatch Checksum: 81eedcda Exists: true Reading patch net.minecraft.world.level.block.ComparatorBlock.binpatch Checksum: fd0ec72a Exists: true Reading patch net.minecraft.world.level.block.CropBlock.binpatch Checksum: eba17079 Exists: true Reading patch net.minecraft.world.level.block.DeadBushBlock.binpatch Checksum: 79d9c647 Exists: true Reading patch net.minecraft.world.level.block.DetectorRailBlock$1.binpatch Checksum: 1e681a34 Exists: true Reading patch net.minecraft.world.level.block.DetectorRailBlock.binpatch Checksum: cebebf5a Exists: true Reading patch net.minecraft.world.level.block.DiodeBlock.binpatch Checksum: 62bc7912 Exists: true Reading patch net.minecraft.world.level.block.DoublePlantBlock.binpatch Checksum: add0f7b4 Exists: true Reading patch net.minecraft.world.level.block.DropperBlock.binpatch Checksum: 7dcc9669 Exists: true Reading patch net.minecraft.world.level.block.EnchantmentTableBlock.binpatch Checksum: 582e7cca Exists: true Reading patch net.minecraft.world.level.block.EndGatewayBlock.binpatch Checksum: 24976b54 Exists: true Reading patch net.minecraft.world.level.block.EndPortalBlock.binpatch Checksum: e7f82668 Exists: true Reading patch net.minecraft.world.level.block.FallingBlock.binpatch Checksum: 57e0a18a Exists: true Reading patch net.minecraft.world.level.block.FarmBlock.binpatch Checksum: b6c7526b Exists: true Reading patch net.minecraft.world.level.block.FireBlock.binpatch Checksum: 94f4000a Exists: true Reading patch net.minecraft.world.level.block.FlowerPotBlock.binpatch Checksum: abb92930 Exists: true Reading patch net.minecraft.world.level.block.FrostedIceBlock.binpatch Checksum: 93b5b8d3 Exists: true Reading patch net.minecraft.world.level.block.GrowingPlantBodyBlock.binpatch Checksum: d7fbd5cd Exists: true Reading patch net.minecraft.world.level.block.GrowingPlantHeadBlock.binpatch Checksum: fe57a71f Exists: true Reading patch net.minecraft.world.level.block.LeavesBlock.binpatch Checksum: 571e5304 Exists: true Reading patch net.minecraft.world.level.block.LightBlock.binpatch Checksum: 5c5bd3a4 Exists: true Reading patch net.minecraft.world.level.block.LiquidBlock.binpatch Checksum: c0328546 Exists: true Reading patch net.minecraft.world.level.block.MushroomBlock.binpatch Checksum: c95ec0cf Exists: true Reading patch net.minecraft.world.level.block.NetherPortalBlock$1.binpatch Checksum: 56941b4d Exists: true Reading patch net.minecraft.world.level.block.NetherPortalBlock.binpatch Checksum: 7138042c Exists: true Reading patch net.minecraft.world.level.block.NetherWartBlock.binpatch Checksum: fda0e98b Exists: true Reading patch net.minecraft.world.level.block.NoteBlock.binpatch Checksum: 2f8e3c89 Exists: true Reading patch net.minecraft.world.level.block.OreBlock.binpatch Checksum: c9edc279 Exists: true Reading patch net.minecraft.world.level.block.PotatoBlock.binpatch Checksum: a42b634 Exists: true Reading patch net.minecraft.world.level.block.PoweredRailBlock$1.binpatch Checksum: a7b719bb Exists: true Reading patch net.minecraft.world.level.block.PoweredRailBlock.binpatch Checksum: 4356c71b Exists: true Reading patch net.minecraft.world.level.block.PumpkinBlock.binpatch Checksum: 58489e3b Exists: true Reading patch net.minecraft.world.level.block.RailBlock$1.binpatch Checksum: 191130c Exists: true Reading patch net.minecraft.world.level.block.RailBlock.binpatch Checksum: 1edbd175 Exists: true Reading patch net.minecraft.world.level.block.RailState$1.binpatch Checksum: ac7f30de Exists: true Reading patch net.minecraft.world.level.block.RailState.binpatch Checksum: dd8848af Exists: true Reading patch net.minecraft.world.level.block.RedStoneOreBlock.binpatch Checksum: 7ef33d99 Exists: true Reading patch net.minecraft.world.level.block.SaplingBlock.binpatch Checksum: 52e8895 Exists: true Reading patch net.minecraft.world.level.block.SeagrassBlock.binpatch Checksum: 1c9895d1 Exists: true Reading patch net.minecraft.world.level.block.ShulkerBoxBlock$1.binpatch Checksum: c9cc528a Exists: true Reading patch net.minecraft.world.level.block.ShulkerBoxBlock.binpatch Checksum: 17f853c Exists: true Reading patch net.minecraft.world.level.block.SoundType.binpatch Checksum: dea2e9e Exists: true Reading patch net.minecraft.world.level.block.SpawnerBlock.binpatch Checksum: fad98c61 Exists: true Reading patch net.minecraft.world.level.block.SpreadingSnowyDirtBlock.binpatch Checksum: a8c2ffe1 Exists: true Reading patch net.minecraft.world.level.block.StairBlock$1.binpatch Checksum: dff44c9b Exists: true Reading patch net.minecraft.world.level.block.StairBlock.binpatch Checksum: 2b175d2f Exists: true Reading patch net.minecraft.world.level.block.StemBlock.binpatch Checksum: 68e0fcfe Exists: true Reading patch net.minecraft.world.level.block.SugarCaneBlock.binpatch Checksum: 7e8eae11 Exists: true Reading patch net.minecraft.world.level.block.SweetBerryBushBlock.binpatch Checksum: 99932f23 Exists: true Reading patch net.minecraft.world.level.block.TallGrassBlock.binpatch Checksum: 9b74ef6d Exists: true Reading patch net.minecraft.world.level.block.TallSeagrassBlock.binpatch Checksum: b31306fb Exists: true Reading patch net.minecraft.world.level.block.TntBlock.binpatch Checksum: dc0c89e1 Exists: true Reading patch net.minecraft.world.level.block.TrapDoorBlock$1.binpatch Checksum: 98df30ab Exists: true Reading patch net.minecraft.world.level.block.TrapDoorBlock.binpatch Checksum: 900a0197 Exists: true Reading patch net.minecraft.world.level.block.TripWireBlock$1.binpatch Checksum: 518920ca Exists: true Reading patch net.minecraft.world.level.block.TripWireBlock.binpatch Checksum: 5d801afb Exists: true Reading patch net.minecraft.world.level.block.TripWireHookBlock$1.binpatch Checksum: 60b0bc92 Exists: true Reading patch net.minecraft.world.level.block.TripWireHookBlock.binpatch Checksum: d577ccf Exists: true Reading patch net.minecraft.world.level.block.TurtleEggBlock.binpatch Checksum: fee7a12a Exists: true Reading patch net.minecraft.world.level.block.VineBlock$1.binpatch Checksum: ccc61cb2 Exists: true Reading patch net.minecraft.world.level.block.VineBlock.binpatch Checksum: 7593ff6f Exists: true Reading patch net.minecraft.world.level.block.WebBlock.binpatch Checksum: 4098a9a7 Exists: true Reading patch net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity$1.binpatch Checksum: dcf23869 Exists: true Reading patch net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity.binpatch Checksum: 28bd613b Exists: true Reading patch net.minecraft.world.level.block.entity.BannerPattern$Builder.binpatch Checksum: 4151861a Exists: true Reading patch net.minecraft.world.level.block.entity.BannerPattern.binpatch Checksum: 27a8d61a Exists: true Reading patch net.minecraft.world.level.block.entity.BaseContainerBlockEntity.binpatch Checksum: 30c6d278 Exists: true Reading patch net.minecraft.world.level.block.entity.BeaconBlockEntity$1.binpatch Checksum: 289329f1 Exists: true Reading patch net.minecraft.world.level.block.entity.BeaconBlockEntity$BeaconBeamSection.binpatch Checksum: b5bfb228 Exists: true Reading patch net.minecraft.world.level.block.entity.BeaconBlockEntity.binpatch Checksum: cc36ad6a Exists: true Reading patch net.minecraft.world.level.block.entity.BlockEntity.binpatch Checksum: bf852e51 Exists: true Reading patch net.minecraft.world.level.block.entity.BlockEntityType$BlockEntitySupplier.binpatch Checksum: 461af4e3 Exists: true Reading patch net.minecraft.world.level.block.entity.BlockEntityType$Builder.binpatch Checksum: 4f0bc4a1 Exists: true Reading patch net.minecraft.world.level.block.entity.BlockEntityType.binpatch Checksum: b2a06032 Exists: true Reading patch net.minecraft.world.level.block.entity.BrewingStandBlockEntity$1.binpatch Checksum: 3a7014e2 Exists: true Reading patch net.minecraft.world.level.block.entity.BrewingStandBlockEntity.binpatch Checksum: 2f0973f5 Exists: true Reading patch net.minecraft.world.level.block.entity.ChestBlockEntity$1.binpatch Checksum: 2ff8e310 Exists: true Reading patch net.minecraft.world.level.block.entity.ChestBlockEntity.binpatch Checksum: 76e04ce2 Exists: true Reading patch net.minecraft.world.level.block.entity.ConduitBlockEntity.binpatch Checksum: a99e734c Exists: true Reading patch net.minecraft.world.level.block.entity.HopperBlockEntity.binpatch Checksum: 4688d1ce Exists: true Reading patch net.minecraft.world.level.block.entity.ShulkerBoxBlockEntity$1.binpatch Checksum: d05e0a96 Exists: true Reading patch net.minecraft.world.level.block.entity.ShulkerBoxBlockEntity$AnimationStatus.binpatch Checksum: ad13b633 Exists: true Reading patch net.minecraft.world.level.block.entity.ShulkerBoxBlockEntity.binpatch Checksum: 1d8f57b6 Exists: true Reading patch net.minecraft.world.level.block.entity.SpawnerBlockEntity$1.binpatch Checksum: 7c585659 Exists: true Reading patch net.minecraft.world.level.block.entity.SpawnerBlockEntity.binpatch Checksum: c2796c32 Exists: true Reading patch net.minecraft.world.level.block.piston.MovingPistonBlock.binpatch Checksum: 40715bbd Exists: true Reading patch net.minecraft.world.level.block.piston.PistonBaseBlock$1.binpatch Checksum: be34472 Exists: true Reading patch net.minecraft.world.level.block.piston.PistonBaseBlock.binpatch Checksum: d65e4ead Exists: true Reading patch net.minecraft.world.level.block.piston.PistonHeadBlock$1.binpatch Checksum: b95dd2f6 Exists: true Reading patch net.minecraft.world.level.block.piston.PistonHeadBlock.binpatch Checksum: 812736 Exists: true Reading patch net.minecraft.world.level.block.piston.PistonMovingBlockEntity$1.binpatch Checksum: 563f3788 Exists: true Reading patch net.minecraft.world.level.block.piston.PistonMovingBlockEntity.binpatch Checksum: 265f6a24 Exists: true Reading patch net.minecraft.world.level.block.piston.PistonStructureResolver.binpatch Checksum: 905ab6eb Exists: true Reading patch net.minecraft.world.level.block.state.BlockBehaviour$1.binpatch Checksum: 2394d79d Exists: true Reading patch net.minecraft.world.level.block.state.BlockBehaviour$BlockStateBase$Cache.binpatch Checksum: fcc5a08e Exists: true Reading patch net.minecraft.world.level.block.state.BlockBehaviour$BlockStateBase.binpatch Checksum: 1d2da889 Exists: true Reading patch net.minecraft.world.level.block.state.BlockBehaviour$OffsetType.binpatch Checksum: 6a09835e Exists: true Reading patch net.minecraft.world.level.block.state.BlockBehaviour$Properties.binpatch Checksum: b0774fd2 Exists: true Reading patch net.minecraft.world.level.block.state.BlockBehaviour$StateArgumentPredicate.binpatch Checksum: 7362e0c4 Exists: true Reading patch net.minecraft.world.level.block.state.BlockBehaviour$StatePredicate.binpatch Checksum: f76f85ad Exists: true Reading patch net.minecraft.world.level.block.state.BlockBehaviour.binpatch Checksum: 2a3a92f Exists: true Reading patch net.minecraft.world.level.block.state.BlockState.binpatch Checksum: 970bd451 Exists: true Reading patch net.minecraft.world.level.block.state.properties.WoodType.binpatch Checksum: 6d2ccdc9 Exists: true Reading patch net.minecraft.world.level.chunk.ChunkAccess.binpatch Checksum: ea3a8426 Exists: true Reading patch net.minecraft.world.level.chunk.ChunkStatus$ChunkType.binpatch Checksum: 83995d04 Exists: true Reading patch net.minecraft.world.level.chunk.ChunkStatus$GenerationTask.binpatch Checksum: 84291340 Exists: true Reading patch net.minecraft.world.level.chunk.ChunkStatus$LoadingTask.binpatch Checksum: d0488d30 Exists: true Reading patch net.minecraft.world.level.chunk.ChunkStatus$SimpleGenerationTask.binpatch Checksum: 3d7c8d66 Exists: true Reading patch net.minecraft.world.level.chunk.ChunkStatus.binpatch Checksum: 18377fd4 Exists: true Reading patch net.minecraft.world.level.chunk.LevelChunk$1.binpatch Checksum: 3e2bcac5 Exists: true Reading patch net.minecraft.world.level.chunk.LevelChunk$BoundTickingBlockEntity.binpatch Checksum: e7c80b27 Exists: true Reading patch net.minecraft.world.level.chunk.LevelChunk$EntityCreationType.binpatch Checksum: 8b5f7d27 Exists: true Reading patch net.minecraft.world.level.chunk.LevelChunk$RebindableTickingBlockEntityWrapper.binpatch Checksum: f5800e45 Exists: true Reading patch net.minecraft.world.level.chunk.LevelChunk.binpatch Checksum: c476bcba Exists: true Reading patch net.minecraft.world.level.chunk.PalettedContainer$CountConsumer.binpatch Checksum: d0f78266 Exists: true Reading patch net.minecraft.world.level.chunk.PalettedContainer.binpatch Checksum: eed755b2 Exists: true Reading patch net.minecraft.world.level.chunk.ProtoChunk.binpatch Checksum: bd361664 Exists: true Reading patch net.minecraft.world.level.chunk.storage.ChunkSerializer.binpatch Checksum: 20b8e6f6 Exists: true Reading patch net.minecraft.world.level.chunk.storage.EntityStorage.binpatch Checksum: 32d92544 Exists: true Reading patch net.minecraft.world.level.dimension.end.EndDragonFight.binpatch Checksum: 3d581a2f Exists: true Reading patch net.minecraft.world.level.gameevent.GameEvent.binpatch Checksum: 79f2844a Exists: true Reading patch net.minecraft.world.level.levelgen.DebugLevelSource.binpatch Checksum: 30d7ba97 Exists: true Reading patch net.minecraft.world.level.levelgen.NoiseBasedChunkGenerator$NoodleCaveNoiseModifier.binpatch Checksum: 1d68e06 Exists: true Reading patch net.minecraft.world.level.levelgen.NoiseBasedChunkGenerator$OreVeinNoiseSource.binpatch Checksum: d07d115 Exists: true Reading patch net.minecraft.world.level.levelgen.NoiseBasedChunkGenerator.binpatch Checksum: 221c9d40 Exists: true Reading patch net.minecraft.world.level.levelgen.PatrolSpawner.binpatch Checksum: a134a5b7 Exists: true Reading patch net.minecraft.world.level.levelgen.PhantomSpawner.binpatch Checksum: 4b66b532 Exists: true Reading patch net.minecraft.world.level.levelgen.WorldGenSettings.binpatch Checksum: caf01f1b Exists: true Reading patch net.minecraft.world.level.levelgen.carver.WorldCarver$CarveSkipChecker.binpatch Checksum: 8f7734d Exists: true Reading patch net.minecraft.world.level.levelgen.carver.WorldCarver.binpatch Checksum: 90586f02 Exists: true Reading patch net.minecraft.world.level.levelgen.feature.Feature.binpatch Checksum: 97180e73 Exists: true Reading patch net.minecraft.world.level.levelgen.feature.MonsterRoomFeature.binpatch Checksum: f5f7582 Exists: true Reading patch net.minecraft.world.level.levelgen.feature.NetherFortressFeature$NetherBridgeStart.binpatch Checksum: 6548e2cf Exists: true Reading patch net.minecraft.world.level.levelgen.feature.NetherFortressFeature.binpatch Checksum: 42021fe Exists: true Reading patch net.minecraft.world.level.levelgen.feature.OceanMonumentFeature$OceanMonumentStart.binpatch Checksum: 374679b0 Exists: true Reading patch net.minecraft.world.level.levelgen.feature.OceanMonumentFeature.binpatch Checksum: 965cde23 Exists: true Reading patch net.minecraft.world.level.levelgen.feature.PillagerOutpostFeature.binpatch Checksum: a93904b4 Exists: true Reading patch net.minecraft.world.level.levelgen.feature.StructureFeature$StructureStartFactory.binpatch Checksum: e81524c7 Exists: true Reading patch net.minecraft.world.level.levelgen.feature.StructureFeature.binpatch Checksum: c4f55f66 Exists: true Reading patch net.minecraft.world.level.levelgen.feature.SwamplandHutFeature$FeatureStart.binpatch Checksum: f64389d0 Exists: true Reading patch net.minecraft.world.level.levelgen.feature.SwamplandHutFeature.binpatch Checksum: 46bf9e7b Exists: true Reading patch net.minecraft.world.level.levelgen.feature.blockplacers.BlockPlacerType.binpatch Checksum: eb3c9be5 Exists: true Reading patch net.minecraft.world.level.levelgen.feature.configurations.TreeConfiguration$TreeConfigurationBuilder.binpatch Checksum: ec1689b2 Exists: true Reading patch net.minecraft.world.level.levelgen.feature.configurations.TreeConfiguration.binpatch Checksum: 4de584fc Exists: true Reading patch net.minecraft.world.level.levelgen.feature.foliageplacers.FoliagePlacerType.binpatch Checksum: dc675dfb Exists: true Reading patch net.minecraft.world.level.levelgen.feature.stateproviders.BlockStateProviderType.binpatch Checksum: b8da74b7 Exists: true Reading patch net.minecraft.world.level.levelgen.feature.structures.SinglePoolElement.binpatch Checksum: 2457306b Exists: true Reading patch net.minecraft.world.level.levelgen.feature.structures.StructureTemplatePool$Projection.binpatch Checksum: 8d73f698 Exists: true Reading patch net.minecraft.world.level.levelgen.feature.structures.StructureTemplatePool.binpatch Checksum: 80540bcc Exists: true Reading patch net.minecraft.world.level.levelgen.feature.treedecorators.TreeDecoratorType.binpatch Checksum: f3bea280 Exists: true Reading patch net.minecraft.world.level.levelgen.flat.FlatLevelGeneratorSettings.binpatch Checksum: 79a0eba5 Exists: true Reading patch net.minecraft.world.level.levelgen.placement.FeatureDecorator.binpatch Checksum: 542498d1 Exists: true Reading patch net.minecraft.world.level.levelgen.structure.StructurePiece$1.binpatch Checksum: 623cc5ed Exists: true Reading patch net.minecraft.world.level.levelgen.structure.StructurePiece$BlockSelector.binpatch Checksum: b6c004b6 Exists: true Reading patch net.minecraft.world.level.levelgen.structure.StructurePiece.binpatch Checksum: a2a395e5 Exists: true Reading patch net.minecraft.world.level.levelgen.structure.StructureStart$1.binpatch Checksum: 7777472 Exists: true Reading patch net.minecraft.world.level.levelgen.structure.StructureStart.binpatch Checksum: 5920d3f0 Exists: true Reading patch net.minecraft.world.level.levelgen.structure.templatesystem.StructureProcessor.binpatch Checksum: 7244ee8f Exists: true Reading patch net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate$1.binpatch Checksum: 53184649 Exists: true Reading patch net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate$Palette.binpatch Checksum: 69124c1a Exists: true Reading patch net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate$SimplePalette.binpatch Checksum: 2753abef Exists: true Reading patch net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate$StructureBlockInfo.binpatch Checksum: 89dd80f7 Exists: true Reading patch net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate$StructureEntityInfo.binpatch Checksum: c3951a89 Exists: true Reading patch net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.binpatch Checksum: 4cc2095 Exists: true Reading patch net.minecraft.world.level.levelgen.surfacebuilders.SurfaceBuilder.binpatch Checksum: fb5d3b26 Exists: true Reading patch net.minecraft.world.level.lighting.BlockLightEngine.binpatch Checksum: 8bde6c90 Exists: true Reading patch net.minecraft.world.level.lighting.DynamicGraphMinFixedPoint$1.binpatch Checksum: 49c5f0f6 Exists: true Reading patch net.minecraft.world.level.lighting.DynamicGraphMinFixedPoint$2.binpatch Checksum: e383f07e Exists: true Reading patch net.minecraft.world.level.lighting.DynamicGraphMinFixedPoint.binpatch Checksum: 1d523676 Exists: true Reading patch net.minecraft.world.level.lighting.LayerLightEngine.binpatch Checksum: 5f359946 Exists: true Reading patch net.minecraft.world.level.lighting.SkyLightEngine.binpatch Checksum: 132da0e6 Exists: true Reading patch net.minecraft.world.level.material.FlowingFluid$1.binpatch Checksum: 9e330d81 Exists: true Reading patch net.minecraft.world.level.material.FlowingFluid.binpatch Checksum: 3fe27a78 Exists: true Reading patch net.minecraft.world.level.material.Fluid.binpatch Checksum: 154001f Exists: true Reading patch net.minecraft.world.level.material.FluidState.binpatch Checksum: 66eb7244 Exists: true Reading patch net.minecraft.world.level.material.LavaFluid$Flowing.binpatch Checksum: 2c6921f Exists: true Reading patch net.minecraft.world.level.material.LavaFluid$Source.binpatch Checksum: fb50bae9 Exists: true Reading patch net.minecraft.world.level.material.LavaFluid.binpatch Checksum: e7ddbd07 Exists: true Reading patch net.minecraft.world.level.newbiome.layer.BiomeInitLayer.binpatch Checksum: 68fd6bec Exists: true Reading patch net.minecraft.world.level.pathfinder.BlockPathTypes.binpatch Checksum: 91201d10 Exists: true Reading patch net.minecraft.world.level.pathfinder.WalkNodeEvaluator.binpatch Checksum: 9110aaca Exists: true Reading patch net.minecraft.world.level.portal.PortalForcer.binpatch Checksum: 60239a15 Exists: true Reading patch net.minecraft.world.level.portal.PortalShape.binpatch Checksum: 5c981ba1 Exists: true Reading patch net.minecraft.world.level.saveddata.maps.MapDecoration$Type.binpatch Checksum: 89b1a2b Exists: true Reading patch net.minecraft.world.level.saveddata.maps.MapDecoration.binpatch Checksum: afca016a Exists: true Reading patch net.minecraft.world.level.storage.DimensionDataStorage.binpatch Checksum: d442b6f0 Exists: true Reading patch net.minecraft.world.level.storage.LevelStorageSource$LevelStorageAccess$1.binpatch Checksum: 20b0e395 Exists: true Reading patch net.minecraft.world.level.storage.LevelStorageSource$LevelStorageAccess$2.binpatch Checksum: c1230adc Exists: true Reading patch net.minecraft.world.level.storage.LevelStorageSource$LevelStorageAccess.binpatch Checksum: 8fcb76f3 Exists: true Reading patch net.minecraft.world.level.storage.LevelStorageSource.binpatch Checksum: 782e47f2 Exists: true Reading patch net.minecraft.world.level.storage.PlayerDataStorage.binpatch Checksum: b28ebe24 Exists: true Reading patch net.minecraft.world.level.storage.loot.LootContext$Builder.binpatch Checksum: 730f00f Exists: true Reading patch net.minecraft.world.level.storage.loot.LootContext$DynamicDrop.binpatch Checksum: 73f1d4fe Exists: true Reading patch net.minecraft.world.level.storage.loot.LootContext$EntityTarget$Serializer.binpatch Checksum: 47ab61cd Exists: true Reading patch net.minecraft.world.level.storage.loot.LootContext$EntityTarget.binpatch Checksum: fc014586 Exists: true Reading patch net.minecraft.world.level.storage.loot.LootContext.binpatch Checksum: f82a6ae4 Exists: true Reading patch net.minecraft.world.level.storage.loot.LootPool$Builder.binpatch Checksum: 6b64a549 Exists: true Reading patch net.minecraft.world.level.storage.loot.LootPool$Serializer.binpatch Checksum: 3ce3ff44 Exists: true Reading patch net.minecraft.world.level.storage.loot.LootPool.binpatch Checksum: 28d2b3c Exists: true Reading patch net.minecraft.world.level.storage.loot.LootTable$Builder.binpatch Checksum: 197d6b6d Exists: true Reading patch net.minecraft.world.level.storage.loot.LootTable$Serializer.binpatch Checksum: e4ba8b83 Exists: true Reading patch net.minecraft.world.level.storage.loot.LootTable.binpatch Checksum: bb2b4692 Exists: true Reading patch net.minecraft.world.level.storage.loot.LootTables.binpatch Checksum: 83a488a4 Exists: true Reading patch net.minecraft.world.level.storage.loot.functions.LootingEnchantFunction$Builder.binpatch Checksum: 20ae747e Exists: true Reading patch net.minecraft.world.level.storage.loot.functions.LootingEnchantFunction$Serializer.binpatch Checksum: b1a8e409 Exists: true Reading patch net.minecraft.world.level.storage.loot.functions.LootingEnchantFunction.binpatch Checksum: cdd20f5b Exists: true Reading patch net.minecraft.world.level.storage.loot.functions.SmeltItemFunction$Serializer.binpatch Checksum: ba08719a Exists: true Reading patch net.minecraft.world.level.storage.loot.functions.SmeltItemFunction.binpatch Checksum: 5208bd26 Exists: true Reading patch net.minecraft.world.level.storage.loot.parameters.LootContextParamSets.binpatch Checksum: 715adfaf Exists: true Reading patch net.minecraft.world.level.storage.loot.predicates.LootItemRandomChanceCondition$Serializer.binpatch Checksum: aaded065 Exists: true Reading patch net.minecraft.world.level.storage.loot.predicates.LootItemRandomChanceCondition.binpatch Checksum: 4a3dd1a4 Exists: true Reading patch net.minecraft.world.level.storage.loot.predicates.LootItemRandomChanceWithLootingCondition$Serializer.binpatch Checksum: e4c603c6 Exists: true Reading patch net.minecraft.world.level.storage.loot.predicates.LootItemRandomChanceWithLootingCondition.binpatch Checksum: 9db4a14 Exists: true Reading patch net.minecraft.world.phys.Vec3.binpatch Checksum: 431608b5 Exists: true Processing: C:\Users\USER-PC\AppData\Roaming\.minecraft\libraries\net\minecraft\client\1.17.1-20210706.113038\client-1.17.1-20210706.113038-srg.jar Patching net/minecraft/world/phys/Vec3 1/1 Patching net/minecraft/world/level/storage/loot/predicates/LootItemRandomChanceWithLootingCondition$Serializer 1/1 Patching net/minecraft/world/level/storage/loot/predicates/LootItemRandomChanceWithLootingCondition 1/1 Patching net/minecraft/world/level/storage/loot/predicates/LootItemRandomChanceCondition 1/1 Patching net/minecraft/world/level/storage/loot/predicates/LootItemRandomChanceCondition$Serializer 1/1 Patching net/minecraft/world/level/storage/loot/parameters/LootContextParamSets 1/1 Patching net/minecraft/world/level/storage/loot/functions/SmeltItemFunction$Serializer 1/1 Patching net/minecraft/world/level/storage/loot/functions/LootingEnchantFunction 1/1 Patching net/minecraft/world/level/storage/loot/functions/LootingEnchantFunction$Builder 1/1 Patching net/minecraft/world/level/storage/loot/functions/LootingEnchantFunction$Serializer 1/1 Patching net/minecraft/world/level/storage/loot/functions/SmeltItemFunction 1/1 Patching net/minecraft/world/level/storage/loot/LootTable$Serializer 1/1 Patching net/minecraft/world/level/storage/loot/LootPool$Serializer 1/1 Patching net/minecraft/world/level/storage/loot/LootTables 1/1 Patching net/minecraft/world/level/storage/loot/LootContext$DynamicDrop 1/1 Patching net/minecraft/world/level/storage/loot/LootTable$Builder 1/1 Patching net/minecraft/world/level/storage/loot/LootPool 1/1 Patching net/minecraft/world/level/storage/loot/LootContext$EntityTarget$Serializer 1/1 Patching net/minecraft/world/level/storage/loot/LootTable 1/1 Patching net/minecraft/world/level/storage/loot/LootContext 1/1 Patching net/minecraft/world/level/storage/loot/LootPool$Builder 1/1 Patching net/minecraft/world/level/storage/loot/LootContext$EntityTarget 1/1 Patching net/minecraft/world/level/storage/loot/LootContext$Builder 1/1 Patching net/minecraft/world/level/storage/PlayerDataStorage 1/1 Patching net/minecraft/world/level/storage/LevelStorageSource$LevelStorageAccess$2 1/1 Patching net/minecraft/world/level/storage/LevelStorageSource$LevelStorageAccess$1 1/1 Patching net/minecraft/world/level/storage/DimensionDataStorage 1/1 Patching net/minecraft/world/level/saveddata/maps/MapDecoration 1/1 Patching net/minecraft/world/level/storage/LevelStorageSource 1/1 Patching net/minecraft/world/level/storage/LevelStorageSource$LevelStorageAccess 1/1 Patching net/minecraft/world/level/saveddata/maps/MapDecoration$Type 1/1 Patching net/minecraft/world/level/portal/PortalShape 1/1 Patching net/minecraft/world/level/pathfinder/BlockPathTypes 1/1 Patching net/minecraft/world/level/portal/PortalForcer 1/1 Patching net/minecraft/world/level/newbiome/layer/BiomeInitLayer 1/1 Patching net/minecraft/world/level/material/LavaFluid$Source 1/1 Patching net/minecraft/world/level/material/LavaFluid$Flowing 1/1 Patching net/minecraft/world/level/material/FlowingFluid$1 1/1 Patching net/minecraft/world/level/material/FluidState 1/1 Patching net/minecraft/world/level/material/Fluid 1/1 Patching net/minecraft/world/level/pathfinder/WalkNodeEvaluator 1/1 Patching net/minecraft/world/level/material/LavaFluid 1/1 Patching net/minecraft/world/level/lighting/DynamicGraphMinFixedPoint$2 1/1 Patching net/minecraft/world/level/lighting/DynamicGraphMinFixedPoint$1 1/1 Patching net/minecraft/world/level/lighting/DynamicGraphMinFixedPoint 1/1 Patching net/minecraft/world/level/lighting/LayerLightEngine 1/1 Patching net/minecraft/world/level/lighting/BlockLightEngine 1/1 Patching net/minecraft/world/level/material/FlowingFluid 1/1 Patching net/minecraft/world/level/lighting/SkyLightEngine 1/1 Patching net/minecraft/world/level/levelgen/surfacebuilders/SurfaceBuilder 1/1 Patching net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate$StructureEntityInfo 1/1 Patching net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate$StructureBlockInfo 1/1 Patching net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate$SimplePalette 1/1 Patching net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate$Palette 1/1 Patching net/minecraft/world/level/levelgen/structure/templatesystem/StructureProcessor 1/1 Patching net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate$1 1/1 Patching net/minecraft/world/level/levelgen/structure/StructureStart$1 1/1 Patching net/minecraft/world/level/levelgen/structure/StructurePiece$BlockSelector 1/1 Patching net/minecraft/world/level/levelgen/structure/StructurePiece$1 1/1 Patching net/minecraft/world/level/levelgen/structure/StructureStart 1/1 Patching net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate 1/1 Patching net/minecraft/world/level/levelgen/structure/StructurePiece 1/1 Patching net/minecraft/world/level/levelgen/placement/FeatureDecorator 1/1 Patching net/minecraft/world/level/levelgen/feature/treedecorators/TreeDecoratorType 1/1 Patching net/minecraft/world/level/levelgen/feature/structures/StructureTemplatePool$Projection 1/1 Patching net/minecraft/world/level/levelgen/flat/FlatLevelGeneratorSettings 1/1 Patching net/minecraft/world/level/levelgen/feature/structures/StructureTemplatePool 1/1 Patching net/minecraft/world/level/levelgen/feature/structures/SinglePoolElement 1/1 Patching net/minecraft/world/level/levelgen/feature/stateproviders/BlockStateProviderType 1/1 Patching net/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacerType 1/1 Patching net/minecraft/world/level/levelgen/feature/configurations/TreeConfiguration$TreeConfigurationBuilder 1/1 Patching net/minecraft/world/level/levelgen/feature/configurations/TreeConfiguration 1/1 Patching net/minecraft/world/level/levelgen/feature/blockplacers/BlockPlacerType 1/1 Patching net/minecraft/world/level/levelgen/feature/SwamplandHutFeature$FeatureStart 1/1 Patching net/minecraft/world/level/levelgen/feature/SwamplandHutFeature 1/1 Patching net/minecraft/world/level/levelgen/feature/StructureFeature$StructureStartFactory 1/1 Patching net/minecraft/world/level/levelgen/feature/PillagerOutpostFeature 1/1 Patching net/minecraft/world/level/levelgen/feature/StructureFeature 1/1 Patching net/minecraft/world/level/levelgen/feature/OceanMonumentFeature$OceanMonumentStart 1/1 Patching net/minecraft/world/level/levelgen/feature/OceanMonumentFeature 1/1 Patching net/minecraft/world/level/levelgen/feature/NetherFortressFeature 1/1 Patching net/minecraft/world/level/levelgen/feature/NetherFortressFeature$NetherBridgeStart 1/1 Patching net/minecraft/world/level/levelgen/feature/MonsterRoomFeature 1/1 Patching net/minecraft/world/level/levelgen/carver/WorldCarver$CarveSkipChecker 1/1 Patching net/minecraft/world/level/levelgen/feature/Feature 1/1 Patching net/minecraft/world/level/levelgen/carver/WorldCarver 1/1 Patching net/minecraft/world/level/levelgen/PatrolSpawner 1/1 Patching net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator$OreVeinNoiseSource 1/1 Patching net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator$NoodleCaveNoiseModifier 1/1 Patching net/minecraft/world/level/levelgen/WorldGenSettings 1/1 Patching net/minecraft/world/level/levelgen/DebugLevelSource 1/1 Patching net/minecraft/world/level/gameevent/GameEvent 1/1 Patching net/minecraft/world/level/levelgen/PhantomSpawner 1/1 Patching net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator 1/1 Patching net/minecraft/world/level/chunk/storage/EntityStorage 1/1 Patching net/minecraft/world/level/chunk/PalettedContainer$CountConsumer 1/1 Patching net/minecraft/world/level/chunk/LevelChunk$RebindableTickingBlockEntityWrapper 1/1 Patching net/minecraft/world/level/chunk/LevelChunk$EntityCreationType 1/1 Patching net/minecraft/world/level/chunk/PalettedContainer 1/1 Patching net/minecraft/world/level/chunk/LevelChunk$1 1/1 Patching net/minecraft/world/level/chunk/LevelChunk$BoundTickingBlockEntity 1/1 Patching net/minecraft/world/level/dimension/end/EndDragonFight 1/1 Patching net/minecraft/world/level/chunk/ChunkStatus$LoadingTask 1/1 Patching net/minecraft/world/level/chunk/ChunkStatus$GenerationTask 1/1 Patching net/minecraft/world/level/chunk/ChunkStatus$SimpleGenerationTask 1/1 Patching net/minecraft/world/level/chunk/ChunkStatus$ChunkType 1/1 Patching net/minecraft/world/level/chunk/ChunkAccess 1/1 Patching net/minecraft/world/level/chunk/storage/ChunkSerializer 1/1 Patching net/minecraft/world/level/chunk/ProtoChunk 1/1 Patching net/minecraft/world/level/block/state/properties/WoodType 1/1 Patching net/minecraft/world/level/chunk/LevelChunk 1/1 Patching net/minecraft/world/level/chunk/ChunkStatus 1/1 Patching net/minecraft/world/level/block/state/BlockState 1/1 Patching net/minecraft/world/level/block/state/BlockBehaviour$StatePredicate 1/1 Patching net/minecraft/world/level/block/state/BlockBehaviour$StateArgumentPredicate 1/1 Patching net/minecraft/world/level/block/state/BlockBehaviour$OffsetType 1/1 Patching net/minecraft/world/level/block/state/BlockBehaviour$1 1/1 Patching net/minecraft/world/level/block/piston/PistonMovingBlockEntity$1 1/1 Patching net/minecraft/world/level/block/state/BlockBehaviour$BlockStateBase$Cache 1/1 Patching net/minecraft/world/level/block/piston/PistonHeadBlock$1 1/1 Patching net/minecraft/world/level/block/piston/PistonStructureResolver 1/1 Patching net/minecraft/world/level/block/piston/PistonBaseBlock$1 1/1 Patching net/minecraft/world/level/block/state/BlockBehaviour$Properties 1/1 Patching net/minecraft/world/level/block/state/BlockBehaviour 1/1 Patching net/minecraft/world/level/block/piston/PistonHeadBlock 1/1 Patching net/minecraft/world/level/block/entity/SpawnerBlockEntity$1 1/1 Patching net/minecraft/world/level/block/entity/SpawnerBlockEntity 1/1 Patching net/minecraft/world/level/block/state/BlockBehaviour$BlockStateBase 1/1 Patching net/minecraft/world/level/block/piston/MovingPistonBlock 1/1 Patching net/minecraft/world/level/block/piston/PistonMovingBlockEntity 1/1 Patching net/minecraft/world/level/block/piston/PistonBaseBlock 1/1 Patching net/minecraft/world/level/block/entity/ShulkerBoxBlockEntity$AnimationStatus 1/1 Patching net/minecraft/world/level/block/entity/ShulkerBoxBlockEntity$1 1/1 Patching net/minecraft/world/level/block/entity/ShulkerBoxBlockEntity 1/1 Patching net/minecraft/world/level/block/entity/BrewingStandBlockEntity$1 1/1 Patching net/minecraft/world/level/block/entity/ChestBlockEntity$1 1/1 Patching net/minecraft/world/level/block/entity/ChestBlockEntity 1/1 Patching net/minecraft/world/level/block/entity/BlockEntityType$Builder 1/1 Patching net/minecraft/world/level/block/entity/BlockEntityType$BlockEntitySupplier 1/1 Patching net/minecraft/world/level/block/entity/ConduitBlockEntity 1/1 Patching net/minecraft/world/level/block/entity/BrewingStandBlockEntity 1/1 Patching net/minecraft/world/level/block/entity/BlockEntity 1/1 Patching net/minecraft/world/level/block/entity/BeaconBlockEntity$BeaconBeamSection 1/1 Patching net/minecraft/world/level/block/entity/BaseContainerBlockEntity 1/1 Patching net/minecraft/world/level/block/entity/BeaconBlockEntity$1 1/1 Patching net/minecraft/world/level/block/entity/BlockEntityType 1/1 Patching net/minecraft/world/level/block/entity/BannerPattern$Builder 1/1 Patching net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity$1 1/1 Patching net/minecraft/world/level/block/entity/HopperBlockEntity 1/1 Patching net/minecraft/world/level/block/entity/BannerPattern 1/1 Patching net/minecraft/world/level/block/entity/BeaconBlockEntity 1/1 Patching net/minecraft/world/level/block/WebBlock 1/1 Patching net/minecraft/world/level/block/VineBlock$1 1/1 Patching net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity 1/1 Patching net/minecraft/world/level/block/TripWireHookBlock$1 1/1 Patching net/minecraft/world/level/block/TripWireBlock$1 1/1 Patching net/minecraft/world/level/block/TrapDoorBlock$1 1/1 Patching net/minecraft/world/level/block/TripWireHookBlock 1/1 Patching net/minecraft/world/level/block/TripWireBlock 1/1 Patching net/minecraft/world/level/block/VineBlock 1/1 Patching net/minecraft/world/level/block/TrapDoorBlock 1/1 Patching net/minecraft/world/level/block/TallSeagrassBlock 1/1 Patching net/minecraft/world/level/block/TallGrassBlock 1/1 Patching net/minecraft/world/level/block/SweetBerryBushBlock 1/1 Patching net/minecraft/world/level/block/SugarCaneBlock 1/1 Patching net/minecraft/world/level/block/StairBlock$1 1/1 Patching net/minecraft/world/level/block/TntBlock 1/1 Patching net/minecraft/world/level/block/TurtleEggBlock 1/1 Patching net/minecraft/world/level/block/StemBlock 1/1 Patching net/minecraft/world/level/block/SpreadingSnowyDirtBlock 1/1 Patching net/minecraft/world/level/block/SpawnerBlock 1/1 Patching net/minecraft/world/level/block/StairBlock 1/1 Patching net/minecraft/world/level/block/SoundType 1/1 Patching net/minecraft/world/level/block/ShulkerBoxBlock$1 1/1 Patching net/minecraft/world/level/block/SeagrassBlock 1/1 Patching net/minecraft/world/level/block/SaplingBlock 1/1 Patching net/minecraft/world/level/block/ShulkerBoxBlock 1/1 Patching net/minecraft/world/level/block/RailState$1 1/1 Patching net/minecraft/world/level/block/RailBlock$1 1/1 Patching net/minecraft/world/level/block/RailBlock 1/1 Patching net/minecraft/world/level/block/RedStoneOreBlock 1/1 Patching net/minecraft/world/level/block/PoweredRailBlock$1 1/1 Patching net/minecraft/world/level/block/PumpkinBlock 1/1 Patching net/minecraft/world/level/block/RailState 1/1 Patching net/minecraft/world/level/block/PotatoBlock 1/1 Patching net/minecraft/world/level/block/PoweredRailBlock 1/1 Patching net/minecraft/world/level/block/OreBlock 1/1 Patching net/minecraft/world/level/block/NetherPortalBlock$1 1/1 Patching net/minecraft/world/level/block/NetherWartBlock 1/1 Patching net/minecraft/world/level/block/NoteBlock 1/1 Patching net/minecraft/world/level/block/NetherPortalBlock 1/1 Patching net/minecraft/world/level/block/MushroomBlock 1/1 Patching net/minecraft/world/level/block/LiquidBlock 1/1 Patching net/minecraft/world/level/block/LightBlock 1/1 Patching net/minecraft/world/level/block/LeavesBlock 1/1 Patching net/minecraft/world/level/block/GrowingPlantBodyBlock 1/1 Patching net/minecraft/world/level/block/GrowingPlantHeadBlock 1/1 Patching net/minecraft/world/level/block/FrostedIceBlock 1/1 Patching net/minecraft/world/level/block/FallingBlock 1/1 Patching net/minecraft/world/level/block/FlowerPotBlock 1/1 Patching net/minecraft/world/level/block/EndPortalBlock 1/1 Patching net/minecraft/world/level/block/EndGatewayBlock 1/1 Patching net/minecraft/world/level/block/FarmBlock 1/1 Patching net/minecraft/world/level/block/DropperBlock 1/1 Patching net/minecraft/world/level/block/DoublePlantBlock 1/1 Patching net/minecraft/world/level/block/EnchantmentTableBlock 1/1 Patching net/minecraft/world/level/block/DetectorRailBlock$1 1/1 Patching net/minecraft/world/level/block/FireBlock 1/1 Patching net/minecraft/world/level/block/DiodeBlock 1/1 Patching net/minecraft/world/level/block/DeadBushBlock 1/1 Patching net/minecraft/world/level/block/CropBlock 1/1 Patching net/minecraft/world/level/block/DetectorRailBlock 1/1 Patching net/minecraft/world/level/block/CocoaBlock$1 1/1 Patching net/minecraft/world/level/block/CocoaBlock 1/1 Patching net/minecraft/world/level/block/ChestBlock$4 1/1 Patching net/minecraft/world/level/block/ChestBlock$3 1/1 Patching net/minecraft/world/level/block/ChestBlock$2 1/1 Patching net/minecraft/world/level/block/ChestBlock$2$1 1/1 Patching net/minecraft/world/level/block/ChestBlock$1 1/1 Patching net/minecraft/world/level/block/ChorusFlowerBlock 1/1 Patching net/minecraft/world/level/block/CaveVinesPlantBlock 1/1 Patching net/minecraft/world/level/block/ChestBlock 1/1 Patching net/minecraft/world/level/block/CaveVinesBlock 1/1 Patching net/minecraft/world/level/block/CarrotBlock 1/1 Patching net/minecraft/world/level/block/CactusBlock 1/1 Patching net/minecraft/world/level/block/CandleCakeBlock 1/1 Patching net/minecraft/world/level/block/ComparatorBlock 1/1 Patching net/minecraft/world/level/block/BushBlock 1/1 Patching net/minecraft/world/level/block/CampfireBlock 1/1 Patching net/minecraft/world/level/block/Block$BlockStatePairKey 1/1 Patching net/minecraft/world/level/block/Block$2 1/1 Patching net/minecraft/world/level/block/Block$1 1/1 Patching net/minecraft/world/level/block/BigDripleafStemBlock$1 1/1 Patching net/minecraft/world/level/block/BigDripleafStemBlock 1/1 Patching net/minecraft/world/level/block/BeetrootBlock 1/1 Patching net/minecraft/world/level/block/BaseRailBlock$1 1/1 Patching net/minecraft/world/level/block/Block 1/1 Patching net/minecraft/world/level/block/BaseRailBlock 1/1 Patching net/minecraft/world/level/block/BeehiveBlock 1/1 Patching net/minecraft/world/level/block/BaseFireBlock 1/1 Patching net/minecraft/world/level/block/BannerBlock 1/1 Patching net/minecraft/world/level/block/AttachedStemBlock 1/1 Patching net/minecraft/world/level/block/BambooSaplingBlock 1/1 Patching net/minecraft/world/level/block/BambooBlock 1/1 Patching net/minecraft/world/level/block/AbstractBannerBlock 1/1 Patching net/minecraft/world/level/biome/OverworldBiomeSource 1/1 Patching net/minecraft/world/level/biome/MobSpawnSettings$MobSpawnCost 1/1 Patching net/minecraft/world/level/biome/MobSpawnSettings$SpawnerData 1/1 Patching net/minecraft/world/level/biome/MobSpawnSettings$Builder 1/1 Patching net/minecraft/world/level/biome/MobSpawnSettings 1/1 Patching net/minecraft/world/level/biome/BiomeSpecialEffects$GrassColorModifier$3 1/1 Patching net/minecraft/world/level/biome/BiomeSpecialEffects$GrassColorModifier$2 1/1 Patching net/minecraft/world/level/biome/BiomeSpecialEffects$GrassColorModifier$1 1/1 Patching net/minecraft/world/level/biome/BiomeSpecialEffects$GrassColorModifier 1/1 Patching net/minecraft/world/level/biome/BiomeSpecialEffects$Builder 1/1 Patching net/minecraft/world/level/biome/BiomeSpecialEffects 1/1 Patching net/minecraft/world/level/biome/Biome$TemperatureModifier$1 1/1 Patching net/minecraft/world/level/biome/Biome$TemperatureModifier$2 1/1 Patching net/minecraft/world/level/biome/Biome$TemperatureModifier 1/1 Patching net/minecraft/world/level/biome/BiomeGenerationSettings 1/1 Patching net/minecraft/world/level/biome/Biome$Precipitation 1/1 Patching net/minecraft/world/level/biome/Biome$1 1/1 Patching net/minecraft/world/level/biome/Biome$ClimateSettings 1/1 Patching net/minecraft/world/level/biome/BiomeGenerationSettings$Builder 1/1 Patching net/minecraft/world/level/biome/Biome$BiomeBuilder 1/1 Patching net/minecraft/world/level/biome/Biome$ClimateParameters 1/1 Patching net/minecraft/world/level/biome/Biome$BiomeCategory 1/1 Patching net/minecraft/world/level/NaturalSpawner$SpawnPredicate 1/1 Patching net/minecraft/world/level/NaturalSpawner$ChunkGetter 1/1 Patching net/minecraft/world/level/NaturalSpawner$AfterSpawnCallback 1/1 Patching net/minecraft/world/level/NaturalSpawner$SpawnState 1/1 Patching net/minecraft/world/level/NaturalSpawner$1 1/1 Patching net/minecraft/world/level/Level$1 1/1 Patching net/minecraft/world/level/LevelSettings 1/1 Patching net/minecraft/world/level/biome/Biome 1/1 Patching net/minecraft/world/level/LevelReader 1/1 Patching net/minecraft/world/level/ForcedChunksSavedData 1/1 Patching net/minecraft/world/level/ExplosionDamageCalculator 1/1 Patching net/minecraft/world/level/Explosion$BlockInteraction 1/1 Patching net/minecraft/world/level/NaturalSpawner 1/1 Patching net/minecraft/world/level/DataPackConfig 1/1 Patching net/minecraft/world/level/ClipContext 1/1 Patching net/minecraft/world/level/ClipContext$ShapeGetter 1/1 Patching net/minecraft/world/level/ClipContext$Fluid 1/1 Patching net/minecraft/world/level/ClipContext$Block 1/1 Patching net/minecraft/world/level/Explosion 1/1 Patching net/minecraft/world/level/BlockGetter 1/1 Patching net/minecraft/world/item/trading/MerchantOffer 1/1 Patching net/minecraft/world/level/BaseSpawner 1/1 Patching net/minecraft/world/level/Level 1/1 Patching net/minecraft/world/item/enchantment/EnchantmentHelper$EnchantmentVisitor 1/1 Patching net/minecraft/world/item/enchantment/EnchantmentCategory$9 1/1 Patching net/minecraft/world/item/enchantment/EnchantmentCategory$8 1/1 Patching net/minecraft/world/item/enchantment/EnchantmentCategory$7 1/1 Patching net/minecraft/world/item/enchantment/FrostWalkerEnchantment 1/1 Patching net/minecraft/world/item/enchantment/EnchantmentCategory$6 1/1 Patching net/minecraft/world/item/enchantment/EnchantmentCategory$5 1/1 Patching net/minecraft/world/item/enchantment/EnchantmentCategory$4 1/1 Patching net/minecraft/world/item/enchantment/EnchantmentCategory$2 1/1 Patching net/minecraft/world/item/enchantment/EnchantmentCategory$3 1/1 Patching net/minecraft/world/item/enchantment/EnchantmentCategory$12 1/1 Patching net/minecraft/world/item/enchantment/EnchantmentCategory$11 1/1 Patching net/minecraft/world/item/enchantment/EnchantmentCategory$13 1/1 Patching net/minecraft/world/item/enchantment/EnchantmentCategory$10 1/1 Patching net/minecraft/world/item/enchantment/EnchantmentCategory$14 1/1 Patching net/minecraft/world/item/enchantment/EnchantmentCategory$1 1/1 Patching net/minecraft/world/item/enchantment/EnchantmentCategory 1/1 Patching net/minecraft/world/item/enchantment/DiggingEnchantment 1/1 Patching net/minecraft/world/item/enchantment/Enchantment$Rarity 1/1 Patching net/minecraft/world/item/enchantment/Enchantment 1/1 Patching net/minecraft/world/item/enchantment/Enchantments 1/1 Patching net/minecraft/world/item/crafting/StonecutterRecipe 1/1 Patching net/minecraft/world/item/crafting/SmeltingRecipe 1/1 Patching net/minecraft/world/item/crafting/SmokingRecipe 1/1 Patching net/minecraft/world/item/crafting/UpgradeRecipe 1/1 Patching net/minecraft/world/item/crafting/SuspiciousStewRecipe 1/1 Patching net/minecraft/world/item/crafting/UpgradeRecipe$Serializer 1/1 Patching net/minecraft/world/item/crafting/TippedArrowRecipe 1/1 Patching net/minecraft/world/item/crafting/SingleItemRecipe$Serializer$SingleItemMaker 1/1 Patching net/minecraft/world/item/crafting/SingleItemRecipe 1/1 Patching net/minecraft/world/item/crafting/SimpleCookingSerializer$CookieBaker 1/1 Patching net/minecraft/world/item/crafting/SimpleRecipeSerializer 1/1 Patching net/minecraft/world/item/crafting/ShulkerBoxColoring 1/1 Patching net/minecraft/world/item/crafting/SingleItemRecipe$Serializer 1/1 Patching net/minecraft/world/item/crafting/ShapelessRecipe 1/1 Patching net/minecraft/world/item/crafting/SimpleCookingSerializer 1/1 Patching net/minecraft/world/item/enchantment/EnchantmentHelper 1/1 Patching net/minecraft/world/item/crafting/ShapelessRecipe$Serializer 1/1 Patching net/minecraft/world/item/crafting/ShieldDecorationRecipe 1/1 Patching net/minecraft/world/item/crafting/ShapedRecipe$Serializer 1/1 Patching net/minecraft/world/item/crafting/Recipe 1/1 Patching net/minecraft/world/item/crafting/RepairItemRecipe 1/1 Patching net/minecraft/world/item/crafting/MapCloningRecipe 1/1 Patching net/minecraft/world/item/crafting/Ingredient$Value 1/1 Patching net/minecraft/world/item/crafting/Ingredient$ItemValue 1/1 Patching net/minecraft/world/item/crafting/Ingredient$TagValue 1/1 Patching net/minecraft/world/item/crafting/FireworkStarFadeRecipe 1/1 Patching net/minecraft/world/item/crafting/FireworkRocketRecipe 1/1 Patching net/minecraft/world/item/crafting/ShapedRecipe 1/1 Patching net/minecraft/world/item/crafting/CampfireCookingRecipe 1/1 Patching net/minecraft/world/item/crafting/FireworkStarRecipe 1/1 Patching net/minecraft/world/item/crafting/BlastingRecipe 1/1 Patching net/minecraft/world/item/crafting/BookCloningRecipe 1/1 Patching net/minecraft/world/item/crafting/BannerDuplicateRecipe 1/1 Patching net/minecraft/world/item/crafting/RecipeSerializer 1/1 Patching net/minecraft/world/item/crafting/AbstractCookingRecipe 1/1 Patching net/minecraft/world/item/crafting/RecipeManager 1/1 Patching net/minecraft/world/item/crafting/ArmorDyeRecipe 1/1 Patching net/minecraft/world/item/crafting/Ingredient 1/1 Patching net/minecraft/world/item/alchemy/PotionBrewing$Mix 1/1 Patching net/minecraft/world/item/alchemy/Potion 1/1 Patching net/minecraft/world/item/Tier 1/1 Patching net/minecraft/world/item/alchemy/PotionBrewing 1/1 Patching net/minecraft/world/item/Tiers 1/1 Patching net/minecraft/world/item/StandingAndWallBlockItem 1/1 Patching net/minecraft/world/item/SwordItem 1/1 Patching net/minecraft/world/item/ShieldItem 1/1 Patching net/minecraft/world/item/ShearsItem 1/1 Patching net/minecraft/world/item/Rarity 1/1 Patching net/minecraft/world/item/ShovelItem 1/1 Patching net/minecraft/world/item/RecordItem 1/1 Patching net/minecraft/world/item/PickaxeItem 1/1 Patching net/minecraft/world/item/MinecartItem 1/1 Patching net/minecraft/world/item/MinecartItem$1 1/1 Patching net/minecraft/world/item/MilkBucketItem 1/1 Patching net/minecraft/world/item/ItemStack$TooltipPart 1/1 Patching net/minecraft/world/item/Item$1 1/1 Patching net/minecraft/world/item/Item$Properties 1/1 Patching net/minecraft/world/item/MapItem 1/1 Patching net/minecraft/world/item/HorseArmorItem 1/1 Patching net/minecraft/world/item/HoeItem 1/1 Patching net/minecraft/world/item/Item 1/1 Patching net/minecraft/world/item/ElytraItem 1/1 Patching net/minecraft/world/item/MobBucketItem 1/1 Patching net/minecraft/world/item/ItemStack 1/1 Patching net/minecraft/world/item/DyeableHorseArmorItem 1/1 Patching net/minecraft/world/item/DiggerItem 1/1 Patching net/minecraft/world/item/DyeColor 1/1 Patching net/minecraft/world/item/CreativeModeTab$9 1/1 Patching net/minecraft/world/item/CreativeModeTab$8 1/1 Patching net/minecraft/world/item/CreativeModeTab$7 1/1 Patching net/minecraft/world/item/CreativeModeTab$6 1/1 Patching net/minecraft/world/item/CreativeModeTab$5 1/1 Patching net/minecraft/world/item/CreativeModeTab$4 1/1 Patching net/minecraft/world/item/CreativeModeTab$3 1/1 Patching net/minecraft/world/item/CreativeModeTab$2 1/1 Patching net/minecraft/world/item/CreativeModeTab$12 1/1 Patching net/minecraft/world/item/CreativeModeTab$10 1/1 Patching net/minecraft/world/item/CreativeModeTab$1 1/1 Patching net/minecraft/world/item/CreativeModeTab$11 1/1 Patching net/minecraft/world/item/CreativeModeTab 1/1 Patching net/minecraft/world/item/ChorusFruitItem 1/1 Patching net/minecraft/world/item/BucketItem 1/1 Patching net/minecraft/world/item/BowItem 1/1 Patching net/minecraft/world/item/BoneMealItem 1/1 Patching net/minecraft/world/item/BlockItem 1/1 Patching net/minecraft/world/item/AxeItem 1/1 Patching net/minecraft/world/item/ArrowItem 1/1 Patching net/minecraft/world/item/ArmorItem$1 1/1 Patching net/minecraft/world/item/ArmorItem 1/1 Patching net/minecraft/world/inventory/Slot 1/1 Patching net/minecraft/world/inventory/ResultSlot 1/1 Patching net/minecraft/world/inventory/RecipeBookMenu 1/1 Patching net/minecraft/world/inventory/MenuType$MenuSupplier 1/1 Patching net/minecraft/world/inventory/MenuType 1/1 Patching net/minecraft/world/inventory/InventoryMenu$2 1/1 Patching net/minecraft/world/inventory/InventoryMenu$1 1/1 Patching net/minecraft/world/inventory/InventoryMenu 1/1 Patching net/minecraft/world/inventory/GrindstoneMenu$3 1/1 Patching net/minecraft/world/inventory/GrindstoneMenu$2 1/1 Patching net/minecraft/world/inventory/GrindstoneMenu$4 1/1 Patching net/minecraft/world/inventory/GrindstoneMenu$1 1/1 Patching net/minecraft/world/inventory/FurnaceResultSlot 1/1 Patching net/minecraft/world/level/block/Blocks 1/1 Patching net/minecraft/world/inventory/EnchantmentMenu$3 1/1 Patching net/minecraft/world/inventory/GrindstoneMenu 1/1 Patching net/minecraft/world/inventory/EnchantmentMenu$2 1/1 Patching net/minecraft/world/inventory/EnchantmentMenu$1 1/1 Patching net/minecraft/world/inventory/EnchantmentMenu 1/1 Patching net/minecraft/world/inventory/BrewingStandMenu$IngredientsSlot 1/1 Patching net/minecraft/world/inventory/BrewingStandMenu$PotionSlot 1/1 Patching net/minecraft/world/inventory/BrewingStandMenu$FuelSlot 1/1 Patching net/minecraft/world/inventory/BeaconMenu$PaymentSlot 1/1 Patching net/minecraft/world/inventory/BrewingStandMenu 1/1 Patching net/minecraft/world/inventory/BeaconMenu$1 1/1 Patching net/minecraft/world/inventory/AnvilMenu$1 1/1 Patching net/minecraft/world/inventory/BeaconMenu 1/1 Patching net/minecraft/world/inventory/AbstractContainerMenu$1 1/1 Patching net/minecraft/world/food/FoodProperties 1/1 Patching net/minecraft/world/inventory/AbstractFurnaceMenu 1/1 Patching net/minecraft/world/inventory/AnvilMenu 1/1 Patching net/minecraft/world/food/FoodProperties$Builder 1/1 Patching net/minecraft/world/entity/vehicle/MinecartSpawner$1 1/1 Patching net/minecraft/world/entity/vehicle/MinecartSpawner 1/1 Patching net/minecraft/world/entity/vehicle/MinecartCommandBlock 1/1 Patching net/minecraft/world/entity/vehicle/MinecartCommandBlock$MinecartCommandBase 1/1 Patching net/minecraft/world/entity/vehicle/MinecartFurnace 1/1 Patching net/minecraft/world/entity/vehicle/Boat$Status 1/1 Patching net/minecraft/world/entity/vehicle/Boat$Type 1/1 Patching net/minecraft/world/entity/vehicle/Boat$1 1/1 Patching net/minecraft/world/entity/vehicle/AbstractMinecartContainer$1 1/1 Patching net/minecraft/world/inventory/AbstractContainerMenu 1/1 Patching net/minecraft/world/entity/vehicle/Minecart 1/1 Patching net/minecraft/world/entity/vehicle/AbstractMinecart$1 1/1 Patching net/minecraft/world/entity/vehicle/AbstractMinecart$Type 1/1 Patching net/minecraft/world/entity/vehicle/AbstractMinecartContainer 1/1 Patching net/minecraft/world/entity/schedule/Activity 1/1 Patching net/minecraft/world/entity/schedule/Schedule 1/1 Patching net/minecraft/world/entity/raid/Raid$RaiderType 1/1 Patching net/minecraft/world/entity/raid/Raid$RaidStatus 1/1 Patching net/minecraft/world/entity/raid/Raid$1 1/1 Patching net/minecraft/world/entity/vehicle/Boat 1/1 Patching net/minecraft/world/item/Items 1/1 Patching net/minecraft/world/entity/projectile/ThrowableProjectile 1/1 Patching net/minecraft/world/entity/vehicle/AbstractMinecart 1/1 Patching net/minecraft/world/entity/projectile/WitherSkull 1/1 Patching net/minecraft/world/entity/projectile/ProjectileUtil 1/1 Patching net/minecraft/world/entity/raid/Raid 1/1 Patching net/minecraft/world/entity/projectile/ThrownEnderpearl 1/1 Patching net/minecraft/world/entity/projectile/Projectile 1/1 Patching net/minecraft/world/entity/projectile/SmallFireball 1/1 Patching net/minecraft/world/entity/projectile/FishingHook$FishHookState 1/1 Patching net/minecraft/world/entity/projectile/FishingHook$OpenWaterType 1/1 Patching net/minecraft/world/entity/projectile/FishingHook$1 1/1 Patching net/minecraft/world/entity/projectile/ShulkerBullet 1/1 Patching net/minecraft/world/entity/projectile/LargeFireball 1/1 Patching net/minecraft/world/entity/projectile/FireworkRocketEntity 1/1 Patching net/minecraft/world/entity/projectile/AbstractHurtingProjectile 1/1 Patching net/minecraft/world/entity/projectile/AbstractArrow$1 1/1 Patching net/minecraft/world/entity/projectile/AbstractArrow$Pickup 1/1 Patching net/minecraft/world/entity/player/Player$BedSleepingProblem 1/1 Patching net/minecraft/world/entity/player/Player$1 1/1 Patching net/minecraft/world/entity/projectile/FishingHook 1/1 Patching net/minecraft/world/entity/projectile/AbstractArrow 1/1 Patching net/minecraft/world/entity/projectile/LlamaSpit 1/1 Patching net/minecraft/world/entity/player/Inventory 1/1 Patching net/minecraft/world/entity/npc/VillagerProfession 1/1 Patching net/minecraft/world/entity/npc/CatSpawner 1/1 Patching net/minecraft/world/entity/npc/AbstractVillager 1/1 Patching net/minecraft/world/entity/monster/piglin/StopHoldingItemIfNoLongerAdmiring 1/1 Patching net/minecraft/world/entity/npc/Villager 1/1 Patching net/minecraft/world/entity/monster/piglin/Piglin 1/1 Patching net/minecraft/world/entity/monster/piglin/AbstractPiglin 1/1 Patching net/minecraft/world/entity/monster/Zombie$ZombieGroupData 1/1 Patching net/minecraft/world/entity/monster/Zombie$ZombieAttackTurtleEggGoal 1/1 Patching net/minecraft/world/entity/player/Player 1/1 Patching net/minecraft/world/entity/monster/ZombieVillager 1/1 Patching net/minecraft/world/entity/monster/hoglin/Hoglin 1/1 Patching net/minecraft/world/entity/monster/piglin/PiglinAi 1/1 Patching net/minecraft/world/entity/monster/Zombie 1/1 Patching net/minecraft/world/entity/monster/Spider$SpiderEffectsGroupData 1/1 Patching net/minecraft/world/entity/monster/Spider$SpiderTargetGoal 1/1 Patching net/minecraft/world/entity/monster/Spider$SpiderAttackGoal 1/1 Patching net/minecraft/world/entity/monster/Slime$SlimeKeepOnJumpingGoal 1/1 Patching net/minecraft/world/entity/monster/Slime$SlimeMoveControl 1/1 Patching net/minecraft/world/entity/monster/Slime$SlimeFloatGoal 1/1 Patching net/minecraft/world/entity/monster/Slime$SlimeAttackGoal 1/1 Patching net/minecraft/world/entity/monster/Silverfish$SilverfishWakeUpFriendsGoal 1/1 Patching net/minecraft/world/entity/monster/Slime$SlimeRandomDirectionGoal 1/1 Patching net/minecraft/world/entity/monster/Silverfish 1/1 Patching net/minecraft/world/entity/monster/Silverfish$SilverfishMergeWithStoneGoal 1/1 Patching net/minecraft/world/entity/monster/Slime 1/1 Patching net/minecraft/world/entity/monster/Ravager$RavagerNodeEvaluator 1/1 Patching net/minecraft/world/entity/monster/Ravager$RavagerNavigation 1/1 Patching net/minecraft/world/entity/monster/Spider 1/1 Patching net/minecraft/world/entity/monster/Ravager$RavagerMeleeAttackGoal 1/1 Patching net/minecraft/world/entity/monster/Ravager 1/1 Patching net/minecraft/world/entity/monster/MagmaCube 1/1 Patching net/minecraft/world/entity/monster/Illusioner$IllusionerMirrorSpellGoal 1/1 Patching net/minecraft/world/entity/monster/Illusioner$IllusionerBlindnessSpellGoal 1/1 Patching net/minecraft/world/entity/monster/Pillager 1/1 Patching net/minecraft/world/entity/monster/Illusioner 1/1 Patching net/minecraft/world/entity/monster/Evoker 1/1 Patching net/minecraft/world/entity/monster/Evoker$EvokerWololoSpellGoal 1/1 Patching net/minecraft/world/entity/monster/Evoker$EvokerCastingSpellGoal 1/1 Patching net/minecraft/world/entity/monster/Evoker$EvokerSummonSpellGoal 1/1 Patching net/minecraft/world/entity/monster/Evoker$EvokerAttackSpellGoal 1/1 Patching net/minecraft/world/entity/monster/EnderMan$EndermanTakeBlockGoal 1/1 Patching net/minecraft/world/entity/monster/EnderMan$EndermanLookForPlayerGoal 1/1 Patching net/minecraft/world/entity/monster/CrossbowAttackMob 1/1 Patching net/minecraft/world/entity/monster/EnderMan$EndermanLeaveBlockGoal 1/1 Patching net/minecraft/world/entity/monster/EnderMan$EndermanFreezeWhenLookedAt 1/1 Patching net/minecraft/world/entity/monster/AbstractSkeleton$1 1/1 Patching net/minecraft/world/entity/monster/EnderMan 1/1 Patching net/minecraft/world/entity/monster/AbstractSkeleton 1/1 Patching net/minecraft/world/entity/monster/Creeper 1/1 Patching net/minecraft/world/entity/decoration/Motive 1/1 Patching net/minecraft/world/entity/decoration/HangingEntity$1 1/1 Patching net/minecraft/world/entity/decoration/ArmorStand$1 1/1 Patching net/minecraft/world/entity/item/ItemEntity 1/1 Patching net/minecraft/world/entity/boss/wither/WitherBoss$WitherDoNothingGoal 1/1 Patching net/minecraft/world/entity/decoration/HangingEntity 1/1 Patching net/minecraft/world/entity/boss/EnderDragonPart 1/1 Patching net/minecraft/world/entity/boss/wither/WitherBoss 1/1 Patching net/minecraft/world/entity/decoration/ArmorStand 1/1 Patching net/minecraft/world/entity/animal/horse/Horse$HorseGroupData 1/1 Patching net/minecraft/world/entity/animal/horse/SkeletonTrapGoal 1/1 Patching net/minecraft/world/entity/animal/horse/AbstractHorse$1 1/1 Patching net/minecraft/world/entity/boss/enderdragon/EnderDragon 1/1 Patching net/minecraft/world/entity/animal/Wolf$WolfAvoidEntityGoal 1/1 Patching net/minecraft/world/entity/animal/horse/Horse 1/1 Patching net/minecraft/world/entity/animal/horse/AbstractHorse 1/1 Patching net/minecraft/world/entity/animal/Wolf 1/1 Patching net/minecraft/world/entity/animal/Sheep$2 1/1 Patching net/minecraft/world/entity/animal/Sheep$1 1/1 Patching net/minecraft/world/entity/animal/SnowGolem 1/1 Patching net/minecraft/world/entity/animal/Sheep 1/1 Patching net/minecraft/world/entity/animal/Rabbit$RabbitGroupData 1/1 Patching net/minecraft/world/entity/animal/Rabbit$EvilRabbitAttackGoal 1/1 Patching net/minecraft/world/entity/animal/Rabbit$RabbitPanicGoal 1/1 Patching net/minecraft/world/entity/animal/Rabbit$RaidGardenGoal 1/1 Patching net/minecraft/world/entity/animal/Rabbit 1/1 Patching net/minecraft/world/entity/animal/Rabbit$RabbitJumpControl 1/1 Patching net/minecraft/world/entity/animal/Rabbit$RabbitAvoidEntityGoal 1/1 Patching net/minecraft/world/entity/animal/Rabbit$RabbitMoveControl 1/1 Patching net/minecraft/world/entity/animal/Parrot$1 1/1 Patching net/minecraft/world/entity/animal/Parrot 1/1 Patching net/minecraft/world/entity/animal/Pig 1/1 Patching net/minecraft/world/entity/animal/MushroomCow$MushroomType 1/1 Patching net/minecraft/world/entity/animal/IronGolem$Crackiness 1/1 Patching net/minecraft/world/entity/animal/Fox$Type 1/1 Patching net/minecraft/world/entity/animal/Ocelot$OcelotTemptGoal 1/1 Patching net/minecraft/world/entity/animal/IronGolem 1/1 Patching net/minecraft/world/entity/animal/Ocelot$OcelotAvoidEntityGoal 1/1 Patching net/minecraft/world/entity/animal/Ocelot 1/1 Patching net/minecraft/world/entity/animal/Fox$FoxSearchForItemsGoal 1/1 Patching net/minecraft/world/entity/animal/Fox$StalkPreyGoal 1/1 Patching net/minecraft/world/entity/animal/Fox$SleepGoal 1/1 Patching net/minecraft/world/entity/animal/Fox$FoxPanicGoal 1/1 Patching net/minecraft/world/entity/animal/Fox$FoxMoveControl 1/1 Patching net/minecraft/world/entity/animal/Fox$SeekShelterGoal 1/1 Patching net/minecraft/world/entity/animal/MushroomCow 1/1 Patching net/minecraft/world/entity/animal/Fox$FoxLookControl 1/1 Patching net/minecraft/world/entity/animal/Fox$FoxPounceGoal 1/1 Patching net/minecraft/world/entity/animal/Fox$FoxMeleeAttackGoal 1/1 Patching net/minecraft/world/entity/animal/Fox$FoxGroupData 1/1 Patching net/minecraft/world/entity/animal/Fox$FoxFollowParentGoal 1/1 Patching net/minecraft/world/entity/animal/Fox$FoxFloatGoal 1/1 Patching net/minecraft/world/entity/animal/Fox$FoxLookAtPlayerGoal 1/1 Patching net/minecraft/world/entity/animal/Fox$FoxStrollThroughVillageGoal 1/1 Patching net/minecraft/world/entity/animal/Fox$PerchAndSearchGoal 1/1 Patching net/minecraft/world/entity/animal/Fox$FaceplantGoal 1/1 Patching net/minecraft/world/entity/animal/Fox$FoxAlertableEntitiesSelector 1/1 Patching net/minecraft/world/entity/animal/Fox$FoxBehaviorGoal 1/1 Patching net/minecraft/world/entity/animal/Fox$FoxEatBerriesGoal 1/1 Patching net/minecraft/world/entity/animal/Fox$FoxBreedGoal 1/1 Patching net/minecraft/world/entity/animal/Fox$DefendTrustedTargetGoal 1/1 Patching net/minecraft/world/entity/animal/Cat$CatTemptGoal 1/1 Patching net/minecraft/world/entity/animal/Cat$CatAvoidEntityGoal 1/1 Patching net/minecraft/world/entity/animal/Cat$CatRelaxOnOwnerGoal 1/1 Patching net/minecraft/world/entity/animal/Bee$BeeLookControl 1/1 Patching net/minecraft/world/entity/animal/Bee$BeeWanderGoal 1/1 Patching net/minecraft/world/entity/animal/Bee$BeeHurtByOtherGoal 1/1 Patching net/minecraft/world/entity/animal/Cat 1/1 Patching net/minecraft/world/entity/animal/Bee$BeeLocateHiveGoal 1/1 Patching net/minecraft/world/entity/animal/Bee$BeeGrowCropGoal 1/1 Patching net/minecraft/world/entity/animal/Bee$BeeEnterHiveGoal 1/1 Patching net/minecraft/world/entity/animal/Bee$BeePollinateGoal 1/1 Patching net/minecraft/world/entity/animal/Fox 1/1 Patching net/minecraft/world/entity/animal/Bee$BeeAttackGoal 1/1 Patching net/minecraft/world/entity/animal/Bee$BeeBecomeAngryTargetGoal 1/1 Patching net/minecraft/world/entity/animal/Bee$BaseBeeGoal 1/1 Patching net/minecraft/world/entity/animal/Bee$1 1/1 Patching net/minecraft/world/entity/animal/Bee$BeeGoToKnownFlowerGoal 1/1 Patching net/minecraft/world/entity/animal/Bee$BeeGoToHiveGoal 1/1 Patching net/minecraft/world/entity/animal/Animal 1/1 Patching net/minecraft/world/entity/ai/village/VillageSiege$State 1/1 Patching net/minecraft/world/entity/animal/Bee 1/1 Patching net/minecraft/world/entity/ai/village/poi/PoiType 1/1 Patching net/minecraft/world/entity/ai/village/VillageSiege 1/1 Patching net/minecraft/world/entity/ai/sensing/SensorType 1/1 Patching net/minecraft/world/entity/ai/navigation/WallClimberNavigation 1/1 Patching net/minecraft/world/entity/ai/memory/MemoryModuleType 1/1 Patching net/minecraft/world/entity/ai/navigation/PathNavigation 1/1 Patching net/minecraft/world/entity/ai/goal/RunAroundLikeCrazyGoal 1/1 Patching net/minecraft/world/entity/ai/goal/RangedCrossbowAttackGoal$CrossbowState 1/1 Patching net/minecraft/world/entity/ai/goal/RangedBowAttackGoal 1/1 Patching net/minecraft/world/entity/ai/goal/RemoveBlockGoal 1/1 Patching net/minecraft/world/entity/ai/goal/RangedCrossbowAttackGoal 1/1 Patching net/minecraft/world/entity/ai/goal/MeleeAttackGoal 1/1 Patching net/minecraft/world/entity/ai/goal/EatBlockGoal 1/1 Patching net/minecraft/world/entity/ai/goal/BreakDoorGoal 1/1 Patching net/minecraft/world/entity/ai/behavior/HarvestFarmland 1/1 Patching net/minecraft/world/entity/ai/behavior/CrossbowAttack$CrossbowState 1/1 Patching net/minecraft/world/entity/ai/behavior/CrossbowAttack 1/1 Patching net/minecraft/world/entity/ai/attributes/AttributeSupplier$Builder 1/1 Patching net/minecraft/world/entity/ai/attributes/AttributeSupplier 1/1 Patching net/minecraft/world/entity/ai/attributes/Attribute 1/1 Patching net/minecraft/world/entity/SpawnPlacements$Type 1/1 Patching net/minecraft/world/entity/SpawnPlacements$SpawnPredicate 1/1 Patching net/minecraft/world/entity/SpawnPlacements$Data 1/1 Patching net/minecraft/world/entity/Shearable 1/1 Patching net/minecraft/world/entity/Mob$1 1/1 Patching net/minecraft/world/entity/MobCategory 1/1 Patching net/minecraft/world/entity/LivingEntity$1 1/1 Patching net/minecraft/world/entity/LightningBolt 1/1 Patching net/minecraft/world/entity/FlyingMob 1/1 Patching net/minecraft/world/entity/ai/attributes/DefaultAttributes 1/1 Patching net/minecraft/world/entity/EntityType$EntityFactory 1/1 Patching net/minecraft/world/entity/SpawnPlacements 1/1 Patching net/minecraft/world/entity/EntityType$1 1/1 Patching net/minecraft/world/entity/EntityType$Builder 1/1 Patching net/minecraft/world/entity/ExperienceOrb 1/1 Patching net/minecraft/world/entity/Entity$MoveFunction 1/1 Patching net/minecraft/world/entity/Entity$RemovalReason 1/1 Patching net/minecraft/world/entity/Entity$MovementEmission 1/1 Patching net/minecraft/world/entity/Entity$1 1/1 Patching net/minecraft/world/effect/MobEffects$1 1/1 Patching net/minecraft/world/effect/MobEffectCategory 1/1 Patching net/minecraft/world/effect/MobEffects 1/1 Patching net/minecraft/world/effect/MobEffect 1/1 Patching net/minecraft/world/effect/MobEffectInstance 1/1 Patching net/minecraft/world/entity/Mob 1/1 Patching net/minecraft/world/entity/EntityType 1/1 Patching net/minecraft/world/entity/LivingEntity 1/1 Patching net/minecraft/world/entity/Entity 1/1 Patching net/minecraft/tags/TagManager$LoaderInfo 1/1 Patching net/minecraft/tags/TagContainer$CollectionConsumer 1/1 Patching net/minecraft/tags/TagContainer$Builder 1/1 Patching net/minecraft/tags/TagContainer$1 1/1 Patching net/minecraft/tags/TagContainer 1/1 Patching net/minecraft/tags/TagManager 1/1 Patching net/minecraft/tags/Tag$Named 1/1 Patching net/minecraft/tags/Tag$Entry 1/1 Patching net/minecraft/tags/Tag$TagEntry 1/1 Patching net/minecraft/tags/Tag$OptionalElementEntry 1/1 Patching net/minecraft/tags/Tag$OptionalTagEntry 1/1 Patching net/minecraft/tags/Tag 1/1 Patching net/minecraft/tags/Tag$BuilderEntry 1/1 Patching net/minecraft/tags/Tag$ElementEntry 1/1 Patching net/minecraft/tags/StaticTagHelper$Wrapper 1/1 Patching net/minecraft/tags/StaticTags 1/1 Patching net/minecraft/tags/GameEventTags 1/1 Patching net/minecraft/tags/FluidTags 1/1 Patching net/minecraft/tags/StaticTagHelper 1/1 Patching net/minecraft/tags/EntityTypeTags 1/1 Patching net/minecraft/stats/StatType 1/1 Patching net/minecraft/tags/Tag$Builder 1/1 Patching net/minecraft/tags/ItemTags 1/1 Patching net/minecraft/sounds/SoundEvent 1/1 Patching net/minecraft/tags/BlockTags 1/1 Patching net/minecraft/server/rcon/thread/RconClient 1/1 Patching net/minecraft/server/rcon/RconConsoleSource 1/1 Patching net/minecraft/server/players/PlayerList$1 1/1 Patching net/minecraft/server/packs/resources/SimpleReloadableResourceManager$ResourcePackLoadingFailure 1/1 Patching net/minecraft/server/packs/resources/SimpleReloadableResourceManager$FailingReloadInstance 1/1 Patching net/minecraft/server/packs/resources/SimpleReloadableResourceManager 1/1 Patching net/minecraft/server/packs/resources/ResourceManager 1/1 Patching net/minecraft/server/packs/resources/ResourceManagerReloadListener 1/1 Patching net/minecraft/server/packs/resources/SimpleJsonResourceReloadListener 1/1 Patching net/minecraft/server/packs/resources/ResourceManager$Empty 1/1 Patching net/minecraft/server/packs/resources/FallbackResourceManager$LeakedResourceWarningInputStream 1/1 Patching net/minecraft/server/packs/resources/FallbackResourceManager 1/1 Patching net/minecraft/server/packs/repository/Pack$PackConstructor 1/1 Patching net/minecraft/server/packs/repository/Pack$Position 1/1 Patching net/minecraft/server/packs/repository/PackRepository 1/1 Patching net/minecraft/server/packs/repository/Pack 1/1 Patching net/minecraft/server/packs/VanillaPackResources$1 1/1 Patching net/minecraft/server/packs/PackResources 1/1 Patching net/minecraft/server/players/PlayerList 1/1 Patching net/minecraft/server/network/ServerLoginPacketListenerImpl$State 1/1 Patching net/minecraft/server/network/ServerHandshakePacketListenerImpl$1 1/1 Patching net/minecraft/server/network/ServerLoginPacketListenerImpl$1 1/1 Patching net/minecraft/server/network/ServerHandshakePacketListenerImpl 1/1 Patching net/minecraft/server/network/ServerGamePacketListenerImpl$EntityInteraction 1/1 Patching net/minecraft/server/packs/VanillaPackResources 1/1 Patching net/minecraft/server/network/ServerConnectionListener$LatencySimulator 1/1 Patching net/minecraft/server/network/ServerGamePacketListenerImpl$2 1/1 Patching net/minecraft/server/network/ServerGamePacketListenerImpl$1 1/1 Patching net/minecraft/server/network/ServerConnectionListener$LatencySimulator$DelayedMessage 1/1 Patching net/minecraft/server/network/ServerLoginPacketListenerImpl 1/1 Patching net/minecraft/server/network/ServerConnectionListener$2 1/1 Patching net/minecraft/server/network/MemoryServerHandshakePacketListenerImpl 1/1 Patching net/minecraft/server/network/ServerConnectionListener 1/1 Patching net/minecraft/server/network/ServerConnectionListener$1 1/1 Patching net/minecraft/server/level/Ticket 1/1 Patching net/minecraft/server/level/ServerPlayer$3 1/1 Patching net/minecraft/server/level/ServerPlayer$2 1/1 Patching net/minecraft/server/level/ServerPlayer$1 1/1 Patching net/minecraft/server/level/ServerLevel$EntityCallbacks 1/1 Patching net/minecraft/server/level/ServerPlayerGameMode 1/1 Patching net/minecraft/sounds/SoundEvents 1/1 Patching net/minecraft/server/level/ServerChunkCache$MainThreadExecutor 1/1 Patching net/minecraft/server/level/DistanceManager$FixedPlayerDistanceChunkTracker 1/1 Patching net/minecraft/server/level/DistanceManager$PlayerTicketTracker 1/1 Patching net/minecraft/server/level/DistanceManager$ChunkTicketTracker 1/1 Patching net/minecraft/server/level/ServerEntity 1/1 Patching net/minecraft/server/level/DistanceManager 1/1 Patching net/minecraft/server/level/ServerChunkCache 1/1 Patching net/minecraft/server/level/ChunkMap$DistanceManager 1/1 Patching net/minecraft/server/level/ChunkMap$2 1/1 Patching net/minecraft/server/level/ChunkMap$TrackedEntity 1/1 Patching net/minecraft/server/level/ChunkMap$1 1/1 Patching net/minecraft/server/level/ChunkHolder$PlayerProvider 1/1 Patching net/minecraft/server/level/ChunkHolder$LevelChangeListener 1/1 Patching net/minecraft/server/level/ChunkHolder$ChunkSaveDebug 1/1 Patching net/minecraft/server/level/ChunkHolder$FullChunkStatus 1/1 Patching net/minecraft/server/level/ChunkHolder$ChunkLoadingFailure 1/1 Patching net/minecraft/server/level/ChunkHolder$ChunkLoadingFailure$1 1/1 Patching net/minecraft/server/level/ChunkHolder$1 1/1 Patching net/minecraft/server/gui/MinecraftServerGui$2 1/1 Patching net/minecraft/server/gui/MinecraftServerGui$1 1/1 Patching net/minecraft/server/dedicated/Settings$MutableValue 1/1 Patching net/minecraft/server/gui/MinecraftServerGui 1/1 Patching net/minecraft/server/dedicated/ServerWatchdog$1 1/1 Patching net/minecraft/server/dedicated/ServerWatchdog 1/1 Patching net/minecraft/server/dedicated/Settings 1/1 Patching net/minecraft/server/dedicated/DedicatedServer$1 1/1 Patching net/minecraft/server/level/ChunkHolder 1/1 Patching net/minecraft/server/network/ServerGamePacketListenerImpl 1/1 Patching net/minecraft/server/level/ServerLevel 1/1 Patching net/minecraft/server/level/ServerPlayer 1/1 Patching net/minecraft/server/dedicated/DedicatedServer 1/1 Patching net/minecraft/server/commands/TeleportCommand$LookAt 1/1 Patching net/minecraft/server/commands/SpreadPlayersCommand$Position 1/1 Patching net/minecraft/server/commands/SpreadPlayersCommand 1/1 Patching net/minecraft/server/commands/TeleportCommand 1/1 Patching net/minecraft/server/level/ChunkMap 1/1 Patching net/minecraft/server/commands/LocateCommand 1/1 Patching net/minecraft/server/ServerResources 1/1 Patching net/minecraft/server/PlayerAdvancements$1 1/1 Patching net/minecraft/server/ServerAdvancementManager 1/1 Patching net/minecraft/server/Bootstrap$1 1/1 Patching net/minecraft/resources/ResourceLocation$Serializer 1/1 Patching net/minecraft/resources/ResourceLocation 1/1 Patching net/minecraft/server/Bootstrap 1/1 Patching net/minecraft/resources/ResourceKey 1/1 Patching net/minecraft/resources/RegistryReadOps$ReadCache 1/1 Patching net/minecraft/resources/RegistryReadOps$1 1/1 Patching net/minecraft/resources/RegistryReadOps$ResourceAccess$MemoryMap 1/1 Patching net/minecraft/server/PlayerAdvancements 1/1 Patching net/minecraft/resources/RegistryReadOps$ResourceAccess 1/1 Patching net/minecraft/resources/RegistryReadOps$ResourceAccess$1 1/1 Patching net/minecraft/recipebook/PlaceRecipe 1/1 Patching net/minecraft/network/syncher/SynchedEntityData$DataItem 1/1 Patching net/minecraft/network/syncher/EntityDataSerializers$9 1/1 Patching net/minecraft/resources/RegistryReadOps 1/1 Patching net/minecraft/network/syncher/EntityDataSerializers$7 1/1 Patching net/minecraft/network/syncher/EntityDataSerializers$6 1/1 Patching net/minecraft/network/syncher/EntityDataSerializers$8 1/1 Patching net/minecraft/network/syncher/EntityDataSerializers$5 1/1 Patching net/minecraft/network/syncher/EntityDataSerializers$4 1/1 Patching net/minecraft/network/syncher/EntityDataSerializers$3 1/1 Patching net/minecraft/network/syncher/EntityDataSerializers$2 1/1 Patching net/minecraft/network/syncher/EntityDataSerializers$19 1/1 Patching net/minecraft/network/syncher/EntityDataSerializers$18 1/1 Patching net/minecraft/network/syncher/EntityDataSerializers$16 1/1 Patching net/minecraft/network/syncher/EntityDataSerializers$17 1/1 Patching net/minecraft/network/syncher/EntityDataSerializers$15 1/1 Patching net/minecraft/network/syncher/EntityDataSerializers 1/1 Patching net/minecraft/network/syncher/EntityDataSerializers$14 1/1 Patching net/minecraft/network/syncher/EntityDataSerializers$11 1/1 Patching net/minecraft/network/syncher/EntityDataSerializers$13 1/1 Patching net/minecraft/network/syncher/EntityDataSerializers$12 1/1 Patching net/minecraft/network/syncher/EntityDataSerializers$1 1/1 Patching net/minecraft/network/protocol/status/ServerStatus$Version 1/1 Patching net/minecraft/network/syncher/EntityDataSerializers$10 1/1 Patching net/minecraft/network/protocol/status/ServerStatus 1/1 Patching net/minecraft/network/protocol/status/ServerStatus$Players 1/1 Patching net/minecraft/network/protocol/status/ServerStatus$Version$Serializer 1/1 Patching net/minecraft/network/protocol/status/ServerStatus$Serializer 1/1 Patching net/minecraft/network/protocol/status/ClientboundStatusResponsePacket 1/1 Patching net/minecraft/network/protocol/login/ServerboundCustomQueryPacket 1/1 Patching net/minecraft/network/protocol/status/ServerStatus$Players$Serializer 1/1 Patching net/minecraft/network/protocol/login/ClientboundCustomQueryPacket 1/1 Patching net/minecraft/network/protocol/handshake/ClientIntentionPacket 1/1 Patching net/minecraft/network/protocol/game/ServerboundSetCreativeModeSlotPacket 1/1 Patching net/minecraft/network/syncher/SynchedEntityData 1/1 Patching net/minecraft/network/protocol/game/ServerboundCustomPayloadPacket 1/1 Patching net/minecraft/network/protocol/game/ServerboundContainerClickPacket 1/1 Patching net/minecraft/network/protocol/game/ClientboundUpdateAttributesPacket$AttributeSnapshot 1/1 Patching net/minecraft/network/protocol/game/ClientboundUpdateAttributesPacket 1/1 Patching net/minecraft/network/protocol/game/ClientboundCustomPayloadPacket 1/1 Patching net/minecraft/network/protocol/game/ClientboundCommandsPacket$Entry 1/1 Patching net/minecraft/network/protocol/game/ClientboundCommandsPacket 1/1 Patching net/minecraft/network/chat/Style$1 1/1 Patching net/minecraft/network/chat/TranslatableComponent 1/1 Patching net/minecraft/network/chat/Style$Serializer 1/1 Patching net/minecraft/network/chat/Style 1/1 Patching net/minecraft/network/PacketEncoder 1/1 Patching net/minecraft/network/Connection$PacketHolder 1/1 Patching net/minecraft/network/Connection$2 1/1 Patching net/minecraft/network/Connection$1 1/1 Patching net/minecraft/network/CompressionEncoder 1/1 Patching net/minecraft/nbt/StringTag 1/1 Patching net/minecraft/network/Connection 1/1 Patching net/minecraft/nbt/StringTag$1 1/1 Patching net/minecraft/nbt/NbtAccounter$1 1/1 Patching net/minecraft/nbt/NbtAccounter 1/1 Patching net/minecraft/nbt/NbtIo 1/1 Patching net/minecraft/nbt/CompoundTag$1 1/1 Patching net/minecraft/locale/Language$1 1/1 Patching net/minecraft/locale/Language 1/1 Patching net/minecraft/nbt/CompoundTag 1/1 Patching net/minecraft/network/FriendlyByteBuf 1/1 Patching net/minecraft/data/worldgen/biome/Biomes 1/1 Patching net/minecraft/data/tags/TagsProvider$TagAppender 1/1 Patching net/minecraft/data/tags/FluidTagsProvider 1/1 Patching net/minecraft/data/tags/GameEventTagsProvider 1/1 Patching net/minecraft/data/tags/TagsProvider 1/1 Patching net/minecraft/data/tags/EntityTypeTagsProvider 1/1 Patching net/minecraft/data/tags/ItemTagsProvider 1/1 Patching net/minecraft/data/tags/BlockTagsProvider 1/1 Patching net/minecraft/data/loot/LootTableProvider 1/1 Patching net/minecraft/data/DataGenerator 1/1 Patching net/minecraft/data/HashCache 1/1 Patching net/minecraft/data/BuiltinRegistries 1/1 Patching net/minecraft/core/particles/ParticleTypes$1 1/1 Patching net/minecraft/data/loot/EntityLoot 1/1 Patching net/minecraft/core/particles/ParticleType 1/1 Patching net/minecraft/core/particles/ItemParticleOption 1/1 Patching net/minecraft/core/particles/ItemParticleOption$1 1/1 Patching net/minecraft/core/particles/ParticleTypes 1/1 Patching net/minecraft/core/particles/BlockParticleOption 1/1 Patching net/minecraft/core/particles/BlockParticleOption$1 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$8 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$9 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$8$1 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$7 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$5 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$6 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$3 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$4 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$7$1 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$26 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$25 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$23 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$24 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$21 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$22 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$20 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$19 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$18 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$17 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$2 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$16 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$15 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$13 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$12 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$11 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$1 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$14 1/1 Patching net/minecraft/core/dispenser/DispenseItemBehavior$10 1/1 Patching net/minecraft/core/RegistryAccess$RegistryData 1/1 Patching net/minecraft/core/RegistryAccess 1/1 Patching net/minecraft/core/RegistryAccess$RegistryHolder 1/1 Patching net/minecraft/core/MappedRegistry$RegistryEntry 1/1 Patching net/minecraft/data/recipes/RecipeProvider 1/1 Patching net/minecraft/core/Direction$AxisDirection 1/1 Patching net/minecraft/core/Direction$Plane 1/1 Patching net/minecraft/core/Direction$Axis$3 1/1 Patching net/minecraft/core/Direction$Axis$2 1/1 Patching net/minecraft/core/Direction$Axis$1 1/1 Patching net/minecraft/core/Direction$Axis 1/1 Patching net/minecraft/core/MappedRegistry 1/1 Patching net/minecraft/core/Direction$1 1/1 Patching net/minecraft/core/Direction 1/1 Patching net/minecraft/core/Registry 1/1 Patching net/minecraft/data/loot/BlockLoot 1/1 Patching net/minecraft/commands/synchronization/ArgumentTypes$Entry 1/1 Patching net/minecraft/commands/synchronization/ArgumentTypes 1/1 Patching net/minecraft/commands/arguments/selector/EntitySelectorParser 1/1 Patching net/minecraft/commands/Commands$ParseFunction 1/1 Patching net/minecraft/commands/Commands$CommandSelection 1/1 Patching net/minecraft/commands/Commands 1/1 Patching net/minecraft/advancements/critereon/ItemPredicate$Builder 1/1 Patching net/minecraft/advancements/critereon/ItemPredicate 1/1 Patching net/minecraft/advancements/AdvancementRewards$Builder 1/1 Patching net/minecraft/advancements/AdvancementList$Listener 1/1 Patching net/minecraft/Util$OS$2 1/1 Patching net/minecraft/advancements/AdvancementRewards 1/1 Patching net/minecraft/Util$OS$1 1/1 Patching net/minecraft/advancements/Advancement 1/1 Patching net/minecraft/Util$IdentityStrategy 1/1 Patching net/minecraft/Util$9 1/1 Patching net/minecraft/advancements/AdvancementList 1/1 Patching net/minecraft/Util$7 1/1 Patching net/minecraft/Util$OS 1/1 Patching net/minecraft/Util$8 1/1 Patching net/minecraft/Util$6 1/1 Patching net/minecraft/Util$5 1/1 Patching net/minecraft/Util$1 1/1 Patching net/minecraft/Util$4 1/1 Patching net/minecraft/Util$3 1/1 Patching net/minecraft/SharedConstants 1/1 Patching net/minecraft/CrashReportCategory$Entry 1/1 Patching net/minecraft/CrashReport 1/1 Patching net/minecraft/advancements/Advancement$Builder 1/1 Patching com/mojang/math/Vector4f 1/1 Patching net/minecraft/CrashReportCategory 1/1 Patching com/mojang/math/Transformation 1/1 Patching com/mojang/math/Vector3f 1/1 Patching net/minecraft/Util 1/1 Patching com/mojang/blaze3d/platform/Window$WindowInitFailed 1/1 Patching com/mojang/math/Matrix3f 1/1 Patching com/mojang/blaze3d/vertex/VertexFormat$Mode 1/1 Patching com/mojang/math/Matrix4f 1/1 Patching com/mojang/blaze3d/vertex/BufferBuilder$DrawState 1/1 Patching com/mojang/blaze3d/vertex/VertexFormat$IndexType 1/1 Patching com/mojang/blaze3d/vertex/VertexFormatElement$Usage 1/1 Patching com/mojang/blaze3d/vertex/VertexFormatElement$Usage$SetupState 1/1 Patching com/mojang/blaze3d/vertex/BufferBuilder$1 1/1 Patching com/mojang/blaze3d/vertex/VertexConsumer 1/1 Patching com/mojang/blaze3d/vertex/VertexFormat$1 1/1 Patching com/mojang/blaze3d/vertex/VertexFormat 1/1 Patching com/mojang/blaze3d/vertex/VertexFormatElement 1/1 Patching com/mojang/blaze3d/vertex/VertexFormatElement$Usage$ClearState 1/1 Patching com/mojang/blaze3d/vertex/VertexFormatElement$Type 1/1 Patching com/mojang/blaze3d/vertex/BufferBuilder$SortState 1/1 Patching com/mojang/blaze3d/vertex/BufferBuilder 1/1 Patching com/mojang/blaze3d/platform/Window 1/1 Patching com/mojang/blaze3d/platform/GlStateManager$StencilFunc 1/1 Patching com/mojang/blaze3d/platform/GlStateManager$StencilState 1/1 Patching com/mojang/blaze3d/platform/GlStateManager$ScissorState 1/1 Patching com/mojang/blaze3d/platform/GlStateManager$PolygonOffsetState 1/1 Patching com/mojang/blaze3d/platform/GlStateManager$DestFactor 1/1 Patching com/mojang/blaze3d/platform/GlStateManager$ColorMask 1/1 Patching com/mojang/blaze3d/platform/GlStateManager$Viewport 1/1 Patching com/mojang/blaze3d/platform/GlStateManager$CullState 1/1 Patching com/mojang/blaze3d/platform/GlStateManager$TextureState 1/1 Patching com/mojang/blaze3d/platform/GlStateManager$ColorLogicState 1/1 Patching com/mojang/blaze3d/platform/GlStateManager$SourceFactor 1/1 Patching com/mojang/blaze3d/platform/GlStateManager$DepthState 1/1 Patching com/mojang/blaze3d/platform/GlStateManager$BlendState 1/1 Patching com/mojang/blaze3d/platform/GlStateManager$BooleanState 1/1 Patching com/mojang/blaze3d/platform/GlStateManager$LogicOp 1/1 Patching com/mojang/blaze3d/pipeline/RenderTarget 1/1 Patching com/mojang/blaze3d/platform/GlStateManager 1/1 Patching com/mojang/realmsclient/gui/screens/RealmsGenericErrorScreen 1/1 Patching net/minecraft/client/KeyboardHandler$1 1/1 Patching net/minecraft/client/particle/TerrainParticle$Provider 1/1 Patching net/minecraft/client/particle/ParticleEngine$MutableSpriteSet 1/1 Patching net/minecraft/client/particle/Particle 1/1 Patching net/minecraft/client/MouseHandler 1/1 Patching net/minecraft/client/particle/ParticleEngine$SpriteParticleRegistration 1/1 Patching net/minecraft/client/particle/TerrainParticle 1/1 Patching net/minecraft/client/Minecraft$1 1/1 Patching net/minecraft/client/Minecraft$ChatStatus 1/1 Patching net/minecraft/client/Options$2 1/1 Patching net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$CompiledChunk$1 1/1 Patching net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$RenderChunk$ChunkCompileTask 1/1 Patching net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$CompiledChunk 1/1 Patching net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$ChunkTaskResult 1/1 Patching net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$RenderChunk$ResortTransparencyTask 1/1 Patching net/minecraft/client/server/IntegratedServer 1/1 Patching net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$RenderChunk 1/1 Patching net/minecraft/client/renderer/chunk/ChunkRenderDispatcher$RenderChunk$RebuildTask 1/1 Patching net/minecraft/client/renderer/Sheets 1/1 Patching net/minecraft/client/renderer/FogRenderer$FogMode 1/1 Patching net/minecraft/client/renderer/LevelRenderer$RenderInfoMap 1/1 Patching net/minecraft/client/renderer/DimensionSpecialEffects$OverworldEffects 1/1 Patching net/minecraft/client/particle/ParticleEngine 1/1 Patching net/minecraft/client/renderer/item/ItemProperties$2 1/1 Patching net/minecraft/client/renderer/item/ItemProperties$CompassWobble 1/1 Patching net/minecraft/client/renderer/item/ItemProperties$1 1/1 Patching net/minecraft/client/renderer/chunk/ChunkRenderDispatcher 1/1 Patching net/minecraft/client/renderer/block/BlockRenderDispatcher$1 1/1 Patching net/minecraft/client/renderer/block/ModelBlockRenderer$Cache$1 1/1 Patching net/minecraft/client/renderer/block/ModelBlockRenderer$Cache 1/1 Patching net/minecraft/client/renderer/item/ItemProperties 1/1 Patching net/minecraft/client/renderer/block/ModelBlockRenderer$1 1/1 Patching net/minecraft/client/renderer/block/BlockModelShaper 1/1 Patching net/minecraft/client/renderer/block/ModelBlockRenderer$AdjacencyInfo 1/1 Patching net/minecraft/client/renderer/ItemInHandRenderer 1/1 Patching net/minecraft/client/renderer/block/ModelBlockRenderer$SizeInfo 1/1 Patching net/minecraft/client/renderer/block/model/BakedQuad 1/1 Patching net/minecraft/client/renderer/block/model/FaceBakery$1 1/1 Patching net/minecraft/client/renderer/ItemBlockRenderTypes 1/1 Patching net/minecraft/client/renderer/block/ModelBlockRenderer 1/1 Patching net/minecraft/client/renderer/block/LiquidBlockRenderer 1/1 Patching net/minecraft/client/renderer/block/model/ItemOverrides$BakedOverride 1/1 Patching net/minecraft/client/renderer/block/model/BlockModel$LoopException 1/1 Patching net/minecraft/client/renderer/block/model/BlockModel$GuiLight 1/1 Patching net/minecraft/client/renderer/block/model/ItemOverrides 1/1 Patching net/minecraft/client/renderer/block/model/ItemTransform 1/1 Patching net/minecraft/client/renderer/block/model/ItemTransforms 1/1 Patching net/minecraft/client/renderer/block/model/ItemModelGenerator$SpanFacing 1/1 Patching net/minecraft/client/renderer/block/model/ItemTransforms$Deserializer 1/1 Patching net/minecraft/client/renderer/block/model/ItemModelGenerator$1 1/1 Patching net/minecraft/client/renderer/block/model/ItemTransform$Deserializer 1/1 Patching net/minecraft/client/renderer/block/model/MultiVariant 1/1 Patching net/minecraft/client/renderer/block/model/ItemTransforms$TransformType 1/1 Patching net/minecraft/client/renderer/block/model/BlockModel$Deserializer 1/1 Patching net/minecraft/client/renderer/block/model/FaceBakery 1/1 Patching net/minecraft/client/renderer/block/model/ItemTransforms$1 1/1 Patching net/minecraft/client/renderer/block/model/ItemOverrides$PropertyMatcher 1/1 Patching net/minecraft/client/renderer/block/model/ItemModelGenerator$Span 1/1 Patching net/minecraft/client/renderer/block/model/MultiVariant$Deserializer 1/1 Patching net/minecraft/client/renderer/block/ModelBlockRenderer$Cache$2 1/1 Patching net/minecraft/client/renderer/block/ModelBlockRenderer$AmbientVertexRemap 1/1 Patching net/minecraft/client/renderer/block/BlockRenderDispatcher 1/1 Patching net/minecraft/client/renderer/block/model/ItemModelGenerator 1/1 Patching net/minecraft/client/renderer/texture/Stitcher$SpriteLoader 1/1 Patching net/minecraft/client/renderer/texture/TextureAtlasSprite$Info 1/1 Patching net/minecraft/client/renderer/texture/TextureAtlas$Preparations 1/1 Patching net/minecraft/client/renderer/texture/TextureAtlasSprite$FrameInfo 1/1 Patching net/minecraft/client/renderer/block/model/BlockModel 1/1 Patching net/minecraft/client/renderer/block/ModelBlockRenderer$AmbientOcclusionFace 1/1 Patching net/minecraft/client/renderer/texture/Stitcher$Region 1/1 Patching net/minecraft/client/renderer/texture/AbstractTexture 1/1 Patching net/minecraft/client/renderer/GameRenderer 1/1 Patching net/minecraft/client/renderer/texture/Stitcher$Holder 1/1 Patching net/minecraft/client/renderer/texture/TextureAtlasSprite$InterpolationData 1/1 Patching net/minecraft/client/renderer/texture/TextureAtlasSprite 1/1 Patching net/minecraft/client/renderer/texture/Stitcher 1/1 Patching net/minecraft/client/renderer/LevelRenderer$RenderChunkInfo 1/1 Patching net/minecraft/client/renderer/texture/TextureAtlasSprite$AnimatedTexture 1/1 Patching net/minecraft/client/renderer/DimensionSpecialEffects$NetherEffects 1/1 Patching net/minecraft/client/renderer/LightTexture 1/1 Patching net/minecraft/client/renderer/PostChain 1/1 Patching net/minecraft/client/renderer/texture/TextureAtlas 1/1 Patching net/minecraft/client/renderer/texture/TextureManager 1/1 Patching net/minecraft/client/renderer/entity/BoatRenderer 1/1 Patching net/minecraft/client/renderer/EffectInstance 1/1 Patching net/minecraft/client/renderer/entity/FallingBlockRenderer 1/1 Patching net/minecraft/client/renderer/entity/ItemFrameRenderer 1/1 Patching net/minecraft/client/renderer/entity/LivingEntityRenderer 1/1 Patching net/minecraft/client/renderer/entity/ItemEntityRenderer 1/1 Patching net/minecraft/client/renderer/entity/EntityRenderer 1/1 Patching net/minecraft/client/renderer/entity/player/PlayerRenderer 1/1 Patching net/minecraft/client/renderer/entity/LivingEntityRenderer$1 1/1 Patching net/minecraft/client/renderer/entity/EntityRenderDispatcher 1/1 Patching net/minecraft/client/renderer/LevelRenderer 1/1 Patching net/minecraft/client/renderer/entity/layers/HumanoidArmorLayer$1 1/1 Patching net/minecraft/client/renderer/entity/layers/HumanoidArmorLayer 1/1 Patching net/minecraft/client/renderer/entity/ItemRenderer 1/1 Patching net/minecraft/client/renderer/entity/layers/ElytraLayer 1/1 Patching net/minecraft/client/renderer/ItemModelShaper 1/1 Patching net/minecraft/client/renderer/DimensionSpecialEffects$SkyType 1/1 Patching net/minecraft/client/renderer/ScreenEffectRenderer 1/1 Patching net/minecraft/client/renderer/FogRenderer 1/1 Patching net/minecraft/client/renderer/LevelRenderer$TransparencyShaderException 1/1 Patching net/minecraft/client/renderer/ItemInHandRenderer$1 1/1 Patching net/minecraft/client/renderer/DimensionSpecialEffects$EndEffects 1/1 Patching net/minecraft/client/renderer/ItemInHandRenderer$HandRenderSelection 1/1 Patching net/minecraft/client/renderer/ShaderInstance 1/1 Patching net/minecraft/client/renderer/ShaderInstance$1 1/1 Patching net/minecraft/client/renderer/Sheets$1 1/1 Patching net/minecraft/client/renderer/blockentity/PistonHeadRenderer 1/1 Patching net/minecraft/client/renderer/blockentity/BlockEntityRenderers 1/1 Patching net/minecraft/client/renderer/blockentity/ChestRenderer 1/1 Patching net/minecraft/client/renderer/DimensionSpecialEffects 1/1 Patching net/minecraft/client/User$Type 1/1 Patching net/minecraft/client/Camera$NearPlane 1/1 Patching net/minecraft/client/Minecraft$ChatStatus$1 1/1 Patching net/minecraft/server/MinecraftServer$TimeProfiler 1/1 Patching net/minecraft/server/MinecraftServer$TimeProfiler$1 1/1 Patching net/minecraft/server/MinecraftServer$2 1/1 Patching net/minecraft/server/Main$1 1/1 Patching net/minecraft/server/MinecraftServer$1 1/1 Patching net/minecraft/client/main/Main$2 1/1 Patching net/minecraft/client/main/Main$1 1/1 Patching net/minecraft/client/ClientBrandRetriever 1/1 Patching net/minecraft/client/main/Main$3 1/1 Patching net/minecraft/data/Main 1/1 Patching net/minecraft/client/KeyMapping 1/1 Patching net/minecraft/client/main/Main 1/1 Patching net/minecraft/server/Main 1/1 Patching net/minecraft/client/KeyboardHandler 1/1 Patching net/minecraft/client/resources/model/ModelState 1/1 Patching net/minecraft/client/resources/model/ModelBakery$BlockStateDefinitionException 1/1 Patching net/minecraft/client/resources/model/ModelManager 1/1 Patching net/minecraft/client/resources/model/WeightedBakedModel$Builder 1/1 Patching net/minecraft/client/resources/model/BakedModel 1/1 Patching net/minecraft/client/resources/model/WeightedBakedModel 1/1 Patching net/minecraft/client/resources/model/UnbakedModel 1/1 Patching net/minecraft/client/resources/model/ModelResourceLocation 1/1 Patching net/minecraft/client/resources/model/SimpleBakedModel$Builder 1/1 Patching net/minecraft/client/resources/model/MultiPartBakedModel 1/1 Patching net/minecraft/client/resources/model/MultiPartBakedModel$Builder 1/1 Patching net/minecraft/client/resources/model/SimpleBakedModel 1/1 Patching net/minecraft/client/resources/model/ModelBakery$ModelGroupKey 1/1 Patching net/minecraft/client/resources/language/I18n 1/1 Patching net/minecraft/client/resources/language/LanguageInfo 1/1 Patching net/minecraft/client/resources/language/ClientLanguage 1/1 Patching net/minecraft/client/resources/language/LanguageManager 1/1 Patching net/minecraft/client/player/AbstractClientPlayer 1/1 Patching net/minecraft/client/color/item/ItemColors 1/1 Patching net/minecraft/client/color/block/BlockColors 1/1 Patching net/minecraft/server/MinecraftServer 1/1 Patching net/minecraft/client/player/RemotePlayer 1/1 Patching net/minecraft/client/Minecraft$ChatStatus$3 1/1 Patching net/minecraft/client/User 1/1 Patching net/minecraft/client/resources/model/ModelBakery 1/1 Patching net/minecraft/client/Screenshot 1/1 Patching net/minecraft/client/sounds/SoundEngine 1/1 Patching net/minecraft/client/player/LocalPlayer 1/1 Patching net/minecraft/client/Options 1/1 Patching net/minecraft/client/model/geom/LayerDefinitions 1/1 Patching net/minecraft/client/Minecraft$ServerStem 1/1 Patching net/minecraft/client/Options$FieldAccess 1/1 Patching net/minecraft/client/Camera 1/1 Patching net/minecraft/client/gui/components/DebugScreenOverlay$1 1/1 Patching net/minecraft/client/gui/components/AbstractSelectionList$SelectionDirection 1/1 Patching net/minecraft/client/gui/components/BossHealthOverlay$1 1/1 Patching net/minecraft/client/gui/components/AbstractSelectionList$TrackedList 1/1 Patching net/minecraft/client/gui/components/BossHealthOverlay 1/1 Patching net/minecraft/client/gui/components/AbstractSelectionList 1/1 Patching net/minecraft/client/gui/components/AbstractSelectionList$Entry 1/1 Patching net/minecraft/client/gui/components/AbstractWidget 1/1 Patching net/minecraft/client/gui/MapRenderer 1/1 Patching net/minecraft/client/gui/screens/MenuScreens$ScreenConstructor 1/1 Patching net/minecraft/client/gui/screens/LoadingOverlay 1/1 Patching net/minecraft/client/gui/components/DebugScreenOverlay 1/1 Patching net/minecraft/client/gui/screens/TitleScreen$1 1/1 Patching net/minecraft/client/gui/screens/packs/PackSelectionModel$UnselectedPackEntry 1/1 Patching net/minecraft/client/gui/screens/packs/PackSelectionModel$EntryBase 1/1 Patching net/minecraft/client/gui/screens/packs/PackSelectionModel$Entry 1/1 Patching net/minecraft/client/gui/screens/packs/PackSelectionScreen$1 1/1 Patching net/minecraft/client/gui/screens/packs/PackSelectionModel$SelectedPackEntry 1/1 Patching net/minecraft/client/gui/screens/packs/PackSelectionModel 1/1 Patching net/minecraft/client/gui/screens/LoadingOverlay$LogoTexture 1/1 Patching net/minecraft/client/gui/screens/packs/PackSelectionScreen$Watcher 1/1 Patching net/minecraft/client/gui/Gui 1/1 Patching net/minecraft/client/gui/screens/packs/PackSelectionScreen 1/1 Patching net/minecraft/client/gui/screens/controls/ControlList$Entry 1/1 Patching net/minecraft/client/gui/screens/controls/ControlList$CategoryEntry$1 1/1 Patching net/minecraft/client/gui/screens/controls/ControlList$KeyEntry$1 1/1 Patching net/minecraft/client/gui/screens/controls/ControlList$KeyEntry$2 1/1 Patching net/minecraft/client/gui/screens/controls/ControlList 1/1 Patching net/minecraft/client/gui/screens/controls/ControlList$CategoryEntry 1/1 Patching net/minecraft/client/gui/screens/recipebook/RecipeBookComponent 1/1 Patching net/minecraft/client/gui/screens/controls/ControlsScreen 1/1 Patching net/minecraft/client/gui/screens/controls/ControlList$KeyEntry 1/1 Patching net/minecraft/client/gui/screens/LanguageSelectScreen$LanguageSelectionList$Entry 1/1 Patching net/minecraft/client/gui/screens/TitleScreen 1/1 Patching net/minecraft/client/gui/screens/LanguageSelectScreen$LanguageSelectionList 1/1 Patching net/minecraft/client/gui/screens/Screen 1/1 Patching net/minecraft/client/gui/screens/advancements/AdvancementTabType$1 1/1 Patching net/minecraft/client/gui/screens/advancements/AdvancementTabType 1/1 Patching net/minecraft/client/gui/screens/advancements/AdvancementsScreen 1/1 Patching net/minecraft/client/gui/screens/OptionsScreen 1/1 Patching net/minecraft/client/gui/screens/advancements/AdvancementTab 1/1 Patching net/minecraft/client/gui/screens/inventory/EnchantmentScreen 1/1 Patching net/minecraft/client/gui/screens/inventory/AbstractContainerScreen 1/1 Patching net/minecraft/client/gui/screens/MenuScreens 1/1 Patching net/minecraft/client/gui/screens/inventory/CreativeModeInventoryScreen$SlotWrapper 1/1 Patching net/minecraft/client/gui/screens/inventory/EffectRenderingInventoryScreen 1/1 Patching net/minecraft/client/gui/screens/inventory/CreativeModeInventoryScreen$ItemPickerMenu 1/1 Patching net/minecraft/client/gui/screens/inventory/CreativeModeInventoryScreen$CustomCreativeSlot 1/1 Patching net/minecraft/client/gui/screens/Screen$NarratableSearchResult 1/1 Patching net/minecraft/client/gui/screens/DeathScreen 1/1 Patching net/minecraft/client/gui/screens/multiplayer/ServerSelectionList$NetworkServerEntry 1/1 Patching net/minecraft/client/gui/screens/multiplayer/ServerSelectionList$Entry 1/1 Patching net/minecraft/client/gui/screens/LanguageSelectScreen 1/1 Patching net/minecraft/client/gui/screens/worldselection/WorldPreset$2 1/1 Patching net/minecraft/client/gui/screens/inventory/CreativeModeInventoryScreen 1/1 Patching net/minecraft/client/gui/screens/multiplayer/ServerSelectionList 1/1 Patching net/minecraft/client/gui/screens/worldselection/WorldPreset$PresetEditor 1/1 Patching net/minecraft/client/gui/screens/multiplayer/ServerSelectionList$LANHeader 1/1 Patching net/minecraft/client/gui/screens/worldselection/CreateWorldScreen$OperationFailedException 1/1 Patching net/minecraft/client/gui/screens/worldselection/CreateWorldScreen$SelectedGameMode 1/1 Patching net/minecraft/client/gui/screens/worldselection/WorldPreset$6 1/1 Patching net/minecraft/client/gui/screens/multiplayer/ServerSelectionList$OnlineServerEntry 1/1 Patching net/minecraft/client/gui/screens/worldselection/WorldPreset$7 1/1 Patching net/minecraft/client/gui/screens/multiplayer/JoinMultiplayerScreen 1/1 Patching net/minecraft/client/gui/screens/worldselection/WorldPreset$4 1/1 Patching net/minecraft/client/gui/screens/worldselection/WorldPreset$5 1/1 Patching net/minecraft/client/gui/screens/worldselection/WorldPreset$1 1/1 Patching net/minecraft/client/gui/screens/worldselection/WorldPreset$8 1/1 Patching net/minecraft/client/gui/screens/worldselection/CreateWorldScreen$1 1/1 Patching net/minecraft/client/gui/screens/worldselection/WorldPreset 1/1 Patching net/minecraft/client/gui/screens/worldselection/WorldPreset$3 1/1 Patching net/minecraft/client/gui/screens/worldselection/WorldGenSettingsComponent 1/1 Patching net/minecraft/client/gui/Gui$HeartType 1/1 Patching net/minecraft/client/gui/screens/worldselection/CreateWorldScreen 1/1 Patching net/minecraft/client/Options$4 1/1 Patching net/minecraft/client/gui/MapRenderer$MapInstance 1/1 Patching net/minecraft/client/ToggleKeyMapping 1/1 Patching net/minecraft/client/Minecraft$ChatStatus$2 1/1 Patching net/minecraft/client/Minecraft$ChatStatus$4 1/1 Patching net/minecraft/client/searchtree/SearchRegistry 1/1 Patching net/minecraft/client/Options$3 1/1 Patching net/minecraft/client/searchtree/SearchRegistry$Key 1/1 Patching net/minecraft/client/multiplayer/ServerStatusPinger$2 1/1 Patching net/minecraft/client/multiplayer/ClientLevel$1 1/1 Patching net/minecraft/client/multiplayer/ClientLevel$ClientLevelData 1/1 Patching net/minecraft/client/multiplayer/ClientLevel$MarkerParticleStatus 1/1 Patching net/minecraft/client/multiplayer/ServerStatusPinger$2$1 1/1 Patching net/minecraft/client/multiplayer/ClientPacketListener$1 1/1 Patching net/minecraft/client/multiplayer/ServerData 1/1 Patching net/minecraft/client/multiplayer/PlayerInfo 1/1 Patching net/minecraft/client/multiplayer/ClientChunkCache 1/1 Patching net/minecraft/client/multiplayer/ClientChunkCache$Storage 1/1 Patching net/minecraft/client/multiplayer/ServerStatusPinger$1 1/1 Patching net/minecraft/client/multiplayer/ClientLevel$EntityCallbacks 1/1 Patching net/minecraft/client/multiplayer/ServerStatusPinger 1/1 Patching net/minecraft/client/multiplayer/ServerData$ServerPackStatus 1/1 Patching net/minecraft/client/Minecraft$ExperimentalDialogType 1/1 Patching net/minecraft/client/Options$1 1/1 Patching net/minecraft/client/multiplayer/ClientHandshakePacketListenerImpl 1/1 Patching net/minecraft/client/multiplayer/MultiPlayerGameMode 1/1 Patching net/minecraft/client/multiplayer/ClientLevel 1/1 Patching net/minecraft/client/multiplayer/ClientPacketListener 1/1 Patching net/minecraft/client/Minecraft 1/1 Patching net/minecraft/world/level/biome/BiomeSpecialEffects$GrassColorModifier$ColorModifier 1/1 Patching net/minecraft/Util$2 1/1 Patching net/minecraft/tags/StaticTagHelper$OptionalNamedTag 1/1 Injecting profile Finished!
atheedom / MavenSampler5 things you didn't know about ... Apache Maven plugins Five tips for mastering modern Maven plugins
Kong / MVNRepoThis is a public Maven Repository hosted on GitHub that we use on Mashape. You are free to use it and contribute to it.