Repository: vacanza/holidays
Pull request #2198 (2024-12-27 17:21:28)

Add Afghanistan holidays
## Proposed change

Added Afghanistan holidays, based on [Public holidays in Afghanistan on wikipedia](https://en.wikipedia.org/wiki/Public_holidays_in_Afghanistan), [Today's and Upcoming Holidays in Afghanistan](https://www.timeanddate.com/holidays/afghanistan/)

## Type of change

- [x] New country/market holidays support (thank you!)
- [ ] Supported country/market holidays update (calendar discrepancy fix, localization)
- [ ] Existing code/documentation/test/process quality improvement (best practice, cleanup, refactoring, optimization)
- [ ] Dependency update (version deprecation/pin/upgrade)
- [ ] Bugfix (non-breaking change which fixes an issue)
- [ ] Breaking change (a code change causing existing functionality to break)
- [ ] New feature (new `holidays` functionality in general)

## Checklist

- [x] I've followed the [contributing guidelines][contributing-guidelines]
- [x] I've successfully run `make check`, all checks and tests are green

<!--
  Thanks again for your contribution!
-->

[contributing-guidelines]: https://github.com/vacanza/holidays/blob/dev/CONTRIBUTING.rst
[docs]: https://github.com/vacanza/holidays/tree/dev/docs/source


sonarqubecloud[bot]: ## [![Quality Gate Failed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-failed-20px.png 'Quality Gate Failed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) **Quality Gate failed**  
Failed conditions  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/failed-16px.png '') [C Reliability Rating on New Code](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) (required ≥ A)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198)

##   
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/light_bulb-16px.png '') Catch issues before they fail your Quality Gate with our IDE extension ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/sonarlint-16px.png '') [SonarQube for IDE](https://www.sonarsource.com/products/sonarlint/features/connected-mode/?referrer=pull-request)


sonarqubecloud[bot]: ## [![Quality Gate Failed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-failed-20px.png 'Quality Gate Failed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) **Quality Gate failed**  
Failed conditions  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/failed-16px.png '') [C Reliability Rating on New Code](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) (required ≥ A)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198)

##   
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/light_bulb-16px.png '') Catch issues before they fail your Quality Gate with our IDE extension ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/sonarlint-16px.png '') [SonarQube for IDE](https://www.sonarsource.com/products/sonarlint/features/connected-mode/?referrer=pull-request)


sonarqubecloud[bot]: ## [![Quality Gate Failed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-failed-20px.png 'Quality Gate Failed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) **Quality Gate failed**  
Failed conditions  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/failed-16px.png '') [C Reliability Rating on New Code](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) (required ≥ A)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198)

##   
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/light_bulb-16px.png '') Catch issues before they fail your Quality Gate with our IDE extension ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/sonarlint-16px.png '') [SonarQube for IDE](https://www.sonarsource.com/products/sonarlint/features/connected-mode/?referrer=pull-request)


Prateekshit73: I tried my best, but I apologize for the inconvenience caused. I think that rather than helping, I am making it worse.
KJhellico: @Prateekshit73 , you don't need to apologize, it's a work process. We will discuss everything and eventually achieve a result. ✌️
arkid15r: > I tried my best, but I apologize for the inconvenience caused. I think that rather than helping, I am making it worse.

@Prateekshit73 you're doing great. Don't take the review process as a critique of your work. It's a standard way to achieve a greater goal of having accurate holidays calendar for `AF`. We can't appreciate more your willingness to implement it. Thank you for this!
sonarqubecloud[bot]: ## [![Quality Gate Failed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-failed-20px.png 'Quality Gate Failed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) **Quality Gate failed**  
Failed conditions  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/failed-16px.png '') [C Reliability Rating on New Code](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) (required ≥ A)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198)

##   
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/light_bulb-16px.png '') Catch issues before they fail your Quality Gate with our IDE extension ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/sonarlint-16px.png '') [SonarQube for IDE](https://www.sonarsource.com/products/sonarlint/features/connected-mode/?referrer=pull-request)


sonarqubecloud[bot]: ## [![Quality Gate Failed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-failed-20px.png 'Quality Gate Failed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) **Quality Gate failed**  
Failed conditions  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/failed-16px.png '') [C Reliability Rating on New Code](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) (required ≥ A)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198)

