diff --git a/.github/ISSUE_TEMPLATE/bug_report_template.md b/.github/ISSUE_TEMPLATE/bug_report_template.md new file mode 100644 index 000000000..ca777960f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report_template.md @@ -0,0 +1,60 @@ +--- +name: Bug Report +about: Use this template for reporting a bug +labels: needs triage, bug report +--- + + + + + +### Description + + + +### Effected DSF Version + + + +### To Reproduce + + + +### Expected Behavior + + + +### Logs + + +*FHIR:* +``` +FHIR log here ... +``` + +*BPE:* +``` +BPE log here ... +``` + +### Screenshots + diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..7141af7a4 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,11 @@ +blank_issues_enabled: true +contact_links: + - name: Installation Guide + url: https://dsf.dev/stable/maintain/install + about: Read how to install the DSF. + - name: Getting Help + url: https://github.com/datasharingframework/dsf/discussions + about: For general questions about the DSF, please use GitHub Discussions. + - name: MII / NUM Related Questions + url: https://mii.zulipchat.com/#narrow/stream/392426-Data-Sharing-Framework-.28DSF.29 + about: For questions about the use of the DSF in the Medical Informatics Initiative (MII) or the Network University Medicine (NUM), please use the channels in the MII Zulipchat. \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request_template.md b/.github/ISSUE_TEMPLATE/feature_request_template.md new file mode 100644 index 000000000..a77f7982e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request_template.md @@ -0,0 +1,23 @@ +--- +name: Feature Request +about: Use this template if you want to request a new feature +labels: needs triage, enhancement +--- + + + + + +### Related Problem + + +### Describe the Solution You’d Like + + +### Describe Alternatives You’ve Considered + + diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 000000000..0280a2080 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,30 @@ + + + + + +Closes #issuenumber(s). + +### Changes + + + +### How Was This Patch Tested? + +- [ ] Unit tests +- [ ] Integration tests +- [ ] Manual executed tests diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..5d84510aa --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,32 @@ +# Contribute + +We are thrilled that you consider contributing to our projects. Your contributions, big or small, are greatly valued and play a significant role in the success and improvement of our work. Whether you're a seasoned developer or just starting out, there's a place for you here to make a meaningful impact. + +### Ways You Can Contribute + + +1. **Helping Other Users**: + * **MII Zulip**: If you are part of the German Medical Informatics Initiative, [join the MII Zulip community](https://mii.zulipchat.com/#narrow/stream/392426-Data-Sharing-Framework-.28DSF.29) to assist others, share your knowledge, and learn from fellow contributors. + * **GitHub Discussions**: Engage with our community in [GitHub Discussions](https://github.com/datasharingframework/dsf/discussions) by answering questions, providing feedback, and sharing your insights. +2. **Testing Releases**: + * **Stay Ahead**: Help us testing the latest releases. Your feedback on functionality, bugs, and user experience is invaluable. + * **Report Findings**: Share your testing results to help us refine and enhance our releases. +3. **Reviewing Changes**: + * **Peer Review**: Contribute by reviewing pull requests. Your insights can help ensure the quality and integrity of code changes. + * **Constructive Feedback**: Offer constructive feedback and suggestions to help improve and refine proposed changes. +4. **Documentation Changes**: + * **Improve Documentation**: Help us improving and updating our documentation. Clear and accurate documentation is crucial for user understanding and success. Please checkout our [Getting started guide for documentation contributions](https://dsf.dev/stable/contribute/documentation) to DSF. + * **Suggest Improvements**: If you notice gaps or areas for enhancement in our documentation, we welcome [your suggestions and contributions](https://github.com/datasharingframework/datasharingframework.github.io). +5. **Contributing Bug Reports**: + * **Report Bugs**: If you find a bug, please report it via [an issue on GitHub](https://github.com/datasharingframework/dsf/issues). Detailed bug reports are incredibly helpful. + * **Reproduction Steps**: Include steps to reproduce the bug and any relevant logs according to our bug report issue template. +6. **Contributing Feature Requests**: + * **Suggest Features**: You have an idea for a new feature? We'd love to hear it! Open an issue to describe your proposed feature and its potential benefits according to our feature request template. + * **Collaborate on Implementation**: If you're able to, contribute to the development of your proposed feature or bug fix. Collaboration can lead to more innovative and effective solutions. Please checkout our [Getting started guide for code contributions](./CONTRIBUTING_CODE.md) to DSF. +7. **Contributing Process Plugins**: + * **Develop Process Plugins for the DSF**: If you have ideas for a process plugin, we encourage you to develop and contribute them. Our [Getting started guide for process plugin development](https://dsf.dev/stable/develop/) will be a useful reference. + * **Share Your Work**: Your plugins could be a valuable addition to the ecosystem and benefit other users. + +Before you start contributing, we recommend reading our getting started guidelines for detailed information on our processes and standards. This ensures a smooth and productive experience for everyone involved. + +**Your contributions in any form, are what drives the continuous growth and improvement of this project. Thank you for being a part of our community and for your willingness to contribute!** \ No newline at end of file diff --git a/CONTRIBUTING_CODE.md b/CONTRIBUTING_CODE.md new file mode 100644 index 000000000..a36c1c775 --- /dev/null +++ b/CONTRIBUTING_CODE.md @@ -0,0 +1,94 @@ +# Contribute Code + +Your code can make a difference for the Data Sharing Framework (DSF). We invite all users to share their code, tests, scripts and improvement ideas. Contributions of any size enhance the DSF and support the data sharing framework community. + +### Benefits of Contributing: +- Foster community growth and diversification. +- Sharpen your coding skills. +- Gain recognition in the DSF community. +- Directly impact the future of data sharing in medicine. + +Start now by visiting our contribution pages. Every line of code helps us build a stronger and more versatile DSF. + +## General + +### Code Style + +You can import our code style for your specific IDE: + +* [Eclipse](https://github.com/datasharingframework/dsf/blob/main/src/main/resources/eclipse-formatter-config.xml). Open your preferences, click on `Java`, `Code style`, `Formatter`, `Import` and select the downloaded file. +* [IntelliJ](https://github.com/datasharingframework/dsf/blob/main/src/main/resources/intellij-formatter-config.xml). Open your settings, click on `Editor`, `Code style`, `Java`, the settings icon, `import scheme`, `IntelliJ` and select the downloaded file. + +Pull requests will only be approved if the code is formatted according to the code style configurations above. To format the code with maven before pushing to GitHub, use `mvn compile -Pformat-and-sort`. + +### Branching Strategy + +[Git Flow](https://www.atlassian.com/de/git/tutorials/comparing-workflows/gitflow-workflow) is used as this project's branching strategy. Therefore, you will find the following structure: + +* main +* develop +* issue +* hotfix +* release + +Notice that only the first two elements listed are actual branches. The other elements are containers to hold all branches belonging to that category. + + +#### Branch Naming + +The following ruleset is applied to name branches: + +* `issue/_` +* `hotfix/` +* `release/` + +## Setting up the Project + +This chapter lists all important requirements to get the project buildable and running properly. + +### Java + +This project uses Java JDK 17, so make sure you have it installed on your system. + +### Docker + +[Docker](https://www.docker.com/) is used in this project to test database functionality and to run more complex test-setups. + +### Maven + +The project relies on [Maven](https://maven.apache.org/) as its management tool. +*Important:* When building the project you might encounter the following error: +*Could not determine gpg version* [GPG](https://gnupg.org/) is used to sign artifacts for public release. Since this does not concern contributors, you may skip this step in the maven build process with `-Dgpg.skip`. + + +## Workflow + +1. Create an issue or comment on an issue that you want to contribute some feature +2. Fork the repository, create a branch and mention it in the issue +3. If you desire feedback, create a pull request or comment on it in the issue. Feel free to @ any member with write permissions if you feel like your request has not been registered yet. They will review your changes and/or change requests +4. If your changes are production-ready, create a [pull request](https://github.com/datasharingframework/dsf/pulls). + +### Pull Request Process + +We follow Martin Fowler's method for managing pull requests. This approach categorizes pull requests based on the level of trust and experience of the contributor, as well as the impact of the changes. Here's how we apply it: + +1. **Ship**: For our most trusted contributors with a proven track record. These members can merge their pull requests without prior review, typically for minor or highly confident changes. + +2. **Show**: This level is for trusted contributors who need some oversight, as well as for experienced developers who want to demonstrate how certain changes should be made in the future. They create pull requests and show their work to the team. + +3. **Ask**: New or less experienced contributors, as well as those submitting more complex changes, fall into this category. They are required to ask for feedback and approval before their changes can be merged, ensuring thorough review and quality control. + + +This method helps us maintain a balance between code quality and efficient development, recognizing the varying levels of expertise among our contributors. + +For more information on Fowler's approach, visit [Martin Fowler's article on Pull Requests](https://martinfowler.com/articles/ship-show-ask.html). + + +## Data Security in DSF Development + +The DSF (Data Sharing Framework) and its process plugins are frequently used to transmit sensitive personal data. To prevent the release of personal data during development, please adhere to the following guidelines: + +- **No development with real personal data:** Always use anonymized or synthetic data for development purposes. +- **No personal data in repositories:** Ensure no personal data is present in local and remote repositories intended for publication, not even temporarily. +- **Review all log files:** Before using log files in issues, examples, etc., thoroughly review them to ensure no personal and sensitive data is included. + diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 000000000..7696c39df --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,40 @@ +# Security + +You can find explanations of architectural decisions and functions that involve the security of the Data Sharing Framework (DSF), services and tools offered by us at https://dsf.dev/security. An overview of the currently supported DSF versions can be found there. + +## Security Vulnerability Disclosure Policy + +### Our Commitment to Security + +We as the DSF development team take security of our software, services and data very seriously. We understand that despite our best efforts, vulnerabilities can exist. To address this, we encourage responsible reporting of any security vulnerabilities discovered in our software and systems. + +### Responsible Disclosure + +We kindly ask security researchers and the general public to follow the principles of *Coordinated Vulnerability Disclosure (CVD)* or *Responsible Disclosure* when reporting vulnerabilities to us. This approach helps us to mitigate potential risks and protect our users' data effectively. + +### How to Report a Vulnerability + +If you believe you have found a security vulnerability in our system, please email us at **[dsf-security@hs-heilbronn.de](mailto:dsf-security@hs-heilbronn.de)**. If you want to use end-to-end-encryption, you can send us mails using s-mime with the certificate chain provided [here](https://github.com/datasharingframework/dsf/blob/main/SECURITY_CERTIFICATE.pem). We kindly request the following: + +* Provide a detailed description of the vulnerability, including if possible the potential impact and how it can be exploited. +* Include steps to reproduce the vulnerability or proof-of-concept code, if possible. +* Avoid accessing or modifying user data without permission, and do not exploit a security issue for any reason other than testing. +* Maintain confidentiality and do not publicly disclose the vulnerability, until we have had the opportunity to investigate and address it. + +Please do not file an issue on a security-related topic and use the e-mail address provided. You can verify the address both in the application repository and at https://dsf.dev/security. + +### Our Promise + +* **Acknowledgement**: We usually will acknowledge receipt of your vulnerability report within 48 hours. +* **Investigation**: Our security team will investigate the issue and work diligently to verify and reproduce the vulnerability. +* **Communication**: We will keep you informed of our progress as we work to resolve the issue. +* **Resolution**: We will strive to resolve security issues in a timely manner and release updates, patches, or remediations as needed. +* **Recognition**: We value your effort in making our systems more secure and will recognize your contribution, if desired, once the vulnerability is resolved. + +### Legal Protection + +We promise not to initiate legal action against individuals who report vulnerabilities responsibly in accordance with this policy. This includes not suing for accidental access to data or reporting in good faith. + +### Questions? + +If you have any questions about this policy or security of the Data Sharing Framework, the services and tools we provide, please contact us at **[dsf-security@hs-heilbronn.de](mailto:dsf-security@hs-heilbronn.de)**. You can send us encrypted e-mails using s-mime. You can find the certificate chain [here](https://github.com/datasharingframework/dsf/blob/main/SECURITY_CERTIFICATE.pem). diff --git a/SECURITY_CERTIFICATE.pem b/SECURITY_CERTIFICATE.pem new file mode 100644 index 000000000..300b6fad8 --- /dev/null +++ b/SECURITY_CERTIFICATE.pem @@ -0,0 +1,112 @@ +-----BEGIN CERTIFICATE----- +MIIHOTCCBSGgAwIBAgIRANFTIlU7wCU1N4ykqjn20aAwDQYJKoZIhvcNAQEMBQAw +RjELMAkGA1UEBhMCTkwxGTAXBgNVBAoTEEdFQU5UIFZlcmVuaWdpbmcxHDAaBgNV +BAMTE0dFQU5UIFBlcnNvbmFsIENBIDQwHhcNMjQwMTI1MDAwMDAwWhcNMjYwMTI0 +MjM1OTU5WjCBqzELMAkGA1UEBhMCREUxGzAZBgNVBAgMEkJhZGVuLVfDvHJ0dGVt +YmVyZzE/MD0GA1UEChM2SG9jaHNjaHVsZSBIZWlsYnJvbm4gLSBUZWNobmlrLCBX +aXJ0c2NoYWZ0LCBJbmZvcm1hdGlrMREwDwYDVQRhEwhHT1ZERStCVzErMCkGCSqG +SIb3DQEJARYcZHNmLXNlY3VyaXR5QGhzLWhlaWxicm9ubi5kZTCCAiIwDQYJKoZI +hvcNAQEBBQADggIPADCCAgoCggIBANHf1elNuXqXAsWua5VoIsZAgIyaI0OawhpI +Soo3QE+moqyGwhY6sSxlovbMOgBO4CnmhlqcwDhPpDN5gCdAVWYWmioJeJRqEK4m +ftv2+iPLMDtRYBEE+2YVSHr/1crSAWZhCJp2rtBbtg1WmPKnJpt93NC/ZZ0H9k2z +2pIBE5FtQyoOWpx9bLDeCCFaK0FVlehqGtOmjPIRrI97qpK55Qci0u8QyiQE9mTj +bShRnldzHED6pG+W8p1Lj7SPK2HJIaoI6CQOU5e3hQ54f/U5F3xZxEv3sFw1ZM05 +NZvp1C1KZs2wqI6OiCVR3XBpWZIktaij2DR6yCAVjPI7OVH2rdOXWh2+a/9B/nbb +LCL0CpKF3npOsP73E7bWVSJi38AlzoYLY8Vh8ca2VjPTjFclBOJMknz1kpuqUgl2 +3HOyVej4uYlGfZebyP6v7VlOTpBkrrTjwmVb6d6Uy1PmP5I8+TWFIaEx/TpFFSrM +Xse1s6J8BU5AooMBZ+szBx3HR1pvDTaJC6AXx7KOgOcBWEJt4zAqVpAAwYhnG1ul +8gBNaxJdwHxzevB4nwwBnk7uFIQ8FNut2l1LrXP9U9ahuR/P6UwoaZV1pnZbCEbC +nyfxaAUd+vrrBW4F8rXlJxIXcqj0uUQCaDj57ewxq/WuCwUe9KAe9W186K+1KTcA +v3RxAQMPAgMBAAGjggG6MIIBtjAfBgNVHSMEGDAWgBRpAKHHIVj44MUbILAK3adR +vxPZ5DAdBgNVHQ4EFgQUKxwGqGFhav3MyBVSi61ovYwT5YswDgYDVR0PAQH/BAQD +AgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC +MFAGA1UdIARJMEcwOgYMKwYBBAGyMQECAQoDMCowKAYIKwYBBQUHAgEWHGh0dHBz +Oi8vc2VjdGlnby5jb20vU01JTUVDUFMwCQYHZ4EMAQUCAjBCBgNVHR8EOzA5MDeg +NaAzhjFodHRwOi8vR0VBTlQuY3JsLnNlY3RpZ28uY29tL0dFQU5UUGVyc29uYWxD +QTQuY3JsMHgGCCsGAQUFBwEBBGwwajA9BggrBgEFBQcwAoYxaHR0cDovL0dFQU5U +LmNydC5zZWN0aWdvLmNvbS9HRUFOVFBlcnNvbmFsQ0E0LmNydDApBggrBgEFBQcw +AYYdaHR0cDovL0dFQU5ULm9jc3Auc2VjdGlnby5jb20wJwYDVR0RBCAwHoEcZHNm +LXNlY3VyaXR5QGhzLWhlaWxicm9ubi5kZTANBgkqhkiG9w0BAQwFAAOCAgEAW0pW +QoQvVrdsrkIrKfKrWiLp1BLBlT91eu9OrzzKJ5K93aADsRXauIeC8fEXiayt986e +a07ni0ptwluuQSlbu1E0ZG4GO2F9FDqAmnkuWVhMMRFWbW0WsdUTNwTCLCxhEd/F +Lal3vVWwq0Lvy+L4S/B+VRnuFiFok75MhCdaNOsj+36SXN7AdJF6GtxIuOnH0WB9 +Y+ZXOj51YSRzXVa7FuWjIoCw+6dWhI++4PNzKDv/k2rlo+IAu/kAxPzv9WgfzfMj +w/Q/C4kDWX2pRJk5vynSB9VlLfqbe0AaWQMga81AZYe9PMjxjmPNNEC7VWcwNUQD +D7FxvNyJH+gRct/gmzj5rVLbDMrqAY1AD0neGoWW0ZPuNROhCMx6zHFdd1YLFNFM +/ibCHSdPH3eAygUX2XLwFKxucEN0hZNVOrQmci56+FOMtgt7dJN2PG1xQzqxY6ly +3i7XWxkaARiJHhLO31CRz1oJ+oBsoebrAZpzq9uOPlFJZ83Q3veSoKLZO7++fbIY +WTqR0/VGFi1ahqeRNqWvIow5r78gcA2HoW/++fwpfRv9nj4zNoikp7smax5UZnxh +6TshP7QBUibYpauXZJ5UEadJWWezrTTPl6uLXM/+4Mb3t/tlmRGZW977s+OK7eSr +dz3Q1qAlDP/ULN9+A6UX9bwnEwPOXS/iiFzQzMg= +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIG5jCCBM6gAwIBAgIQMQJw1DW+mySa+FbQ4eKFSTANBgkqhkiG9w0BAQwFADCB +iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl +cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV +BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMjAw +MjE4MDAwMDAwWhcNMzMwNTAxMjM1OTU5WjBGMQswCQYDVQQGEwJOTDEZMBcGA1UE +ChMQR0VBTlQgVmVyZW5pZ2luZzEcMBoGA1UEAxMTR0VBTlQgUGVyc29uYWwgQ0Eg +NDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALNK4iJeJ1vpBFsUBDUy +IBSutNIxQMbNUMAeoUTKr55KYX8tkN5imzNqLaRCypYBPP9wED2AaO6e8njkbjzJ +wLgPqDBkW9sG3kmi3GW6cF4Hwr5ysZqve/5EJDhV+9OhfTu/4dMnoR4Q41HcjMk9 +MzLOADAQ0awBZ/29r0d49AUmIKELNeqEqmnTN6fndL7x/2K0TLToZLxqS7sy/Jvi +0wEFr0CfdjcAsioh7KaD+Jizyb1aRKQzJ6Q20VEHX7UqWc1SkzTkbz6xj0S5ydBB +FQh0fNiy+qM/deVpK4HgmPSJrrpQZ+LlbHfWabmwoDPxF71QZVYiqrrAoUrGRJ+4 +7iLBiIg8miIYS7Hd2ppvAUt24CugMXUjETjQ+oYh09fNi5n/AvoER8UBvTHLxt+b +lL0bvL+2z2YiUWk+2Qtn+dD+JU5Z2y71qV7+cr+4YXjvGzF5bYsi8HiwflTb4Php +3y+k1twKtchdcq2QGc0eDG6Y01nRHUiyr8/PtMAsLHEPNZ2wzsA7fb8mftHiV20Z +FmYqknJ8AIOfwdTVA+E62JayOJ+sxadqcmFDorsz/mrPwGZ8+txr4xSuvVjg0dlv +0yuA+1YpBDIYNfL4bkX+IcZ1mTstL4Xw0f4N2iW3bBmnPnYmoYxMM8gflCiTgss7 +3nBvG2f7v1PD7BDGYNO4iD4vAgMBAAGjggGLMIIBhzAfBgNVHSMEGDAWgBRTeb9a +qitKz1SA4dibwJ3ysgNmyzAdBgNVHQ4EFgQUaQChxyFY+ODFGyCwCt2nUb8T2eQw +DgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0lBBYwFAYI +KwYBBQUHAwIGCCsGAQUFBwMEMDgGA1UdIAQxMC8wLQYEVR0gADAlMCMGCCsGAQUF +BwIBFhdodHRwczovL3NlY3RpZ28uY29tL0NQUzBQBgNVHR8ESTBHMEWgQ6BBhj9o +dHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVNFUlRydXN0UlNBQ2VydGlmaWNhdGlv +bkF1dGhvcml0eS5jcmwwdgYIKwYBBQUHAQEEajBoMD8GCCsGAQUFBzAChjNodHRw +Oi8vY3J0LnVzZXJ0cnVzdC5jb20vVVNFUlRydXN0UlNBQWRkVHJ1c3RDQS5jcnQw +JQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcN +AQEMBQADggIBAAoFTnsNjx8TOQD9b+xixsPt7Req4wHMeNw/R5dddEPgQAQAYJZK +z5BEv1cjGbH7nbPH3AxrxhN6OVH40p6OLIo9MXSrrfMzGs7/P+FTCjwgNxFEtLQ1 +KC9NboA3asJcl7mIs3l8h9iAgEH1zLUvq2s+5n++NQmbzudDsTFDMapY3kX1TwyU +CTRzmItqcbsYIyg2MeIXWfRtqPqC5R4bufmpzA5BPINLX340Sp/CNQ9QZqw3Vkfy +HWwTo+vO9Gm2L6srNamJT6Lb+TeXZvl8UPL5a72O/pH0GgGHjt6z9QzPARnaRKsh +VWviNK6ST4WmZHllu3CJg0BXqx1vWyswawgvNeWt1qxITacYe9mSWTbNR2CftvTU +werruDSY2jMaZPoNqbjUpuG/blYwWzzvVerBUhviAahPXJF/9V48ybWPBq6qKOEo +kW+s3B4ad5sY96KlovEijaIQDip1HO0SD+rLNYaiBcr9MV2aK+DfbZ8w9BaNCQyF +EYwzxIKOVk3bYvzHRk5ihUDascmbk/bkiNl74c/KfuKQmJImaqWoWZR6jBcXcPV0 +WUIKz/nILTpFhGojZEQW77by3aezAi9jrEIUBHRG1LwzPbJc2V3SOzYyaJFQatzu +KZbN1Q9s9y/2x1QXtKwREY8jNgvx0iIfOK35gKgYJJcyDql4XfuEc2nV +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIFgTCCBGmgAwIBAgIQOXJEOvkit1HX02wQ3TE1lTANBgkqhkiG9w0BAQwFADB7 +MQswCQYDVQQGEwJHQjEbMBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD +VQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UE +AwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTE5MDMxMjAwMDAwMFoXDTI4 +MTIzMTIzNTk1OVowgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5 +MRQwEgYDVQQHEwtKZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBO +ZXR3b3JrMS4wLAYDVQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAgBJlFzYOw9sI +s9CsVw127c0n00ytUINh4qogTQktZAnczomfzD2p7PbPwdzx07HWezcoEStH2jnG +vDoZtF+mvX2do2NCtnbyqTsrkfjib9DsFiCQCT7i6HTJGLSR1GJk23+jBvGIGGqQ +Ijy8/hPwhxR79uQfjtTkUcYRZ0YIUcuGFFQ/vDP+fmyc/xadGL1RjjWmp2bIcmfb +IWax1Jt4A8BQOujM8Ny8nkz+rwWWNR9XWrf/zvk9tyy29lTdyOcSOk2uTIq3XJq0 +tyA9yn8iNK5+O2hmAUTnAU5GU5szYPeUvlM3kHND8zLDU+/bqv50TmnHa4xgk97E +xwzf4TKuzJM7UXiVZ4vuPVb+DNBpDxsP8yUmazNt925H+nND5X4OpWaxKXwyhGNV +icQNwZNUMBkTrNN9N6frXTpsNVzbQdcS2qlJC9/YgIoJk2KOtWbPJYjNhLixP6Q5 +D9kCnusSTJV882sFqV4Wg8y4Z+LoE53MW4LTTLPtW//e5XOsIzstAL81VXQJSdhJ +WBp/kjbmUZIO8yZ9HE0XvMnsQybQv0FfQKlERPSZ51eHnlAfV1SoPv10Yy+xUGUJ +5lhCLkMaTLTwJUdZ+gQek9QmRkpQgbLevni3/GcV4clXhB4PY9bpYrrWX1Uu6lzG +KAgEJTm4Diup8kyXHAc/DVL17e8vgg8CAwEAAaOB8jCB7zAfBgNVHSMEGDAWgBSg +EQojPpbxB+zirynvgqV/0DCktDAdBgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rID +ZsswDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAG +BgRVHSAAMEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwuY29tb2RvY2EuY29t +L0FBQUNlcnRpZmljYXRlU2VydmljZXMuY3JsMDQGCCsGAQUFBwEBBCgwJjAkBggr +BgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMA0GCSqGSIb3DQEBDAUA +A4IBAQAYh1HcdCE9nIrgJ7cz0C7M7PDmy14R3iJvm3WOnnL+5Nb+qh+cli3vA0p+ +rvSNb3I8QzvAP+u431yqqcau8vzY7qN7Q/aGNnwU4M309z/+3ri0ivCRlv79Q2R+ +/czSAaF9ffgZGclCKxO/WIu6pKJmBHaIkU4MiRTOok3JMrO66BQavHHxW/BBC5gA +CiIDEOUMsfnNkjcZ7Tvx5Dq2+UUTJnWvu6rvP3t3O9LEApE9GQDTF1w52z97GA1F +zZOFli9d31kWTz9RvdVFGD/tSo7oBmF0Ixa1DVBzJ0RHfxBdiSprhTEUxOipakyA +vGp4z7h/jnZymQyd/teRCBaho1+V +-----END CERTIFICATE----- diff --git a/src/main/resources/intellij-formatter-config.xml b/src/main/resources/intellij-formatter-config.xml new file mode 100644 index 000000000..5a221cb79 --- /dev/null +++ b/src/main/resources/intellij-formatter-config.xml @@ -0,0 +1,67 @@ + + \ No newline at end of file