Liabilities / Assets
30th percentile
Higher debt load relative to assets than 30% of similar nonprofits.
EIN 22-2598324 • Westerly, RI
Precomputed percentiles relative to similar nonprofits. These scores are descriptive rather than judgmental.
Liabilities / Assets
30th percentile
Higher debt load relative to assets than 30% of similar nonprofits.
Liabilities / Revenue
31st percentile
Higher debt load relative to revenue than 31% of similar nonprofits.
Net Margin
4th percentile
Higher net margin than 4% of similar nonprofits.
Top Officer Pay
67th percentile
Higher top officer pay than 67% of similar nonprofits.
Top officer pay equals 0.0% of source-year revenue.
Asset Growth
17th percentile
Faster asset growth than 17% of similar nonprofits.
Revenue Growth
5th percentile
Faster revenue growth than 5% of similar nonprofits.
Using 2024 Form 990PF data because the latest 2025 filing does not report standard financial totals.
Assets
Up$4,179,266
Up $866,435 (+26%) from 2023
Liabilities
Flat$0
Flat from 2023
Net Assets
Up$4,179,266
Up $866,435 (+26%) from 2023
Revenue
Up$1,273,609
Up $1,123,893 (+751%) from 2023
Expenses
Up$407,174
Up $6,637 (+1.7%) from 2023
Net Income
Up$866,435
Up $1,117,256 (+445%) from 2023
Most recent year
2025 • Form 990PFDetailed filing. Detailed filing data is available for this year.
| Name | Title | Full / Part Time | Base | Other | Total |
|---|---|---|---|---|---|
| JOHN DUFFY | Treasurer | - | $0 | - | - |
| HILARY DUFFY | President | - | $0 | - | - |
| KEVIN DUFFY | Vice President | - | $0 | - | - |
| Type | Recipient | Purpose | Status | Location | Amount |
|---|---|---|---|---|---|
| Paid Grant | SEE SCHEDULE 3 | THE PURPOSE OF THE CONTRIBUTIONS IS TO AID EACH DONEE ORGANIZATION IN CARRYING OUT ITS EXEMPT FUNCTION. | - | NEW YORK, NY, US | $402,642 |
This appendix keeps the raw XML leaves available for debugging and edge-case review. The human report above is the primary experience.
| Path | # | Value |
|---|---|---|
| AccountingFeesSchedule/AccountingFeesDetail/Amt | 0 | 9800 |
| AccountingFeesSchedule/AccountingFeesDetail/CategoryTxt | 0 | JAD CONSULTING, LLC |
| AccountingFeesSchedule/AccountingFeesDetail/DisbursementsCharitablePrpsAmt | 0 | 4900 |
| AccountingFeesSchedule/AccountingFeesDetail/NetInvestmentIncomeAmt | 0 | 4900 |
| AllOthProgRltdInvestmentsSch/AllOtherProgramRelatedInvstGrp/Amt | 0 | 0 |
| AllOthProgRltdInvestmentsSch/AllOtherProgramRelatedInvstGrp/Desc | 0 | NOT APPLICABLE |
| InvestmentsCorpStockSchedule/InvestmentsCorporateStockGrp/EOYBookValueAmt | 0 | 735938 |
| InvestmentsCorpStockSchedule/InvestmentsCorporateStockGrp/EOYBookValueAmt | 1 | 1593893 |
| InvestmentsCorpStockSchedule/InvestmentsCorporateStockGrp/EOYFMVAmt | 0 | 2175978 |
| InvestmentsCorpStockSchedule/InvestmentsCorporateStockGrp/EOYFMVAmt | 1 | 2518502 |
| InvestmentsCorpStockSchedule/InvestmentsCorporateStockGrp/StockNm | 0 | SEE SCHEDULE 4 |
| InvestmentsCorpStockSchedule/InvestmentsCorporateStockGrp/StockNm | 1 | SEE SCHEDULE 5 |
| InvestmentsOtherSchedule2/InvestmentsOtherGrp/BookValueAmt | 0 | 2683838 |
| InvestmentsOtherSchedule2/InvestmentsOtherGrp/CategoryOrItemTxt | 0 | SEE SCHEDULE 6 |
| InvestmentsOtherSchedule2/InvestmentsOtherGrp/EOYFMVAmt | 0 | 3114713 |
| IRS990PF/AnalysisIncomeProducingActyGrp/DividendsAndInterestFromSecDtl/ExclusionAmt | 0 | 162839 |
| IRS990PF/AnalysisIncomeProducingActyGrp/DividendsAndInterestFromSecDtl/ExclusionCd | 0 | 14 |
| IRS990PF/AnalysisIncomeProducingActyGrp/GainSalesAstOthThanInvntryGrp/ExclusionAmt | 0 | 397284 |
| IRS990PF/AnalysisIncomeProducingActyGrp/GainSalesAstOthThanInvntryGrp/ExclusionCd | 0 | 18 |
| IRS990PF/AnalysisIncomeProducingActyGrp/IntOnSavAndTempCashInvstGrp/ExclusionAmt | 0 | 1954 |
| IRS990PF/AnalysisIncomeProducingActyGrp/IntOnSavAndTempCashInvstGrp/ExclusionCd | 0 | 14 |
| IRS990PF/AnalysisIncomeProducingActyGrp/SubtotalsIncmProducingActyGrp/ExclusionAmt | 0 | 562077 |
| IRS990PF/AnalysisIncomeProducingActyGrp/TotalIncomeProducingActyAmt | 0 | 562077 |
| IRS990PF/AnalysisOfRevenueAndExpenses/AccountingFeesAdjNetIncmAmt | 0 | 0 |
| IRS990PF/AnalysisOfRevenueAndExpenses/AccountingFeesChrtblPrpsAmt | 0 | 4900 |
| IRS990PF/AnalysisOfRevenueAndExpenses/AccountingFeesNetInvstIncmAmt | 0 | 4900 |
| IRS990PF/AnalysisOfRevenueAndExpenses/AccountingFeesRevAndExpnssAmt | 0 | 9800 |
| IRS990PF/AnalysisOfRevenueAndExpenses/AdjustedNetIncomeAmt | 0 | 0 |
| IRS990PF/AnalysisOfRevenueAndExpenses/CapGainNetIncmNetInvstIncmAmt | 0 | 798436 |
| IRS990PF/AnalysisOfRevenueAndExpenses/CompOfcrDirTrstRevAndExpnssAmt | 0 | 0 |
| IRS990PF/AnalysisOfRevenueAndExpenses/ContriPaidDsbrsChrtblAmt | 0 | 402642 |
| IRS990PF/AnalysisOfRevenueAndExpenses/ContriPaidRevAndExpnssAmt | 0 | 402642 |
| IRS990PF/AnalysisOfRevenueAndExpenses/ContriRcvdRevAndExpnssAmt | 0 | 890640 |
| IRS990PF/AnalysisOfRevenueAndExpenses/DividendsNetInvstIncmAmt | 0 | 162839 |
| IRS990PF/AnalysisOfRevenueAndExpenses/DividendsRevAndExpnssAmt | 0 | 162839 |
| IRS990PF/AnalysisOfRevenueAndExpenses/ExcessRevenueOverExpensesAmt | 0 | 966373 |
| IRS990PF/AnalysisOfRevenueAndExpenses/GrossSalesPriceAmt | 0 | 1535222 |
| IRS990PF/AnalysisOfRevenueAndExpenses/InterestOnSavNetInvstIncmAmt | 0 | 1954 |
| IRS990PF/AnalysisOfRevenueAndExpenses/InterestOnSavRevAndExpnssAmt | 0 | 1954 |
| IRS990PF/AnalysisOfRevenueAndExpenses/NetGainSaleAstRevAndExpnssAmt | 0 | 397284 |
| IRS990PF/AnalysisOfRevenueAndExpenses/NetInvestmentIncomeAmt | 0 | 922832 |
| IRS990PF/AnalysisOfRevenueAndExpenses/OtherExpensesDsbrsChrtblAmt | 0 | 623 |
| IRS990PF/AnalysisOfRevenueAndExpenses/OtherExpensesRevAndExpnssAmt | 0 | 5408 |
| IRS990PF/AnalysisOfRevenueAndExpenses/OtherProfFeesNetInvstIncmAmt | 0 | 35497 |
| IRS990PF/AnalysisOfRevenueAndExpenses/OtherProfFeesRevAndExpnssAmt | 0 | 35497 |
| IRS990PF/AnalysisOfRevenueAndExpenses/TaxesRevAndExpnssAmt | 0 | 32997 |
| IRS990PF/AnalysisOfRevenueAndExpenses/TotalExpensesAdjNetIncmAmt | 0 | 0 |
| IRS990PF/AnalysisOfRevenueAndExpenses/TotalExpensesDsbrsChrtblAmt | 0 | 408165 |
| IRS990PF/AnalysisOfRevenueAndExpenses/TotalExpensesNetInvstIncmAmt | 0 | 40397 |
| IRS990PF/AnalysisOfRevenueAndExpenses/TotalExpensesRevAndExpnssAmt | 0 | 486344 |
| IRS990PF/AnalysisOfRevenueAndExpenses/TotalNetInvstIncmAmt | 0 | 963229 |
| IRS990PF/AnalysisOfRevenueAndExpenses/TotalRevAndExpnssAmt | 0 | 1452717 |
| IRS990PF/AnalysisOfRevenueAndExpenses/TotOprExpensesAdjNetIncmAmt | 0 | 0 |
| IRS990PF/AnalysisOfRevenueAndExpenses/TotOprExpensesDsbrsChrtblAmt | 0 | 5523 |
| IRS990PF/AnalysisOfRevenueAndExpenses/TotOprExpensesNetInvstIncmAmt | 0 | 40397 |
| IRS990PF/AnalysisOfRevenueAndExpenses/TotOprExpensesRevAndExpnssAmt | 0 | 83702 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/AcquiredDt | 0 | 2023-12-01 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/AcquiredDt | 1 | 2023-12-01 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/AcquiredDt | 2 | 2023-12-01 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/CostOrOtherBasisAmt | 0 | 183783 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/CostOrOtherBasisAmt | 1 | 317856 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/CostOrOtherBasisAmt | 2 | 235147 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/GainOrLossAmt | 0 | 405083 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/GainOrLossAmt | 1 | 105176 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/GainOrLossAmt | 2 | 278554 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/GainOrLossAmt | 3 | 9623 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/GainOrLossAmt | 4 | 9623 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/GainOrLossAmt | 5 | 9623 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/GainsMinusExcessOrLossesAmt | 0 | 405083 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/GainsMinusExcessOrLossesAmt | 1 | 105176 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/GainsMinusExcessOrLossesAmt | 2 | 278554 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/GrossSalesPriceAmt | 0 | 588866 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/GrossSalesPriceAmt | 1 | 423032 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/GrossSalesPriceAmt | 2 | 513701 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/HowAcquiredCd | 0 | D |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/HowAcquiredCd | 1 | P |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/HowAcquiredCd | 2 | P |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/HowAcquiredCd | 3 | P |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/HowAcquiredCd | 4 | P |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/HowAcquiredCd | 5 | P |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/PropertyDesc | 0 | SEE SCHEDULE 1 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/PropertyDesc | 1 | SEE SCHEDULE 1 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/PropertyDesc | 2 | SEE SCHEDULE 2 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/PropertyDesc | 3 | CAPITAL GAIN DIVIDENDS |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/PropertyDesc | 4 | CAPITAL GAIN DIVIDENDS |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/PropertyDesc | 5 | CAPITAL GAIN DIVIDENDS |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/SoldDt | 0 | 2025-11-30 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/SoldDt | 1 | 2025-11-30 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapGainsLossTxInvstIncmGrp/SoldDt | 2 | 2025-11-30 |
| IRS990PF/CapGainsLossTxInvstIncmDetail/CapitalGainNetIncomeAmt | 0 | 798436 |
| IRS990PF/ChgInNetAssetsFundBalancesGrp/ExcessRevenueOverExpensesAmt | 0 | 966373 |
| IRS990PF/ChgInNetAssetsFundBalancesGrp/SubtotalAmt | 0 | 5145639 |
| IRS990PF/ChgInNetAssetsFundBalancesGrp/TotNetAstOrFundBalancesBOYAmt | 0 | 4179266 |
| IRS990PF/ChgInNetAssetsFundBalancesGrp/TotNetAstOrFundBalancesEOYAmt | 0 | 5145639 |
| IRS990PF/DistributableAmountGrp/DistributableAsAdjustedAmt | 0 | 360375 |
| IRS990PF/DistributableAmountGrp/DistributableBeforeAdjAmt | 0 | 360375 |
| IRS990PF/DistributableAmountGrp/DistributableBeforeDedAmt | 0 | 360375 |
| IRS990PF/DistributableAmountGrp/MinimumInvestmentReturnAmt | 0 | 373202 |
| IRS990PF/DistributableAmountGrp/TaxBasedOnInvestmentIncomeAmt | 0 | 12827 |
| IRS990PF/DistributableAmountGrp/TotalTaxAmt | 0 | 12827 |
| IRS990PF/ExciseTaxBasedOnInvstIncmGrp/AppliedToESTaxAmt | 0 | 7173 |
| IRS990PF/ExciseTaxBasedOnInvstIncmGrp/EstimatedPlusOvpmtIncmTxAmt | 0 | 20000 |
| IRS990PF/ExciseTaxBasedOnInvstIncmGrp/ExemptFrgnOrgTaxWthldAtSrceAmt | 0 | 0 |
| IRS990PF/ExciseTaxBasedOnInvstIncmGrp/Form2220AttachedInd | 0 | X |
| IRS990PF/ExciseTaxBasedOnInvstIncmGrp/InvestmentIncomeExciseTaxAmt | 0 | 12827 |
| IRS990PF/ExciseTaxBasedOnInvstIncmGrp/OverpaymentAmt | 0 | 7173 |
| IRS990PF/ExciseTaxBasedOnInvstIncmGrp/SubtotalAmt | 0 | 12827 |
| IRS990PF/ExciseTaxBasedOnInvstIncmGrp/TaxBasedOnInvestmentIncomeAmt | 0 | 12827 |
| IRS990PF/ExciseTaxBasedOnInvstIncmGrp/TotalPaymentsAndCreditsAmt | 0 | 20000 |
| IRS990PF/FMVAssetsEOYAmt | 0 | 7941163 |
| IRS990PF/Form990PFBalanceSheetsGrp/CapitalStockBOYAmt | 0 | 4765591 |
| IRS990PF/Form990PFBalanceSheetsGrp/CapitalStockEOYAmt | 0 | 5656231 |
| IRS990PF/Form990PFBalanceSheetsGrp/CorporateStockBOYAmt | 0 | 1933568 |
| IRS990PF/Form990PFBalanceSheetsGrp/CorporateStockEOYAmt | 0 | 2329831 |
| IRS990PF/Form990PFBalanceSheetsGrp/CorporateStockEOYFMVAmt | 0 | 4694480 |
| IRS990PF/Form990PFBalanceSheetsGrp/OrgDoesNotFollowFASB117Ind | 0 | X |
| IRS990PF/Form990PFBalanceSheetsGrp/OtherAssetsEOYAmt | 0 | 588 |
| IRS990PF/Form990PFBalanceSheetsGrp/OtherAssetsEOYFMVAmt | 0 | 588 |
| IRS990PF/Form990PFBalanceSheetsGrp/OtherInvestmentsBOYAmt | 0 | 2186956 |
| IRS990PF/Form990PFBalanceSheetsGrp/OtherInvestmentsEOYAmt | 0 | 2683838 |
| IRS990PF/Form990PFBalanceSheetsGrp/OtherInvestmentsEOYFMVAmt | 0 | 3114713 |
| IRS990PF/Form990PFBalanceSheetsGrp/RetainedEarningBOYAmt | 0 | -586325 |
| IRS990PF/Form990PFBalanceSheetsGrp/RetainedEarningEOYAmt | 0 | -510592 |
| IRS990PF/Form990PFBalanceSheetsGrp/SavAndTempCashInvstBOYAmt | 0 | 58742 |
| IRS990PF/Form990PFBalanceSheetsGrp/SavAndTempCashInvstEOYAmt | 0 | 131382 |
| IRS990PF/Form990PFBalanceSheetsGrp/SavAndTempCashInvstEOYFMVAmt | 0 | 131382 |
| IRS990PF/Form990PFBalanceSheetsGrp/TotalAssetsBOYAmt | 0 | 4179266 |
| IRS990PF/Form990PFBalanceSheetsGrp/TotalAssetsEOYAmt | 0 | 5145639 |
| IRS990PF/Form990PFBalanceSheetsGrp/TotalAssetsEOYFMVAmt | 0 | 7941163 |
| IRS990PF/Form990PFBalanceSheetsGrp/TotalLiabilitiesBOYAmt | 0 | 0 |
| IRS990PF/Form990PFBalanceSheetsGrp/TotalLiabilitiesEOYAmt | 0 | 0 |
| IRS990PF/Form990PFBalanceSheetsGrp/TotalLiabilitiesNetAstBOYAmt | 0 | 4179266 |
| IRS990PF/Form990PFBalanceSheetsGrp/TotalLiabilitiesNetAstEOYAmt | 0 | 5145639 |
| IRS990PF/Form990PFBalanceSheetsGrp/TotNetAstOrFundBalancesBOYAmt | 0 | 4179266 |
| IRS990PF/Form990PFBalanceSheetsGrp/TotNetAstOrFundBalancesEOYAmt | 0 | 5145639 |
| IRS990PF/MethodOfAccountingCashInd | 0 | X |
| IRS990PF/MinimumInvestmentReturnGrp/AcquisitionIndebtednessAmt | 0 | 0 |
| IRS990PF/MinimumInvestmentReturnGrp/AdjustedTotalFMVOfUnusedAstAmt | 0 | 7577698 |
| IRS990PF/MinimumInvestmentReturnGrp/AverageMonthlyCashBalancesAmt | 0 | 146556 |
| IRS990PF/MinimumInvestmentReturnGrp/AverageMonthlyFMVOfSecAmt | 0 | 7430554 |
| IRS990PF/MinimumInvestmentReturnGrp/CashDeemedCharitableAmt | 0 | 113665 |
| IRS990PF/MinimumInvestmentReturnGrp/FMVAllOtherNoncharitableAstAmt | 0 | 588 |
| IRS990PF/MinimumInvestmentReturnGrp/MinimumInvestmentReturnAmt | 0 | 373202 |
| IRS990PF/MinimumInvestmentReturnGrp/NetVlNoncharitableAssetsAmt | 0 | 7464033 |
| IRS990PF/MinimumInvestmentReturnGrp/TotalFMVOfUnusedAssetsAmt | 0 | 7577698 |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/AverageHrsPerWkDevotedToPosRt | 0 | 0 |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/AverageHrsPerWkDevotedToPosRt | 1 | 0 |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/AverageHrsPerWkDevotedToPosRt | 2 | 0 |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/CompensationAmt | 0 | 0 |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/CompensationAmt | 1 | 0 |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/CompensationAmt | 2 | 0 |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/EmployeeBenefitProgramAmt | 0 | 0 |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/EmployeeBenefitProgramAmt | 1 | 0 |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/EmployeeBenefitProgramAmt | 2 | 0 |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/ExpenseAccountOtherAllwncAmt | 0 | 0 |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/ExpenseAccountOtherAllwncAmt | 1 | 0 |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/ExpenseAccountOtherAllwncAmt | 2 | 0 |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/PersonNm | 0 | JOHN DUFFY |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/PersonNm | 1 | HILARY DUFFY |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/PersonNm | 2 | KEVIN DUFFY |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/TitleTxt | 0 | TREASURER |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/TitleTxt | 1 | PRESIDENT |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/TitleTxt | 2 | VICE PRESIDENT |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/USAddress/AddressLine1Txt | 0 | 6 WAXCADOWA AVENUE |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/USAddress/AddressLine1Txt | 1 | 5 WEST 120TH STREET |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/USAddress/AddressLine1Txt | 2 | 168 ROCKING STONE LANE |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/USAddress/CityNm | 0 | WESTERLY |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/USAddress/CityNm | 1 | NEW YORK |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/USAddress/CityNm | 2 | MANCHESTER CENTER |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/USAddress/StateAbbreviationCd | 0 | RI |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/USAddress/StateAbbreviationCd | 1 | NY |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/USAddress/StateAbbreviationCd | 2 | VT |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/USAddress/ZIPCd | 0 | 02891 |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/USAddress/ZIPCd | 1 | 10027 |
| IRS990PF/OfficerDirTrstKeyEmplInfoGrp/OfficerDirTrstKeyEmplGrp/USAddress/ZIPCd | 2 | 05255 |
| IRS990PF/Organization501c3ExemptPFInd | 0 | X |
| IRS990PF/PFQualifyingDistributionsGrp/CharitableAssetsAcquisPaidAmt | 0 | 0 |
| IRS990PF/PFQualifyingDistributionsGrp/ExpensesAndContributionsAmt | 0 | 408165 |
| IRS990PF/PFQualifyingDistributionsGrp/ProgramRelatedInvstTotalAmt | 0 | 0 |
| IRS990PF/PFQualifyingDistributionsGrp/QualifyingDistributionsAmt | 0 | 408165 |
| IRS990PF/PFQualifyingDistributionsGrp/SetAsideCashDistriTestAmt | 0 | 0 |
| IRS990PF/PFQualifyingDistributionsGrp/SetAsideSuitabilityTestAmt | 0 | 0 |
| IRS990PF/StatementsRegardingActy4720Grp/BrrwOrLendDisqualifiedPrsnInd | 0 | false |
| IRS990PF/StatementsRegardingActy4720Grp/BusinessHoldingsInd | 0 | false |
| IRS990PF/StatementsRegardingActy4720Grp/FurnGoodsDisqualifiedPrsnInd | 0 | false |
| IRS990PF/StatementsRegardingActy4720Grp/GrantsToIndividualsInd | 0 | false |
| IRS990PF/StatementsRegardingActy4720Grp/GrantsToOrganizationsInd | 0 | false |
| IRS990PF/StatementsRegardingActy4720Grp/InfluenceElectionInd | 0 | false |
| IRS990PF/StatementsRegardingActy4720Grp/InfluenceLegislationInd | 0 | false |
| IRS990PF/StatementsRegardingActy4720Grp/JeopardyInvestmentsInd | 0 | false |
| IRS990PF/StatementsRegardingActy4720Grp/NoncharitablePurposeInd | 0 | false |
| IRS990PF/StatementsRegardingActy4720Grp/PayCompDisqualifiedPrsnInd | 0 | false |
| IRS990PF/StatementsRegardingActy4720Grp/PaymentToGovernmentOfficialInd | 0 | false |
| IRS990PF/StatementsRegardingActy4720Grp/PayPremiumsPrsnlBnftCntrctInd | 0 | false |
| IRS990PF/StatementsRegardingActy4720Grp/ProhibitedTaxShelterTransInd | 0 | false |
| IRS990PF/StatementsRegardingActy4720Grp/RcvFndsToPayPrsnlBnftCntrctInd | 0 | false |
| IRS990PF/StatementsRegardingActy4720Grp/SaleOrExchDisqualifiedPrsnInd | 0 | false |
| IRS990PF/StatementsRegardingActy4720Grp/TransferAstDisqualifiedPrsnInd | 0 | false |
| IRS990PF/StatementsRegardingActy4720Grp/UncorrectedPriorActsInd | 0 | false |
| IRS990PF/StatementsRegardingActy4720Grp/UncorrectedPYJeopardyInvstInd | 0 | false |
| IRS990PF/StatementsRegardingActy4720Grp/UndistributedIncomePYInd | 0 | false |
| IRS990PF/StatementsRegardingActyGrp/ActivitiesNotPreviouslyRptInd | 0 | false |
| IRS990PF/StatementsRegardingActyGrp/AtLeast5000InAssetsInd | 0 | true |
| IRS990PF/StatementsRegardingActyGrp/ChangesToArticlesOrBylawsInd | 0 | false |
| IRS990PF/StatementsRegardingActyGrp/ComplyWithPublicInspRqrInd | 0 | true |
| IRS990PF/StatementsRegardingActyGrp/DonorAdvisedFundInd | 0 | false |
| IRS990PF/StatementsRegardingActyGrp/ForeignAccountsQuestionInd | 0 | false |
| IRS990PF/StatementsRegardingActyGrp/Form1120POLFiledInd | 0 | false |
| IRS990PF/StatementsRegardingActyGrp/Form990PFFiledWithAttyGenInd | 0 | true |
| IRS990PF/StatementsRegardingActyGrp/LegislativePoliticalActyInd | 0 | false |
| IRS990PF/StatementsRegardingActyGrp/LocationOfBooksUSAddress/AddressLine1Txt | 0 | C/O JAD CONSULTING LLC-61 BROADWAY |
| IRS990PF/StatementsRegardingActyGrp/LocationOfBooksUSAddress/CityNm | 0 | NEW YORK |
| IRS990PF/StatementsRegardingActyGrp/LocationOfBooksUSAddress/StateAbbreviationCd | 0 | NY |
| IRS990PF/StatementsRegardingActyGrp/LocationOfBooksUSAddress/ZIPCd | 0 | 10006 |
| IRS990PF/StatementsRegardingActyGrp/MoreThan100SpentInd | 0 | false |
| IRS990PF/StatementsRegardingActyGrp/NewSubstantialContributorsInd | 0 | false |
| IRS990PF/StatementsRegardingActyGrp/OrganizationDissolvedEtcInd | 0 | false |
| IRS990PF/StatementsRegardingActyGrp/OrgReportOrRegisterStateCd | 0 | NJ |
| IRS990PF/StatementsRegardingActyGrp/OrgReportOrRegisterStateCd | 1 | RI |
| IRS990PF/StatementsRegardingActyGrp/OwnControlledEntityInd | 0 | false |
| IRS990PF/StatementsRegardingActyGrp/PersonsWithBooksName/BusinessNameLine1Txt | 0 | JOHN DUFFY |
| IRS990PF/StatementsRegardingActyGrp/PhoneNum | 0 | 9739192167 |
| IRS990PF/StatementsRegardingActyGrp/PrivateOperatingFoundationInd | 0 | false |
| IRS990PF/StatementsRegardingActyGrp/Section4955ManagersTaxAmt | 0 | 0 |
| IRS990PF/StatementsRegardingActyGrp/Section4955OrganizationTaxAmt | 0 | 0 |
| IRS990PF/StatementsRegardingActyGrp/Section508eRqrSatisfiedInd | 0 | true |
| IRS990PF/StatementsRegardingActyGrp/TaxReimbursedAmt | 0 | 0 |
| IRS990PF/StatementsRegardingActyGrp/UnrelatedBusIncmOverLimitInd | 0 | false |
| IRS990PF/StatementsRegardingActyGrp/WebsiteAddressTxt | 0 | N/A |
| IRS990PF/SummaryOfDirectChrtblActyGrp/Description1Txt | 0 | NOT APPLICABLE |
| IRS990PF/SummaryOfDirectChrtblActyGrp/Expenses1Amt | 0 | 0 |
| IRS990PF/SumOfProgramRelatedInvstGrp/AllOtherProgramRltdInvstTotAmt | 0 | 0 |
| IRS990PF/SumOfProgramRelatedInvstGrp/Description1Txt | 0 | NOT APPLICABLE |
| IRS990PF/SumOfProgramRelatedInvstGrp/Expenses1Amt | 0 | 0 |
| IRS990PF/SumOfProgramRelatedInvstGrp/TotalAmt | 0 | 0 |
| IRS990PF/SupplementaryInformationGrp/ContributingManagerNm | 0 | JOHN DUFFY |
| IRS990PF/SupplementaryInformationGrp/GrantOrContributionPdDurYrGrp/Amt | 0 | 402642 |
| IRS990PF/SupplementaryInformationGrp/GrantOrContributionPdDurYrGrp/GrantOrContributionPurposeTxt | 0 | THE PURPOSE OF THE CONTRIBUTIONS IS TO AID EACH DONEE ORGANIZATION IN CARRYING OUT ITS EXEMPT FUNCTION. |
| IRS990PF/SupplementaryInformationGrp/GrantOrContributionPdDurYrGrp/RecipientBusinessName/BusinessNameLine1Txt | 0 | SEE SCHEDULE 3 |
| IRS990PF/SupplementaryInformationGrp/GrantOrContributionPdDurYrGrp/RecipientUSAddress/AddressLine1Txt | 0 | C/O JAD CONSULTING LLC |
| IRS990PF/SupplementaryInformationGrp/GrantOrContributionPdDurYrGrp/RecipientUSAddress/AddressLine2Txt | 0 | 61 BROADWAY SUITE 512 |
| IRS990PF/SupplementaryInformationGrp/GrantOrContributionPdDurYrGrp/RecipientUSAddress/CityNm | 0 | NEW YORK |
| IRS990PF/SupplementaryInformationGrp/GrantOrContributionPdDurYrGrp/RecipientUSAddress/StateAbbreviationCd | 0 | NY |
| IRS990PF/SupplementaryInformationGrp/GrantOrContributionPdDurYrGrp/RecipientUSAddress/ZIPCd | 0 | 10006 |
| IRS990PF/SupplementaryInformationGrp/OnlyContriToPreselectedInd | 0 | X |
| IRS990PF/SupplementaryInformationGrp/ShareholderManagerNm | 0 | NONE |
| IRS990PF/SupplementaryInformationGrp/TotalGrantOrContriPdDurYrAmt | 0 | 402642 |
| IRS990PF/TrnsfrTransRlnNonchrtblEOGrp/LoansOrLoanGuaranteesInd | 0 | false |
| IRS990PF/TrnsfrTransRlnNonchrtblEOGrp/PerformanceOfServicesEtcInd | 0 | false |
| IRS990PF/TrnsfrTransRlnNonchrtblEOGrp/PurchaseOfAssetsNonchrtblEOInd | 0 | false |
| IRS990PF/TrnsfrTransRlnNonchrtblEOGrp/ReimbursementArrangementsInd | 0 | false |
| IRS990PF/TrnsfrTransRlnNonchrtblEOGrp/RelationshipsNonchrtblEOInd | 0 | false |
| IRS990PF/TrnsfrTransRlnNonchrtblEOGrp/RentalOfFacilitiesOthAssetsInd | 0 | false |
| IRS990PF/TrnsfrTransRlnNonchrtblEOGrp/SalesOrExchangesOfAssetsInd | 0 | false |
| IRS990PF/TrnsfrTransRlnNonchrtblEOGrp/SharingOfFacilitiesEtcInd | 0 | false |
| IRS990PF/TrnsfrTransRlnNonchrtblEOGrp/TrnsfrOfCashToNonchrtblEOInd | 0 | false |
| IRS990PF/TrnsfrTransRlnNonchrtblEOGrp/TrnsfrOtherAssetNonchrtblEOInd | 0 | false |
| IRS990PF/UndistributedIncomeGrp/AppliedToCurrentYearAmt | 0 | 360375 |
| IRS990PF/UndistributedIncomeGrp/AppliedToYear1Amt | 0 | 0 |
| IRS990PF/UndistributedIncomeGrp/DistributableAsAdjustedAmt | 0 | 360375 |
| IRS990PF/UndistributedIncomeGrp/ExcessDistributionCyovYr1Amt | 0 | 82315 |
| IRS990PF/UndistributedIncomeGrp/ExcessDistributionCyovYr2Amt | 0 | 3268 |
| IRS990PF/UndistributedIncomeGrp/ExcessDistributionCyovYr3Amt | 0 | 0 |
| IRS990PF/UndistributedIncomeGrp/ExcessDistributionCyovYr4Amt | 0 | 0 |
| IRS990PF/UndistributedIncomeGrp/ExcessDistributionCyovYr5Amt | 0 | 0 |
| IRS990PF/UndistributedIncomeGrp/ExcessDistriCyovFromYr5Amt | 0 | 0 |
| IRS990PF/UndistributedIncomeGrp/ExcessDistriCyovToNextYrAmt | 0 | 133373 |
| IRS990PF/UndistributedIncomeGrp/ExcessFromCurrentYearAmt | 0 | 47790 |
| IRS990PF/UndistributedIncomeGrp/ExcessFromYear1Amt | 0 | 82315 |
| IRS990PF/UndistributedIncomeGrp/ExcessFromYear2Amt | 0 | 3268 |
| IRS990PF/UndistributedIncomeGrp/ExcessFromYear3Amt | 0 | 0 |
| IRS990PF/UndistributedIncomeGrp/ExcessFromYear4Amt | 0 | 0 |
| IRS990PF/UndistributedIncomeGrp/PriorYear1Yr | 0 | 2022 |
| IRS990PF/UndistributedIncomeGrp/PriorYear2Yr | 0 | 2021 |
| IRS990PF/UndistributedIncomeGrp/PriorYear3Yr | 0 | 2020 |
| IRS990PF/UndistributedIncomeGrp/PriorYearUndistributedIncmAmt | 0 | 0 |
| IRS990PF/UndistributedIncomeGrp/QualifyingDistributionsAmt | 0 | 408165 |
| IRS990PF/UndistributedIncomeGrp/RemainingDistriFromCorpusAmt | 0 | 47790 |
| IRS990PF/UndistributedIncomeGrp/Taxable1Amt | 0 | 0 |
| IRS990PF/UndistributedIncomeGrp/Taxable2Amt | 0 | 0 |
| IRS990PF/UndistributedIncomeGrp/TotalCorpusAmt | 0 | 133373 |
| IRS990PF/UndistributedIncomeGrp/TotalExcessDistributionCyovAmt | 0 | 85583 |
| IRS990PF/UndistributedIncomeGrp/TotalForPriorYearsAmt | 0 | 0 |
| IRS990PF/UndistributedIncomeGrp/UndistributedIncomeCYAmt | 0 | 0 |
| IRS990PF/UndistributedIncomeGrp/UndistributedIncomePYAmt | 0 | 0 |
| IRS990ScheduleB/ContributorInformationGrp/ContributorNum | 0 | 1 |
| IRS990ScheduleB/ContributorInformationGrp/ContributorNum | 1 | 2 |
| IRS990ScheduleB/ContributorInformationGrp/ContributorPersonNm | 0 | JOHN DUFFY-CASH |
| IRS990ScheduleB/ContributorInformationGrp/ContributorPersonNm | 1 | JOHN DUFFY-SECURITIES |
| IRS990ScheduleB/ContributorInformationGrp/ContributorUSAddress/AddressLine1Txt | 0 | C/O JAD CONSULTING 61 BROADWAY SUIT |
| IRS990ScheduleB/ContributorInformationGrp/ContributorUSAddress/AddressLine1Txt | 1 | C/O JAD CONSULTING 61 BROADWAY SUIT |
| IRS990ScheduleB/ContributorInformationGrp/ContributorUSAddress/CityNm | 0 | NEW YORK |
| IRS990ScheduleB/ContributorInformationGrp/ContributorUSAddress/CityNm | 1 | NEW YORK |
| IRS990ScheduleB/ContributorInformationGrp/ContributorUSAddress/StateAbbreviationCd | 0 | NY |
| IRS990ScheduleB/ContributorInformationGrp/ContributorUSAddress/StateAbbreviationCd | 1 | NY |
| IRS990ScheduleB/ContributorInformationGrp/ContributorUSAddress/ZIPCd | 0 | 10006 |
| IRS990ScheduleB/ContributorInformationGrp/ContributorUSAddress/ZIPCd | 1 | 10006 |
| IRS990ScheduleB/ContributorInformationGrp/NoncashContributionInd | 0 | X |
| IRS990ScheduleB/ContributorInformationGrp/PersonContributionInd | 0 | X |
| IRS990ScheduleB/ContributorInformationGrp/TotalContributionsAmt | 0 | 300588 |
| IRS990ScheduleB/ContributorInformationGrp/TotalContributionsAmt | 1 | 590052 |
| IRS990ScheduleB/GeneralRuleInd | 0 | X |
| IRS990ScheduleB/NonCashPropertyContributionGrp/ContributorNum | 0 | 2 |
| IRS990ScheduleB/NonCashPropertyContributionGrp/ContributorNum | 1 | 2 |
| IRS990ScheduleB/NonCashPropertyContributionGrp/FairMarketValueAmt | 0 | 51054 |
| IRS990ScheduleB/NonCashPropertyContributionGrp/FairMarketValueAmt | 1 | 538998 |
| IRS990ScheduleB/NonCashPropertyContributionGrp/NoncashPropertyDesc | 0 | 200 SHS APPLE INC |
| IRS990ScheduleB/NonCashPropertyContributionGrp/NoncashPropertyDesc | 1 | 4,430 SHS THE TRADE DESK INC |
| IRS990ScheduleB/NonCashPropertyContributionGrp/ReceivedDt | 0 | 2024-12-23 |
| IRS990ScheduleB/NonCashPropertyContributionGrp/ReceivedDt | 1 | 2024-12-23 |
| IRS990ScheduleB/Organization501c3ExemptPFInd | 0 | X |
| OtherAssetsSchedule/OtherAssetsScheduleGrp/Desc | 0 | STALE CHECK |
| OtherAssetsSchedule/OtherAssetsScheduleGrp/EOYBookValueAmt | 0 | 588 |
| OtherAssetsSchedule/OtherAssetsScheduleGrp/EOYFMVAmt | 0 | 588 |
| OtherExpensesSchedule/OtherExpensesScheduleGrp/Desc | 0 | CT REP FEES |
| OtherExpensesSchedule/OtherExpensesScheduleGrp/Desc | 1 | NJ FILING FEE |
| OtherExpensesSchedule/OtherExpensesScheduleGrp/Desc | 2 | BANK FEES |
| OtherExpensesSchedule/OtherExpensesScheduleGrp/Desc | 3 | NONDIVIDEND DISTRIBUTION |
| OtherExpensesSchedule/OtherExpensesScheduleGrp/DisbursementsCharitablePrpsAmt | 0 | 588 |
| OtherExpensesSchedule/OtherExpensesScheduleGrp/DisbursementsCharitablePrpsAmt | 1 | 31 |
| OtherExpensesSchedule/OtherExpensesScheduleGrp/DisbursementsCharitablePrpsAmt | 2 | 4 |
| OtherExpensesSchedule/OtherExpensesScheduleGrp/RevenueAndExpensesPerBooksAmt | 0 | 588 |
| OtherExpensesSchedule/OtherExpensesScheduleGrp/RevenueAndExpensesPerBooksAmt | 1 | 31 |
| OtherExpensesSchedule/OtherExpensesScheduleGrp/RevenueAndExpensesPerBooksAmt | 2 | 4 |
| OtherExpensesSchedule/OtherExpensesScheduleGrp/RevenueAndExpensesPerBooksAmt | 3 | 4785 |
| OtherIncomeSchedule2/OtherIncomeDetail/Desc | 0 | MISCELLANEOUS INCOME |
| OtherProfessionalFeesSchedule/OtherProfessionalFeesDetail/Amt | 0 | 35497 |
| OtherProfessionalFeesSchedule/OtherProfessionalFeesDetail/CategoryTxt | 0 | INVESTMENT ADVISORY FEES |
| OtherProfessionalFeesSchedule/OtherProfessionalFeesDetail/NetInvestmentIncomeAmt | 0 | 35497 |
| TaxesSchedule/TaxesDetail/Amt | 0 | 20000 |
| TaxesSchedule/TaxesDetail/Amt | 1 | 12693 |
| TaxesSchedule/TaxesDetail/Amt | 2 | 304 |
| TaxesSchedule/TaxesDetail/CategoryTxt | 0 | EXCISE TAX-ESTIMATE |
| TaxesSchedule/TaxesDetail/CategoryTxt | 1 | EXCISE TAX-BALANCE DUE |
| TaxesSchedule/TaxesDetail/CategoryTxt | 2 | BALANCE DUE NOTICE |
| ReturnHeader/BuildTS | 0 | 2025-03-06 01:10:19Z |
| ReturnHeader/BusinessOfficerGrp/DiscussWithPaidPreparerInd | 0 | true |
| ReturnHeader/BusinessOfficerGrp/PersonNm | 0 | JOHN DUFFY |
| ReturnHeader/BusinessOfficerGrp/PersonTitleTxt | 0 | TREASURER |
| ReturnHeader/BusinessOfficerGrp/PhoneNum | 0 | 5202991825 |
| ReturnHeader/BusinessOfficerGrp/SignatureDt | 0 | 2026-02-26 |
| ReturnHeader/Filer/BusinessName/BusinessNameLine1Txt | 0 | JOHN & ANNE DUFFY FOUNDATION INC |
| ReturnHeader/Filer/BusinessNameControlTxt | 0 | JOHN |
| ReturnHeader/Filer/EIN | 0 | 222598324 |
| ReturnHeader/Filer/InCareOfNm | 0 | % JOHN DUFFY |
| ReturnHeader/Filer/PhoneNum | 0 | 9739192167 |
| ReturnHeader/Filer/USAddress/AddressLine1Txt | 0 | 6 WAXCADOWA AVENUE |
| ReturnHeader/Filer/USAddress/CityNm | 0 | WESTERLY |
| ReturnHeader/Filer/USAddress/StateAbbreviationCd | 0 | RI |
| ReturnHeader/Filer/USAddress/ZIPCd | 0 | 02891 |
| ReturnHeader/IRSResponsiblePrtyInfoCurrInd | 0 | true |
| ReturnHeader/PreparerFirmGrp/PreparerFirmName/BusinessNameLine1Txt | 0 | JAD CONSULTING LLC |
| ReturnHeader/PreparerFirmGrp/PreparerUSAddress/AddressLine1Txt | 0 | 61 BROADWAY-SUITE 512 |
| ReturnHeader/PreparerFirmGrp/PreparerUSAddress/CityNm | 0 | NEW YORK |
| ReturnHeader/PreparerFirmGrp/PreparerUSAddress/StateAbbreviationCd | 0 | NY |
| ReturnHeader/PreparerFirmGrp/PreparerUSAddress/ZIPCd | 0 | 10006 |
| ReturnHeader/PreparerPersonGrp/PhoneNum | 0 | 2125093525 |
| ReturnHeader/PreparerPersonGrp/PreparationDt | 0 | 2026-02-26 |
| ReturnHeader/PreparerPersonGrp/PreparerPersonNm | 0 | JOSEPH DE MAIO CPA |
| ReturnHeader/PreparerPersonGrp/SelfEmployedInd | 0 | X |
| ReturnHeader/ReturnTs | 0 | 2026-03-12T14:44:07-05:00 |
| ReturnHeader/ReturnTypeCd | 0 | 990PF |
| ReturnHeader/TaxPeriodBeginDt | 0 | 2024-12-01 |
| ReturnHeader/TaxPeriodEndDt | 0 | 2025-11-30 |
| ReturnHeader/TaxYr | 0 | 2024 |
No mirrored PDF or thumbnail assets are attached yet.