##   
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/light_bulb-16px.png '') Catch issues before they fail your Quality Gate with our IDE extension ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/sonarlint-16px.png '') [SonarQube for IDE](https://www.sonarsource.com/products/sonarlint/features/connected-mode/?referrer=pull-request)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [2 New issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198)


PPsyrius: @Prateekshit73 Hi - I've created [a suggestion PR](https://github.com/Prateekshit73/holidays/pull/1) on your forked branch which includes the following changes:

- Sets 1919 as Afghanistan's start date (Afghanistan's regaining of full independence from British influence).
- Sets International Worker's Day observance in Afghanistan start date as [1968](https://www.afghanistan-analysts.org/en/reports/economy-development-environment/may-day-on-workers-street-trade-unions-and-the-status-of-labour-in-afghanistan/) instead of 1889.
- Removes duplicate Prophet's Birthday (Mawlid) date assignment.
- Make sure the English (`en_US`) localization matches the comments and sources used elsewhere.
- Switches < and > instances to <= and >= instead for easier maintenance.
- Refractors and fixes Afghanistan test cases to 100% coverage.
- Adds Adghanistan's holiday snapshot.
sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [2 New issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [2 New issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [2 New issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198)


codecov[bot]: ## [Codecov](https://app.codecov.io/gh/vacanza/holidays/pull/2198?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vacanza) Report
All modified and coverable lines are covered by tests :white_check_mark:
> Project coverage is 100.00%. Comparing base [(`1964c24`)](https://app.codecov.io/gh/vacanza/holidays/commit/1964c2400d6333381d6c6fbc743cebe034a713dd?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vacanza) to head [(`c78400a`)](https://app.codecov.io/gh/vacanza/holidays/commit/c78400a36a44c0ff24a61f6a93c307727b808fff?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vacanza).

<details><summary>Additional details and impacted files</summary>


```diff
@@            Coverage Diff            @@
##               dev     #2198   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          195       196    +1     
  Lines        11762     11812   +50     
  Branches      1699      1708    +9     
=========================================
+ Hits         11762     11812   +50     
```

</details>

[:umbrella: View full report in Codecov by Sentry](https://app.codecov.io/gh/vacanza/holidays/pull/2198?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vacanza).   
:loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vacanza).

KJhellico: About l10n: official name for Persian language in Afghanistan is [Dari](https://en.wikipedia.org/wiki/Dari). It's a bit inconvenient that it has only ISO 639-3 code.
sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=vacanza_python-holidays&pullRequest=2198&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=vacanza_python-holidays&pullRequest=2198&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=vacanza_python-holidays&pullRequest=2198)



Patch:
diff --git a/AUTHORS b/AUTHORS
index 5f97566b..b5ec7377 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -111,6 +111,7 @@ Pedro Baptista
 Peter Zsak
 Pieter van der Westhuizen
 Piotr Staniów
+Prateekshit Jaiswal
 Raphael Borg Ellul Vincenti
 Raychel Mattheeuw
 Reinaldo Ramos
diff --git a/README.rst b/README.rst
index 48defd97..07d14ea2 100644
--- a/README.rst
+++ b/README.rst
@@ -146,7 +146,7 @@ Available Countries
 .. _ISO 639-1 code: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
 .. _ISO 639-2 code: https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes
 
-We currently support 155 country codes. The standard way to refer to a country
+We currently support 156 country codes. The standard way to refer to a country
 is by using its `ISO 3166-1 alpha-2 code`_, the same used for domain names, and
 for a subdivision its `ISO 3166-2 code`_. Some countries have common or foreign
 names or abbreviations as aliases for their subdivisions. These are defined in
@@ -180,6 +180,11 @@ All other default values are highlighted with bold:
      - Subdivisions
      - Supported Languages
      - Supported Categories
+   * - Afghanistan
+     - AF
+     -
+     - en_US, **fa_AF**, ps_AF
+     -
    * - Albania
      - AL
      -
diff --git a/holidays/countries/__init__.py b/holidays/countries/__init__.py
index 3a49a6b6..400afaba 100644
--- a/holidays/countries/__init__.py
+++ b/holidays/countries/__init__.py
@@ -12,6 +12,7 @@
 
 # flake8: noqa: F401
 
+from .afghanistan import Afghanistan, AF, AFG
 from .albania import Albania, AL, ALB
 from .algeria import Algeria, DZ, DZA
 from .american_samoa import AmericanSamoa, AS, ASM, HolidaysAS
diff --git a/holidays/countries/afghanistan.py b/holidays/countries/afghanistan.py
new file mode 100644
index 00000000..d1b9ee5d
--- /dev/null
+++ b/holidays/countries/afghanistan.py
@@ -0,0 +1,104 @@
+#  holidays
+#  --------
+#  A fast, efficient Python library for generating country, province and state
+#  specific sets of holidays on the fly. It aims to make determining whether a
+#  specific date is a holiday as fast and flexible as possible.
+#
+#  Authors: Vacanza Team and individual contributors (see AUTHORS file)
+#           dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
+#           ryanss <ryanssdev@icloud.com> (c) 2014-2017
+#  Website: https://github.com/vacanza/holidays
+#  License: MIT (see LICENSE file)
+
+from gettext import gettext as tr
+
+from holidays.groups import InternationalHolidays, IslamicHolidays
+from holidays.holiday_base import HolidayBase
+
+
+class Afghanistan(HolidayBase, InternationalHolidays, IslamicHolidays):
+    """
+    https://en.wikipedia.org/wiki/Public_holidays_in_Afghanistan
+    https://www.timeanddate.com/holidays/afghanistan/
+    """
+
+    country = "AF"
+    default_language = "fa_AF"
+    # %s (estimated).
+    estimated_label = tr("%s (برآورد شده)")
+    # %s (observed).
+    observed_label = tr("%s (مشاهده شده)")
+    # %s (observed, estimated).
+    observed_estimated_label = tr("%s (مشاهده شده، برآورد شده)")
+    supported_languages = ("en_US", "fa_AF", "ps_AF")
+    # Afghanistan's regaining of full independence from British influence.
+    start_year = 1919
+
+    def __init__(self, *args, **kwargs):
+        InternationalHolidays.__init__(self)
+        IslamicHolidays.__init__(self)
+        super().__init__(*args, **kwargs)
+
+    def _populate_public_holidays(self):
+        if self._year >= 1989:
+            # Liberation Day.
+            self._add_holiday_feb_15(tr("روز آزادی"))
+
+        # Afghanistan Independence Day.
+        self._add_holiday_aug_19(tr("روز استقلال افغانستان"))
+
+        if self._year <= 1996 or 2001 <= self._year <= 2020:
+            # Nowruz.
+            self._add_holiday_mar_21(tr("نوروز"))
+
+        if self._year >= 1992:
+            # Mojahedin's Victory Day.
+            self._add_holiday_apr_28(tr("روز پیروزی مجاهدین"))
+
+        if 1974 <= self._year <= 1996 or 2002 <= self._year <= 2021:
+            # International Workers' Day.
+            self._add_labor_day(tr("روز جهانی کارگر"))
+
+        if 1978 <= self._year <= 1988:
+            # Soviet Victory Day.
+            self._add_holiday_may_9(tr("روز پیروزی شوروی"))
+
+        if self._year >= 2022:
+            # American Withdrawal Day.
+            self._add_holiday_aug_31(tr("روز خروج آمریکایی ها"))
+
+        if self._year >= 2012:
+            # Martyrs' Day.
+            self._add_holiday_sep_9(tr("روز شهیدان"))
+
+        # Eid al-Fitr.
+        name = tr("عید فطر")
+        self._add_eid_al_fitr_day(name)
+        self._add_eid_al_fitr_day_two(name)
+        self._add_eid_al_fitr_day_three(name)
+
+        # Day of Arafah.
+        self._add_arafah_day(tr("روز عرفه"))
+
+        # Eid al-Adha.
+        name = tr("عید قربانی")
+        self._add_eid_al_adha_day(name)
+        self._add_eid_al_adha_day_two(name)
+        self._add_eid_al_adha_day_three(name)
+
+        # Ashura.
+        self._add_ashura_day(tr("عاشورا"))
+
+        # First Day of Ramadan.
+        self._add_ramadan_beginning_day(tr("اول رمضان"))
+
+        # Prophet's Birthday.
+        self._add_mawlid_day(tr("میلاد پیامبر"))
+
+
+class AF(Afghanistan):
+    pass
+
+
+class AFG(Afghanistan):
+    pass
diff --git a/holidays/locale/en_US/LC_MESSAGES/AF.po b/holidays/locale/en_US/LC_MESSAGES/AF.po
new file mode 100644
index 00000000..71d0c01c
--- /dev/null
+++ b/holidays/locale/en_US/LC_MESSAGES/AF.po
@@ -0,0 +1,98 @@
+#  holidays
+#  --------
+#  A fast, efficient Python library for generating country, province and state
+#  specific sets of holidays on the fly. It aims to make determining whether a
+#  specific date is a holiday as fast and flexible as possible.
+#
+#  Authors: Vacanza Team and individual contributors (see AUTHORS file)
+#           dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
+#           ryanss <ryanssdev@icloud.com> (c) 2014-2017
+#  Website: https://github.com/vacanza/holidays
+#  License: MIT (see LICENSE file)
+#
+# Afghanistan holidays en_US localization.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Holidays 0.64\n"
+"POT-Creation-Date: 2024-12-24 13:40+0530\n"
+"PO-Revision-Date: 2024-12-31 15:52+0700\n"
+"Last-Translator: Prateekshit Jaiswal <prateekshitjaiswal73@gmail.com>\n"
+"Language-Team: Holidays Localization Team\n"
+"Language: en_US\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Lingva 5.0.4\n"
+"X-Generator: Poedit 3.5\n"
+
+#. Liberation Day.
+msgid "روز آزادی"
+msgstr "Liberation Day"
+
+#. Nowruz.
+msgid "نوروز"
+msgstr "Nowruz"
+
+#. International Workers' Day.
+msgid "روز جهانی کارگر"
+msgstr "International Workers' Day"
+
+#. Martyrs' Day.
+msgid "روز شهیدان"
+msgstr "Martyrs' Day"
+
+#. Day of Arafah.
+msgid "روز عرفه"
+msgstr "Day of Arafah"
+
+#. Ashura.
+msgid "عاشورا"
+msgstr "Ashura"
+
+#. Prophet's Birthday.
+msgid "میلاد پیامبر"
+msgstr "Prophet's Birthday"
+
+#. First Day of Ramadan.
+msgid "اول رمضان"
+msgstr "First Day of Ramadan"
+
+#. %s (estimated).
+#, c-format
+msgid "%s (برآورد شده)"
+msgstr "%s (estimated)"
+
+#. %s (observed).
+#, c-format
+msgid "%s (مشاهده شده)"
+msgstr "%s (observed)"
+
+#. %s (observed, estimated).
+#, c-format
+msgid "%s (مشاهده شده، برآورد شده)"
+msgstr "%s (observed, estimated)"
+
+#. Soviet Victory Day.
+msgid "روز پیروزی شوروی"
+msgstr "Soviet Victory Day"
+
+#. Mojahedin's Victory Day.
+msgid "روز پیروزی مجاهدین"
+msgstr "Mojahedin's Victory Day"
+
+#. Afghanistan Independence Day.
+msgid "روز استقلال افغانستان"
+msgstr "Afghanistan Independence Day"
+
+#. Eid al-Fitr.
+msgid "عید فطر"
+msgstr "Eid al-Fitr"
+
+#. Eid al-Adha.
+msgid "عید قربانی"
+msgstr "Eid al-Adha"
+
+#. American Withdrawal Day.
+msgid "روز خروج آمریکایی ها"
+msgstr "American Withdrawal Day"
diff --git a/holidays/locale/fa_AF/LC_MESSAGES/AF.po b/holidays/locale/fa_AF/LC_MESSAGES/AF.po
new file mode 100644
index 00000000..05ac627d
--- /dev/null
+++ b/holidays/locale/fa_AF/LC_MESSAGES/AF.po
@@ -0,0 +1,98 @@
+#  holidays
+#  --------
+#  A fast, efficient Python library for generating country, province and state
+#  specific sets of holidays on the fly. It aims to make determining whether a
+#  specific date is a holiday as fast and flexible as possible.
+#
+#  Authors: Vacanza Team and individual contributors (see AUTHORS file)
+#           dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
+#           ryanss <ryanssdev@icloud.com> (c) 2014-2017
+#  Website: https://github.com/vacanza/holidays
+#  License: MIT (see LICENSE file)
+#
+# Afghanistan holidays.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Holidays 0.64\n"
+"POT-Creation-Date: 2024-12-24 13:40+0530\n"
+"PO-Revision-Date: 2024-12-31 15:53+0700\n"
+"Last-Translator: Prateekshit Jaiswal <prateekshitjaiswal73@gmail.com>\n"
+"Language-Team: Holidays Localization Team\n"
+"Language: fa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Lingva 5.0.4\n"
+"X-Generator: Poedit 3.5\n"
+
+#. Liberation Day.
+msgid "روز آزادی"
+msgstr ""
+
+#. Nowruz.
+msgid "نوروز"
+msgstr ""
+
+#. International Workers' Day.
+msgid "روز جهانی کارگر"
+msgstr ""
+
+#. Martyrs' Day.
+msgid "روز شهیدان"
+msgstr ""
+
+#. Day of Arafah.
+msgid "روز عرفه"
+msgstr ""
+
+#. Ashura.
+msgid "عاشورا"
+msgstr ""
+
+#. Prophet's Birthday.
+msgid "میلاد پیامبر"
+msgstr ""
+
+#. First Day of Ramadan.
+msgid "اول رمضان"
+msgstr ""
+
+#. %s (estimated).
+#, c-format
+msgid "%s (برآورد شده)"
+msgstr ""
+
+#. %s (observed).
+#, c-format
+msgid "%s (مشاهده شده)"
+msgstr ""
+
+#. %s (observed, estimated).
+#, c-format
+msgid "%s (مشاهده شده، برآورد شده)"
+msgstr ""
+
+#. Soviet Victory Day.
+msgid "روز پیروزی شوروی"
+msgstr ""
+
+#. Mojahedin's Victory Day.
+msgid "روز پیروزی مجاهدین"
+msgstr ""
+
+#. Afghanistan Independence Day.
+msgid "روز استقلال افغانستان"
+msgstr ""
+
+#. Eid al-Fitr.
+msgid "عید فطر"
+msgstr ""
+
+#. Eid al-Adha.
+msgid "عید قربانی"
+msgstr ""
+
+#. American Withdrawal Day.
+msgid "روز خروج آمریکایی ها"
+msgstr ""
diff --git a/holidays/locale/ps_AF/LC_MESSAGES/AF.po b/holidays/locale/ps_AF/LC_MESSAGES/AF.po
new file mode 100644
index 00000000..66327dfe
--- /dev/null
+++ b/holidays/locale/ps_AF/LC_MESSAGES/AF.po
@@ -0,0 +1,98 @@
+#  holidays
+#  --------
+#  A fast, efficient Python library for generating country, province and state
+#  specific sets of holidays on the fly. It aims to make determining whether a
+#  specific date is a holiday as fast and flexible as possible.
+#
+#  Authors: Vacanza Team and individual contributors (see AUTHORS file)
+#           dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
+#           ryanss <ryanssdev@icloud.com> (c) 2014-2017
+#  Website: https://github.com/vacanza/holidays
+#  License: MIT (see LICENSE file)
+#
+# Afghanistan holidays ps_AF localization.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Holidays 0.64\n"
+"POT-Creation-Date: 2024-12-25 20:00+0530\n"
+"PO-Revision-Date: 2024-12-31 15:53+0700\n"
+"Last-Translator: Prateekshit Jaiswal <prateekshitjaiswal73@gmail.com>\n"
+"Language-Team: Holidays Localization Team\n"
+"Language: ps_AF\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Lingua 4.15.0\n"
+"X-Generator: Poedit 3.5\n"
+
+#. Liberation Day.
+msgid "روز آزادی"
+msgstr "د ازادۍ ورځ"
+
+#. Nowruz.
+msgid "نوروز"
+msgstr "نوروز"
+
+#. International Workers' Day.
+msgid "روز جهانی کارگر"
+msgstr "د کارګرو نړیواله ورځ"
+
+#. Martyrs' Day.
+msgid "روز شهیدان"
+msgstr "د شهیدانو ورځ"
+
+#. Day of Arafah.
+msgid "روز عرفه"
+msgstr "د عرفه ورځ"
+
+#. Ashura.
+msgid "عاشورا"
+msgstr "عاشورا"
+
+#. Prophet's Birthday.
+msgid "میلاد پیامبر"
+msgstr "د پیغمبر الله صلی الله علیه وسلم د میلاد ورځ"
+
+#. First Day of Ramadan.
+msgid "اول رمضان"
+msgstr "د روژې لومړۍ نیټه"
+
+#. %s (estimated).
+#, c-format
+msgid "%s (برآورد شده)"
+msgstr "%s (اټکل)"
+
+#. %s (observed).
+#, c-format
+msgid "%s (مشاهده شده)"
+msgstr "%s (په دې وروستیو کې د افغانستان د کرکټ ملی)"
+
+#. %s (observed, estimated).
+#, c-format
+msgid "%s (مشاهده شده، برآورد شده)"
+msgstr "%s (مشاهده شده، تخمین زده شده است)"
+
+#. Soviet Victory Day.
+msgid "روز پیروزی شوروی"
+msgstr "د شوروی د بریالیتوب ورځ"
+
+#. Mojahedin's Victory Day.
+msgid "روز پیروزی مجاهدین"
+msgstr "مجاهدو د بریا ورځ"
+
+#. Afghanistan Independence Day.
+msgid "روز استقلال افغانستان"
+msgstr "د افغانستان د استقلال ورځ"
+
+#. Eid al-Fitr.
+msgid "عید فطر"
+msgstr "عید فطر"
+
+#. Eid al-Adha.
+msgid "عید قربانی"
+msgstr "عید قربانی"
+
+#. American Withdrawal Day.
+msgid "روز خروج آمریکایی ها"
+msgstr "د امریکا د وتلو ورځ"
diff --git a/holidays/registry.py b/holidays/registry.py
index 4df09fc3..7760b289 100644
--- a/holidays/registry.py
+++ b/holidays/registry.py
@@ -20,6 +20,7 @@ from holidays.holiday_base import HolidayBase
 RegistryDict = dict[str, tuple[str, ...]]
 
 COUNTRIES: RegistryDict = {
+    "afghanistan": ("Afghanistan", "AF", "AFG"),
     "albania": ("Albania", "AL", "ALB"),
     "algeria": ("Algeria", "DZ", "DZA"),
     "american_samoa": ("AmericanSamoa", "AS", "ASM", "HolidaysAS"),
diff --git a/snapshots/countries/AF_COMMON.json b/snapshots/countries/AF_COMMON.json
new file mode 100644
index 00000000..b36f6127
--- /dev/null
+++ b/snapshots/countries/AF_COMMON.json
@@ -0,0 +1,1441 @@
+{
+    "1950-01-01": "Prophet's Birthday (estimated)",
+    "1950-03-21": "Nowruz",
+    "1950-06-17": "First Day of Ramadan (estimated)",
+    "1950-07-16": "Eid al-Fitr (estimated)",
+    "1950-07-17": "Eid al-Fitr (estimated)",
+    "1950-07-18": "Eid al-Fitr (estimated)",
+    "1950-08-19": "Afghanistan Independence Day",
+    "1950-09-22": "Day of Arafah (estimated)",
+    "1950-09-23": "Eid al-Adha (estimated)",
+    "1950-09-24": "Eid al-Adha (estimated)",
+    "1950-09-25": "Eid al-Adha (estimated)",
+    "1950-10-22": "Ashura (estimated)",
+    "1950-12-22": "Prophet's Birthday (estimated)",
+    "1951-03-21": "Nowruz",
+    "1951-06-06": "First Day of Ramadan (estimated)",
+    "1951-07-06": "Eid al-Fitr (estimated)",
+    "1951-07-07": "Eid al-Fitr (estimated)",
+    "1951-07-08": "Eid al-Fitr (estimated)",
+    "1951-08-19": "Afghanistan Independence Day",
+    "1951-09-11": "Day of Arafah (estimated)",
+    "1951-09-12": "Eid al-Adha (estimated)",
+    "1951-09-13": "Eid al-Adha (estimated)",
+    "1951-09-14": "Eid al-Adha (estimated)",
+    "1951-10-11": "Ashura (estimated)",
+    "1951-12-11": "Prophet's Birthday (estimated)",
+    "1952-03-21": "Nowruz",
+    "1952-05-25": "First Day of Ramadan (estimated)",
+    "1952-06-23": "Eid al-Fitr (estimated)",
+    "1952-06-24": "Eid al-Fitr (estimated)",
+    "1952-06-25": "Eid al-Fitr (estimated)",
+    "1952-08-19": "Afghanistan Independence Day",
+    "1952-08-30": "Day of Arafah (estimated)",
+    "1952-08-31": "Eid al-Adha (estimated)",
+    "1952-09-01": "Eid al-Adha (estimated)",
+    "1952-09-02": "Eid al-Adha (estimated)",
+    "1952-09-30": "Ashura (estimated)",
+    "1952-11-30": "Prophet's Birthday (estimated)",
+    "1953-03-21": "Nowruz",
+    "1953-05-14": "First Day of Ramadan (estimated)",
+    "1953-06-13": "Eid al-Fitr (estimated)",
+    "1953-06-14": "Eid al-Fitr (estimated)",
+    "1953-06-15": "Eid al-Fitr (estimated)",
+    "1953-08-19": "Afghanistan Independence Day; Day of Arafah (estimated)",
+    "1953-08-20": "Eid al-Adha (estimated)",
+    "1953-08-21": "Eid al-Adha (estimated)",
+    "1953-08-22": "Eid al-Adha (estimated)",
+    "1953-09-19": "Ashura (estimated)",
+    "1953-11-19": "Prophet's Birthday (estimated)",
+    "1954-03-21": "Nowruz",
+    "1954-05-04": "First Day of Ramadan (estimated)",
+    "1954-06-02": "Eid al-Fitr (estimated)",
+    "1954-06-03": "Eid al-Fitr (estimated)",
+    "1954-06-04": "Eid al-Fitr (estimated)",
+    "1954-08-08": "Day of Arafah (estimated)",
+    "1954-08-09": "Eid al-Adha (estimated)",
+    "1954-08-10": "Eid al-Adha (estimated)",
+    "1954-08-11": "Eid al-Adha (estimated)",
+    "1954-08-19": "Afghanistan Independence Day",
+    "1954-09-08": "Ashura (estimated)",
+    "1954-11-08": "Prophet's Birthday (estimated)",
+    "1955-03-21": "Nowruz",
+    "1955-04-24": "First Day of Ramadan (estimated)",
+    "1955-05-23": "Eid al-Fitr (estimated)",
+    "1955-05-24": "Eid al-Fitr (estimated)",
+    "1955-05-25": "Eid al-Fitr (estimated)",
+    "1955-07-29": "Day of Arafah (estimated)",
+    "1955-07-30": "Eid al-Adha (estimated)",
+    "1955-07-31": "Eid al-Adha (estimated)",
+    "1955-08-01": "Eid al-Adha (estimated)",
+    "1955-08-19": "Afghanistan Independence Day",
+    "1955-08-29": "Ashura (estimated)",
+    "1955-10-29": "Prophet's Birthday (estimated)",
+    "1956-03-21": "Nowruz",
+    "1956-04-12": "First Day of Ramadan (estimated)",
+    "1956-05-11": "Eid al-Fitr (estimated)",
+    "1956-05-12": "Eid al-Fitr (estimated)",
+    "1956-05-13": "Eid al-Fitr (estimated)",
+    "1956-07-18": "Day of Arafah (estimated)",
+    "1956-07-19": "Eid al-Adha (estimated)",
+    "1956-07-20": "Eid al-Adha (estimated)",
+    "1956-07-21": "Eid al-Adha (estimated)",
+    "1956-08-17": "Ashura (estimated)",
+    "1956-08-19": "Afghanistan Independence Day",
+    "1956-10-17": "Prophet's Birthday (estimated)",
+    "1957-03-21": "Nowruz",
+    "1957-04-01": "First Day of Ramadan (estimated)",
+    "1957-05-01": "Eid al-Fitr (estimated)",
+    "1957-05-02": "Eid al-Fitr (estimated)",
+    "1957-05-03": "Eid al-Fitr (estimated)",
+    "1957-07-07": "Day of Arafah (estimated)",
+    "1957-07-08": "Eid al-Adha (estimated)",
+    "1957-07-09": "Eid al-Adha (estimated)",
+    "1957-07-10": "Eid al-Adha (estimated)",
+    "1957-08-06": "Ashura (estimated)",
+    "1957-08-19": "Afghanistan Independence Day",
+    "1957-10-06": "Prophet's Birthday (estimated)",
+    "1958-03-21": "First Day of Ramadan (estimated); Nowruz",
+    "1958-04-20": "Eid al-Fitr (estimated)",
+    "1958-04-21": "Eid al-Fitr (estimated)",
+    "1958-04-22": "Eid al-Fitr (estimated)",
+    "1958-06-26": "Day of Arafah (estimated)",
+    "1958-06-27": "Eid al-Adha (estimated)",
+    "1958-06-28": "Eid al-Adha (estimated)",
+    "1958-06-29": "Eid al-Adha (estimated)",
+    "1958-07-27": "Ashura (estimated)",
+    "1958-08-19": "Afghanistan Independence Day",
+    "1958-09-26": "Prophet's Birthday (estimated)",
+    "1959-03-11": "First Day of Ramadan (estimated)",
+    "1959-03-21": "Nowruz",
+    "1959-04-10": "Eid al-Fitr (estimated)",
+    "1959-04-11": "Eid al-Fitr (estimated)",
+    "1959-04-12": "Eid al-Fitr (estimated)",
+    "1959-06-16": "Day of Arafah (estimated)",
+    "1959-06-17": "Eid al-Adha (estimated)",
+    "1959-06-18": "Eid al-Adha (estimated)",
+    "1959-06-19": "Eid al-Adha (estimated)",
+    "1959-07-16": "Ashura (estimated)",
+    "1959-08-19": "Afghanistan Independence Day",
+    "1959-09-15": "Prophet's Birthday (estimated)",
+    "1960-02-28": "First Day of Ramadan (estimated)",
+    "1960-03-21": "Nowruz",
+    "1960-03-28": "Eid al-Fitr (estimated)",
+    "1960-03-29": "Eid al-Fitr (estimated)",
+    "1960-03-30": "Eid al-Fitr (estimated)",
+    "1960-06-03": "Day of Arafah (estimated)",
+    "1960-06-04": "Eid al-Adha (estimated)",
+    "1960-06-05": "Eid al-Adha (estimated)",
+    "1960-06-06": "Eid al-Adha (estimated)",
+    "1960-07-04": "Ashura (estimated)",
+    "1960-08-19": "Afghanistan Independence Day",
+    "1960-09-03": "Prophet's Birthday (estimated)",
+    "1961-02-16": "First Day of Ramadan (estimated)",
+    "1961-03-18": "Eid al-Fitr (estimated)",
+    "1961-03-19": "Eid al-Fitr (estimated)",
+    "1961-03-20": "Eid al-Fitr (estimated)",
+    "1961-03-21": "Nowruz",
+    "1961-05-24": "Day of Arafah (estimated)",
+    "1961-05-25": "Eid al-Adha (estimated)",
+    "1961-05-26": "Eid al-Adha (estimated)",
+    "1961-05-27": "Eid al-Adha (estimated)",
+    "1961-06-23": "Ashura (estimated)",
+    "1961-08-19": "Afghanistan Independence Day",
+    "1961-08-23": "Prophet's Birthday (estimated)",
+    "1962-02-05": "First Day of Ramadan (estimated)",
+    "1962-03-07": "Eid al-Fitr (estimated)",
+    "1962-03-08": "Eid al-Fitr (estimated)",
+    "1962-03-09": "Eid al-Fitr (estimated)",
+    "1962-03-21": "Nowruz",
+    "1962-05-13": "Day of Arafah (estimated)",
+    "1962-05-14": "Eid al-Adha (estimated)",
+    "1962-05-15": "Eid al-Adha (estimated)",
+    "1962-05-16": "Eid al-Adha (estimated)",
+    "1962-06-12": "Ashura (estimated)",
+    "1962-08-12": "Prophet's Birthday (estimated)",
+    "1962-08-19": "Afghanistan Independence Day",
+    "1963-01-26": "First Day of Ramadan (estimated)",
+    "1963-02-24": "Eid al-Fitr (estimated)",
+    "1963-02-25": "Eid al-Fitr (estimated)",
+    "1963-02-26": "Eid al-Fitr (estimated)",
+    "1963-03-21": "Nowruz",
+    "1963-05-02": "Day of Arafah (estimated)",
+    "1963-05-03": "Eid al-Adha (estimated)",
+    "1963-05-04": "Eid al-Adha (estimated)",
+    "1963-05-05": "Eid al-Adha (estimated)",
+    "1963-06-02": "Ashura (estimated)",
+    "1963-08-02": "Prophet's Birthday (estimated)",
+    "1963-08-19": "Afghanistan Independence Day",
+    "1964-01-15": "First Day of Ramadan (estimated)",
+    "1964-02-14": "Eid al-Fitr (estimated)",
+    "1964-02-15": "Eid al-Fitr (estimated)",
+    "1964-02-16": "Eid al-Fitr (estimated)",
+    "1964-03-21": "Nowruz",
+    "1964-04-21": "Day of Arafah (estimated)",
+    "1964-04-22": "Eid al-Adha (estimated)",
+    "1964-04-23": "Eid al-Adha (estimated)",
+    "1964-04-24": "Eid al-Adha (estimated)",
+    "1964-05-21": "Ashura (estimated)",
+    "1964-07-21": "Prophet's Birthday (estimated)",
+    "1964-08-19": "Afghanistan Independence Day",
+    "1965-01-03": "First Day of Ramadan (estimated)",
+    "1965-02-02": "Eid al-Fitr (estimated)",
+    "1965-02-03": "Eid al-Fitr (estimated)",
+    "1965-02-04": "Eid al-Fitr (estimated)",
+    "1965-03-21": "Nowruz",
+    "1965-04-10": "Day of Arafah (estimated)",
+    "1965-04-11": "Eid al-Adha (estimated)",
+    "1965-04-12": "Eid al-Adha (estimated)",
+    "1965-04-13": "Eid al-Adha (estimated)",
+    "1965-05-10": "Ashura (estimated)",
+    "1965-07-10": "Prophet's Birthday (estimated)",
+    "1965-08-19": "Afghanistan Independence Day",
+    "1965-12-23": "First Day of Ramadan (estimated)",
+    "1966-01-22": "Eid al-Fitr (estimated)",
+    "1966-01-23": "Eid al-Fitr (estimated)",
+    "1966-01-24": "Eid al-Fitr (estimated)",
+    "1966-03-21": "Nowruz",
+    "1966-03-31": "Day of Arafah (estimated)",
+    "1966-04-01": "Eid al-Adha (estimated)",
+    "1966-04-02": "Eid al-Adha (estimated)",
+    "1966-04-03": "Eid al-Adha (estimated)",
+    "1966-04-30": "Ashura (estimated)",
+    "1966-07-01": "Prophet's Birthday (estimated)",
+    "1966-08-19": "Afghanistan Independence Day",
+    "1966-12-13": "First Day of Ramadan (estimated)",
+    "1967-01-12": "Eid al-Fitr (estimated)",
+    "1967-01-13": "Eid al-Fitr (estimated)",
+    "1967-01-14": "Eid al-Fitr (estimated)",
+    "1967-03-20": "Day of Arafah (estimated)",
+    "1967-03-21": "Eid al-Adha (estimated); Nowruz",
+    "1967-03-22": "Eid al-Adha (estimated)",
+    "1967-03-23": "Eid al-Adha (estimated)",
+    "1967-04-20": "Ashura (estimated)",
+    "1967-06-19": "Prophet's Birthday (estimated)",
+    "1967-08-19": "Afghanistan Independence Day",
+    "1967-12-02": "First Day of Ramadan (estimated)",
+    "1968-01-01": "Eid al-Fitr (estimated)",
+    "1968-01-02": "Eid al-Fitr (estimated)",
+    "1968-01-03": "Eid al-Fitr (estimated)",
+    "1968-03-08": "Day of Arafah (estimated)",
+    "1968-03-09": "Eid al-Adha (estimated)",
+    "1968-03-10": "Eid al-Adha (estimated)",
+    "1968-03-11": "Eid al-Adha (estimated)",
+    "1968-03-21": "Nowruz",
+    "1968-04-08": "Ashura (estimated)",
+    "1968-06-08": "Prophet's Birthday (estimated)",
+    "1968-08-19": "Afghanistan Independence Day",
+    "1968-11-21": "First Day of Ramadan (estimated)",
+    "1968-12-21": "Eid al-Fitr (estimated)",
+    "1968-12-22": "Eid al-Fitr (estimated)",
+    "1968-12-23": "Eid al-Fitr (estimated)",
+    "1969-02-26": "Day of Arafah (estimated)",
+    "1969-02-27": "Eid al-Adha (estimated)",
+    "1969-02-28": "Eid al-Adha (estimated)",
+    "1969-03-01": "Eid al-Adha (estimated)",
+    "1969-03-21": "Nowruz",
+    "1969-03-28": "Ashura (estimated)",
+    "1969-05-28": "Prophet's Birthday (estimated)",
+    "1969-08-19": "Afghanistan Independence Day",
+    "1969-11-10": "First Day of Ramadan (estimated)",
+    "1969-12-10": "Eid al-Fitr (estimated)",
+    "1969-12-11": "Eid al-Fitr (estimated)",
+    "1969-12-12": "Eid al-Fitr (estimated)",
+    "1970-02-15": "Day of Arafah (estimated)",
+    "1970-02-16": "Eid al-Adha (estimated)",
+    "1970-02-17": "Eid al-Adha (estimated)",
+    "1970-02-18": "Eid al-Adha (estimated)",
+    "1970-03-18": "Ashura (estimated)",
+    "1970-03-21": "Nowruz",
+    "1970-05-18": "Prophet's Birthday (estimated)",
+    "1970-08-19": "Afghanistan Independence Day",
+    "1970-11-01": "First Day of Ramadan (estimated)",
+    "1970-11-30": "Eid al-Fitr (estimated)",
+    "1970-12-01": "Eid al-Fitr (estimated)",
+    "1970-12-02": "Eid al-Fitr (estimated)",
+    "1971-02-05": "Day of Arafah (estimated)",
+    "1971-02-06": "Eid al-Adha (estimated)",
+    "1971-02-07": "Eid al-Adha (estimated)",
+    "1971-02-08": "Eid al-Adha (estimated)",
+    "1971-03-07": "Ashura (estimated)",
+    "1971-03-21": "Nowruz",
+    "1971-05-07": "Prophet's Birthday (estimated)",
+    "1971-08-19": "Afghanistan Independence Day",
+    "1971-10-20": "First Day of Ramadan (estimated)",
+    "1971-11-19": "Eid al-Fitr (estimated)",
+    "1971-11-20": "Eid al-Fitr (estimated)",
+    "1971-11-21": "Eid al-Fitr (estimated)",
+    "1972-01-25": "Day of Arafah (estimated)",
+    "1972-01-26": "Eid al-Adha (estimated)",
+    "1972-01-27": "Eid al-Adha (estimated)",
+    "1972-01-28": "Eid al-Adha (estimated)",
+    "1972-02-25": "Ashura (estimated)",
+    "1972-03-21": "Nowruz",
+    "1972-04-25": "Prophet's Birthday (estimated)",
+    "1972-08-19": "Afghanistan Independence Day",
+    "1972-10-08": "First Day of Ramadan (estimated)",
+    "1972-11-07": "Eid al-Fitr (estimated)",
+    "1972-11-08": "Eid al-Fitr (estimated)",
+    "1972-11-09": "Eid al-Fitr (estimated)",
+    "1973-01-13": "Day of Arafah (estimated)",
+    "1973-01-14": "Eid al-Adha (estimated)",
+    "1973-01-15": "Eid al-Adha (estimated)",
+    "1973-01-16": "Eid al-Adha (estimated)",
+    "1973-02-13": "Ashura (estimated)",
+    "1973-03-21": "Nowruz",
+    "1973-04-15": "Prophet's Birthday (estimated)",
+    "1973-08-19": "Afghanistan Independence Day",
+    "1973-09-27": "First Day of Ramadan (estimated)",
+    "1973-10-27": "Eid al-Fitr (estimated)",
+    "1973-10-28": "Eid al-Fitr (estimated)",
+    "1973-10-29": "Eid al-Fitr (estimated)",
+    "1974-01-02": "Day of Arafah (estimated)",
+    "1974-01-03": "Eid al-Adha (estimated)",
+    "1974-01-04": "Eid al-Adha (estimated)",
+    "1974-01-05": "Eid al-Adha (estimated)",
+    "1974-02-02": "Ashura (estimated)",
+    "1974-03-21": "Nowruz",
+    "1974-04-04": "Prophet's Birthday (estimated)",
+    "1974-05-01": "International Workers' Day",
+    "1974-08-19": "Afghanistan Independence Day",
+    "1974-09-17": "First Day of Ramadan (estimated)",
+    "1974-10-16": "Eid al-Fitr (estimated)",
+    "1974-10-17": "Eid al-Fitr (estimated)",
+    "1974-10-18": "Eid al-Fitr (estimated)",
+    "1974-12-23": "Day of Arafah (estimated)",
+    "1974-12-24": "Eid al-Adha (estimated)",
+    "1974-12-25": "Eid al-Adha (estimated)",
+    "1974-12-26": "Eid al-Adha (estimated)",
+    "1975-01-22": "Ashura (estimated)",
+    "1975-03-21": "Nowruz",
+    "1975-03-24": "Prophet's Birthday (estimated)",
+    "1975-05-01": "International Workers' Day",
+    "1975-08-19": "Afghanistan Independence Day",
+    "1975-09-06": "First Day of Ramadan (estimated)",
+    "1975-10-06": "Eid al-Fitr (estimated)",
+    "1975-10-07": "Eid al-Fitr (estimated)",
+    "1975-10-08": "Eid al-Fitr (estimated)",
+    "1975-12-12": "Day of Arafah (estimated)",
+    "1975-12-13": "Eid al-Adha (estimated)",
+    "1975-12-14": "Eid al-Adha (estimated)",
+    "1975-12-15": "Eid al-Adha (estimated)",
+    "1976-01-11": "Ashura (estimated)",
+    "1976-03-12": "Prophet's Birthday (estimated)",
+    "1976-03-21": "Nowruz",
+    "1976-05-01": "International Workers' Day",
+    "1976-08-19": "Afghanistan Independence Day",
+    "1976-08-26": "First Day of Ramadan (estimated)",
+    "1976-09-24": "Eid al-Fitr (estimated)",
+    "1976-09-25": "Eid al-Fitr (estimated)",
+    "1976-09-26": "Eid al-Fitr (estimated)",
+    "1976-11-30": "Day of Arafah (estimated)",
+    "1976-12-01": "Eid al-Adha (estimated)",
+    "1976-12-02": "Eid al-Adha (estimated)",
+    "1976-12-03": "Eid al-Adha (estimated)",
+    "1976-12-31": "Ashura (estimated)",
+    "1977-03-02": "Prophet's Birthday (estimated)",
+    "1977-03-21": "Nowruz",
+    "1977-05-01": "International Workers' Day",
+    "1977-08-15": "First Day of Ramadan (estimated)",
+    "1977-08-19": "Afghanistan Independence Day",
+    "1977-09-14": "Eid al-Fitr (estimated)",
+    "1977-09-15": "Eid al-Fitr (estimated)",
+    "1977-09-16": "Eid al-Fitr (estimated)",
+    "1977-11-20": "Day of Arafah (estimated)",
+    "1977-11-21": "Eid al-Adha (estimated)",
+    "1977-11-22": "Eid al-Adha (estimated)",
+    "1977-11-23": "Eid al-Adha (estimated)",
+    "1977-12-20": "Ashura (estimated)",
+    "1978-02-19": "Prophet's Birthday (estimated)",
+    "1978-03-21": "Nowruz",
+    "1978-05-01": "International Workers' Day",
+    "1978-05-09": "Soviet Victory Day",
+    "1978-08-05": "First Day of Ramadan (estimated)",
+    "1978-08-19": "Afghanistan Independence Day",
+    "1978-09-03": "Eid al-Fitr (estimated)",
+    "1978-09-04": "Eid al-Fitr (estimated)",
+    "1978-09-05": "Eid al-Fitr (estimated)",
+    "1978-11-09": "Day of Arafah (estimated)",
+    "1978-11-10": "Eid al-Adha (estimated)",
+    "1978-11-11": "Eid al-Adha (estimated)",
+    "1978-11-12": "Eid al-Adha (estimated)",
+    "1978-12-10": "Ashura (estimated)",
+    "1979-02-09": "Prophet's Birthday (estimated)",
+    "1979-03-21": "Nowruz",
+    "1979-05-01": "International Workers' Day",
+    "1979-05-09": "Soviet Victory Day",
+    "1979-07-25": "First Day of Ramadan (estimated)",
+    "1979-08-19": "Afghanistan Independence Day",
+    "1979-08-23": "Eid al-Fitr (estimated)",
+    "1979-08-24": "Eid al-Fitr (estimated)",
+    "1979-08-25": "Eid al-Fitr (estimated)",
+    "1979-10-30": "Day of Arafah (estimated)",
+    "1979-10-31": "Eid al-Adha (estimated)",
+    "1979-11-01": "Eid al-Adha (estimated)",
+    "1979-11-02": "Eid al-Adha (estimated)",
+    "1979-11-29": "Ashura (estimated)",
+    "1980-01-30": "Prophet's Birthday (estimated)",
+    "1980-03-21": "Nowruz",
+    "1980-05-01": "International Workers' Day",
+    "1980-05-09": "Soviet Victory Day",
+    "1980-07-13": "First Day of Ramadan (estimated)",
+    "1980-08-12": "Eid al-Fitr (estimated)",
+    "1980-08-13": "Eid al-Fitr (estimated)",
+    "1980-08-14": "Eid al-Fitr (estimated)",
+    "1980-08-19": "Afghanistan Independence Day",
+    "1980-10-18": "Day of Arafah (estimated)",
+    "1980-10-19": "Eid al-Adha (estimated)",
+    "1980-10-20": "Eid al-Adha (estimated)",
+    "1980-10-21": "Eid al-Adha (estimated)",
+    "1980-11-18": "Ashura (estimated)",
+    "1981-01-18": "Prophet's Birthday (estimated)",
+    "1981-03-21": "Nowruz",
+    "1981-05-01": "International Workers' Day",
+    "1981-05-09": "Soviet Victory Day",
+    "1981-07-02": "First Day of Ramadan (estimated)",
+    "1981-08-01": "Eid al-Fitr (estimated)",
+    "1981-08-02": "Eid al-Fitr (estimated)",
+    "1981-08-03": "Eid al-Fitr (estimated)",
+    "1981-08-19": "Afghanistan Independence Day",
+    "1981-10-07": "Day of Arafah (estimated)",
+    "1981-10-08": "Eid al-Adha (estimated)",
+    "1981-10-09": "Eid al-Adha (estimated)",
+    "1981-10-10": "Eid al-Adha (estimated)",
+    "1981-11-06": "Ashura (estimated)",
+    "1982-01-07": "Prophet's Birthday (estimated)",
+    "1982-03-21": "Nowruz",
+    "1982-05-01": "International Workers' Day",
+    "1982-05-09": "Soviet Victory Day",
+    "1982-06-22": "First Day of Ramadan (estimated)",
+    "1982-07-21": "Eid al-Fitr (estimated)",
+    "1982-07-22": "Eid al-Fitr (estimated)",
+    "1982-07-23": "Eid al-Fitr (estimated)",
+    "1982-08-19": "Afghanistan Independence Day",
+    "1982-09-26": "Day of Arafah (estimated)",
+    "1982-09-27": "Eid al-Adha (estimated)",
+    "1982-09-28": "Eid al-Adha (estimated)",
+    "1982-09-29": "Eid al-Adha (estimated)",
+    "1982-10-27": "Ashura (estimated)",
+    "1982-12-27": "Prophet's Birthday (estimated)",
+    "1983-03-21": "Nowruz",
+    "1983-05-01": "International Workers' Day",
+    "1983-05-09": "Soviet Victory Day",
+    "1983-06-12": "First Day of Ramadan (estimated)",
+    "1983-07-11": "Eid al-Fitr (estimated)",
+    "1983-07-12": "Eid al-Fitr (estimated)",
+    "1983-07-13": "Eid al-Fitr (estimated)",
+    "1983-08-19": "Afghanistan Independence Day",
+    "1983-09-16": "Day of Arafah (estimated)",
+    "1983-09-17": "Eid al-Adha (estimated)",
+    "1983-09-18": "Eid al-Adha (estimated)",
+    "1983-09-19": "Eid al-Adha (estimated)",
+    "1983-10-16": "Ashura (estimated)",
+    "1983-12-16": "Prophet's Birthday (estimated)",
+    "1984-03-21": "Nowruz",
+    "1984-05-01": "International Workers' Day",
+    "1984-05-09": "Soviet Victory Day",
+    "1984-05-31": "First Day of Ramadan (estimated)",
+    "1984-06-30": "Eid al-Fitr (estimated)",
+    "1984-07-01": "Eid al-Fitr (estimated)",
+    "1984-07-02": "Eid al-Fitr (estimated)",
+    "1984-08-19": "Afghanistan Independence Day",
+    "1984-09-04": "Day of Arafah (estimated)",
+    "1984-09-05": "Eid al-Adha (estimated)",
+    "1984-09-06": "Eid al-Adha (estimated)",
+    "1984-09-07": "Eid al-Adha (estimated)",
+    "1984-10-05": "Ashura (estimated)",
+    "1984-12-04": "Prophet's Birthday (estimated)",
+    "1985-03-21": "Nowruz",
+    "1985-05-01": "International Workers' Day",
+    "1985-05-09": "Soviet Victory Day",
+    "1985-05-20": "First Day of Ramadan (estimated)",
+    "1985-06-19": "Eid al-Fitr (estimated)",
+    "1985-06-20": "Eid al-Fitr (estimated)",
+    "1985-06-21": "Eid al-Fitr (estimated)",
+    "1985-08-19": "Afghanistan Independence Day",
+    "1985-08-25": "Day of Arafah (estimated)",
+    "1985-08-26": "Eid al-Adha (estimated)",
+    "1985-08-27": "Eid al-Adha (estimated)",
+    "1985-08-28": "Eid al-Adha (estimated)",
+    "1985-09-24": "Ashura (estimated)",
+    "1985-11-24": "Prophet's Birthday (estimated)",
+    "1986-03-21": "Nowruz",
+    "1986-05-01": "International Workers' Day",
+    "1986-05-09": "First Day of Ramadan (estimated); Soviet Victory Day",
+    "1986-06-08": "Eid al-Fitr (estimated)",
+    "1986-06-09": "Eid al-Fitr (estimated)",
+    "1986-06-10": "Eid al-Fitr (estimated)",
+    "1986-08-14": "Day of Arafah (estimated)",
+    "1986-08-15": "Eid al-Adha (estimated)",
+    "1986-08-16": "Eid al-Adha (estimated)",
+    "1986-08-17": "Eid al-Adha (estimated)",
+    "1986-08-19": "Afghanistan Independence Day",
+    "1986-09-14": "Ashura (estimated)",
+    "1986-11-14": "Prophet's Birthday (estimated)",
+    "1987-03-21": "Nowruz",
+    "1987-04-29": "First Day of Ramadan (estimated)",
+    "1987-05-01": "International Workers' Day",
+    "1987-05-09": "Soviet Victory Day",
+    "1987-05-28": "Eid al-Fitr (estimated)",
+    "1987-05-29": "Eid al-Fitr (estimated)",
+    "1987-05-30": "Eid al-Fitr (estimated)",
+    "1987-08-03": "Day of Arafah (estimated)",
+    "1987-08-04": "Eid al-Adha (estimated)",
+    "1987-08-05": "Eid al-Adha (estimated)",
+    "1987-08-06": "Eid al-Adha (estimated)",
+    "1987-08-19": "Afghanistan Independence Day",
+    "1987-09-03": "Ashura (estimated)",
+    "1987-11-03": "Prophet's Birthday (estimated)",
+    "1988-03-21": "Nowruz",
+    "1988-04-17": "First Day of Ramadan (estimated)",
+    "1988-05-01": "International Workers' Day",
+    "1988-05-09": "Soviet Victory Day",
+    "1988-05-16": "Eid al-Fitr (estimated)",
+    "1988-05-17": "Eid al-Fitr (estimated)",
+    "1988-05-18": "Eid al-Fitr (estimated)",
+    "1988-07-22": "Day of Arafah (estimated)",
+    "1988-07-23": "Eid al-Adha (estimated)",
+    "1988-07-24": "Eid al-Adha (estimated)",
+    "1988-07-25": "Eid al-Adha (estimated)",
+    "1988-08-19": "Afghanistan Independence Day",
+    "1988-08-22": "Ashura (estimated)",
+    "1988-10-22": "Prophet's Birthday (estimated)",
+    "1989-02-15": "Liberation Day",
+    "1989-03-21": "Nowruz",
+    "1989-04-07": "First Day of Ramadan (estimated)",
+    "1989-05-01": "International Workers' Day",
+    "1989-05-06": "Eid al-Fitr (estimated)",
+    "1989-05-07": "Eid al-Fitr (estimated)",
+    "1989-05-08": "Eid al-Fitr (estimated)",
+    "1989-07-12": "Day of Arafah (estimated)",
+    "1989-07-13": "Eid al-Adha (estimated)",
+    "1989-07-14": "Eid al-Adha (estimated)",
+    "1989-07-15": "Eid al-Adha (estimated)",
+    "1989-08-11": "Ashura (estimated)",
+    "1989-08-19": "Afghanistan Independence Day",
+    "1989-10-11": "Prophet's Birthday (estimated)",
+    "1990-02-15": "Liberation Day",
+    "1990-03-21": "Nowruz",
+    "1990-03-27": "First Day of Ramadan (estimated)",
+    "1990-04-26": "Eid al-Fitr (estimated)",
+    "1990-04-27": "Eid al-Fitr (estimated)",
+    "1990-04-28": "Eid al-Fitr (estimated)",
+    "1990-05-01": "International Workers' Day",
+    "1990-07-01": "Day of Arafah (estimated)",
+    "1990-07-02": "Eid al-Adha (estimated)",
+    "1990-07-03": "Eid al-Adha (estimated)",
+    "1990-07-04": "Eid al-Adha (estimated)",
+    "1990-08-01": "Ashura (estimated)",
+    "1990-08-19": "Afghanistan Independence Day",
+    "1990-10-01": "Prophet's Birthday (estimated)",
+    "1991-02-15": "Liberation Day",
+    "1991-03-17": "First Day of Ramadan (estimated)",
+    "1991-03-21": "Nowruz",
+    "1991-04-15": "Eid al-Fitr (estimated)",
+    "1991-04-16": "Eid al-Fitr (estimated)",
+    "1991-04-17": "Eid al-Fitr (estimated)",
+    "1991-05-01": "International Workers' Day",
+    "1991-06-21": "Day of Arafah (estimated)",
+    "1991-06-22": "Eid al-Adha (estimated)",
+    "1991-06-23": "Eid al-Adha (estimated)",
+    "1991-06-24": "Eid al-Adha (estimated)",
+    "1991-07-21": "Ashura (estimated)",
+    "1991-08-19": "Afghanistan Independence Day",
+    "1991-09-20": "Prophet's Birthday (estimated)",
+    "1992-02-15": "Liberation Day",
+    "1992-03-05": "First Day of Ramadan (estimated)",
+    "1992-03-21": "Nowruz",
+    "1992-04-04": "Eid al-Fitr (estimated)",
+    "1992-04-05": "Eid al-Fitr (estimated)",
+    "1992-04-06": "Eid al-Fitr (estimated)",
+    "1992-04-28": "Mojahedin's Victory Day",
+    "1992-05-01": "International Workers' Day",
+    "1992-06-10": "Day of Arafah (estimated)",
+    "1992-06-11": "Eid al-Adha (estimated)",
+    "1992-06-12": "Eid al-Adha (estimated)",
+    "1992-06-13": "Eid al-Adha (estimated)",
+    "1992-07-10": "Ashura (estimated)",
+    "1992-08-19": "Afghanistan Independence Day",
+    "1992-09-09": "Prophet's Birthday (estimated)",
+    "1993-02-15": "Liberation Day",
+    "1993-02-22": "First Day of Ramadan (estimated)",
+    "1993-03-21": "Nowruz",
+    "1993-03-24": "Eid al-Fitr (estimated)",
+    "1993-03-25": "Eid al-Fitr (estimated)",
+    "1993-03-26": "Eid al-Fitr (estimated)",
+    "1993-04-28": "Mojahedin's Victory Day",
+    "1993-05-01": "International Workers' Day",
+    "1993-05-30": "Day of Arafah (estimated)",
+    "1993-05-31": "Eid al-Adha (estimated)",
+    "1993-06-01": "Eid al-Adha (estimated)",
+    "1993-06-02": "Eid al-Adha (estimated)",
+    "1993-06-30": "Ashura (estimated)",
+    "1993-08-19": "Afghanistan Independence Day",
+    "1993-08-29": "Prophet's Birthday (estimated)",
+    "1994-02-11": "First Day of Ramadan (estimated)",
+    "1994-02-15": "Liberation Day",
+    "1994-03-13": "Eid al-Fitr (estimated)",
+    "1994-03-14": "Eid al-Fitr (estimated)",
+    "1994-03-15": "Eid al-Fitr (estimated)",
+    "1994-03-21": "Nowruz",
+    "1994-04-28": "Mojahedin's Victory Day",
+    "1994-05-01": "International Workers' Day",
+    "1994-05-19": "Day of Arafah (estimated)",
+    "1994-05-20": "Eid al-Adha (estimated)",
+    "1994-05-21": "Eid al-Adha (estimated)",
+    "1994-05-22": "Eid al-Adha (estimated)",
+    "1994-06-19": "Ashura (estimated)",
+    "1994-08-19": "Afghanistan Independence Day; Prophet's Birthday (estimated)",
+    "1995-01-31": "First Day of Ramadan (estimated)",
+    "1995-02-15": "Liberation Day",
+    "1995-03-02": "Eid al-Fitr (estimated)",
+    "1995-03-03": "Eid al-Fitr (estimated)",
+    "1995-03-04": "Eid al-Fitr (estimated)",
+    "1995-03-21": "Nowruz",
+    "1995-04-28": "Mojahedin's Victory Day",
+    "1995-05-01": "International Workers' Day",
+    "1995-05-08": "Day of Arafah (estimated)",
+    "1995-05-09": "Eid al-Adha (estimated)",
+    "1995-05-10": "Eid al-Adha (estimated)",
+    "1995-05-11": "Eid al-Adha (estimated)",
+    "1995-06-08": "Ashura (estimated)",
+    "1995-08-08": "Prophet's Birthday (estimated)",
+    "1995-08-19": "Afghanistan Independence Day",
+    "1996-01-21": "First Day of Ramadan (estimated)",
+    "1996-02-15": "Liberation Day",
+    "1996-02-19": "Eid al-Fitr (estimated)",
+    "1996-02-20": "Eid al-Fitr (estimated)",
+    "1996-02-21": "Eid al-Fitr (estimated)",
+    "1996-03-21": "Nowruz",
+    "1996-04-26": "Day of Arafah (estimated)",
+    "1996-04-27": "Eid al-Adha (estimated)",
+    "1996-04-28": "Eid al-Adha (estimated); Mojahedin's Victory Day",
+    "1996-04-29": "Eid al-Adha (estimated)",
+    "1996-05-01": "International Workers' Day",
+    "1996-05-27": "Ashura (estimated)",
+    "1996-07-27": "Prophet's Birthday (estimated)",
+    "1996-08-19": "Afghanistan Independence Day",
+    "1997-01-10": "First Day of Ramadan (estimated)",
+    "1997-02-08": "Eid al-Fitr (estimated)",
+    "1997-02-09": "Eid al-Fitr (estimated)",
+    "1997-02-10": "Eid al-Fitr (estimated)",
+    "1997-02-15": "Liberation Day",
+    "1997-04-16": "Day of Arafah (estimated)",
+    "1997-04-17": "Eid al-Adha (estimated)",
+    "1997-04-18": "Eid al-Adha (estimated)",
+    "1997-04-19": "Eid al-Adha (estimated)",
+    "1997-04-28": "Mojahedin's Victory Day",
+    "1997-05-16": "Ashura (estimated)",
+    "1997-07-16": "Prophet's Birthday (estimated)",
+    "1997-08-19": "Afghanistan Independence Day",
+    "1997-12-30": "First Day of Ramadan (estimated)",
+    "1998-01-29": "Eid al-Fitr (estimated)",
+    "1998-01-30": "Eid al-Fitr (estimated)",
+    "1998-01-31": "Eid al-Fitr (estimated)",
+    "1998-02-15": "Liberation Day",
+    "1998-04-06": "Day of Arafah (estimated)",
+    "1998-04-07": "Eid al-Adha (estimated)",
+    "1998-04-08": "Eid al-Adha (estimated)",
+    "1998-04-09": "Eid al-Adha (estimated)",
+    "1998-04-28": "Mojahedin's Victory Day",
+    "1998-05-06": "Ashura (estimated)",
+    "1998-07-06": "Prophet's Birthday (estimated)",
+    "1998-08-19": "Afghanistan Independence Day",
+    "1998-12-19": "First Day of Ramadan (estimated)",
+    "1999-01-18": "Eid al-Fitr (estimated)",
+    "1999-01-19": "Eid al-Fitr (estimated)",
+    "1999-01-20": "Eid al-Fitr (estimated)",
+    "1999-02-15": "Liberation Day",
+    "1999-03-26": "Day of Arafah (estimated)",
+    "1999-03-27": "Eid al-Adha (estimated)",
+    "1999-03-28": "Eid al-Adha (estimated)",
+    "1999-03-29": "Eid al-Adha (estimated)",
+    "1999-04-26": "Ashura (estimated)",
+    "1999-04-28": "Mojahedin's Victory Day",
+    "1999-06-26": "Prophet's Birthday (estimated)",
+    "1999-08-19": "Afghanistan Independence Day",
+    "1999-12-09": "First Day of Ramadan (estimated)",
+    "2000-01-08": "Eid al-Fitr (estimated)",
+    "2000-01-09": "Eid al-Fitr (estimated)",
+    "2000-01-10": "Eid al-Fitr (estimated)",
+    "2000-02-15": "Liberation Day",
+    "2000-03-15": "Day of Arafah (estimated)",
+    "2000-03-16": "Eid al-Adha (estimated)",
+    "2000-03-17": "Eid al-Adha (estimated)",
+    "2000-03-18": "Eid al-Adha (estimated)",
+    "2000-04-15": "Ashura (estimated)",
+    "2000-04-28": "Mojahedin's Victory Day",
+    "2000-06-14": "Prophet's Birthday (estimated)",
+    "2000-08-19": "Afghanistan Independence Day",
+    "2000-11-27": "First Day of Ramadan (estimated)",
+    "2000-12-27": "Eid al-Fitr (estimated)",
+    "2000-12-28": "Eid al-Fitr (estimated)",
+    "2000-12-29": "Eid al-Fitr (estimated)",
+    "2001-02-15": "Liberation Day",
+    "2001-03-04": "Day of Arafah (estimated)",
+    "2001-03-05": "Eid al-Adha (estimated)",
+    "2001-03-06": "Eid al-Adha (estimated)",
+    "2001-03-07": "Eid al-Adha (estimated)",
+    "2001-03-21": "Nowruz",
+    "2001-04-04": "Ashura (estimated)",
+    "2001-04-28": "Mojahedin's Victory Day",
+    "2001-06-04": "Prophet's Birthday (estimated)",
+    "2001-08-19": "Afghanistan Independence Day",
+    "2001-11-16": "First Day of Ramadan (estimated)",
+    "2001-12-16": "Eid al-Fitr (estimated)",
+    "2001-12-17": "Eid al-Fitr (estimated)",
+    "2001-12-18": "Eid al-Fitr (estimated)",
+    "2002-02-15": "Liberation Day",
+    "2002-02-21": "Day of Arafah (estimated)",
+    "2002-02-22": "Eid al-Adha (estimated)",
+    "2002-02-23": "Eid al-Adha (estimated)",
+    "2002-02-24": "Eid al-Adha (estimated)",
+    "2002-03-21": "Nowruz",
+    "2002-03-24": "Ashura (estimated)",
+    "2002-04-28": "Mojahedin's Victory Day",
+    "2002-05-01": "International Workers' Day",
+    "2002-05-24": "Prophet's Birthday (estimated)",
+    "2002-08-19": "Afghanistan Independence Day",
+    "2002-11-06": "First Day of Ramadan (estimated)",
+    "2002-12-05": "Eid al-Fitr (estimated)",
+    "2002-12-06": "Eid al-Fitr (estimated)",
+    "2002-12-07": "Eid al-Fitr (estimated)",
+    "2003-02-10": "Day of Arafah (estimated)",
+    "2003-02-11": "Eid al-Adha (estimated)",
+    "2003-02-12": "Eid al-Adha (estimated)",
+    "2003-02-13": "Eid al-Adha (estimated)",
+    "2003-02-15": "Liberation Day",
+    "2003-03-13": "Ashura (estimated)",
+    "2003-03-21": "Nowruz",
+    "2003-04-28": "Mojahedin's Victory Day",
+    "2003-05-01": "International Workers' Day",
+    "2003-05-13": "Prophet's Birthday (estimated)",
+    "2003-08-19": "Afghanistan Independence Day",
+    "2003-10-26": "First Day of Ramadan (estimated)",
+    "2003-11-25": "Eid al-Fitr (estimated)",
+    "2003-11-26": "Eid al-Fitr (estimated)",
+    "2003-11-27": "Eid al-Fitr (estimated)",
+    "2004-01-31": "Day of Arafah (estimated)",
+    "2004-02-01": "Eid al-Adha (estimated)",
+    "2004-02-02": "Eid al-Adha (estimated)",
+    "2004-02-03": "Eid al-Adha (estimated)",
+    "2004-02-15": "Liberation Day",
+    "2004-03-01": "Ashura (estimated)",
+    "2004-03-21": "Nowruz",
+    "2004-04-28": "Mojahedin's Victory Day",
+    "2004-05-01": "International Workers' Day; Prophet's Birthday (estimated)",
+    "2004-08-19": "Afghanistan Independence Day",
+    "2004-10-15": "First Day of Ramadan (estimated)",
+    "2004-11-14": "Eid al-Fitr (estimated)",
+    "2004-11-15": "Eid al-Fitr (estimated)",
+    "2004-11-16": "Eid al-Fitr (estimated)",
+    "2005-01-20": "Day of Arafah (estimated)",
+    "2005-01-21": "Eid al-Adha (estimated)",
+    "2005-01-22": "Eid al-Adha (estimated)",
+    "2005-01-23": "Eid al-Adha (estimated)",
+    "2005-02-15": "Liberation Day",
+    "2005-02-19": "Ashura (estimated)",
+    "2005-03-21": "Nowruz",
+    "2005-04-21": "Prophet's Birthday (estimated)",
+    "2005-04-28": "Mojahedin's Victory Day",
+    "2005-05-01": "International Workers' Day",
+    "2005-08-19": "Afghanistan Independence Day",
+    "2005-10-04": "First Day of Ramadan (estimated)",
+    "2005-11-03": "Eid al-Fitr (estimated)",
+    "2005-11-04": "Eid al-Fitr (estimated)",
+    "2005-11-05": "Eid al-Fitr (estimated)",
+    "2006-01-09": "Day of Arafah (estimated)",
+    "2006-01-10": "Eid al-Adha (estimated)",
+    "2006-01-11": "Eid al-Adha (estimated)",
+    "2006-01-12": "Eid al-Adha (estimated)",
+    "2006-02-09": "Ashura (estimated)",
+    "2006-02-15": "Liberation Day",
+    "2006-03-21": "Nowruz",
+    "2006-04-10": "Prophet's Birthday (estimated)",
+    "2006-04-28": "Mojahedin's Victory Day",
+    "2006-05-01": "International Workers' Day",
+    "2006-08-19": "Afghanistan Independence Day",
+    "2006-09-24": "First Day of Ramadan (estimated)",
+    "2006-10-23": "Eid al-Fitr (estimated)",
+    "2006-10-24": "Eid al-Fitr (estimated)",
+    "2006-10-25": "Eid al-Fitr (estimated)",
+    "2006-12-30": "Day of Arafah (estimated)",
+    "2006-12-31": "Eid al-Adha (estimated)",
+    "2007-01-01": "Eid al-Adha (estimated)",
+    "2007-01-02": "Eid al-Adha (estimated)",
+    "2007-01-29": "Ashura (estimated)",
+    "2007-02-15": "Liberation Day",
+    "2007-03-21": "Nowruz",
+    "2007-03-31": "Prophet's Birthday (estimated)",
+    "2007-04-28": "Mojahedin's Victory Day",
+    "2007-05-01": "International Workers' Day",
+    "2007-08-19": "Afghanistan Independence Day",
+    "2007-09-13": "First Day of Ramadan (estimated)",
+    "2007-10-13": "Eid al-Fitr (estimated)",
+    "2007-10-14": "Eid al-Fitr (estimated)",
+    "2007-10-15": "Eid al-Fitr (estimated)",
+    "2007-12-19": "Day of Arafah (estimated)",
+    "2007-12-20": "Eid al-Adha (estimated)",
+    "2007-12-21": "Eid al-Adha (estimated)",
+    "2007-12-22": "Eid al-Adha (estimated)",
+    "2008-01-19": "Ashura (estimated)",
+    "2008-02-15": "Liberation Day",
+    "2008-03-20": "Prophet's Birthday (estimated)",
+    "2008-03-21": "Nowruz",
+    "2008-04-28": "Mojahedin's Victory Day",
+    "2008-05-01": "International Workers' Day",
+    "2008-08-19": "Afghanistan Independence Day",
+    "2008-09-01": "First Day of Ramadan (estimated)",
+    "2008-10-01": "Eid al-Fitr (estimated)",
+    "2008-10-02": "Eid al-Fitr (estimated)",
+    "2008-10-03": "Eid al-Fitr (estimated)",
+    "2008-12-07": "Day of Arafah (estimated)",
+    "2008-12-08": "Eid al-Adha (estimated)",
+    "2008-12-09": "Eid al-Adha (estimated)",
+    "2008-12-10": "Eid al-Adha (estimated)",
+    "2009-01-07": "Ashura (estimated)",
+    "2009-02-15": "Liberation Day",
+    "2009-03-09": "Prophet's Birthday (estimated)",
+    "2009-03-21": "Nowruz",
+    "2009-04-28": "Mojahedin's Victory Day",
+    "2009-05-01": "International Workers' Day",
+    "2009-08-19": "Afghanistan Independence Day",
+    "2009-08-22": "First Day of Ramadan (estimated)",
+    "2009-09-20": "Eid al-Fitr (estimated)",
+    "2009-09-21": "Eid al-Fitr (estimated)",
+    "2009-09-22": "Eid al-Fitr (estimated)",
+    "2009-11-26": "Day of Arafah (estimated)",
+    "2009-11-27": "Eid al-Adha (estimated)",
+    "2009-11-28": "Eid al-Adha (estimated)",
+    "2009-11-29": "Eid al-Adha (estimated)",
+    "2009-12-27": "Ashura (estimated)",
+    "2010-02-15": "Liberation Day",
+    "2010-02-26": "Prophet's Birthday (estimated)",
+    "2010-03-21": "Nowruz",
+    "2010-04-28": "Mojahedin's Victory Day",
+    "2010-05-01": "International Workers' Day",
+    "2010-08-11": "First Day of Ramadan (estimated)",
+    "2010-08-19": "Afghanistan Independence Day",
+    "2010-09-10": "Eid al-Fitr (estimated)",
+    "2010-09-11": "Eid al-Fitr (estimated)",
+    "2010-09-12": "Eid al-Fitr (estimated)",
+    "2010-11-15": "Day of Arafah (estimated)",
+    "2010-11-16": "Eid al-Adha (estimated)",
+    "2010-11-17": "Eid al-Adha (estimated)",
+    "2010-11-18": "Eid al-Adha (estimated)",
+    "2010-12-16": "Ashura (estimated)",
+    "2011-02-15": "Liberation Day; Prophet's Birthday (estimated)",
+    "2011-03-21": "Nowruz",
+    "2011-04-28": "Mojahedin's Victory Day",
+    "2011-05-01": "International Workers' Day",
+    "2011-08-01": "First Day of Ramadan (estimated)",
+    "2011-08-19": "Afghanistan Independence Day",
+    "2011-08-30": "Eid al-Fitr (estimated)",
+    "2011-08-31": "Eid al-Fitr (estimated)",
+    "2011-09-01": "Eid al-Fitr (estimated)",
+    "2011-11-05": "Day of Arafah (estimated)",
+    "2011-11-06": "Eid al-Adha (estimated)",
+    "2011-11-07": "Eid al-Adha (estimated)",
+    "2011-11-08": "Eid al-Adha (estimated)",
+    "2011-12-05": "Ashura (estimated)",
+    "2012-02-04": "Prophet's Birthday (estimated)",
+    "2012-02-15": "Liberation Day",
+    "2012-03-21": "Nowruz",
+    "2012-04-28": "Mojahedin's Victory Day",
+    "2012-05-01": "International Workers' Day",
+    "2012-07-20": "First Day of Ramadan (estimated)",
+    "2012-08-19": "Afghanistan Independence Day; Eid al-Fitr (estimated)",
+    "2012-08-20": "Eid al-Fitr (estimated)",
+    "2012-08-21": "Eid al-Fitr (estimated)",
+    "2012-09-09": "Martyrs' Day",
+    "2012-10-25": "Day of Arafah (estimated)",
+    "2012-10-26": "Eid al-Adha (estimated)",
+    "2012-10-27": "Eid al-Adha (estimated)",
+    "2012-10-28": "Eid al-Adha (estimated)",
+    "2012-11-24": "Ashura (estimated)",
+    "2013-01-24": "Prophet's Birthday (estimated)",
+    "2013-02-15": "Liberation Day",
+    "2013-03-21": "Nowruz",
+    "2013-04-28": "Mojahedin's Victory Day",
+    "2013-05-01": "International Workers' Day",
+    "2013-07-09": "First Day of Ramadan (estimated)",
+    "2013-08-08": "Eid al-Fitr (estimated)",
+    "2013-08-09": "Eid al-Fitr (estimated)",
+    "2013-08-10": "Eid al-Fitr (estimated)",
+    "2013-08-19": "Afghanistan Independence Day",
+    "2013-09-09": "Martyrs' Day",
+    "2013-10-14": "Day of Arafah (estimated)",
+    "2013-10-15": "Eid al-Adha (estimated)",
+    "2013-10-16": "Eid al-Adha (estimated)",
+    "2013-10-17": "Eid al-Adha (estimated)",
+    "2013-11-13": "Ashura (estimated)",
+    "2014-01-13": "Prophet's Birthday (estimated)",
+    "2014-02-15": "Liberation Day",
+    "2014-03-21": "Nowruz",
+    "2014-04-28": "Mojahedin's Victory Day",
+    "2014-05-01": "International Workers' Day",
+    "2014-06-28": "First Day of Ramadan (estimated)",
+    "2014-07-28": "Eid al-Fitr (estimated)",
+    "2014-07-29": "Eid al-Fitr (estimated)",
+    "2014-07-30": "Eid al-Fitr (estimated)",
+    "2014-08-19": "Afghanistan Independence Day",
+    "2014-09-09": "Martyrs' Day",
+    "2014-10-03": "Day of Arafah (estimated)",
+    "2014-10-04": "Eid al-Adha (estimated)",
+    "2014-10-05": "Eid al-Adha (estimated)",
+    "2014-10-06": "Eid al-Adha (estimated)",
+    "2014-11-03": "Ashura (estimated)",
+    "2015-01-03": "Prophet's Birthday (estimated)",
+    "2015-02-15": "Liberation Day",
+    "2015-03-21": "Nowruz",
+    "2015-04-28": "Mojahedin's Victory Day",
+    "2015-05-01": "International Workers' Day",
+    "2015-06-18": "First Day of Ramadan (estimated)",
+    "2015-07-17": "Eid al-Fitr (estimated)",
+    "2015-07-18": "Eid al-Fitr (estimated)",
+    "2015-07-19": "Eid al-Fitr (estimated)",
+    "2015-08-19": "Afghanistan Independence Day",
+    "2015-09-09": "Martyrs' Day",
+    "2015-09-22": "Day of Arafah (estimated)",
+    "2015-09-23": "Eid al-Adha (estimated)",
+    "2015-09-24": "Eid al-Adha (estimated)",
+    "2015-09-25": "Eid al-Adha (estimated)",
+    "2015-10-23": "Ashura (estimated)",
+    "2015-12-23": "Prophet's Birthday (estimated)",
+    "2016-02-15": "Liberation Day",
+    "2016-03-21": "Nowruz",
+    "2016-04-28": "Mojahedin's Victory Day",
+    "2016-05-01": "International Workers' Day",
+    "2016-06-06": "First Day of Ramadan (estimated)",
+    "2016-07-06": "Eid al-Fitr (estimated)",
+    "2016-07-07": "Eid al-Fitr (estimated)",
+    "2016-07-08": "Eid al-Fitr (estimated)",
+    "2016-08-19": "Afghanistan Independence Day",
+    "2016-09-09": "Martyrs' Day",
+    "2016-09-10": "Day of Arafah (estimated)",
+    "2016-09-11": "Eid al-Adha (estimated)",
+    "2016-09-12": "Eid al-Adha (estimated)",
+    "2016-09-13": "Eid al-Adha (estimated)",
+    "2016-10-11": "Ashura (estimated)",
+    "2016-12-11": "Prophet's Birthday (estimated)",
+    "2017-02-15": "Liberation Day",
+    "2017-03-21": "Nowruz",
+    "2017-04-28": "Mojahedin's Victory Day",
+    "2017-05-01": "International Workers' Day",
+    "2017-05-27": "First Day of Ramadan (estimated)",
+    "2017-06-25": "Eid al-Fitr (estimated)",
+    "2017-06-26": "Eid al-Fitr (estimated)",
+    "2017-06-27": "Eid al-Fitr (estimated)",
+    "2017-08-19": "Afghanistan Independence Day",
+    "2017-08-31": "Day of Arafah (estimated)",
+    "2017-09-01": "Eid al-Adha (estimated)",
+    "2017-09-02": "Eid al-Adha (estimated)",
+    "2017-09-03": "Eid al-Adha (estimated)",
+    "2017-09-09": "Martyrs' Day",
+    "2017-09-30": "Ashura (estimated)",
+    "2017-11-30": "Prophet's Birthday (estimated)",
+    "2018-02-15": "Liberation Day",
+    "2018-03-21": "Nowruz",
+    "2018-04-28": "Mojahedin's Victory Day",
+    "2018-05-01": "International Workers' Day",
+    "2018-05-16": "First Day of Ramadan (estimated)",
+    "2018-06-15": "Eid al-Fitr (estimated)",
+    "2018-06-16": "Eid al-Fitr (estimated)",
+    "2018-06-17": "Eid al-Fitr (estimated)",
+    "2018-08-19": "Afghanistan Independence Day",
+    "2018-08-20": "Day of Arafah (estimated)",
+    "2018-08-21": "Eid al-Adha (estimated)",
+    "2018-08-22": "Eid al-Adha (estimated)",
+    "2018-08-23": "Eid al-Adha (estimated)",
+    "2018-09-09": "Martyrs' Day",
+    "2018-09-20": "Ashura (estimated)",
+    "2018-11-20": "Prophet's Birthday (estimated)",
+    "2019-02-15": "Liberation Day",
+    "2019-03-21": "Nowruz",
+    "2019-04-28": "Mojahedin's Victory Day",
+    "2019-05-01": "International Workers' Day",
+    "2019-05-06": "First Day of Ramadan (estimated)",
+    "2019-06-04": "Eid al-Fitr (estimated)",
+    "2019-06-05": "Eid al-Fitr (estimated)",
+    "2019-06-06": "Eid al-Fitr (estimated)",
+    "2019-08-10": "Day of Arafah (estimated)",
+    "2019-08-11": "Eid al-Adha (estimated)",
+    "2019-08-12": "Eid al-Adha (estimated)",
+    "2019-08-13": "Eid al-Adha (estimated)",
+    "2019-08-19": "Afghanistan Independence Day",
+    "2019-09-09": "Ashura (estimated); Martyrs' Day",
+    "2019-11-09": "Prophet's Birthday (estimated)",
+    "2020-02-15": "Liberation Day",
+    "2020-03-21": "Nowruz",
+    "2020-04-24": "First Day of Ramadan (estimated)",
+    "2020-04-28": "Mojahedin's Victory Day",
+    "2020-05-01": "International Workers' Day",
+    "2020-05-24": "Eid al-Fitr (estimated)",
+    "2020-05-25": "Eid al-Fitr (estimated)",
+    "2020-05-26": "Eid al-Fitr (estimated)",
+    "2020-07-30": "Day of Arafah (estimated)",
+    "2020-07-31": "Eid al-Adha (estimated)",
+    "2020-08-01": "Eid al-Adha (estimated)",
+    "2020-08-02": "Eid al-Adha (estimated)",
+    "2020-08-19": "Afghanistan Independence Day",
+    "2020-08-29": "Ashura (estimated)",
+    "2020-09-09": "Martyrs' Day",
+    "2020-10-29": "Prophet's Birthday (estimated)",
+    "2021-02-15": "Liberation Day",
+    "2021-04-13": "First Day of Ramadan (estimated)",
+    "2021-04-28": "Mojahedin's Victory Day",
+    "2021-05-01": "International Workers' Day",
+    "2021-05-13": "Eid al-Fitr (estimated)",
+    "2021-05-14": "Eid al-Fitr (estimated)",
+    "2021-05-15": "Eid al-Fitr (estimated)",
+    "2021-07-19": "Day of Arafah (estimated)",
+    "2021-07-20": "Eid al-Adha (estimated)",
+    "2021-07-21": "Eid al-Adha (estimated)",
+    "2021-07-22": "Eid al-Adha (estimated)",
+    "2021-08-18": "Ashura (estimated)",
+    "2021-08-19": "Afghanistan Independence Day",
+    "2021-09-09": "Martyrs' Day",
+    "2021-10-18": "Prophet's Birthday (estimated)",
+    "2022-02-15": "Liberation Day",
+    "2022-04-02": "First Day of Ramadan (estimated)",
+    "2022-04-28": "Mojahedin's Victory Day",
+    "2022-05-02": "Eid al-Fitr (estimated)",
+    "2022-05-03": "Eid al-Fitr (estimated)",
+    "2022-05-04": "Eid al-Fitr (estimated)",
+    "2022-07-08": "Day of Arafah (estimated)",
+    "2022-07-09": "Eid al-Adha (estimated)",
+    "2022-07-10": "Eid al-Adha (estimated)",
+    "2022-07-11": "Eid al-Adha (estimated)",
+    "2022-08-08": "Ashura (estimated)",
+    "2022-08-19": "Afghanistan Independence Day",
+    "2022-08-31": "American Withdrawal Day",
+    "2022-09-09": "Martyrs' Day",
+    "2022-10-08": "Prophet's Birthday (estimated)",
+    "2023-02-15": "Liberation Day",
+    "2023-03-23": "First Day of Ramadan (estimated)",
+    "2023-04-21": "Eid al-Fitr (estimated)",
+    "2023-04-22": "Eid al-Fitr (estimated)",
+    "2023-04-23": "Eid al-Fitr (estimated)",
+    "2023-04-28": "Mojahedin's Victory Day",
+    "2023-06-27": "Day of Arafah (estimated)",
+    "2023-06-28": "Eid al-Adha (estimated)",
+    "2023-06-29": "Eid al-Adha (estimated)",
+    "2023-06-30": "Eid al-Adha (estimated)",
+    "2023-07-28": "Ashura (estimated)",
+    "2023-08-19": "Afghanistan Independence Day",
+    "2023-08-31": "American Withdrawal Day",
+    "2023-09-09": "Martyrs' Day",
+    "2023-09-27": "Prophet's Birthday (estimated)",
+    "2024-02-15": "Liberation Day",
+    "2024-03-11": "First Day of Ramadan (estimated)",
+    "2024-04-10": "Eid al-Fitr (estimated)",
+    "2024-04-11": "Eid al-Fitr (estimated)",
+    "2024-04-12": "Eid al-Fitr (estimated)",
+    "2024-04-28": "Mojahedin's Victory Day",
+    "2024-06-15": "Day of Arafah (estimated)",
+    "2024-06-16": "Eid al-Adha (estimated)",
+    "2024-06-17": "Eid al-Adha (estimated)",
+    "2024-06-18": "Eid al-Adha (estimated)",
+    "2024-07-16": "Ashura (estimated)",
+    "2024-08-19": "Afghanistan Independence Day",
+    "2024-08-31": "American Withdrawal Day",
+    "2024-09-09": "Martyrs' Day",
+    "2024-09-15": "Prophet's Birthday (estimated)",
+    "2025-02-15": "Liberation Day",
+    "2025-03-01": "First Day of Ramadan (estimated)",
+    "2025-03-30": "Eid al-Fitr (estimated)",
+    "2025-03-31": "Eid al-Fitr (estimated)",
+    "2025-04-01": "Eid al-Fitr (estimated)",
+    "2025-04-28": "Mojahedin's Victory Day",
+    "2025-06-05": "Day of Arafah (estimated)",
+    "2025-06-06": "Eid al-Adha (estimated)",
+    "2025-06-07": "Eid al-Adha (estimated)",
+    "2025-06-08": "Eid al-Adha (estimated)",
+    "2025-07-05": "Ashura (estimated)",
+    "2025-08-19": "Afghanistan Independence Day",
+    "2025-08-31": "American Withdrawal Day",
+    "2025-09-04": "Prophet's Birthday (estimated)",
+    "2025-09-09": "Martyrs' Day",
+    "2026-02-15": "Liberation Day",
+    "2026-02-18": "First Day of Ramadan (estimated)",
+    "2026-03-20": "Eid al-Fitr (estimated)",
+    "2026-03-21": "Eid al-Fitr (estimated)",
+    "2026-03-22": "Eid al-Fitr (estimated)",
+    "2026-04-28": "Mojahedin's Victory Day",
+    "2026-05-26": "Day of Arafah (estimated)",
+    "2026-05-27": "Eid al-Adha (estimated)",
+    "2026-05-28": "Eid al-Adha (estimated)",
+    "2026-05-29": "Eid al-Adha (estimated)",
+    "2026-06-25": "Ashura (estimated)",
+    "2026-08-19": "Afghanistan Independence Day",
+    "2026-08-25": "Prophet's Birthday (estimated)",
+    "2026-08-31": "American Withdrawal Day",
+    "2026-09-09": "Martyrs' Day",
+    "2027-02-08": "First Day of Ramadan (estimated)",
+    "2027-02-15": "Liberation Day",
+    "2027-03-09": "Eid al-Fitr (estimated)",
+    "2027-03-10": "Eid al-Fitr (estimated)",
+    "2027-03-11": "Eid al-Fitr (estimated)",
+    "2027-04-28": "Mojahedin's Victory Day",
+    "2027-05-15": "Day of Arafah (estimated)",
+    "2027-05-16": "Eid al-Adha (estimated)",
+    "2027-05-17": "Eid al-Adha (estimated)",
+    "2027-05-18": "Eid al-Adha (estimated)",
+    "2027-06-15": "Ashura (estimated)",
+    "2027-08-14": "Prophet's Birthday (estimated)",
+    "2027-08-19": "Afghanistan Independence Day",
+    "2027-08-31": "American Withdrawal Day",
+    "2027-09-09": "Martyrs' Day",
+    "2028-01-28": "First Day of Ramadan (estimated)",
+    "2028-02-15": "Liberation Day",
+    "2028-02-26": "Eid al-Fitr (estimated)",
+    "2028-02-27": "Eid al-Fitr (estimated)",
+    "2028-02-28": "Eid al-Fitr (estimated)",
+    "2028-04-28": "Mojahedin's Victory Day",
+    "2028-05-04": "Day of Arafah (estimated)",
+    "2028-05-05": "Eid al-Adha (estimated)",
+    "2028-05-06": "Eid al-Adha (estimated)",
+    "2028-05-07": "Eid al-Adha (estimated)",
+    "2028-06-03": "Ashura (estimated)",
+    "2028-08-03": "Prophet's Birthday (estimated)",
+    "2028-08-19": "Afghanistan Independence Day",
+    "2028-08-31": "American Withdrawal Day",
+    "2028-09-09": "Martyrs' Day",
+    "2029-01-16": "First Day of Ramadan (estimated)",
+    "2029-02-14": "Eid al-Fitr (estimated)",
+    "2029-02-15": "Eid al-Fitr (estimated); Liberation Day",
+    "2029-02-16": "Eid al-Fitr (estimated)",
+    "2029-04-23": "Day of Arafah (estimated)",
+    "2029-04-24": "Eid al-Adha (estimated)",
+    "2029-04-25": "Eid al-Adha (estimated)",
+    "2029-04-26": "Eid al-Adha (estimated)",
+    "2029-04-28": "Mojahedin's Victory Day",
+    "2029-05-23": "Ashura (estimated)",
+    "2029-07-24": "Prophet's Birthday (estimated)",
+    "2029-08-19": "Afghanistan Independence Day",
+    "2029-08-31": "American Withdrawal Day",
+    "2029-09-09": "Martyrs' Day",
+    "2030-01-05": "First Day of Ramadan (estimated)",
+    "2030-02-04": "Eid al-Fitr (estimated)",
+    "2030-02-05": "Eid al-Fitr (estimated)",
+    "2030-02-06": "Eid al-Fitr (estimated)",
+    "2030-02-15": "Liberation Day",
+    "2030-04-12": "Day of Arafah (estimated)",
+    "2030-04-13": "Eid al-Adha (estimated)",
+    "2030-04-14": "Eid al-Adha (estimated)",
+    "2030-04-15": "Eid al-Adha (estimated)",
+    "2030-04-28": "Mojahedin's Victory Day",
+    "2030-05-12": "Ashura (estimated)",
+    "2030-07-13": "Prophet's Birthday (estimated)",
+    "2030-08-19": "Afghanistan Independence Day",
+    "2030-08-31": "American Withdrawal Day",
+    "2030-09-09": "Martyrs' Day",
+    "2030-12-26": "First Day of Ramadan (estimated)",
+    "2031-01-24": "Eid al-Fitr (estimated)",
+    "2031-01-25": "Eid al-Fitr (estimated)",
+    "2031-01-26": "Eid al-Fitr (estimated)",
+    "2031-02-15": "Liberation Day",
+    "2031-04-01": "Day of Arafah (estimated)",
+    "2031-04-02": "Eid al-Adha (estimated)",
+    "2031-04-03": "Eid al-Adha (estimated)",
+    "2031-04-04": "Eid al-Adha (estimated)",
+    "2031-04-28": "Mojahedin's Victory Day",
+    "2031-05-02": "Ashura (estimated)",
+    "2031-07-02": "Prophet's Birthday (estimated)",
+    "2031-08-19": "Afghanistan Independence Day",
+    "2031-08-31": "American Withdrawal Day",
+    "2031-09-09": "Martyrs' Day",
+    "2031-12-15": "First Day of Ramadan (estimated)",
+    "2032-01-14": "Eid al-Fitr (estimated)",
+    "2032-01-15": "Eid al-Fitr (estimated)",
+    "2032-01-16": "Eid al-Fitr (estimated)",
+    "2032-02-15": "Liberation Day",
+    "2032-03-21": "Day of Arafah (estimated)",
+    "2032-03-22": "Eid al-Adha (estimated)",
+    "2032-03-23": "Eid al-Adha (estimated)",
+    "2032-03-24": "Eid al-Adha (estimated)",
+    "2032-04-20": "Ashura (estimated)",
+    "2032-04-28": "Mojahedin's Victory Day",
+    "2032-06-20": "Prophet's Birthday (estimated)",
+    "2032-08-19": "Afghanistan Independence Day",
+    "2032-08-31": "American Withdrawal Day",
+    "2032-09-09": "Martyrs' Day",
+    "2032-12-04": "First Day of Ramadan (estimated)",
+    "2033-01-02": "Eid al-Fitr (estimated)",
+    "2033-01-03": "Eid al-Fitr (estimated)",
+    "2033-01-04": "Eid al-Fitr (estimated)",
+    "2033-02-15": "Liberation Day",
+    "2033-03-10": "Day of Arafah (estimated)",
+    "2033-03-11": "Eid al-Adha (estimated)",
+    "2033-03-12": "Eid al-Adha (estimated)",
+    "2033-03-13": "Eid al-Adha (estimated)",
+    "2033-04-10": "Ashura (estimated)",
+    "2033-04-28": "Mojahedin's Victory Day",
+    "2033-06-09": "Prophet's Birthday (estimated)",
+    "2033-08-19": "Afghanistan Independence Day",
+    "2033-08-31": "American Withdrawal Day",
+    "2033-09-09": "Martyrs' Day",
+    "2033-11-23": "First Day of Ramadan (estimated)",
+    "2033-12-23": "Eid al-Fitr (estimated)",
+    "2033-12-24": "Eid al-Fitr (estimated)",
+    "2033-12-25": "Eid al-Fitr (estimated)",
+    "2034-02-15": "Liberation Day",
+    "2034-02-28": "Day of Arafah (estimated)",
+    "2034-03-01": "Eid al-Adha (estimated)",
+    "2034-03-02": "Eid al-Adha (estimated)",
+    "2034-03-03": "Eid al-Adha (estimated)",
+    "2034-03-30": "Ashura (estimated)",
+    "2034-04-28": "Mojahedin's Victory Day",
+    "2034-05-30": "Prophet's Birthday (estimated)",
+    "2034-08-19": "Afghanistan Independence Day",
+    "2034-08-31": "American Withdrawal Day",
+    "2034-09-09": "Martyrs' Day",
+    "2034-11-12": "First Day of Ramadan (estimated)",
+    "2034-12-12": "Eid al-Fitr (estimated)",
+    "2034-12-13": "Eid al-Fitr (estimated)",
+    "2034-12-14": "Eid al-Fitr (estimated)",
+    "2035-02-15": "Liberation Day",
+    "2035-02-17": "Day of Arafah (estimated)",
+    "2035-02-18": "Eid al-Adha (estimated)",
+    "2035-02-19": "Eid al-Adha (estimated)",
+    "2035-02-20": "Eid al-Adha (estimated)",
+    "2035-03-20": "Ashura (estimated)",
+    "2035-04-28": "Mojahedin's Victory Day",
+    "2035-05-20": "Prophet's Birthday (estimated)",
+    "2035-08-19": "Afghanistan Independence Day",
+    "2035-08-31": "American Withdrawal Day",
+    "2035-09-09": "Martyrs' Day",
+    "2035-11-01": "First Day of Ramadan (estimated)",
+    "2035-12-01": "Eid al-Fitr (estimated)",
+    "2035-12-02": "Eid al-Fitr (estimated)",
+    "2035-12-03": "Eid al-Fitr (estimated)",
+    "2036-02-06": "Day of Arafah (estimated)",
+    "2036-02-07": "Eid al-Adha (estimated)",
+    "2036-02-08": "Eid al-Adha (estimated)",
+    "2036-02-09": "Eid al-Adha (estimated)",
+    "2036-02-15": "Liberation Day",
+    "2036-03-08": "Ashura (estimated)",
+    "2036-04-28": "Mojahedin's Victory Day",
+    "2036-05-08": "Prophet's Birthday (estimated)",
+    "2036-08-19": "Afghanistan Independence Day",
+    "2036-08-31": "American Withdrawal Day",
+    "2036-09-09": "Martyrs' Day",
+    "2036-10-20": "First Day of Ramadan (estimated)",
+    "2036-11-19": "Eid al-Fitr (estimated)",
+    "2036-11-20": "Eid al-Fitr (estimated)",
+    "2036-11-21": "Eid al-Fitr (estimated)",
+    "2037-01-25": "Day of Arafah (estimated)",
+    "2037-01-26": "Eid al-Adha (estimated)",
+    "2037-01-27": "Eid al-Adha (estimated)",
+    "2037-01-28": "Eid al-Adha (estimated)",
+    "2037-02-15": "Liberation Day",
+    "2037-02-25": "Ashura (estimated)",
+    "2037-04-28": "Mojahedin's Victory Day; Prophet's Birthday (estimated)",
+    "2037-08-19": "Afghanistan Independence Day",
+    "2037-08-31": "American Withdrawal Day",
+    "2037-09-09": "Martyrs' Day",
+    "2037-10-10": "First Day of Ramadan (estimated)",
+    "2037-11-08": "Eid al-Fitr (estimated)",
+    "2037-11-09": "Eid al-Fitr (estimated)",
+    "2037-11-10": "Eid al-Fitr (estimated)",
+    "2038-01-15": "Day of Arafah (estimated)",
+    "2038-01-16": "Eid al-Adha (estimated)",
+    "2038-01-17": "Eid al-Adha (estimated)",
+    "2038-01-18": "Eid al-Adha (estimated)",
+    "2038-02-14": "Ashura (estimated)",
+    "2038-02-15": "Liberation Day",
+    "2038-04-17": "Prophet's Birthday (estimated)",
+    "2038-04-28": "Mojahedin's Victory Day",
+    "2038-08-19": "Afghanistan Independence Day",
+    "2038-08-31": "American Withdrawal Day",
+    "2038-09-09": "Martyrs' Day",
+    "2038-09-30": "First Day of Ramadan (estimated)",
+    "2038-10-29": "Eid al-Fitr (estimated)",
+    "2038-10-30": "Eid al-Fitr (estimated)",
+    "2038-10-31": "Eid al-Fitr (estimated)",
+    "2039-01-04": "Day of Arafah (estimated)",
+    "2039-01-05": "Eid al-Adha (estimated)",
+    "2039-01-06": "Eid al-Adha (estimated)",
+    "2039-01-07": "Eid al-Adha (estimated)",
+    "2039-02-04": "Ashura (estimated)",
+    "2039-02-15": "Liberation Day",
+    "2039-04-06": "Prophet's Birthday (estimated)",
+    "2039-04-28": "Mojahedin's Victory Day",
+    "2039-08-19": "Afghanistan Independence Day",
+    "2039-08-31": "American Withdrawal Day",
+    "2039-09-09": "Martyrs' Day",
+    "2039-09-19": "First Day of Ramadan (estimated)",
+    "2039-10-19": "Eid al-Fitr (estimated)",
+    "2039-10-20": "Eid al-Fitr (estimated)",
+    "2039-10-21": "Eid al-Fitr (estimated)",
+    "2039-12-25": "Day of Arafah (estimated)",
+    "2039-12-26": "Eid al-Adha (estimated)",
+    "2039-12-27": "Eid al-Adha (estimated)",
+    "2039-12-28": "Eid al-Adha (estimated)",
+    "2040-01-24": "Ashura (estimated)",
+    "2040-02-15": "Liberation Day",
+    "2040-03-25": "Prophet's Birthday (estimated)",
+    "2040-04-28": "Mojahedin's Victory Day",
+    "2040-08-19": "Afghanistan Independence Day",
+    "2040-08-31": "American Withdrawal Day",
+    "2040-09-07": "First Day of Ramadan (estimated)",
+    "2040-09-09": "Martyrs' Day",
+    "2040-10-07": "Eid al-Fitr (estimated)",
+    "2040-10-08": "Eid al-Fitr (estimated)",
+    "2040-10-09": "Eid al-Fitr (estimated)",
+    "2040-12-13": "Day of Arafah (estimated)",
+    "2040-12-14": "Eid al-Adha (estimated)",
+    "2040-12-15": "Eid al-Adha (estimated)",
+    "2040-12-16": "Eid al-Adha (estimated)",
+    "2041-01-13": "Ashura (estimated)",
+    "2041-02-15": "Liberation Day",
+    "2041-03-15": "Prophet's Birthday (estimated)",
+    "2041-04-28": "Mojahedin's Victory Day",
+    "2041-08-19": "Afghanistan Independence Day",
+    "2041-08-28": "First Day of Ramadan (estimated)",
+    "2041-08-31": "American Withdrawal Day",
+    "2041-09-09": "Martyrs' Day",
+    "2041-09-26": "Eid al-Fitr (estimated)",
+    "2041-09-27": "Eid al-Fitr (estimated)",
+    "2041-09-28": "Eid al-Fitr (estimated)",
+    "2041-12-03": "Day of Arafah (estimated)",
+    "2041-12-04": "Eid al-Adha (estimated)",
+    "2041-12-05": "Eid al-Adha (estimated)",
+    "2041-12-06": "Eid al-Adha (estimated)",
+    "2042-01-02": "Ashura (estimated)",
+    "2042-02-15": "Liberation Day",
+    "2042-03-04": "Prophet's Birthday (estimated)",
+    "2042-04-28": "Mojahedin's Victory Day",
+    "2042-08-17": "First Day of Ramadan (estimated)",
+    "2042-08-19": "Afghanistan Independence Day",
+    "2042-08-31": "American Withdrawal Day",
+    "2042-09-09": "Martyrs' Day",
+    "2042-09-15": "Eid al-Fitr (estimated)",
+    "2042-09-16": "Eid al-Fitr (estimated)",
+    "2042-09-17": "Eid al-Fitr (estimated)",
+    "2042-11-22": "Day of Arafah (estimated)",
+    "2042-11-23": "Eid al-Adha (estimated)",
+    "2042-11-24": "Eid al-Adha (estimated)",
+    "2042-11-25": "Eid al-Adha (estimated)",
+    "2042-12-23": "Ashura (estimated)",
+    "2043-02-15": "Liberation Day",
+    "2043-02-22": "Prophet's Birthday (estimated)",
+    "2043-04-28": "Mojahedin's Victory Day",
+    "2043-08-06": "First Day of Ramadan (estimated)",
+    "2043-08-19": "Afghanistan Independence Day",
+    "2043-08-31": "American Withdrawal Day",
+    "2043-09-04": "Eid al-Fitr (estimated)",
+    "2043-09-05": "Eid al-Fitr (estimated)",
+    "2043-09-06": "Eid al-Fitr (estimated)",
+    "2043-09-09": "Martyrs' Day",
+    "2043-11-11": "Day of Arafah (estimated)",
+    "2043-11-12": "Eid al-Adha (estimated)",
+    "2043-11-13": "Eid al-Adha (estimated)",
+    "2043-11-14": "Eid al-Adha (estimated)",
+    "2043-12-12": "Ashura (estimated)",
+    "2044-02-11": "Prophet's Birthday (estimated)",
+    "2044-02-15": "Liberation Day",
+    "2044-04-28": "Mojahedin's Victory Day",
+    "2044-07-26": "First Day of Ramadan (estimated)",
+    "2044-08-19": "Afghanistan Independence Day",
+    "2044-08-24": "Eid al-Fitr (estimated)",
+    "2044-08-25": "Eid al-Fitr (estimated)",
+    "2044-08-26": "Eid al-Fitr (estimated)",
+    "2044-08-31": "American Withdrawal Day",
+    "2044-09-09": "Martyrs' Day",
+    "2044-10-30": "Day of Arafah (estimated)",
+    "2044-10-31": "Eid al-Adha (estimated)",
+    "2044-11-01": "Eid al-Adha (estimated)",
+    "2044-11-02": "Eid al-Adha (estimated)",
+    "2044-11-30": "Ashura (estimated)",
+    "2045-01-30": "Prophet's Birthday (estimated)",
+    "2045-02-15": "Liberation Day",
+    "2045-04-28": "Mojahedin's Victory Day",
+    "2045-07-15": "First Day of Ramadan (estimated)",
+    "2045-08-14": "Eid al-Fitr (estimated)",
+    "2045-08-15": "Eid al-Fitr (estimated)",
+    "2045-08-16": "Eid al-Fitr (estimated)",
+    "2045-08-19": "Afghanistan Independence Day",
+    "2045-08-31": "American Withdrawal Day",
+    "2045-09-09": "Martyrs' Day",
+    "2045-10-20": "Day of Arafah (estimated)",
+    "2045-10-21": "Eid al-Adha (estimated)",
+    "2045-10-22": "Eid al-Adha (estimated)",
+    "2045-10-23": "Eid al-Adha (estimated)",
+    "2045-11-19": "Ashura (estimated)",
+    "2046-01-19": "Prophet's Birthday (estimated)",
+    "2046-02-15": "Liberation Day",
+    "2046-04-28": "Mojahedin's Victory Day",
+    "2046-07-05": "First Day of Ramadan (estimated)",
+    "2046-08-03": "Eid al-Fitr (estimated)",
+    "2046-08-04": "Eid al-Fitr (estimated)",
+    "2046-08-05": "Eid al-Fitr (estimated)",
+    "2046-08-19": "Afghanistan Independence Day",
+    "2046-08-31": "American Withdrawal Day",
+    "2046-09-09": "Martyrs' Day",
+    "2046-10-09": "Day of Arafah (estimated)",
+    "2046-10-10": "Eid al-Adha (estimated)",
+    "2046-10-11": "Eid al-Adha (estimated)",
+    "2046-10-12": "Eid al-Adha (estimated)",
+    "2046-11-09": "Ashura (estimated)",
+    "2047-01-08": "Prophet's Birthday (estimated)",
+    "2047-02-15": "Liberation Day",
+    "2047-04-28": "Mojahedin's Victory Day",
+    "2047-06-24": "First Day of Ramadan (estimated)",
+    "2047-07-24": "Eid al-Fitr (estimated)",
+    "2047-07-25": "Eid al-Fitr (estimated)",
+    "2047-07-26": "Eid al-Fitr (estimated)",
+    "2047-08-19": "Afghanistan Independence Day",
+    "2047-08-31": "American Withdrawal Day",
+    "2047-09-09": "Martyrs' Day",
+    "2047-09-29": "Day of Arafah (estimated)",
+    "2047-09-30": "Eid al-Adha (estimated)",
+    "2047-10-01": "Eid al-Adha (estimated)",
+    "2047-10-02": "Eid al-Adha (estimated)",
+    "2047-10-29": "Ashura (estimated)",
+    "2047-12-29": "Prophet's Birthday (estimated)",
+    "2048-02-15": "Liberation Day",
+    "2048-04-28": "Mojahedin's Victory Day",
+    "2048-06-12": "First Day of Ramadan (estimated)",
+    "2048-07-12": "Eid al-Fitr (estimated)",
+    "2048-07-13": "Eid al-Fitr (estimated)",
+    "2048-07-14": "Eid al-Fitr (estimated)",
+    "2048-08-19": "Afghanistan Independence Day",
+    "2048-08-31": "American Withdrawal Day",
+    "2048-09-09": "Martyrs' Day",
+    "2048-09-18": "Day of Arafah (estimated)",
+    "2048-09-19": "Eid al-Adha (estimated)",
+    "2048-09-20": "Eid al-Adha (estimated)",
+    "2048-09-21": "Eid al-Adha (estimated)",
+    "2048-10-18": "Ashura (estimated)",
+    "2048-12-18": "Prophet's Birthday (estimated)",
+    "2049-02-15": "Liberation Day",
+    "2049-04-28": "Mojahedin's Victory Day",
+    "2049-06-02": "First Day of Ramadan (estimated)",
+    "2049-07-01": "Eid al-Fitr (estimated)",
+    "2049-07-02": "Eid al-Fitr (estimated)",
+    "2049-07-03": "Eid al-Fitr (estimated)",
+    "2049-08-19": "Afghanistan Independence Day",
+    "2049-08-31": "American Withdrawal Day",
+    "2049-09-07": "Day of Arafah (estimated)",
+    "2049-09-08": "Eid al-Adha (estimated)",
+    "2049-09-09": "Eid al-Adha (estimated); Martyrs' Day",
+    "2049-09-10": "Eid al-Adha (estimated)",
+    "2049-10-07": "Ashura (estimated)",
+    "2049-12-07": "Prophet's Birthday (estimated)",
+    "2050-02-15": "Liberation Day",
+    "2050-04-28": "Mojahedin's Victory Day",
+    "2050-05-22": "First Day of Ramadan (estimated)",
+    "2050-06-20": "Eid al-Fitr (estimated)",
+    "2050-06-21": "Eid al-Fitr (estimated)",
+    "2050-06-22": "Eid al-Fitr (estimated)",
+    "2050-08-19": "Afghanistan Independence Day",
+    "2050-08-27": "Day of Arafah (estimated)",
+    "2050-08-28": "Eid al-Adha (estimated)",
+    "2050-08-29": "Eid al-Adha (estimated)",
+    "2050-08-30": "Eid al-Adha (estimated)",
+    "2050-08-31": "American Withdrawal Day",
+    "2050-09-09": "Martyrs' Day",
+    "2050-09-26": "Ashura (estimated)",
+    "2050-11-26": "Prophet's Birthday (estimated)"
+}


Test patch:
diff --git a/tests/countries/test_afghanistan.py b/tests/countries/test_afghanistan.py
new file mode 100644
index 00000000..01d67151
--- /dev/null
+++ b/tests/countries/test_afghanistan.py
@@ -0,0 +1,152 @@
+#  holidays
+#  --------
+#  A fast, efficient Python library for generating country, province and state
+#  specific sets of holidays on the fly. It aims to make determining whether a
+#  specific date is a holiday as fast and flexible as possible.
+#
+#  Authors: Vacanza Team and individual contributors (see AUTHORS file)
+#           dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
+#           ryanss <ryanssdev@icloud.com> (c) 2014-2017
+#  Website: https://github.com/vacanza/holidays
+#  License: MIT (see LICENSE file)
+
+from unittest import TestCase
+
+from holidays.countries.afghanistan import Afghanistan, AF, AFG
+from tests.common import CommonCountryTests
+
+
+class TestAfghanistan(CommonCountryTests, TestCase):
+    @classmethod
+    def setUpClass(cls):
+        super().setUpClass(
+            Afghanistan, years=range(1919, 2050), years_non_observed=range(1919, 2050)
+        )
+
+    def test_country_aliases(self):
+        self.assertAliases(Afghanistan, AF, AFG)
+
+    def test_no_holidays(self):
+        self.assertNoHolidays(Afghanistan(years=1918))
+
+    def test_2021(self):
+        self.assertHolidays(
+            Afghanistan(years=2021),
+            ("2021-02-15", "روز آزادی"),
+            ("2021-04-13", "اول رمضان (برآورد شده)"),
+            ("2021-04-28", "روز پیروزی مجاهدین"),
+            ("2021-05-01", "روز جهانی کارگر"),
+            ("2021-05-13", "عید فطر (برآورد شده)"),
+            ("2021-05-14", "عید فطر (برآورد شده)"),
+            ("2021-05-15", "عید فطر (برآورد شده)"),
+            ("2021-07-19", "روز عرفه (برآورد شده)"),
+            ("2021-07-20", "عید قربانی (برآورد شده)"),
+            ("2021-07-21", "عید قربانی (برآورد شده)"),
+            ("2021-07-22", "عید قربانی (برآورد شده)"),
+            ("2021-08-18", "عاشورا (برآورد شده)"),
+            ("2021-08-19", "روز استقلال افغانستان"),
+            ("2021-09-09", "روز شهیدان"),
+            ("2021-10-18", "میلاد پیامبر (برآورد شده)"),
+        )
+
+    def test_liberation_day(self):
+        name = "روز آزادی"
+        self.assertHolidayName(name, (f"{year}-02-15" for year in range(1989, 2050)))
+        self.assertNoHolidayName(name, range(1919, 1989))
+
+    def test_nowruz(self):
+        name = "نوروز"
+        self.assertHolidayName(
+            name, (f"{year}-03-21" for year in (*range(1919, 1997), *range(2001, 2021)))
+        )
+        self.assertNoHolidayName(name, range(1997, 2001), range(2021, 2050))
+
+    def test_victory_of_mujahideen_day(self):
+        name = "روز پیروزی مجاهدین"
+        self.assertHolidayName(name, (f"{year}-04-28" for year in range(1992, 2050)))
+        self.assertNoHolidayName(name, range(1919, 1992))
+
+    def test_international_workers_day(self):
+        name = "روز جهانی کارگر"
+        self.assertHolidayName(
+            name, (f"{year}-05-01" for year in (*range(1974, 1997), *range(2002, 2022)))
+        )
+        self.assertNoHolidayName(name, range(1997, 2002), range(2022, 2050))
+
+    def test_soviet_victory_day(self):
+        name = "روز پیروزی شوروی"
+        self.assertHolidayName(name, (f"{year}-05-09" for year in range(1978, 1989)))
+        self.assertNoHolidayName(name, range(1919, 1978), (1989, 2050))
+
+    def test_american_withdrawal_day(self):
+        name = "روز خروج آمریکایی ها"
+        self.assertHolidayName(name, (f"{year}-08-31" for year in range(2022, 2050)))
+        self.assertNoHolidayName(name, range(1919, 2022))
+
+    def test_independence_day(self):
+        name = "روز استقلال افغانستان"
+        self.assertHolidayName(name, (f"{year}-08-19" for year in range(1919, 2050)))
+
+    def test_martyrs_day(self):
+        name = "روز شهیدان"
+        self.assertHolidayName(name, (f"{year}-09-09" for year in range(2012, 2050)))
+        self.assertNoHolidayName(name, range(1919, 2012))
+
+    def test_l10_default(self):
+        self.assertLocalizedHolidays(
+            ("2022-02-15", "روز آزادی"),
+            ("2022-04-02", "اول رمضان (برآورد شده)"),
+            ("2022-04-28", "روز پیروزی مجاهدین"),
+            ("2022-05-02", "عید فطر (برآورد شده)"),
+            ("2022-05-03", "عید فطر (برآورد شده)"),
+            ("2022-05-04", "عید فطر (برآورد شده)"),
+            ("2022-07-08", "روز عرفه (برآورد شده)"),
+            ("2022-07-09", "عید قربانی (برآورد شده)"),
+            ("2022-07-10", "عید قربانی (برآورد شده)"),
+            ("2022-07-11", "عید قربانی (برآورد شده)"),
+            ("2022-08-08", "عاشورا (برآورد شده)"),
+            ("2022-08-19", "روز استقلال افغانستان"),
+            ("2022-08-31", "روز خروج آمریکایی ها"),
+            ("2022-09-09", "روز شهیدان"),
+            ("2022-10-08", "میلاد پیامبر (برآورد شده)"),
+        )
+
+    def test_l10n_ps_af(self):
+        self.assertLocalizedHolidays(
+            "ps_AF",
+            ("2022-02-15", "د ازادۍ ورځ"),
+            ("2022-04-02", "د روژې لومړۍ نیټه (اټکل)"),
+            ("2022-04-28", "مجاهدو د بریا ورځ"),
+            ("2022-05-02", "عید فطر (اټکل)"),
+            ("2022-05-03", "عید فطر (اټکل)"),
+            ("2022-05-04", "عید فطر (اټکل)"),
+            ("2022-07-08", "د عرفه ورځ (اټکل)"),
+            ("2022-07-09", "عید قربانی (اټکل)"),
+            ("2022-07-10", "عید قربانی (اټکل)"),
+            ("2022-07-11", "عید قربانی (اټکل)"),
+            ("2022-08-08", "عاشورا (اټکل)"),
+            ("2022-08-19", "د افغانستان د استقلال ورځ"),
+            ("2022-08-31", "د امریکا د وتلو ورځ"),
+            ("2022-09-09", "د شهیدانو ورځ"),
+            ("2022-10-08", "د پیغمبر الله صلی الله علیه وسلم د میلاد ورځ (اټکل)"),
+        )
+
+    def test_l10n_en_us(self):
+        self.assertLocalizedHolidays(
+            "en_US",
+            ("2022-02-15", "Liberation Day"),
+            ("2022-04-02", "First Day of Ramadan (estimated)"),
+            ("2022-04-28", "Mojahedin's Victory Day"),
+            ("2022-05-02", "Eid al-Fitr (estimated)"),
+            ("2022-05-03", "Eid al-Fitr (estimated)"),
+            ("2022-05-04", "Eid al-Fitr (estimated)"),
+            ("2022-07-08", "Day of Arafah (estimated)"),
+            ("2022-07-09", "Eid al-Adha (estimated)"),
+            ("2022-07-10", "Eid al-Adha (estimated)"),
+            ("2022-07-11", "Eid al-Adha (estimated)"),
+            ("2022-08-08", "Ashura (estimated)"),
+            ("2022-08-19", "Afghanistan Independence Day"),
+            ("2022-08-31", "American Withdrawal Day"),
+            ("2022-09-09", "Martyrs' Day"),
+            ("2022-10-08", "Prophet's Birthday (estimated)"),
+        )