diff --git a/frontend/tests/fixtures/report-reader-main-fictional-en.json b/frontend/tests/fixtures/report-reader-main-fictional-en.json new file mode 100644 index 00000000..77f98905 --- /dev/null +++ b/frontend/tests/fixtures/report-reader-main-fictional-en.json @@ -0,0 +1,14 @@ +{ + "fixtureProvenance": { + "fictional": true, + "label": "虚构甲", + "birth": "1991-04-07 09:15 Asia/Shanghai-like offset +8, not a real person", + "edition": "reader_main", + "regeneratedFor": "TASK-report-english-edition-20260929", + "generator": "cmd_full_reading -> build_professional_report_reference_packet -> professional_report_reference._english_edition / _pl9_export_markdown_for_edition (one packet, languages zh+en)", + "language": "en", + "pairSha256": "fa4faf63c76c3b70558af7ee051bac45a6cf1ffb4874cdae2d6f6fcd8a912dac" + }, + "markdown": "# Vedic Astrology Chart Report\n\n## Birth Data and Charts\n\n- Born: 1991-04-07 09:15\n- Calculation settings: lahiri / mean\n\n### Birth Particulars / Hindu Calendar\n\n| Field | Value |\n|-------|-------|\n| Birth date | 1991-04-07 |\n| Birth time | 09:15 |\n| Latitude | 30.5728 |\n| Longitude | 104.0668 |\n| Time zone | UTC+8.0 |\n| Ayanamsa | Lahiri |\n| Ayanamsa name | lahiri |\n| Ayanamsa value | 23.735 |\n| Node mode | mean |\n\n| Panchanga | Value |\n|-----------|-------|\n| Overall quality | Mixed |\n| Auspicious elements | 3 |\n| Total elements | 6 |\n\n### Birth Chart Planetary Positions\n\n| Planet | R/C | Sign | Degree | Longitude | House | Nakshatra | Pada | Speed |\n|--------|-----|------|--------|-----------|-------|-----------|------|-------|\n| Sun | C | Pisces | 22.99° | 352.99° | 11 | Revati | 2 | 0.983816 |\n| Moon | C | Sagittarius | 20.50° | 260.50° | 8 | Purva Ashadha | 3 | 11.838419 |\n| Mars | C | Gemini | 8.40° | 68.40° | 2 | Ardra | 1 | 0.535139 |\n| Mercury | R | Aries | 4.99° | 4.99° | 12 | Ashwini | 2 | -0.251851 |\n| Jupiter | C | Cancer | 9.90° | 99.90° | 3 | Pushya | 2 | 0.023622 |\n| Venus | C | Aries | 29.23° | 29.23° | 12 | Krittika | 1 | 1.186233 |\n| Saturn | C | Capricorn | 11.82° | 281.82° | 9 | Shravana | 1 | 0.062245 |\n| Rahu | R | Capricorn | 0.31° | 270.31° | 9 | Uttara Ashadha | 2 | -0.052944 |\n| Ketu | R | Cancer | 0.31° | 90.31° | 3 | Punarvasu | 4 | -0.052944 |\n\n#### Planet Lords and Dignity\n\n| Planet | Sign lord | Star lord | Sub lord | Sub-sub lord | Dignity | Strength ratio |\n|------|--------|--------|------|--------|----------|--------|\n| Sun | Jupiter | Mercury | Moon | Mercury | Neutral | 1.86 |\n| Moon | Jupiter | Venus | Jupiter | Saturn | Enemy Sign | 1.15 |\n| Mars | Mercury | Rahu | Rahu | Moon | Neutral | 1.10 |\n| Mercury | Mars | Ketu | Mars | Jupiter | Friendly Sign | 1.08 |\n| Jupiter | Moon | Saturn | Venus | Mercury | Exalted | 1.18 |\n| Venus | Mars | Sun | Rahu | Rahu | Friendly Sign | 1.45 |\n| Saturn | Saturn | Moon | Mars | Sun | Own Sign | 1.43 |\n| Rahu | Saturn | Sun | Rahu | Mercury | Neutral | - |\n| Ketu | Moon | Jupiter | Moon | Ketu | Great Enemy | - |\n\nSign lord, star lord, sub lord and sub-sub lord: the rulers of the planet's sign, nakshatra and KP subdivisions. Strength ratio: Shadbala against the required strength; 1 or above meets it.\n\n### Chandra Chart / Bhava Spashta - Sripati System\n\n| Moon Chart | Sign | Degree | House |\n|------------|------|--------|-------|\n| Sun | Pisces | 352.99° | 4 |\n| Moon | Sagittarius | 260.50° | 1 |\n| Mars | Gemini | 68.40° | 7 |\n| Mercury | Aries | 4.99° | 5 |\n| Jupiter | Cancer | 99.90° | 8 |\n| Venus | Aries | 29.23° | 5 |\n| Saturn | Capricorn | 281.82° | 2 |\n| Rahu | Capricorn | 270.31° | 2 |\n| Ketu | Cancer | 90.31° | 8 |\n\n| Bhava Number | Bhava Arambha / House beginning | Bhava Madhya / Middle of House | Bhava Antya / House ending |\n|--------------|----------------------------------|-------------------------------|-----------------------------|\n| 1 | 20.95° | Taurus 8.86° | 50.95° |\n| 2 | 50.95° | Gemini 3.05° | 75.15° |\n| 3 | 75.15° | Gemini 27.24° | 99.34° |\n| 4 | 99.34° | Cancer 21.44° | 129.34° |\n| 5 | 129.34° | Leo 27.24° | 165.15° |\n| 6 | 165.15° | Libra 3.05° | 200.95° |\n| 7 | 200.95° | Scorpio 8.86° | 230.95° |\n| 8 | 230.95° | Sagittarius 3.05° | 255.15° |\n| 9 | 255.15° | Sagittarius 27.24° | 279.34° |\n| 10 | 279.34° | Capricorn 21.44° | 309.34° |\n| 11 | 309.34° | Aquarius 27.24° | 345.15° |\n| 12 | 345.15° | Aries 3.05° | 20.95° |\n\n### Upagraha / Sub-Planet Positions\n\n| Point | Sign | Degree | Longitude |\n|-------|------|--------|-----------|\n| Kaala | Aries | 7.99° | 7.99° |\n| Mrityu | Gemini | 1.35° | 61.35° |\n| Artha_Praharaka | Gemini | 22.65° | 82.65° |\n| Yama_Ghantaka | Cancer | 12.80° | 102.80° |\n| Gulika | Leo | 13.02° | 133.02° |\n| Maandi | Leo | 23.26° | 143.26° |\n| Dhuma | Leo | 6.33° | 126.33° |\n| Vyatipata | Scorpio | 23.67° | 233.67° |\n| Parivesha | Taurus | 23.67° | 53.67° |\n| Indrachapa | Aquarius | 6.33° | 306.33° |\n| Upaketu | Aquarius | 22.99° | 322.99° |\n\n### Special Lagnas and Points\n\n| Point | Sign | Degree | House |\n|-------|------|--------|-------|\n| Bhava_Lagna | Leo | 11.35° | 4 |\n| Hora_Lagna | Gemini | 27.61° | 2 |\n| Ghati_Lagna | Gemini | 27.61° | 2 |\n| Arudha_Lagna | Pisces | 29.23° | 11 |\n| Upapada_Lagna | Leo | 8.40° | 4 |\n| A10_Karma_Pada | Sagittarius | 11.82° | 8 |\n\n#### Sensitive Points and Special Placements\n\n| Point | Sign | Degree | Longitude | Lord |\n|-------|------|--------|-----------|------|\n| bhrigu_bindu | Gemini | 25.41° | 85.41° | Mercury |\n| sarpa_drekkana / Sun | Pisces | 22.99° | 352.99° | Not supplied by source |\n\n### Natal and Divisional Charts (North Indian)\n\n##### D1 Rashi\n\n##### Moon Chart\n\n##### Navamsha\n\n##### Bhava (Sripati)\n\n##### D5 Panchamsa\n\n##### D6 Shashthamsa\n\n##### D9 Navamsa\n\n##### D10 Dasamsa\n\n##### D2 Hora\n\n##### D12 Dwadashamsa\n\n##### D16 Shodasamsa\n\n##### D20 Vimsamsa\n\n##### D27 Bhamsa\n\n##### D30 Trimsamsa\n\n##### D40 Khavedamsa\n\n##### D45 Akshavedamsa\n\n##### D60 Shashtyamsa\n\n##### D7 Saptamsa\n\n##### D11 Rudramsa\n\n#### D1 Rashi Position Table\n\n| Body | Sign | Degree in sign | Longitude | Whole-sign house |\n|------|------|----------|------|----------|\n| Sun | Pisces | 22.99° | 352.99° | 11 |\n| Moon | Sagittarius | 20.50° | 260.50° | 8 |\n| Mars | Gemini | 8.40° | 68.40° | 2 |\n| Mercury | Aries | 4.99° | 4.99° | 12 |\n| Jupiter | Cancer | 9.90° | 99.90° | 3 |\n| Venus | Aries | 29.23° | 29.23° | 12 |\n| Saturn | Capricorn | 11.82° | 281.82° | 9 |\n| Rahu | Capricorn | 0.31° | 270.31° | 9 |\n| Ketu | Cancer | 0.31° | 90.31° | 3 |\n\n#### D2 Hora Position Table\n\n| Body | Sign | Degree in sign | Longitude | Whole-sign house |\n|------|------|----------|------|----------|\n| Lagna | Cancer | 17.71° | 107.71° | 1 |\n| Sun | Leo | 15.99° | 135.99° | 2 |\n| Moon | Cancer | 11.00° | 101.00° | 1 |\n| Mars | Leo | 16.81° | 136.81° | 2 |\n| Mercury | Leo | 9.99° | 129.99° | 2 |\n| Jupiter | Cancer | 19.81° | 109.81° | 1 |\n| Venus | Cancer | 28.45° | 118.45° | 1 |\n| Saturn | Cancer | 23.65° | 113.65° | 1 |\n| Rahu | Cancer | 0.63° | 90.63° | 1 |\n| Ketu | Cancer | 0.63° | 90.63° | 1 |\n\n#### D3 Drekkana Position Table\n\n| Body | Sign | Degree in sign | Longitude | Whole-sign house |\n|------|------|----------|------|----------|\n| Lagna | Taurus | 26.57° | 56.57° | 1 |\n| Sun | Scorpio | 8.98° | 218.98° | 7 |\n| Moon | Leo | 1.51° | 121.51° | 4 |\n| Mars | Gemini | 25.21° | 85.21° | 2 |\n| Mercury | Aries | 14.98° | 14.98° | 12 |\n| Jupiter | Cancer | 29.71° | 119.71° | 3 |\n| Venus | Sagittarius | 27.68° | 267.68° | 8 |\n| Saturn | Taurus | 5.47° | 35.47° | 1 |\n| Rahu | Capricorn | 0.94° | 270.94° | 9 |\n| Ketu | Cancer | 0.94° | 90.94° | 3 |\n\n#### D4 Turyamsa Position Table\n\n| Body | Sign | Degree in sign | Longitude | Whole-sign house |\n|------|------|----------|------|----------|\n| Lagna | Leo | 5.42° | 125.42° | 1 |\n| Sun | Sagittarius | 1.98° | 241.98° | 5 |\n| Moon | Gemini | 22.01° | 82.01° | 11 |\n| Mars | Virgo | 3.61° | 153.61° | 2 |\n| Mercury | Aries | 19.97° | 19.97° | 9 |\n| Jupiter | Libra | 9.61° | 189.61° | 3 |\n| Venus | Capricorn | 26.91° | 296.91° | 6 |\n| Saturn | Aries | 17.29° | 17.29° | 9 |\n| Rahu | Capricorn | 1.25° | 271.25° | 6 |\n| Ketu | Cancer | 1.25° | 91.25° | 12 |\n\n#### D5 Panchamsa Position Table\n\n| Body | Sign | Degree in sign | Longitude | Whole-sign house |\n|------|------|----------|------|----------|\n| Lagna | Aquarius | 14.28° | 314.28° | 1 |\n| Sun | Aquarius | 24.97° | 324.97° | 1 |\n| Moon | Pisces | 12.51° | 342.51° | 2 |\n| Mars | Cancer | 12.01° | 102.01° | 6 |\n| Mercury | Aries | 24.97° | 24.97° | 3 |\n| Jupiter | Aries | 19.51° | 19.51° | 3 |\n| Venus | Leo | 26.14° | 146.14° | 7 |\n| Saturn | Libra | 29.11° | 209.11° | 9 |\n| Rahu | Virgo | 1.56° | 151.56° | 8 |\n| Ketu | Pisces | 1.56° | 331.56° | 2 |\n\n#### D6 Shashthamsa Position Table\n\n| Body | Sign | Degree in sign | Longitude | Whole-sign house |\n|------|------|----------|------|----------|\n| Lagna | Sagittarius | 23.13° | 263.13° | 1 |\n| Sun | Capricorn | 17.97° | 287.97° | 2 |\n| Moon | Aries | 3.01° | 3.01° | 5 |\n| Mars | Cancer | 20.42° | 110.42° | 8 |\n| Mercury | Aries | 29.96° | 29.96° | 5 |\n| Jupiter | Aquarius | 29.42° | 329.42° | 3 |\n| Venus | Virgo | 25.36° | 175.36° | 10 |\n| Saturn | Virgo | 10.94° | 160.94° | 10 |\n| Rahu | Cancer | 1.88° | 91.88° | 8 |\n| Ketu | Capricorn | 1.88° | 271.88° | 2 |\n\n#### D7 Saptamsa Position Table\n\n| Body | Sign | Degree in sign | Longitude | Whole-sign house |\n|------|------|----------|------|----------|\n| Lagna | Capricorn | 1.99° | 271.99° | 1 |\n| Sun | Aquarius | 10.96° | 310.96° | 2 |\n| Moon | Aries | 23.51° | 23.51° | 4 |\n| Mars | Cancer | 28.82° | 118.82° | 7 |\n| Mercury | Taurus | 4.95° | 34.95° | 5 |\n| Jupiter | Pisces | 9.32° | 339.32° | 3 |\n| Venus | Libra | 24.59° | 204.59° | 10 |\n| Saturn | Virgo | 22.76° | 172.76° | 9 |\n| Rahu | Cancer | 2.19° | 92.19° | 7 |\n| Ketu | Capricorn | 2.19° | 272.19° | 1 |\n\n#### D8 Ashtamsa Position Table\n\n| Body | Sign | Degree in sign | Longitude | Whole-sign house |\n|------|------|----------|------|----------|\n| Lagna | Pisces | 10.84° | 340.84° | 1 |\n| Sun | Taurus | 3.96° | 33.96° | 3 |\n| Moon | Taurus | 14.02° | 44.02° | 3 |\n| Mars | Leo | 7.22° | 127.22° | 6 |\n| Mercury | Taurus | 9.94° | 39.94° | 3 |\n| Jupiter | Taurus | 19.22° | 49.22° | 3 |\n| Venus | Scorpio | 23.82° | 233.82° | 9 |\n| Saturn | Sagittarius | 4.58° | 244.58° | 10 |\n| Rahu | Virgo | 2.50° | 152.50° | 7 |\n| Ketu | Pisces | 2.50° | 332.50° | 1 |\n\n#### D9 Navamsa Position Table\n\n| Body | Sign | Degree in sign | Longitude | Whole-sign house |\n|------|------|----------|------|----------|\n| Lagna | Pisces | 19.70° | 349.70° | 1 |\n| Sun | Capricorn | 26.95° | 296.95° | 11 |\n| Moon | Libra | 4.52° | 184.52° | 8 |\n| Mars | Sagittarius | 15.63° | 255.63° | 10 |\n| Mercury | Taurus | 14.94° | 44.94° | 3 |\n| Jupiter | Virgo | 29.13° | 179.13° | 7 |\n| Venus | Sagittarius | 23.05° | 263.05° | 10 |\n| Saturn | Aries | 16.41° | 16.41° | 2 |\n| Rahu | Capricorn | 2.82° | 272.82° | 11 |\n| Ketu | Cancer | 2.82° | 92.82° | 5 |\n\n#### D10 Dasamsa Position Table\n\n| Body | Sign | Degree in sign | Longitude | Whole-sign house |\n|------|------|----------|------|----------|\n| Lagna | Pisces | 28.55° | 358.55° | 1 |\n| Sun | Gemini | 19.94° | 79.94° | 4 |\n| Moon | Gemini | 25.02° | 85.02° | 4 |\n| Mars | Leo | 24.03° | 144.03° | 6 |\n| Mercury | Taurus | 19.93° | 49.93° | 3 |\n| Jupiter | Gemini | 9.03° | 69.03° | 4 |\n| Venus | Capricorn | 22.27° | 292.27° | 11 |\n| Saturn | Sagittarius | 28.23° | 268.23° | 10 |\n| Rahu | Virgo | 3.13° | 153.13° | 7 |\n| Ketu | Pisces | 3.13° | 333.13° | 1 |\n\n#### D11 Rudramsa Position Table\n\n| Body | Sign | Degree in sign | Longitude | Whole-sign house |\n|------|------|----------|------|----------|\n| Lagna | Aries | 7.41° | 7.41° | 1 |\n| Sun | Cancer | 12.94° | 102.94° | 4 |\n| Moon | Cancer | 15.52° | 105.52° | 4 |\n| Mars | Virgo | 2.43° | 152.43° | 6 |\n| Mercury | Taurus | 24.92° | 54.92° | 2 |\n| Jupiter | Gemini | 18.93° | 78.93° | 3 |\n| Venus | Aquarius | 21.50° | 321.50° | 11 |\n| Saturn | Capricorn | 10.05° | 280.05° | 10 |\n| Rahu | Virgo | 3.44° | 153.44° | 6 |\n| Ketu | Pisces | 3.44° | 333.44° | 12 |\n\n#### D12 Dwadashamsa Position Table\n\n| Body | Sign | Degree in sign | Longitude | Whole-sign house |\n|------|------|----------|------|----------|\n| Lagna | Leo | 16.26° | 136.26° | 1 |\n| Sun | Sagittarius | 5.93° | 245.93° | 5 |\n| Moon | Leo | 6.02° | 126.02° | 1 |\n| Mars | Virgo | 10.83° | 160.83° | 2 |\n| Mercury | Taurus | 29.92° | 59.92° | 10 |\n| Jupiter | Libra | 28.84° | 208.84° | 3 |\n| Venus | Pisces | 20.73° | 350.73° | 8 |\n| Saturn | Taurus | 21.87° | 51.87° | 10 |\n| Rahu | Capricorn | 3.75° | 273.75° | 6 |\n| Ketu | Cancer | 3.75° | 93.75° | 12 |\n\n#### D16 Shodasamsa Position Table\n\n| Body | Sign | Degree in sign | Longitude | Whole-sign house |\n|------|------|----------|------|----------|\n| Lagna | Sagittarius | 21.68° | 261.68° | 1 |\n| Sun | Leo | 7.91° | 127.91° | 9 |\n| Moon | Aquarius | 28.03° | 328.03° | 3 |\n| Mars | Leo | 14.44° | 134.44° | 9 |\n| Mercury | Gemini | 19.89° | 79.89° | 7 |\n| Jupiter | Capricorn | 8.45° | 278.45° | 2 |\n| Venus | Cancer | 17.64° | 107.64° | 8 |\n| Saturn | Aquarius | 9.17° | 309.17° | 3 |\n| Rahu | Leo | 5.01° | 125.01° | 9 |\n| Ketu | Leo | 5.01° | 125.01° | 9 |\n\n#### D20 Vimsamsa Position Table\n\n| Body | Sign | Degree in sign | Longitude | Whole-sign house |\n|------|------|----------|------|----------|\n| Lagna | Taurus | 27.10° | 57.10° | 1 |\n| Sun | Pisces | 9.89° | 339.89° | 11 |\n| Moon | Taurus | 20.04° | 50.04° | 1 |\n| Mars | Virgo | 18.06° | 168.06° | 5 |\n| Mercury | Cancer | 9.86° | 99.86° | 3 |\n| Jupiter | Gemini | 18.06° | 78.06° | 2 |\n| Venus | Scorpio | 14.55° | 224.55° | 7 |\n| Saturn | Cancer | 26.46° | 116.46° | 3 |\n| Rahu | Sagittarius | 6.26° | 246.26° | 8 |\n| Ketu | Sagittarius | 6.26° | 246.26° | 8 |\n\n#### D24 Siddhamsa Position Table\n\n| Body | Sign | Degree in sign | Longitude | Whole-sign house |\n|------|------|----------|------|----------|\n| Lagna | Aquarius | 2.52° | 302.52° | 1 |\n| Sun | Capricorn | 11.87° | 281.87° | 12 |\n| Moon | Sagittarius | 12.05° | 252.05° | 11 |\n| Mars | Aquarius | 21.67° | 321.67° | 1 |\n| Mercury | Scorpio | 29.83° | 239.83° | 10 |\n| Jupiter | Aquarius | 27.67° | 327.67° | 1 |\n| Venus | Cancer | 11.46° | 101.46° | 6 |\n| Saturn | Aries | 13.75° | 13.75° | 3 |\n| Rahu | Cancer | 7.51° | 97.51° | 6 |\n| Ketu | Cancer | 7.51° | 97.51° | 6 |\n\n#### D27 Bhamsa Position Table\n\n| Body | Sign | Degree in sign | Longitude | Whole-sign house |\n|------|------|----------|------|----------|\n| Lagna | Taurus | 29.09° | 59.09° | 1 |\n| Sun | Gemini | 20.85° | 80.85° | 2 |\n| Moon | Libra | 13.55° | 193.55° | 6 |\n| Mars | Scorpio | 16.88° | 226.88° | 7 |\n| Mercury | Leo | 14.81° | 134.81° | 4 |\n| Jupiter | Gemini | 27.38° | 87.38° | 2 |\n| Venus | Gemini | 9.14° | 69.14° | 2 |\n| Saturn | Leo | 19.22° | 139.22° | 4 |\n| Rahu | Libra | 8.45° | 188.45° | 6 |\n| Ketu | Libra | 8.45° | 188.45° | 6 |\n\n#### D30 Trimsamsa Position Table\n\n| Body | Sign | Degree in sign | Longitude | Whole-sign house |\n|------|------|----------|------|----------|\n| Lagna | Virgo | 25.66° | 175.66° | 1 |\n| Sun | Scorpio | 29.83° | 239.83° | 3 |\n| Moon | Gemini | 15.06° | 75.06° | 10 |\n| Mars | Aquarius | 12.08° | 312.08° | 6 |\n| Mercury | Aries | 29.79° | 29.79° | 8 |\n| Jupiter | Virgo | 27.09° | 177.09° | 1 |\n| Venus | Libra | 6.82° | 186.82° | 2 |\n| Saturn | Virgo | 24.68° | 174.68° | 1 |\n| Rahu | Taurus | 9.39° | 39.39° | 9 |\n| Ketu | Taurus | 9.39° | 39.39° | 9 |\n\n#### D40 Khavedamsa Position Table\n\n| Body | Sign | Degree in sign | Longitude | Whole-sign house |\n|------|------|----------|------|----------|\n| Lagna | Virgo | 24.21° | 174.21° | 1 |\n| Sun | Aries | 19.78° | 19.78° | 8 |\n| Moon | Cancer | 10.08° | 100.08° | 11 |\n| Mars | Pisces | 6.11° | 336.11° | 7 |\n| Mercury | Libra | 19.72° | 199.72° | 2 |\n| Jupiter | Scorpio | 6.12° | 216.12° | 3 |\n| Venus | Gemini | 29.10° | 89.10° | 10 |\n| Saturn | Capricorn | 22.91° | 292.91° | 5 |\n| Rahu | Libra | 12.52° | 192.52° | 2 |\n| Ketu | Libra | 12.52° | 192.52° | 2 |\n\n#### D45 Akshavedamsa Position Table\n\n| Body | Sign | Degree in sign | Longitude | Whole-sign house |\n|------|------|----------|------|----------|\n| Lagna | Scorpio | 8.48° | 218.48° | 1 |\n| Sun | Leo | 14.75° | 134.75° | 10 |\n| Moon | Libra | 22.59° | 202.59° | 12 |\n| Mars | Aries | 18.13° | 18.13° | 6 |\n| Mercury | Scorpio | 14.69° | 224.69° | 1 |\n| Jupiter | Sagittarius | 25.63° | 265.63° | 2 |\n| Venus | Scorpio | 25.24° | 235.24° | 1 |\n| Saturn | Pisces | 22.03° | 352.03° | 5 |\n| Rahu | Libra | 14.08° | 194.08° | 12 |\n| Ketu | Libra | 14.08° | 194.08° | 12 |\n\n#### D60 Shashtyamsa Position Table\n\n| Body | Sign | Degree in sign | Longitude | Whole-sign house |\n|------|------|----------|------|----------|\n| Lagna | Scorpio | 21.31° | 231.31° | 1 |\n| Sun | Capricorn | 29.67° | 299.67° | 3 |\n| Moon | Taurus | 0.12° | 30.12° | 7 |\n| Mars | Libra | 24.17° | 204.17° | 12 |\n| Mercury | Capricorn | 29.59° | 299.59° | 3 |\n| Jupiter | Pisces | 24.17° | 354.17° | 5 |\n| Venus | Aquarius | 13.65° | 313.65° | 4 |\n| Saturn | Capricorn | 19.37° | 289.37° | 3 |\n| Rahu | Aquarius | 18.77° | 318.77° | 4 |\n| Ketu | Leo | 18.77° | 138.77° | 10 |\n\n## Strength, Relationships and Ashtakavarga\n\n### Shadbala / Bhava Bala Summary\n\n- Shadbala method: Shadbala six-fold strength, in Virupas, combining Sthana, Dig, Kala, Drik and BPHS Chesta\n- Method note: Chesta Bala depends on the calculation method, so compare totals within the same method.\n\n| Planet | Sthana | Dig | Kala | Chesta | Naisargika | Drik | Total | Required |\n|--------|--------|-----|------|--------|------------|------|-------|----------|\n| Sun | 174.33 | 80.52 | 218.14 | 43.22 | 60.00 | -17.30 | 558.91 | 5.00 |\n| Moon | 154.58 | 10.31 | 136.61 | 58.34 | 51.43 | 1.90 | 413.17 | 6.00 |\n| Mars | 170.28 | 14.34 | 108.38 | 32.46 | 17.14 | -11.66 | 330.94 | 5.00 |\n| Mercury | 126.66 | 71.29 | 224.90 | 23.38 | 25.71 | -18.79 | 453.15 | 7.00 |\n| Jupiter | 163.37 | 39.65 | 201.33 | 40.30 | 34.29 | -18.88 | 460.06 | 6.50 |\n| Venus | 201.14 | 87.40 | 125.26 | 34.97 | 42.86 | -13.83 | 477.80 | 5.50 |\n| Saturn | 207.11 | 80.99 | 102.57 | 22.06 | 8.57 | 7.61 | 428.91 | 5.00 |\n\n### Declination / Kranti / Speed\n\n| Planet | Degree | Declination | Kranti | Speed |\n|--------|--------|-------------|--------|-------|\n| Sun | 22.99° | -6.71° | - | 0.983816 |\n| Moon | 20.50° | 23.22° | - | 11.838419 |\n| Mars | 8.40° | 23.97° | - | 0.535139 |\n| Mercury | 4.99° | 11.26° | - | -0.251851 |\n| Jupiter | 9.90° | 19.80° | - | 0.023622 |\n| Venus | 29.23° | 18.94° | - | 1.186233 |\n| Saturn | 11.82° | 19.32° | - | 0.062245 |\n\n### Avastha Planetary States\n\n| Planet | Bala | Jagrat | Deeptadi | Lajjitadi | Shayanadi |\n|--------|------|--------|----------|-----------|-----------|\n| Sun | Old | Dreaming | Shanta | Mudita | Kautuka |\n| Moon | Old | Dreaming | Shanta | Kshudita | Kautuka |\n| Mars | Young | Dreaming | Shanta | Mudita | Agama |\n| Mercury | Infant | Deep Sleep | Shanta | Kshudita | Netrapani |\n| Jupiter | Young | Deep Sleep | Deepta | Mudita | Nrityalipsa |\n| Venus | Dead | Deep Sleep | Shanta | Kshudita | Netrapani |\n| Saturn | Young | Deep Sleep | Swastha | Mudita | Nidra |\n| Rahu | Infant | Deep Sleep | Shanta | Mudita | Nidra |\n| Ketu | Infant | Deep Sleep | Shanta | Mudita | Nrityalipsa |\n\n### Bhava Bala Strength of the Twelve Houses\n\n| House | Sign | Lord | Score | Key factors |\n|-------|------|------|-------|----------|\n| 1 | Taurus | Venus | 1.50 | Venus in Apoklima (H12): +1.5 |\n| 2 | Gemini | Mercury | 0.00 | Mercury in Apoklima (H12): +1.5; Mars in H2 (Malefic): -1.5 |\n| 3 | Cancer | Moon | 3.50 | Moon in Panapara (H8): +2.5; Jupiter in H3 (Benefic): +2 |\n| 4 | Leo | Sun | 2.50 | Sun in Panapara (H11): +2.5 |\n| 5 | Virgo | Mercury | 0.00 | Mercury in Apoklima (H12): +1.5; Sun aspects H5 (7th, Malefic): -1.0 |\n| 6 | Libra | Venus | 3.50 | Venus in Apoklima (H12): +1.5; Mercury aspects H6 (7th, Benefic): +1.5 |\n| 7 | Scorpio | Mars | 4.00 | Mars in Panapara (H2): +2.5; Jupiter aspects H7 (5th, Benefic): +1.5 |\n| 8 | Sagittarius | Jupiter | 5.00 | Jupiter in Apoklima (H3): +1.5; Jupiter Exalted: +4 |\n| 9 | Capricorn | Saturn | 3.50 | Saturn in Apoklima (H9): +1.5; Saturn in Own Sign: +3 |\n| 10 | Aquarius | Saturn | 4.50 | Saturn in Apoklima (H9): +1.5; Saturn in Own Sign: +3 |\n| 11 | Pisces | Jupiter | 4.50 | Jupiter in Apoklima (H3): +1.5; Jupiter Exalted: +4 |\n| 12 | Aries | Mars | 6.50 | Mars in Panapara (H2): +2.5; Mercury in H12 (Benefic): +2 |\n\n### Planetary Friendship Matrix\n\n| Planet | Natural friends | Natural enemies | Temporary relation |\n|--------|-----------------|-----------------|--------------------|\n| Sun | Moon; Mars; Jupiter | Venus; Saturn | friends: Moon; Mars; Mercury; Venus; enemies: Jupiter; Ketu |\n| Moon | Sun; Mercury | - | friends: Sun; Saturn; Rahu; enemies: Mars; Mercury; Jupiter; Venus |\n| Mars | Sun; Moon; Jupiter | Mercury | friends: Sun; Mercury; Jupiter; Venus; enemies: Moon; Saturn; Rahu |\n| Mercury | Sun; Venus | Moon | friends: Sun; Mars; Jupiter; Saturn; enemies: Moon; Venus |\n| Jupiter | Sun; Moon; Mars | Mercury; Venus | friends: Mars; Mercury; Venus; enemies: Sun; Moon; Saturn; Rahu |\n| Venus | Mercury; Saturn | Sun; Moon | friends: Sun; Mars; Jupiter; Saturn; enemies: Moon; Mercury |\n| Saturn | Mercury; Venus | Sun; Moon; Mars | friends: Sun; Moon; Mercury; Venus; enemies: Mars; Jupiter; Rahu; Ketu |\n| Rahu | Venus; Saturn | Sun; Moon; Jupiter | friends: Sun; Moon; Mercury; Venus; enemies: Mars; Jupiter; Saturn; Ketu |\n| Ketu | Mars; Saturn | Sun; Moon | friends: Mars; Mercury; Venus; enemies: Sun; Moon; Jupiter; Saturn |\n\n### Aspect Matrix\n\n| Planet 1 | Planet 2 | Aspect | Exact degree | Actual difference | Orb | Phase | Orb score |\n|----------|----------|--------|--------------|-------------------|-----|----------|----------|\n| Moon | Rahu | conjunction | 0.00° | 9.81° | 9.81° | unknown_without_velocity | 1.90 |\n| Moon | Ketu | opposition | 180.00° | 170.19° | 9.81° | unknown_without_velocity | 1.90 |\n| Jupiter | Saturn | opposition | 180.00° | 178.08° | 1.92° | unknown_without_velocity | 78.70 |\n| Rahu | Ketu | opposition | 180.00° | 180.00° | 0.00° | unknown_without_velocity | 100.00 |\n\n| Planet | From house | Target house | Aspect type | Special |\n|--------|------------|--------------|-------------|---------|\n| Sun | 11 | 5 | 7th-house aspect | False |\n| Moon | 8 | 2 | 7th-house aspect | False |\n| Mars | 2 | 5 | 4th-house aspect | True |\n| Mars | 2 | 8 | 7th-house aspect | False |\n| Mars | 2 | 9 | 8th-house aspect | True |\n| Mercury | 12 | 6 | 7th-house aspect | False |\n| Jupiter | 3 | 7 | 5th-house aspect | True |\n| Jupiter | 3 | 9 | 7th-house aspect | False |\n| Jupiter | 3 | 11 | 9th-house aspect | True |\n| Venus | 12 | 6 | 7th-house aspect | False |\n| Saturn | 9 | 11 | 3th-house aspect | True |\n| Saturn | 9 | 3 | 7th-house aspect | False |\n| Saturn | 9 | 6 | 10th-house aspect | True |\n\n### Jaimini Karakas, Arudha Padas and Special Lagnas\n\n| Karaka | Planet | Degree | Domain |\n|--------|--------|--------|--------|\n| Atmakaraka AK | Venus | 29.23° | Soul purpose, core self, highest aim in life |\n| Amatyakaraka AmK | Sun | 22.99° | Career direction, chief adviser, agent of power |\n| Bhratrikaraka BK | Moon | 20.50° | Siblings, courage, spirit of adventure |\n| Matrikaraka MK | Saturn | 11.82° | Mother, family roots, emotional security |\n| Putrakaraka PK | Jupiter | 9.90° | Children, creativity, students, intellectual output |\n| Gnatikaraka GK | Mars | 8.40° | Rivals, illness, obstacles, transforming force |\n| Darakaraka DK | Mercury | 4.99° | Spouse's nature, partnership, quality of marriage |\n| Pitrukaraka PiK | Rahu | 0.31° | Father, ancestral karma, tradition |\n\n| Point | Sign | Degree / House |\n|-------|------|----------------|\n| Arudha Lagna (AL) | Pisces | 1 |\n| Dhana Pada (A2) | Aquarius | 2 |\n| Vikrama Pada (A3) | Taurus | 3 |\n| Sukha Pada (A4) | Libra | 4 |\n| Mantra Pada (A5) | Scorpio | 5 |\n| Roga Pada (A6) | Cancer | 6 |\n| Dara Pada (A7) | Capricorn | 7 |\n| Mrityu Pada (A8) | Aquarius | 8 |\n| Dharma Pada (A9) | Libra | 9 |\n| Karma Pada (A10) | Sagittarius | 10 |\n| Labha Pada (A11) | Scorpio | 11 |\n| Upapada (UL) | Leo | 12 |\n| HL | Pisces | - |\n| GL | Pisces | - |\n| PP | Aquarius | - |\n| ViL | Aquarius | - |\n| VL | Cancer | - |\n\n### Ashtakavarga SAV / BAV / Pinda\n\n- Method: Ashtakavarga eight-fold method (calibrated to BPHS / PVR book examples, v2.1)\n- BAV check: all_valid\n\n| Sign | SAV score |\n|------|-----------|\n| Aries | 26 |\n| Taurus | 30 |\n| Gemini | 26 |\n| Cancer | 24 |\n| Leo | 30 |\n| Virgo | 29 |\n| Libra | 29 |\n| Scorpio | 22 |\n| Sagittarius | 27 |\n| Capricorn | 29 |\n| Aquarius | 35 |\n| Pisces | 30 |\n\n### Ashtakavarga Full House Scores\n\n| House | Sign | SAV | BAV / carry | Full with Lagna |\n|-------|------|-----|----------|-----------------|\n| 1 | Taurus | 35 | - | - |\n| 2 | Gemini | 30 | - | - |\n| 3 | Cancer | 28 | - | - |\n| 4 | Leo | 34 | - | - |\n| 5 | Virgo | 31 | - | - |\n| 6 | Libra | 33 | - | - |\n| 7 | Scorpio | 28 | - | - |\n| 8 | Sagittarius | 30 | - | - |\n| 9 | Capricorn | 33 | - | - |\n| 10 | Aquarius | 39 | - | - |\n| 11 | Pisces | 34 | - | - |\n| 12 | Aries | 31 | - | - |\n\n| Planet | Total | Expected | Valid | Aries | Taurus | Gemini | Cancer | Leo | Virgo | Libra | Scorpio | Sagittarius | Capricorn | Aquarius | Pisces |\n|--------|-------|----------|-------|-------|--------|--------|--------|-----|-------|-------|---------|-------------|-----------|----------|--------|\n| Sun | 48 | 48 | True | 4 | 2 | 3 | 3 | 3 | 6 | 5 | 3 | 4 | 4 | 5 | 6 |\n| Moon | 49 | 49 | True | 3 | 4 | 4 | 5 | 6 | 2 | 7 | 3 | 3 | 4 | 5 | 3 |\n| Mars | 39 | 39 | True | 3 | 4 | 3 | 4 | 3 | 4 | 3 | 2 | 3 | 3 | 4 | 3 |\n| Mercury | 54 | 54 | True | 4 | 4 | 5 | 5 | 5 | 4 | 3 | 3 | 5 | 5 | 7 | 4 |\n| Jupiter | 56 | 56 | True | 5 | 6 | 5 | 3 | 5 | 6 | 4 | 2 | 5 | 7 | 4 | 4 |\n| Venus | 52 | 52 | True | 5 | 5 | 3 | 3 | 6 | 4 | 3 | 5 | 4 | 4 | 6 | 4 |\n| Saturn | 39 | 39 | True | 2 | 5 | 3 | 1 | 2 | 3 | 4 | 4 | 3 | 2 | 4 | 6 |\n\n### Vimsopaka / Pushkara / Vargottama Supporting Strength\n\n| Planet | Vimsopaka | Grade | Pushkara Navamsa | Pushkara Bhaga | Vargottama |\n|--------|-----------|-------|------------------|----------------|------------|\n| Sun | 10.23 | Simhasanamsa | False | False | False |\n| Moon | 8.96 | Paravatamsa | False | True | False |\n| Mars | 8.45 | Paravatamsa | False | False | False |\n| Mercury | 9.09 | Paravatamsa | False | False | False |\n| Jupiter | 9.77 | Paravatamsa | False | False | False |\n| Venus | 8.91 | Paravatamsa | False | False | False |\n| Saturn | 8.71 | Paravatamsa | False | False | False |\n| Rahu | 8.00 | Paravatamsa | False | False | True |\n| Ketu | 6.07 | Devalokamsa | True | False | True |\n\n### Ashtakavarga Shodhya / Yoga Pinda Raw Values\n\n| Planet | Rashi Pinda | Graha Pinda | Total Pinda | Bindu at own sign |\n|--------|-------------|-------------|-------------|-------------------|\n| Sun | 24 | 30 | 54 | 6 |\n| Moon | 12 | 15 | 27 | 3 |\n| Mars | 12 | 24 | 36 | 3 |\n| Mercury | 16 | 20 | 36 | 4 |\n| Jupiter | 12 | 30 | 42 | 3 |\n| Venus | 20 | 35 | 55 | 5 |\n| Saturn | 8 | 10 | 18 | 2 |\n\n## Standard Dasha Tables\n\n### Vimshottari Dasha\n\n- Current Dasha: Rahu (2023-07-06 - 2041-07-06)\n\n| No. | Mahadasha | Start | End | Years |\n|------|------|------|------|------|\n| 1 | Venus | 1980-07-05 | 2000-07-05 | 9.25 | birth_balance |\n| 2 | Sun | 2000-07-05 | 2006-07-06 | 6 | native |\n| 3 | Moon | 2006-07-06 | 2016-07-05 | 10 | native |\n| 4 | Mars | 2016-07-05 | 2023-07-06 | 7 | native |\n| 5 | Rahu | 2023-07-06 | 2041-07-06 | 18 | native |\n| 6 | Jupiter | 2041-07-06 | 2057-07-06 | 16 | native |\n| 7 | Saturn | 2057-07-06 | 2076-07-05 | 19 | native |\n| 8 | Mercury | 2076-07-05 | 2093-07-06 | 17 | native |\n| 9 | Ketu | 2093-07-06 | 2100-07-06 | 7 | native |\n\n| Vimshottari AD | Mahadasha | Antardasha | Start | End |\n|--------------|------|------|------|------|\n| 1 | Venus | Venus | 1980-07-05 | 1983-11-04 |\n| 2 | Venus | Sun | 1983-11-04 | 1984-11-03 |\n| 3 | Venus | Moon | 1984-11-03 | 1986-07-05 |\n| 4 | Venus | Mars | 1986-07-05 | 1987-09-04 |\n| 5 | Venus | Rahu | 1987-09-04 | 1990-09-04 |\n| 6 | Venus | Jupiter | 1990-09-04 | 1993-05-05 |\n| 7 | Venus | Saturn | 1993-05-05 | 1996-07-05 |\n| 8 | Venus | Mercury | 1996-07-05 | 1999-05-05 |\n| 9 | Venus | Ketu | 1999-05-05 | 2000-07-05 |\n| 10 | Sun | Sun | 2000-07-05 | 2000-10-22 |\n| 11 | Sun | Moon | 2000-10-22 | 2001-04-23 |\n| 12 | Sun | Mars | 2001-04-23 | 2001-08-29 |\n| 13 | Sun | Rahu | 2001-08-29 | 2002-07-23 |\n| 14 | Sun | Jupiter | 2002-07-23 | 2003-05-12 |\n| 15 | Sun | Saturn | 2003-05-12 | 2004-04-23 |\n| 16 | Sun | Mercury | 2004-04-23 | 2005-02-27 |\n| 17 | Sun | Ketu | 2005-02-27 | 2005-07-05 |\n| 18 | Sun | Venus | 2005-07-05 | 2006-07-06 |\n| 19 | Moon | Moon | 2006-07-06 | 2007-05-06 |\n| 20 | Moon | Mars | 2007-05-06 | 2007-12-05 |\n| 21 | Moon | Rahu | 2007-12-05 | 2009-06-05 |\n| 22 | Moon | Jupiter | 2009-06-05 | 2010-10-05 |\n| 23 | Moon | Saturn | 2010-10-05 | 2012-05-05 |\n| 24 | Moon | Mercury | 2012-05-05 | 2013-10-04 |\n| 25 | Moon | Ketu | 2013-10-04 | 2014-05-05 |\n| 26 | Moon | Venus | 2014-05-05 | 2016-01-04 |\n| 27 | Moon | Sun | 2016-01-04 | 2016-07-05 |\n| 28 | Mars | Mars | 2016-07-05 | 2016-12-01 |\n| 29 | Mars | Rahu | 2016-12-01 | 2017-12-19 |\n| 30 | Mars | Jupiter | 2017-12-19 | 2018-11-25 |\n| 31 | Mars | Saturn | 2018-11-25 | 2020-01-04 |\n| 32 | Mars | Mercury | 2020-01-04 | 2020-12-31 |\n| 33 | Mars | Ketu | 2020-12-31 | 2021-05-29 |\n| 34 | Mars | Venus | 2021-05-29 | 2022-07-30 |\n| 35 | Mars | Sun | 2022-07-30 | 2022-12-04 |\n| 36 | Mars | Moon | 2022-12-04 | 2023-07-06 |\n| 37 | Rahu | Rahu | 2023-07-06 | 2026-03-18 |\n| 38 | Rahu | Jupiter | 2026-03-18 | 2028-08-10 |\n| 39 | Rahu | Saturn | 2028-08-10 | 2031-06-17 |\n| 40 | Rahu | Mercury | 2031-06-17 | 2034-01-04 |\n| 41 | Rahu | Ketu | 2034-01-04 | 2035-01-22 |\n| 42 | Rahu | Venus | 2035-01-22 | 2038-01-22 |\n| 43 | Rahu | Sun | 2038-01-22 | 2038-12-17 |\n| 44 | Rahu | Moon | 2038-12-17 | 2040-06-17 |\n| 45 | Rahu | Mars | 2040-06-17 | 2041-07-06 |\n| 46 | Jupiter | Jupiter | 2041-07-06 | 2043-08-24 |\n| 47 | Jupiter | Saturn | 2043-08-24 | 2046-03-06 |\n| 48 | Jupiter | Mercury | 2046-03-06 | 2048-06-11 |\n| 49 | Jupiter | Ketu | 2048-06-11 | 2049-05-18 |\n| 50 | Jupiter | Venus | 2049-05-18 | 2052-01-17 |\n| 51 | Jupiter | Sun | 2052-01-17 | 2052-11-04 |\n| 52 | Jupiter | Moon | 2052-11-04 | 2054-03-06 |\n| 53 | Jupiter | Mars | 2054-03-06 | 2055-02-10 |\n| 54 | Jupiter | Rahu | 2055-02-10 | 2057-07-06 |\n| 55 | Saturn | Saturn | 2057-07-06 | 2060-07-08 |\n| 56 | Saturn | Mercury | 2060-07-08 | 2063-03-18 |\n| 57 | Saturn | Ketu | 2063-03-18 | 2064-04-26 |\n| 58 | Saturn | Venus | 2064-04-26 | 2067-06-26 |\n| 59 | Saturn | Sun | 2067-06-26 | 2068-06-07 |\n| 60 | Saturn | Moon | 2068-06-07 | 2070-01-07 |\n| 61 | Saturn | Mars | 2070-01-07 | 2071-02-15 |\n| 62 | Saturn | Rahu | 2071-02-15 | 2073-12-22 |\n| 63 | Saturn | Jupiter | 2073-12-22 | 2076-07-05 |\n| 64 | Mercury | Mercury | 2076-07-05 | 2078-12-01 |\n| 65 | Mercury | Ketu | 2078-12-01 | 2079-11-29 |\n| 66 | Mercury | Venus | 2079-11-29 | 2082-09-29 |\n| 67 | Mercury | Sun | 2082-09-29 | 2083-08-05 |\n| 68 | Mercury | Moon | 2083-08-05 | 2085-01-04 |\n| 69 | Mercury | Mars | 2085-01-04 | 2086-01-01 |\n| 70 | Mercury | Rahu | 2086-01-01 | 2088-07-20 |\n| 71 | Mercury | Jupiter | 2088-07-20 | 2090-10-26 |\n| 72 | Mercury | Saturn | 2090-10-26 | 2093-07-06 |\n| 73 | Ketu | Ketu | 2093-07-06 | 2093-12-02 |\n| 74 | Ketu | Venus | 2093-12-02 | 2095-02-01 |\n| 75 | Ketu | Sun | 2095-02-01 | 2095-06-08 |\n| 76 | Ketu | Moon | 2095-06-08 | 2096-01-07 |\n| 77 | Ketu | Mars | 2096-01-07 | 2096-06-05 |\n| 78 | Ketu | Rahu | 2096-06-05 | 2097-06-23 |\n| 79 | Ketu | Jupiter | 2097-06-23 | 2098-05-30 |\n| 80 | Ketu | Saturn | 2098-05-30 | 2099-07-08 |\n| 81 | Ketu | Mercury | 2099-07-08 | 2100-07-06 |\n\n| Vimshottari PD | Mahadasha | Antardasha | Pratyantardasha | Start | End |\n|--------------|------|------|--------|------|------|\n| 1 | Venus | Venus | Venus | 1980-07-05 | 1981-01-23 |\n| 2 | Venus | Venus | Sun | 1981-01-23 | 1981-03-25 |\n| 3 | Venus | Venus | Moon | 1981-03-25 | 1981-07-05 |\n| 4 | Venus | Venus | Mars | 1981-07-05 | 1981-09-14 |\n| 5 | Venus | Venus | Rahu | 1981-09-14 | 1982-03-15 |\n| 6 | Venus | Venus | Jupiter | 1982-03-15 | 1982-08-25 |\n| 7 | Venus | Venus | Saturn | 1982-08-25 | 1983-03-06 |\n| 8 | Venus | Venus | Mercury | 1983-03-06 | 1983-08-25 |\n| 9 | Venus | Venus | Ketu | 1983-08-25 | 1983-11-04 |\n| 10 | Venus | Sun | Sun | 1983-11-04 | 1983-11-22 |\n| 11 | Venus | Sun | Moon | 1983-11-22 | 1983-12-23 |\n| 12 | Venus | Sun | Mars | 1983-12-23 | 1984-01-13 |\n| 13 | Venus | Sun | Rahu | 1984-01-13 | 1984-03-08 |\n| 14 | Venus | Sun | Jupiter | 1984-03-08 | 1984-04-25 |\n| 15 | Venus | Sun | Saturn | 1984-04-25 | 1984-06-22 |\n| 16 | Venus | Sun | Mercury | 1984-06-22 | 1984-08-13 |\n| 17 | Venus | Sun | Ketu | 1984-08-13 | 1984-09-03 |\n| 18 | Venus | Sun | Venus | 1984-09-03 | 1984-11-03 |\n| 19 | Venus | Moon | Moon | 1984-11-03 | 1984-12-24 |\n| 20 | Venus | Moon | Mars | 1984-12-24 | 1985-01-28 |\n| 21 | Venus | Moon | Rahu | 1985-01-28 | 1985-04-30 |\n| 22 | Venus | Moon | Jupiter | 1985-04-30 | 1985-07-20 |\n| 23 | Venus | Moon | Saturn | 1985-07-20 | 1985-10-24 |\n| 24 | Venus | Moon | Mercury | 1985-10-24 | 1986-01-19 |\n| 25 | Venus | Moon | Ketu | 1986-01-19 | 1986-02-23 |\n| 26 | Venus | Moon | Venus | 1986-02-23 | 1986-06-05 |\n| 27 | Venus | Moon | Sun | 1986-06-05 | 1986-07-05 |\n| 28 | Venus | Mars | Mars | 1986-07-05 | 1986-07-30 |\n| 29 | Venus | Mars | Rahu | 1986-07-30 | 1986-10-02 |\n| 30 | Venus | Mars | Jupiter | 1986-10-02 | 1986-11-28 |\n| 31 | Venus | Mars | Saturn | 1986-11-28 | 1987-02-03 |\n| 32 | Venus | Mars | Mercury | 1987-02-03 | 1987-04-04 |\n| 33 | Venus | Mars | Ketu | 1987-04-04 | 1987-04-29 |\n| 34 | Venus | Mars | Venus | 1987-04-29 | 1987-07-09 |\n| 35 | Venus | Mars | Sun | 1987-07-09 | 1987-07-31 |\n| 36 | Venus | Mars | Moon | 1987-07-31 | 1987-09-04 |\n| 37 | Venus | Rahu | Rahu | 1987-09-04 | 1988-02-15 |\n| 38 | Venus | Rahu | Jupiter | 1988-02-15 | 1988-07-11 |\n| 39 | Venus | Rahu | Saturn | 1988-07-11 | 1988-12-31 |\n| 40 | Venus | Rahu | Mercury | 1988-12-31 | 1989-06-04 |\n| 41 | Venus | Rahu | Ketu | 1989-06-04 | 1989-08-07 |\n| 42 | Venus | Rahu | Venus | 1989-08-07 | 1990-02-06 |\n| 43 | Venus | Rahu | Sun | 1990-02-06 | 1990-04-02 |\n| 44 | Venus | Rahu | Moon | 1990-04-02 | 1990-07-02 |\n| 45 | Venus | Rahu | Mars | 1990-07-02 | 1990-09-04 |\n| 46 | Venus | Jupiter | Jupiter | 1990-09-04 | 1991-01-12 |\n| 47 | Venus | Jupiter | Saturn | 1991-01-12 | 1991-06-15 |\n| 48 | Venus | Jupiter | Mercury | 1991-06-15 | 1991-10-31 |\n| 49 | Venus | Jupiter | Ketu | 1991-10-31 | 1991-12-27 |\n| 50 | Venus | Jupiter | Venus | 1991-12-27 | 1992-06-06 |\n| 51 | Venus | Jupiter | Sun | 1992-06-06 | 1992-07-25 |\n| 52 | Venus | Jupiter | Moon | 1992-07-25 | 1992-10-14 |\n| 53 | Venus | Jupiter | Mars | 1992-10-14 | 1992-12-10 |\n| 54 | Venus | Jupiter | Rahu | 1992-12-10 | 1993-05-05 |\n| 55 | Venus | Saturn | Saturn | 1993-05-05 | 1993-11-04 |\n| 56 | Venus | Saturn | Mercury | 1993-11-04 | 1994-04-17 |\n| 57 | Venus | Saturn | Ketu | 1994-04-17 | 1994-06-23 |\n| 58 | Venus | Saturn | Venus | 1994-06-23 | 1995-01-02 |\n| 59 | Venus | Saturn | Sun | 1995-01-02 | 1995-03-01 |\n| 60 | Venus | Saturn | Moon | 1995-03-01 | 1995-06-05 |\n| 61 | Venus | Saturn | Mars | 1995-06-05 | 1995-08-12 |\n| 62 | Venus | Saturn | Rahu | 1995-08-12 | 1996-02-01 |\n| 63 | Venus | Saturn | Jupiter | 1996-02-01 | 1996-07-05 |\n| 64 | Venus | Mercury | Mercury | 1996-07-05 | 1996-11-28 |\n| 65 | Venus | Mercury | Ketu | 1996-11-28 | 1997-01-27 |\n| 66 | Venus | Mercury | Venus | 1997-01-27 | 1997-07-19 |\n| 67 | Venus | Mercury | Sun | 1997-07-19 | 1997-09-09 |\n| 68 | Venus | Mercury | Moon | 1997-09-09 | 1997-12-04 |\n| 69 | Venus | Mercury | Mars | 1997-12-04 | 1998-02-02 |\n| 70 | Venus | Mercury | Rahu | 1998-02-02 | 1998-07-08 |\n| 71 | Venus | Mercury | Jupiter | 1998-07-08 | 1998-11-23 |\n| 72 | Venus | Mercury | Saturn | 1998-11-23 | 1999-05-05 |\n| 73 | Venus | Ketu | Ketu | 1999-05-05 | 1999-05-30 |\n| 74 | Venus | Ketu | Venus | 1999-05-30 | 1999-08-09 |\n| 75 | Venus | Ketu | Sun | 1999-08-09 | 1999-08-31 |\n| 76 | Venus | Ketu | Moon | 1999-08-31 | 1999-10-05 |\n| 77 | Venus | Ketu | Mars | 1999-10-05 | 1999-10-30 |\n| 78 | Venus | Ketu | Rahu | 1999-10-30 | 2000-01-02 |\n| 79 | Venus | Ketu | Jupiter | 2000-01-02 | 2000-02-28 |\n| 80 | Venus | Ketu | Saturn | 2000-02-28 | 2000-05-05 |\n| 81 | Venus | Ketu | Mercury | 2000-05-05 | 2000-07-05 |\n| 82 | Sun | Sun | Sun | 2000-07-05 | 2000-07-10 |\n| 83 | Sun | Sun | Moon | 2000-07-10 | 2000-07-19 |\n| 84 | Sun | Sun | Mars | 2000-07-19 | 2000-07-26 |\n| 85 | Sun | Sun | Rahu | 2000-07-26 | 2000-08-11 |\n| 86 | Sun | Sun | Jupiter | 2000-08-11 | 2000-08-26 |\n| 87 | Sun | Sun | Saturn | 2000-08-26 | 2000-09-12 |\n| 88 | Sun | Sun | Mercury | 2000-09-12 | 2000-09-27 |\n| 89 | Sun | Sun | Ketu | 2000-09-27 | 2000-10-04 |\n| 90 | Sun | Sun | Venus | 2000-10-04 | 2000-10-22 |\n| 91 | Sun | Moon | Moon | 2000-10-22 | 2000-11-06 |\n| 92 | Sun | Moon | Mars | 2000-11-06 | 2000-11-17 |\n| 93 | Sun | Moon | Rahu | 2000-11-17 | 2000-12-14 |\n| 94 | Sun | Moon | Jupiter | 2000-12-14 | 2001-01-08 |\n| 95 | Sun | Moon | Saturn | 2001-01-08 | 2001-02-06 |\n| 96 | Sun | Moon | Mercury | 2001-02-06 | 2001-03-04 |\n| 97 | Sun | Moon | Ketu | 2001-03-04 | 2001-03-14 |\n| 98 | Sun | Moon | Venus | 2001-03-14 | 2001-04-14 |\n| 99 | Sun | Moon | Sun | 2001-04-14 | 2001-04-23 |\n| 100 | Sun | Mars | Mars | 2001-04-23 | 2001-04-30 |\n| 101 | Sun | Mars | Rahu | 2001-04-30 | 2001-05-19 |\n| 102 | Sun | Mars | Jupiter | 2001-05-19 | 2001-06-05 |\n| 103 | Sun | Mars | Saturn | 2001-06-05 | 2001-06-26 |\n| 104 | Sun | Mars | Mercury | 2001-06-26 | 2001-07-14 |\n| 105 | Sun | Mars | Ketu | 2001-07-14 | 2001-07-21 |\n| 106 | Sun | Mars | Venus | 2001-07-21 | 2001-08-12 |\n| 107 | Sun | Mars | Sun | 2001-08-12 | 2001-08-18 |\n| 108 | Sun | Mars | Moon | 2001-08-18 | 2001-08-29 |\n| 109 | Sun | Rahu | Rahu | 2001-08-29 | 2001-10-17 |\n| 110 | Sun | Rahu | Jupiter | 2001-10-17 | 2001-11-30 |\n| 111 | Sun | Rahu | Saturn | 2001-11-30 | 2002-01-21 |\n| 112 | Sun | Rahu | Mercury | 2002-01-21 | 2002-03-08 |\n| 113 | Sun | Rahu | Ketu | 2002-03-08 | 2002-03-28 |\n| 114 | Sun | Rahu | Venus | 2002-03-28 | 2002-05-21 |\n| 115 | Sun | Rahu | Sun | 2002-05-21 | 2002-06-07 |\n| 116 | Sun | Rahu | Moon | 2002-06-07 | 2002-07-04 |\n| 117 | Sun | Rahu | Mars | 2002-07-04 | 2002-07-23 |\n| 118 | Sun | Jupiter | Jupiter | 2002-07-23 | 2002-08-31 |\n| 119 | Sun | Jupiter | Saturn | 2002-08-31 | 2002-10-17 |\n| 120 | Sun | Jupiter | Mercury | 2002-10-17 | 2002-11-27 |\n| 121 | Sun | Jupiter | Ketu | 2002-11-27 | 2002-12-14 |\n| 122 | Sun | Jupiter | Venus | 2002-12-14 | 2003-02-01 |\n| 123 | Sun | Jupiter | Sun | 2003-02-01 | 2003-02-15 |\n| 124 | Sun | Jupiter | Moon | 2003-02-15 | 2003-03-12 |\n| 125 | Sun | Jupiter | Mars | 2003-03-12 | 2003-03-29 |\n| 126 | Sun | Jupiter | Rahu | 2003-03-29 | 2003-05-12 |\n| 127 | Sun | Saturn | Saturn | 2003-05-12 | 2003-07-06 |\n| 128 | Sun | Saturn | Mercury | 2003-07-06 | 2003-08-24 |\n| 129 | Sun | Saturn | Ketu | 2003-08-24 | 2003-09-13 |\n| 130 | Sun | Saturn | Venus | 2003-09-13 | 2003-11-10 |\n| 131 | Sun | Saturn | Sun | 2003-11-10 | 2003-11-27 |\n| 132 | Sun | Saturn | Moon | 2003-11-27 | 2003-12-26 |\n| 133 | Sun | Saturn | Mars | 2003-12-26 | 2004-01-15 |\n| 134 | Sun | Saturn | Rahu | 2004-01-15 | 2004-03-07 |\n| 135 | Sun | Saturn | Jupiter | 2004-03-07 | 2004-04-23 |\n| 136 | Sun | Mercury | Mercury | 2004-04-23 | 2004-06-06 |\n| 137 | Sun | Mercury | Ketu | 2004-06-06 | 2004-06-24 |\n| 138 | Sun | Mercury | Venus | 2004-06-24 | 2004-08-15 |\n| 139 | Sun | Mercury | Sun | 2004-08-15 | 2004-08-30 |\n| 140 | Sun | Mercury | Moon | 2004-08-30 | 2004-09-25 |\n| 141 | Sun | Mercury | Mars | 2004-09-25 | 2004-10-13 |\n| 142 | Sun | Mercury | Rahu | 2004-10-13 | 2004-11-29 |\n| 143 | Sun | Mercury | Jupiter | 2004-11-29 | 2005-01-09 |\n| 144 | Sun | Mercury | Saturn | 2005-01-09 | 2005-02-27 |\n| 145 | Sun | Ketu | Ketu | 2005-02-27 | 2005-03-07 |\n| 146 | Sun | Ketu | Venus | 2005-03-07 | 2005-03-28 |\n| 147 | Sun | Ketu | Sun | 2005-03-28 | 2005-04-03 |\n| 148 | Sun | Ketu | Moon | 2005-04-03 | 2005-04-14 |\n| 149 | Sun | Ketu | Mars | 2005-04-14 | 2005-04-22 |\n| 150 | Sun | Ketu | Rahu | 2005-04-22 | 2005-05-11 |\n| 151 | Sun | Ketu | Jupiter | 2005-05-11 | 2005-05-28 |\n| 152 | Sun | Ketu | Saturn | 2005-05-28 | 2005-06-17 |\n| 153 | Sun | Ketu | Mercury | 2005-06-17 | 2005-07-05 |\n| 154 | Sun | Venus | Venus | 2005-07-05 | 2005-09-04 |\n| 155 | Sun | Venus | Sun | 2005-09-04 | 2005-09-22 |\n| 156 | Sun | Venus | Moon | 2005-09-22 | 2005-10-23 |\n| 157 | Sun | Venus | Mars | 2005-10-23 | 2005-11-13 |\n| 158 | Sun | Venus | Rahu | 2005-11-13 | 2006-01-07 |\n| 159 | Sun | Venus | Jupiter | 2006-01-07 | 2006-02-25 |\n| 160 | Sun | Venus | Saturn | 2006-02-25 | 2006-04-23 |\n| 161 | Sun | Venus | Mercury | 2006-04-23 | 2006-06-14 |\n| 162 | Sun | Venus | Ketu | 2006-06-14 | 2006-07-06 |\n| 163 | Moon | Moon | Moon | 2006-07-06 | 2006-07-31 |\n| 164 | Moon | Moon | Mars | 2006-07-31 | 2006-08-18 |\n| 165 | Moon | Moon | Rahu | 2006-08-18 | 2006-10-02 |\n| 166 | Moon | Moon | Jupiter | 2006-10-02 | 2006-11-12 |\n| 167 | Moon | Moon | Saturn | 2006-11-12 | 2006-12-30 |\n| 168 | Moon | Moon | Mercury | 2006-12-30 | 2007-02-11 |\n| 169 | Moon | Moon | Ketu | 2007-02-11 | 2007-03-01 |\n| 170 | Moon | Moon | Venus | 2007-03-01 | 2007-04-21 |\n| 171 | Moon | Moon | Sun | 2007-04-21 | 2007-05-06 |\n| 172 | Moon | Mars | Mars | 2007-05-06 | 2007-05-18 |\n| 173 | Moon | Mars | Rahu | 2007-05-18 | 2007-06-19 |\n| 174 | Moon | Mars | Jupiter | 2007-06-19 | 2007-07-18 |\n| 175 | Moon | Mars | Saturn | 2007-07-18 | 2007-08-20 |\n| 176 | Moon | Mars | Mercury | 2007-08-20 | 2007-09-20 |\n| 177 | Moon | Mars | Ketu | 2007-09-20 | 2007-10-02 |\n| 178 | Moon | Mars | Venus | 2007-10-02 | 2007-11-06 |\n| 179 | Moon | Mars | Sun | 2007-11-06 | 2007-11-17 |\n| 180 | Moon | Mars | Moon | 2007-11-17 | 2007-12-05 |\n| 181 | Moon | Rahu | Rahu | 2007-12-05 | 2008-02-25 |\n| 182 | Moon | Rahu | Jupiter | 2008-02-25 | 2008-05-08 |\n| 183 | Moon | Rahu | Saturn | 2008-05-08 | 2008-08-03 |\n| 184 | Moon | Rahu | Mercury | 2008-08-03 | 2008-10-19 |\n| 185 | Moon | Rahu | Ketu | 2008-10-19 | 2008-11-20 |\n| 186 | Moon | Rahu | Venus | 2008-11-20 | 2009-02-20 |\n| 187 | Moon | Rahu | Sun | 2009-02-20 | 2009-03-19 |\n| 188 | Moon | Rahu | Moon | 2009-03-19 | 2009-05-04 |\n| 189 | Moon | Rahu | Mars | 2009-05-04 | 2009-06-05 |\n| 190 | Moon | Jupiter | Jupiter | 2009-06-05 | 2009-08-09 |\n| 191 | Moon | Jupiter | Saturn | 2009-08-09 | 2009-10-25 |\n| 192 | Moon | Jupiter | Mercury | 2009-10-25 | 2010-01-02 |\n| 193 | Moon | Jupiter | Ketu | 2010-01-02 | 2010-01-30 |\n| 194 | Moon | Jupiter | Venus | 2010-01-30 | 2010-04-21 |\n| 195 | Moon | Jupiter | Sun | 2010-04-21 | 2010-05-16 |\n| 196 | Moon | Jupiter | Moon | 2010-05-16 | 2010-06-25 |\n| 197 | Moon | Jupiter | Mars | 2010-06-25 | 2010-07-24 |\n| 198 | Moon | Jupiter | Rahu | 2010-07-24 | 2010-10-05 |\n| 199 | Moon | Saturn | Saturn | 2010-10-05 | 2011-01-04 |\n| 200 | Moon | Saturn | Mercury | 2011-01-04 | 2011-03-27 |\n| 201 | Moon | Saturn | Ketu | 2011-03-27 | 2011-04-30 |\n| 202 | Moon | Saturn | Venus | 2011-04-30 | 2011-08-04 |\n| 203 | Moon | Saturn | Sun | 2011-08-04 | 2011-09-02 |\n| 204 | Moon | Saturn | Moon | 2011-09-02 | 2011-10-20 |\n| 205 | Moon | Saturn | Mars | 2011-10-20 | 2011-11-23 |\n| 206 | Moon | Saturn | Rahu | 2011-11-23 | 2012-02-18 |\n| 207 | Moon | Saturn | Jupiter | 2012-02-18 | 2012-05-05 |\n| 208 | Moon | Mercury | Mercury | 2012-05-05 | 2012-07-17 |\n| 209 | Moon | Mercury | Ketu | 2012-07-17 | 2012-08-16 |\n| 210 | Moon | Mercury | Venus | 2012-08-16 | 2012-11-11 |\n| 211 | Moon | Mercury | Sun | 2012-11-11 | 2012-12-06 |\n| 212 | Moon | Mercury | Moon | 2012-12-06 | 2013-01-19 |\n| 213 | Moon | Mercury | Mars | 2013-01-19 | 2013-02-18 |\n| 214 | Moon | Mercury | Rahu | 2013-02-18 | 2013-05-06 |\n| 215 | Moon | Mercury | Jupiter | 2013-05-06 | 2013-07-14 |\n| 216 | Moon | Mercury | Saturn | 2013-07-14 | 2013-10-04 |\n| 217 | Moon | Ketu | Ketu | 2013-10-04 | 2013-10-17 |\n| 218 | Moon | Ketu | Venus | 2013-10-17 | 2013-11-21 |\n| 219 | Moon | Ketu | Sun | 2013-11-21 | 2013-12-02 |\n| 220 | Moon | Ketu | Moon | 2013-12-02 | 2013-12-20 |\n| 221 | Moon | Ketu | Mars | 2013-12-20 | 2014-01-01 |\n| 222 | Moon | Ketu | Rahu | 2014-01-01 | 2014-02-02 |\n| 223 | Moon | Ketu | Jupiter | 2014-02-02 | 2014-03-02 |\n| 224 | Moon | Ketu | Saturn | 2014-03-02 | 2014-04-05 |\n| 225 | Moon | Ketu | Mercury | 2014-04-05 | 2014-05-05 |\n| 226 | Moon | Venus | Venus | 2014-05-05 | 2014-08-15 |\n| 227 | Moon | Venus | Sun | 2014-08-15 | 2014-09-14 |\n| 228 | Moon | Venus | Moon | 2014-09-14 | 2014-11-04 |\n| 229 | Moon | Venus | Mars | 2014-11-04 | 2014-12-09 |\n| 230 | Moon | Venus | Rahu | 2014-12-09 | 2015-03-11 |\n| 231 | Moon | Venus | Jupiter | 2015-03-11 | 2015-05-31 |\n| 232 | Moon | Venus | Saturn | 2015-05-31 | 2015-09-04 |\n| 233 | Moon | Venus | Mercury | 2015-09-04 | 2015-11-29 |\n| 234 | Moon | Venus | Ketu | 2015-11-29 | 2016-01-04 |\n| 235 | Moon | Sun | Sun | 2016-01-04 | 2016-01-13 |\n| 236 | Moon | Sun | Moon | 2016-01-13 | 2016-01-28 |\n| 237 | Moon | Sun | Mars | 2016-01-28 | 2016-02-08 |\n| 238 | Moon | Sun | Rahu | 2016-02-08 | 2016-03-06 |\n| 239 | Moon | Sun | Jupiter | 2016-03-06 | 2016-03-31 |\n| 240 | Moon | Sun | Saturn | 2016-03-31 | 2016-04-29 |\n| 241 | Moon | Sun | Mercury | 2016-04-29 | 2016-05-24 |\n| 242 | Moon | Sun | Ketu | 2016-05-24 | 2016-06-04 |\n| 243 | Moon | Sun | Venus | 2016-06-04 | 2016-07-05 |\n| 244 | Mars | Mars | Mars | 2016-07-05 | 2016-07-13 |\n| 245 | Mars | Mars | Rahu | 2016-07-13 | 2016-08-05 |\n| 246 | Mars | Mars | Jupiter | 2016-08-05 | 2016-08-24 |\n| 247 | Mars | Mars | Saturn | 2016-08-24 | 2016-09-17 |\n| 248 | Mars | Mars | Mercury | 2016-09-17 | 2016-10-08 |\n| 249 | Mars | Mars | Ketu | 2016-10-08 | 2016-10-17 |\n| 250 | Mars | Mars | Venus | 2016-10-17 | 2016-11-11 |\n| 251 | Mars | Mars | Sun | 2016-11-11 | 2016-11-18 |\n| 252 | Mars | Mars | Moon | 2016-11-18 | 2016-12-01 |\n| 253 | Mars | Rahu | Rahu | 2016-12-01 | 2017-01-27 |\n| 254 | Mars | Rahu | Jupiter | 2017-01-27 | 2017-03-19 |\n| 255 | Mars | Rahu | Saturn | 2017-03-19 | 2017-05-19 |\n| 256 | Mars | Rahu | Mercury | 2017-05-19 | 2017-07-12 |\n| 257 | Mars | Rahu | Ketu | 2017-07-12 | 2017-08-04 |\n| 258 | Mars | Rahu | Venus | 2017-08-04 | 2017-10-07 |\n| 259 | Mars | Rahu | Sun | 2017-10-07 | 2017-10-26 |\n| 260 | Mars | Rahu | Moon | 2017-10-26 | 2017-11-27 |\n| 261 | Mars | Rahu | Mars | 2017-11-27 | 2017-12-19 |\n| 262 | Mars | Jupiter | Jupiter | 2017-12-19 | 2018-02-03 |\n| 263 | Mars | Jupiter | Saturn | 2018-02-03 | 2018-03-29 |\n| 264 | Mars | Jupiter | Mercury | 2018-03-29 | 2018-05-16 |\n| 265 | Mars | Jupiter | Ketu | 2018-05-16 | 2018-06-05 |\n| 266 | Mars | Jupiter | Venus | 2018-06-05 | 2018-08-01 |\n| 267 | Mars | Jupiter | Sun | 2018-08-01 | 2018-08-18 |\n| 268 | Mars | Jupiter | Moon | 2018-08-18 | 2018-09-15 |\n| 269 | Mars | Jupiter | Mars | 2018-09-15 | 2018-10-05 |\n| 270 | Mars | Jupiter | Rahu | 2018-10-05 | 2018-11-25 |\n| 271 | Mars | Saturn | Saturn | 2018-11-25 | 2019-01-28 |\n| 272 | Mars | Saturn | Mercury | 2019-01-28 | 2019-03-27 |\n| 273 | Mars | Saturn | Ketu | 2019-03-27 | 2019-04-19 |\n| 274 | Mars | Saturn | Venus | 2019-04-19 | 2019-06-26 |\n| 275 | Mars | Saturn | Sun | 2019-06-26 | 2019-07-16 |\n| 276 | Mars | Saturn | Moon | 2019-07-16 | 2019-08-19 |\n| 277 | Mars | Saturn | Mars | 2019-08-19 | 2019-09-11 |\n| 278 | Mars | Saturn | Rahu | 2019-09-11 | 2019-11-11 |\n| 279 | Mars | Saturn | Jupiter | 2019-11-11 | 2020-01-04 |\n| 280 | Mars | Mercury | Mercury | 2020-01-04 | 2020-02-24 |\n| 281 | Mars | Mercury | Ketu | 2020-02-24 | 2020-03-16 |\n| 282 | Mars | Mercury | Venus | 2020-03-16 | 2020-05-16 |\n| 283 | Mars | Mercury | Sun | 2020-05-16 | 2020-06-03 |\n| 284 | Mars | Mercury | Moon | 2020-06-03 | 2020-07-03 |\n| 285 | Mars | Mercury | Mars | 2020-07-03 | 2020-07-24 |\n| 286 | Mars | Mercury | Rahu | 2020-07-24 | 2020-09-17 |\n| 287 | Mars | Mercury | Jupiter | 2020-09-17 | 2020-11-04 |\n| 288 | Mars | Mercury | Saturn | 2020-11-04 | 2020-12-31 |\n| 289 | Mars | Ketu | Ketu | 2020-12-31 | 2021-01-09 |\n| 290 | Mars | Ketu | Venus | 2021-01-09 | 2021-02-03 |\n| 291 | Mars | Ketu | Sun | 2021-02-03 | 2021-02-10 |\n| 292 | Mars | Ketu | Moon | 2021-02-10 | 2021-02-23 |\n| 293 | Mars | Ketu | Mars | 2021-02-23 | 2021-03-03 |\n| 294 | Mars | Ketu | Rahu | 2021-03-03 | 2021-03-26 |\n| 295 | Mars | Ketu | Jupiter | 2021-03-26 | 2021-04-15 |\n| 296 | Mars | Ketu | Saturn | 2021-04-15 | 2021-05-08 |\n| 297 | Mars | Ketu | Mercury | 2021-05-08 | 2021-05-29 |\n| 298 | Mars | Venus | Venus | 2021-05-29 | 2021-08-08 |\n| 299 | Mars | Venus | Sun | 2021-08-08 | 2021-08-30 |\n| 300 | Mars | Venus | Moon | 2021-08-30 | 2021-10-04 |\n| 301 | Mars | Venus | Mars | 2021-10-04 | 2021-10-29 |\n| 302 | Mars | Venus | Rahu | 2021-10-29 | 2022-01-01 |\n| 303 | Mars | Venus | Jupiter | 2022-01-01 | 2022-02-27 |\n| 304 | Mars | Venus | Saturn | 2022-02-27 | 2022-05-05 |\n| 305 | Mars | Venus | Mercury | 2022-05-05 | 2022-07-05 |\n| 306 | Mars | Venus | Ketu | 2022-07-05 | 2022-07-30 |\n| 307 | Mars | Sun | Sun | 2022-07-30 | 2022-08-05 |\n| 308 | Mars | Sun | Moon | 2022-08-05 | 2022-08-16 |\n| 309 | Mars | Sun | Mars | 2022-08-16 | 2022-08-23 |\n| 310 | Mars | Sun | Rahu | 2022-08-23 | 2022-09-11 |\n| 311 | Mars | Sun | Jupiter | 2022-09-11 | 2022-09-28 |\n| 312 | Mars | Sun | Saturn | 2022-09-28 | 2022-10-19 |\n| 313 | Mars | Sun | Mercury | 2022-10-19 | 2022-11-06 |\n| 314 | Mars | Sun | Ketu | 2022-11-06 | 2022-11-13 |\n| 315 | Mars | Sun | Venus | 2022-11-13 | 2022-12-04 |\n| 316 | Mars | Moon | Moon | 2022-12-04 | 2022-12-22 |\n| 317 | Mars | Moon | Mars | 2022-12-22 | 2023-01-04 |\n| 318 | Mars | Moon | Rahu | 2023-01-04 | 2023-02-05 |\n| 319 | Mars | Moon | Jupiter | 2023-02-05 | 2023-03-05 |\n| 320 | Mars | Moon | Saturn | 2023-03-05 | 2023-04-08 |\n| 321 | Mars | Moon | Mercury | 2023-04-08 | 2023-05-08 |\n| 322 | Mars | Moon | Ketu | 2023-05-08 | 2023-05-20 |\n| 323 | Mars | Moon | Venus | 2023-05-20 | 2023-06-25 |\n| 324 | Mars | Moon | Sun | 2023-06-25 | 2023-07-06 |\n| 325 | Rahu | Rahu | Rahu | 2023-07-06 | 2023-11-30 |\n| 326 | Rahu | Rahu | Jupiter | 2023-11-30 | 2024-04-10 |\n| 327 | Rahu | Rahu | Saturn | 2024-04-10 | 2024-09-13 |\n| 328 | Rahu | Rahu | Mercury | 2024-09-13 | 2025-01-31 |\n| 329 | Rahu | Rahu | Ketu | 2025-01-31 | 2025-03-29 |\n| 330 | Rahu | Rahu | Venus | 2025-03-29 | 2025-09-10 |\n| 331 | Rahu | Rahu | Sun | 2025-09-10 | 2025-10-29 |\n| 332 | Rahu | Rahu | Moon | 2025-10-29 | 2026-01-19 |\n| 333 | Rahu | Rahu | Mars | 2026-01-19 | 2026-03-18 |\n| 334 | Rahu | Jupiter | Jupiter | 2026-03-18 | 2026-07-13 |\n| 335 | Rahu | Jupiter | Saturn | 2026-07-13 | 2026-11-28 |\n| 336 | Rahu | Jupiter | Mercury | 2026-11-28 | 2027-04-02 |\n| 337 | Rahu | Jupiter | Ketu | 2027-04-02 | 2027-05-23 |\n| 338 | Rahu | Jupiter | Venus | 2027-05-23 | 2027-10-16 |\n| 339 | Rahu | Jupiter | Sun | 2027-10-16 | 2027-11-29 |\n| 340 | Rahu | Jupiter | Moon | 2027-11-29 | 2028-02-10 |\n| 341 | Rahu | Jupiter | Mars | 2028-02-10 | 2028-04-01 |\n| 342 | Rahu | Jupiter | Rahu | 2028-04-01 | 2028-08-10 |\n| 343 | Rahu | Saturn | Saturn | 2028-08-10 | 2029-01-22 |\n| 344 | Rahu | Saturn | Mercury | 2029-01-22 | 2029-06-19 |\n| 345 | Rahu | Saturn | Ketu | 2029-06-19 | 2029-08-18 |\n| 346 | Rahu | Saturn | Venus | 2029-08-18 | 2030-02-08 |\n| 347 | Rahu | Saturn | Sun | 2030-02-08 | 2030-04-01 |\n| 348 | Rahu | Saturn | Moon | 2030-04-01 | 2030-06-27 |\n| 349 | Rahu | Saturn | Mars | 2030-06-27 | 2030-08-26 |\n| 350 | Rahu | Saturn | Rahu | 2030-08-26 | 2031-01-30 |\n| 351 | Rahu | Saturn | Jupiter | 2031-01-30 | 2031-06-17 |\n| 352 | Rahu | Mercury | Mercury | 2031-06-17 | 2031-10-27 |\n| 353 | Rahu | Mercury | Ketu | 2031-10-27 | 2031-12-21 |\n| 354 | Rahu | Mercury | Venus | 2031-12-21 | 2032-05-24 |\n| 355 | Rahu | Mercury | Sun | 2032-05-24 | 2032-07-10 |\n| 356 | Rahu | Mercury | Moon | 2032-07-10 | 2032-09-25 |\n| 357 | Rahu | Mercury | Mars | 2032-09-25 | 2032-11-19 |\n| 358 | Rahu | Mercury | Rahu | 2032-11-19 | 2033-04-07 |\n| 359 | Rahu | Mercury | Jupiter | 2033-04-07 | 2033-08-09 |\n| 360 | Rahu | Mercury | Saturn | 2033-08-09 | 2034-01-04 |\n| 361 | Rahu | Ketu | Ketu | 2034-01-04 | 2034-01-26 |\n| 362 | Rahu | Ketu | Venus | 2034-01-26 | 2034-03-31 |\n| 363 | Rahu | Ketu | Sun | 2034-03-31 | 2034-04-19 |\n| 364 | Rahu | Ketu | Moon | 2034-04-19 | 2034-05-21 |\n| 365 | Rahu | Ketu | Mars | 2034-05-21 | 2034-06-13 |\n| 366 | Rahu | Ketu | Rahu | 2034-06-13 | 2034-08-09 |\n| 367 | Rahu | Ketu | Jupiter | 2034-08-09 | 2034-09-29 |\n| 368 | Rahu | Ketu | Saturn | 2034-09-29 | 2034-11-29 |\n| 369 | Rahu | Ketu | Mercury | 2034-11-29 | 2035-01-22 |\n| 370 | Rahu | Venus | Venus | 2035-01-22 | 2035-07-24 |\n| 371 | Rahu | Venus | Sun | 2035-07-24 | 2035-09-17 |\n| 372 | Rahu | Venus | Moon | 2035-09-17 | 2035-12-17 |\n| 373 | Rahu | Venus | Mars | 2035-12-17 | 2036-02-19 |\n| 374 | Rahu | Venus | Rahu | 2036-02-19 | 2036-08-02 |\n| 375 | Rahu | Venus | Jupiter | 2036-08-02 | 2036-12-26 |\n| 376 | Rahu | Venus | Saturn | 2036-12-26 | 2037-06-17 |\n| 377 | Rahu | Venus | Mercury | 2037-06-17 | 2037-11-19 |\n| 378 | Rahu | Venus | Ketu | 2037-11-19 | 2038-01-22 |\n| 379 | Rahu | Sun | Sun | 2038-01-22 | 2038-02-08 |\n| 380 | Rahu | Sun | Moon | 2038-02-08 | 2038-03-07 |\n| 381 | Rahu | Sun | Mars | 2038-03-07 | 2038-03-26 |\n| 382 | Rahu | Sun | Rahu | 2038-03-26 | 2038-05-15 |\n| 383 | Rahu | Sun | Jupiter | 2038-05-15 | 2038-06-27 |\n| 384 | Rahu | Sun | Saturn | 2038-06-27 | 2038-08-19 |\n| 385 | Rahu | Sun | Mercury | 2038-08-19 | 2038-10-04 |\n| 386 | Rahu | Sun | Ketu | 2038-10-04 | 2038-10-23 |\n| 387 | Rahu | Sun | Venus | 2038-10-23 | 2038-12-17 |\n| 388 | Rahu | Moon | Moon | 2038-12-17 | 2039-02-01 |\n| 389 | Rahu | Moon | Mars | 2039-02-01 | 2039-03-05 |\n| 390 | Rahu | Moon | Rahu | 2039-03-05 | 2039-05-26 |\n| 391 | Rahu | Moon | Jupiter | 2039-05-26 | 2039-08-07 |\n| 392 | Rahu | Moon | Saturn | 2039-08-07 | 2039-11-02 |\n| 393 | Rahu | Moon | Mercury | 2039-11-02 | 2040-01-18 |\n| 394 | Rahu | Moon | Ketu | 2040-01-18 | 2040-02-19 |\n| 395 | Rahu | Moon | Venus | 2040-02-19 | 2040-05-21 |\n| 396 | Rahu | Moon | Sun | 2040-05-21 | 2040-06-17 |\n| 397 | Rahu | Mars | Mars | 2040-06-17 | 2040-07-09 |\n| 398 | Rahu | Mars | Rahu | 2040-07-09 | 2040-09-05 |\n| 399 | Rahu | Mars | Jupiter | 2040-09-05 | 2040-10-26 |\n| 400 | Rahu | Mars | Saturn | 2040-10-26 | 2040-12-26 |\n| 401 | Rahu | Mars | Mercury | 2040-12-26 | 2041-02-18 |\n| 402 | Rahu | Mars | Ketu | 2041-02-18 | 2041-03-12 |\n| 403 | Rahu | Mars | Venus | 2041-03-12 | 2041-05-15 |\n| 404 | Rahu | Mars | Sun | 2041-05-15 | 2041-06-04 |\n| 405 | Rahu | Mars | Moon | 2041-06-04 | 2041-07-06 |\n| 406 | Jupiter | Jupiter | Jupiter | 2041-07-06 | 2041-10-17 |\n| 407 | Jupiter | Jupiter | Saturn | 2041-10-17 | 2042-02-18 |\n| 408 | Jupiter | Jupiter | Mercury | 2042-02-18 | 2042-06-08 |\n| 409 | Jupiter | Jupiter | Ketu | 2042-06-08 | 2042-07-24 |\n| 410 | Jupiter | Jupiter | Venus | 2042-07-24 | 2042-11-30 |\n| 411 | Jupiter | Jupiter | Sun | 2042-11-30 | 2043-01-08 |\n| 412 | Jupiter | Jupiter | Moon | 2043-01-08 | 2043-03-14 |\n| 413 | Jupiter | Jupiter | Mars | 2043-03-14 | 2043-04-29 |\n| 414 | Jupiter | Jupiter | Rahu | 2043-04-29 | 2043-08-24 |\n| 415 | Jupiter | Saturn | Saturn | 2043-08-24 | 2044-01-17 |\n| 416 | Jupiter | Saturn | Mercury | 2044-01-17 | 2044-05-27 |\n| 417 | Jupiter | Saturn | Ketu | 2044-05-27 | 2044-07-20 |\n| 418 | Jupiter | Saturn | Venus | 2044-07-20 | 2044-12-21 |\n| 419 | Jupiter | Saturn | Sun | 2044-12-21 | 2045-02-06 |\n| 420 | Jupiter | Saturn | Moon | 2045-02-06 | 2045-04-24 |\n| 421 | Jupiter | Saturn | Mars | 2045-04-24 | 2045-06-17 |\n| 422 | Jupiter | Saturn | Rahu | 2045-06-17 | 2045-11-03 |\n| 423 | Jupiter | Saturn | Jupiter | 2045-11-03 | 2046-03-06 |\n| 424 | Jupiter | Mercury | Mercury | 2046-03-06 | 2046-07-01 |\n| 425 | Jupiter | Mercury | Ketu | 2046-07-01 | 2046-08-19 |\n| 426 | Jupiter | Mercury | Venus | 2046-08-19 | 2047-01-04 |\n| 427 | Jupiter | Mercury | Sun | 2047-01-04 | 2047-02-14 |\n| 428 | Jupiter | Mercury | Moon | 2047-02-14 | 2047-04-24 |\n| 429 | Jupiter | Mercury | Mars | 2047-04-24 | 2047-06-11 |\n| 430 | Jupiter | Mercury | Rahu | 2047-06-11 | 2047-10-13 |\n| 431 | Jupiter | Mercury | Jupiter | 2047-10-13 | 2048-02-01 |\n| 432 | Jupiter | Mercury | Saturn | 2048-02-01 | 2048-06-11 |\n| 433 | Jupiter | Ketu | Ketu | 2048-06-11 | 2048-07-01 |\n| 434 | Jupiter | Ketu | Venus | 2048-07-01 | 2048-08-27 |\n| 435 | Jupiter | Ketu | Sun | 2048-08-27 | 2048-09-13 |\n| 436 | Jupiter | Ketu | Moon | 2048-09-13 | 2048-10-11 |\n| 437 | Jupiter | Ketu | Mars | 2048-10-11 | 2048-10-31 |\n| 438 | Jupiter | Ketu | Rahu | 2048-10-31 | 2048-12-21 |\n| 439 | Jupiter | Ketu | Jupiter | 2048-12-21 | 2049-02-05 |\n| 440 | Jupiter | Ketu | Saturn | 2049-02-05 | 2049-03-31 |\n| 441 | Jupiter | Ketu | Mercury | 2049-03-31 | 2049-05-18 |\n| 442 | Jupiter | Venus | Venus | 2049-05-18 | 2049-10-27 |\n| 443 | Jupiter | Venus | Sun | 2049-10-27 | 2049-12-15 |\n| 444 | Jupiter | Venus | Moon | 2049-12-15 | 2050-03-06 |\n| 445 | Jupiter | Venus | Mars | 2050-03-06 | 2050-05-02 |\n| 446 | Jupiter | Venus | Rahu | 2050-05-02 | 2050-09-25 |\n| 447 | Jupiter | Venus | Jupiter | 2050-09-25 | 2051-02-02 |\n| 448 | Jupiter | Venus | Saturn | 2051-02-02 | 2051-07-06 |\n| 449 | Jupiter | Venus | Mercury | 2051-07-06 | 2051-11-21 |\n| 450 | Jupiter | Venus | Ketu | 2051-11-21 | 2052-01-17 |\n| 451 | Jupiter | Sun | Sun | 2052-01-17 | 2052-01-31 |\n| 452 | Jupiter | Sun | Moon | 2052-01-31 | 2052-02-25 |\n| 453 | Jupiter | Sun | Mars | 2052-02-25 | 2052-03-13 |\n| 454 | Jupiter | Sun | Rahu | 2052-03-13 | 2052-04-26 |\n| 455 | Jupiter | Sun | Jupiter | 2052-04-26 | 2052-06-04 |\n| 456 | Jupiter | Sun | Saturn | 2052-06-04 | 2052-07-20 |\n| 457 | Jupiter | Sun | Mercury | 2052-07-20 | 2052-08-30 |\n| 458 | Jupiter | Sun | Ketu | 2052-08-30 | 2052-09-16 |\n| 459 | Jupiter | Sun | Venus | 2052-09-16 | 2052-11-04 |\n| 460 | Jupiter | Moon | Moon | 2052-11-04 | 2052-12-15 |\n| 461 | Jupiter | Moon | Mars | 2052-12-15 | 2053-01-12 |\n| 462 | Jupiter | Moon | Rahu | 2053-01-12 | 2053-03-26 |\n| 463 | Jupiter | Moon | Jupiter | 2053-03-26 | 2053-05-30 |\n| 464 | Jupiter | Moon | Saturn | 2053-05-30 | 2053-08-15 |\n| 465 | Jupiter | Moon | Mercury | 2053-08-15 | 2053-10-23 |\n| 466 | Jupiter | Moon | Ketu | 2053-10-23 | 2053-11-20 |\n| 467 | Jupiter | Moon | Venus | 2053-11-20 | 2054-02-10 |\n| 468 | Jupiter | Moon | Sun | 2054-02-10 | 2054-03-06 |\n| 469 | Jupiter | Mars | Mars | 2054-03-06 | 2054-03-26 |\n| 470 | Jupiter | Mars | Rahu | 2054-03-26 | 2054-05-16 |\n| 471 | Jupiter | Mars | Jupiter | 2054-05-16 | 2054-06-30 |\n| 472 | Jupiter | Mars | Saturn | 2054-06-30 | 2054-08-23 |\n| 473 | Jupiter | Mars | Mercury | 2054-08-23 | 2054-10-11 |\n| 474 | Jupiter | Mars | Ketu | 2054-10-11 | 2054-10-31 |\n| 475 | Jupiter | Mars | Venus | 2054-10-31 | 2054-12-26 |\n| 476 | Jupiter | Mars | Sun | 2054-12-26 | 2055-01-12 |\n| 477 | Jupiter | Mars | Moon | 2055-01-12 | 2055-02-10 |\n| 478 | Jupiter | Rahu | Rahu | 2055-02-10 | 2055-06-21 |\n| 479 | Jupiter | Rahu | Jupiter | 2055-06-21 | 2055-10-16 |\n| 480 | Jupiter | Rahu | Saturn | 2055-10-16 | 2056-03-03 |\n| 481 | Jupiter | Rahu | Mercury | 2056-03-03 | 2056-07-05 |\n| 482 | Jupiter | Rahu | Ketu | 2056-07-05 | 2056-08-25 |\n| 483 | Jupiter | Rahu | Venus | 2056-08-25 | 2057-01-18 |\n| 484 | Jupiter | Rahu | Sun | 2057-01-18 | 2057-03-03 |\n| 485 | Jupiter | Rahu | Moon | 2057-03-03 | 2057-05-15 |\n| 486 | Jupiter | Rahu | Mars | 2057-05-15 | 2057-07-06 |\n| 487 | Saturn | Saturn | Saturn | 2057-07-06 | 2057-12-26 |\n| 488 | Saturn | Saturn | Mercury | 2057-12-26 | 2058-05-31 |\n| 489 | Saturn | Saturn | Ketu | 2058-05-31 | 2058-08-03 |\n| 490 | Saturn | Saturn | Venus | 2058-08-03 | 2059-02-02 |\n| 491 | Saturn | Saturn | Sun | 2059-02-02 | 2059-03-29 |\n| 492 | Saturn | Saturn | Moon | 2059-03-29 | 2059-06-29 |\n| 493 | Saturn | Saturn | Mars | 2059-06-29 | 2059-09-01 |\n| 494 | Saturn | Saturn | Rahu | 2059-09-01 | 2060-02-13 |\n| 495 | Saturn | Saturn | Jupiter | 2060-02-13 | 2060-07-08 |\n| 496 | Saturn | Mercury | Mercury | 2060-07-08 | 2060-11-24 |\n| 497 | Saturn | Mercury | Ketu | 2060-11-24 | 2061-01-21 |\n| 498 | Saturn | Mercury | Venus | 2061-01-21 | 2061-07-04 |\n| 499 | Saturn | Mercury | Sun | 2061-07-04 | 2061-08-22 |\n| 500 | Saturn | Mercury | Moon | 2061-08-22 | 2061-11-12 |\n| 501 | Saturn | Mercury | Mars | 2061-11-12 | 2062-01-08 |\n| 502 | Saturn | Mercury | Rahu | 2062-01-08 | 2062-06-04 |\n| 503 | Saturn | Mercury | Jupiter | 2062-06-04 | 2062-10-14 |\n| 504 | Saturn | Mercury | Saturn | 2062-10-14 | 2063-03-18 |\n| 505 | Saturn | Ketu | Ketu | 2063-03-18 | 2063-04-11 |\n| 506 | Saturn | Ketu | Venus | 2063-04-11 | 2063-06-17 |\n| 507 | Saturn | Ketu | Sun | 2063-06-17 | 2063-07-08 |\n| 508 | Saturn | Ketu | Moon | 2063-07-08 | 2063-08-10 |\n| 509 | Saturn | Ketu | Mars | 2063-08-10 | 2063-09-03 |\n| 510 | Saturn | Ketu | Rahu | 2063-09-03 | 2063-11-03 |\n| 511 | Saturn | Ketu | Jupiter | 2063-11-03 | 2063-12-27 |\n| 512 | Saturn | Ketu | Saturn | 2063-12-27 | 2064-02-29 |\n| 513 | Saturn | Ketu | Mercury | 2064-02-29 | 2064-04-26 |\n| 514 | Saturn | Venus | Venus | 2064-04-26 | 2064-11-05 |\n| 515 | Saturn | Venus | Sun | 2064-11-05 | 2065-01-02 |\n| 516 | Saturn | Venus | Moon | 2065-01-02 | 2065-04-08 |\n| 517 | Saturn | Venus | Mars | 2065-04-08 | 2065-06-14 |\n| 518 | Saturn | Venus | Rahu | 2065-06-14 | 2065-12-05 |\n| 519 | Saturn | Venus | Jupiter | 2065-12-05 | 2066-05-08 |\n| 520 | Saturn | Venus | Saturn | 2066-05-08 | 2066-11-07 |\n| 521 | Saturn | Venus | Mercury | 2066-11-07 | 2067-04-20 |\n| 522 | Saturn | Venus | Ketu | 2067-04-20 | 2067-06-26 |\n| 523 | Saturn | Sun | Sun | 2067-06-26 | 2067-07-14 |\n| 524 | Saturn | Sun | Moon | 2067-07-14 | 2067-08-12 |\n| 525 | Saturn | Sun | Mars | 2067-08-12 | 2067-09-01 |\n| 526 | Saturn | Sun | Rahu | 2067-09-01 | 2067-10-23 |\n| 527 | Saturn | Sun | Jupiter | 2067-10-23 | 2067-12-08 |\n| 528 | Saturn | Sun | Saturn | 2067-12-08 | 2068-02-01 |\n| 529 | Saturn | Sun | Mercury | 2068-02-01 | 2068-03-21 |\n| 530 | Saturn | Sun | Ketu | 2068-03-21 | 2068-04-11 |\n| 531 | Saturn | Sun | Venus | 2068-04-11 | 2068-06-07 |\n| 532 | Saturn | Moon | Moon | 2068-06-07 | 2068-07-26 |\n| 533 | Saturn | Moon | Mars | 2068-07-26 | 2068-08-28 |\n| 534 | Saturn | Moon | Rahu | 2068-08-28 | 2068-11-23 |\n| 535 | Saturn | Moon | Jupiter | 2068-11-23 | 2069-02-08 |\n| 536 | Saturn | Moon | Saturn | 2069-02-08 | 2069-05-11 |\n| 537 | Saturn | Moon | Mercury | 2069-05-11 | 2069-08-01 |\n| 538 | Saturn | Moon | Ketu | 2069-08-01 | 2069-09-03 |\n| 539 | Saturn | Moon | Venus | 2069-09-03 | 2069-12-09 |\n| 540 | Saturn | Moon | Sun | 2069-12-09 | 2070-01-07 |\n| 541 | Saturn | Mars | Mars | 2070-01-07 | 2070-01-30 |\n| 542 | Saturn | Mars | Rahu | 2070-01-30 | 2070-04-01 |\n| 543 | Saturn | Mars | Jupiter | 2070-04-01 | 2070-05-25 |\n| 544 | Saturn | Mars | Saturn | 2070-05-25 | 2070-07-28 |\n| 545 | Saturn | Mars | Mercury | 2070-07-28 | 2070-09-23 |\n| 546 | Saturn | Mars | Ketu | 2070-09-23 | 2070-10-17 |\n| 547 | Saturn | Mars | Venus | 2070-10-17 | 2070-12-23 |\n| 548 | Saturn | Mars | Sun | 2070-12-23 | 2071-01-13 |\n| 549 | Saturn | Mars | Moon | 2071-01-13 | 2071-02-15 |\n| 550 | Saturn | Rahu | Rahu | 2071-02-15 | 2071-07-22 |\n| 551 | Saturn | Rahu | Jupiter | 2071-07-22 | 2071-12-07 |\n| 552 | Saturn | Rahu | Saturn | 2071-12-07 | 2072-05-20 |\n| 553 | Saturn | Rahu | Mercury | 2072-05-20 | 2072-10-15 |\n| 554 | Saturn | Rahu | Ketu | 2072-10-15 | 2072-12-14 |\n| 555 | Saturn | Rahu | Venus | 2072-12-14 | 2073-06-06 |\n| 556 | Saturn | Rahu | Sun | 2073-06-06 | 2073-07-28 |\n| 557 | Saturn | Rahu | Moon | 2073-07-28 | 2073-10-23 |\n| 558 | Saturn | Rahu | Mars | 2073-10-23 | 2073-12-22 |\n| 559 | Saturn | Jupiter | Jupiter | 2073-12-22 | 2074-04-25 |\n| 560 | Saturn | Jupiter | Saturn | 2074-04-25 | 2074-09-18 |\n| 561 | Saturn | Jupiter | Mercury | 2074-09-18 | 2075-01-27 |\n| 562 | Saturn | Jupiter | Ketu | 2075-01-27 | 2075-03-22 |\n| 563 | Saturn | Jupiter | Venus | 2075-03-22 | 2075-08-23 |\n| 564 | Saturn | Jupiter | Sun | 2075-08-23 | 2075-10-09 |\n| 565 | Saturn | Jupiter | Moon | 2075-10-09 | 2075-12-25 |\n| 566 | Saturn | Jupiter | Mars | 2075-12-25 | 2076-02-17 |\n| 567 | Saturn | Jupiter | Rahu | 2076-02-17 | 2076-07-05 |\n| 568 | Mercury | Mercury | Mercury | 2076-07-05 | 2076-11-06 |\n| 569 | Mercury | Mercury | Ketu | 2076-11-06 | 2076-12-27 |\n| 570 | Mercury | Mercury | Venus | 2076-12-27 | 2077-05-23 |\n| 571 | Mercury | Mercury | Sun | 2077-05-23 | 2077-07-06 |\n| 572 | Mercury | Mercury | Moon | 2077-07-06 | 2077-09-17 |\n| 573 | Mercury | Mercury | Mars | 2077-09-17 | 2077-11-08 |\n| 574 | Mercury | Mercury | Rahu | 2077-11-08 | 2078-03-20 |\n| 575 | Mercury | Mercury | Jupiter | 2078-03-20 | 2078-07-15 |\n| 576 | Mercury | Mercury | Saturn | 2078-07-15 | 2078-12-01 |\n| 577 | Mercury | Ketu | Ketu | 2078-12-01 | 2078-12-22 |\n| 578 | Mercury | Ketu | Venus | 2078-12-22 | 2079-02-21 |\n| 579 | Mercury | Ketu | Sun | 2079-02-21 | 2079-03-11 |\n| 580 | Mercury | Ketu | Moon | 2079-03-11 | 2079-04-10 |\n| 581 | Mercury | Ketu | Mars | 2079-04-10 | 2079-05-01 |\n| 582 | Mercury | Ketu | Rahu | 2079-05-01 | 2079-06-25 |\n| 583 | Mercury | Ketu | Jupiter | 2079-06-25 | 2079-08-12 |\n| 584 | Mercury | Ketu | Saturn | 2079-08-12 | 2079-10-08 |\n| 585 | Mercury | Ketu | Mercury | 2079-10-08 | 2079-11-29 |\n| 586 | Mercury | Venus | Venus | 2079-11-29 | 2080-05-19 |\n| 587 | Mercury | Venus | Sun | 2080-05-19 | 2080-07-10 |\n| 588 | Mercury | Venus | Moon | 2080-07-10 | 2080-10-04 |\n| 589 | Mercury | Venus | Mars | 2080-10-04 | 2080-12-03 |\n| 590 | Mercury | Venus | Rahu | 2080-12-03 | 2081-05-08 |\n| 591 | Mercury | Venus | Jupiter | 2081-05-08 | 2081-09-23 |\n| 592 | Mercury | Venus | Saturn | 2081-09-23 | 2082-03-06 |\n| 593 | Mercury | Venus | Mercury | 2082-03-06 | 2082-07-30 |\n| 594 | Mercury | Venus | Ketu | 2082-07-30 | 2082-09-29 |\n| 595 | Mercury | Sun | Sun | 2082-09-29 | 2082-10-14 |\n| 596 | Mercury | Sun | Moon | 2082-10-14 | 2082-11-09 |\n| 597 | Mercury | Sun | Mars | 2082-11-09 | 2082-11-27 |\n| 598 | Mercury | Sun | Rahu | 2082-11-27 | 2083-01-13 |\n| 599 | Mercury | Sun | Jupiter | 2083-01-13 | 2083-02-23 |\n| 600 | Mercury | Sun | Saturn | 2083-02-23 | 2083-04-13 |\n| 601 | Mercury | Sun | Mercury | 2083-04-13 | 2083-05-27 |\n| 602 | Mercury | Sun | Ketu | 2083-05-27 | 2083-06-14 |\n| 603 | Mercury | Sun | Venus | 2083-06-14 | 2083-08-05 |\n| 604 | Mercury | Moon | Moon | 2083-08-05 | 2083-09-17 |\n| 605 | Mercury | Moon | Mars | 2083-09-17 | 2083-10-17 |\n| 606 | Mercury | Moon | Rahu | 2083-10-17 | 2084-01-03 |\n| 607 | Mercury | Moon | Jupiter | 2084-01-03 | 2084-03-12 |\n| 608 | Mercury | Moon | Saturn | 2084-03-12 | 2084-06-02 |\n| 609 | Mercury | Moon | Mercury | 2084-06-02 | 2084-08-14 |\n| 610 | Mercury | Moon | Ketu | 2084-08-14 | 2084-09-13 |\n| 611 | Mercury | Moon | Venus | 2084-09-13 | 2084-12-09 |\n| 612 | Mercury | Moon | Sun | 2084-12-09 | 2085-01-04 |\n| 613 | Mercury | Mars | Mars | 2085-01-04 | 2085-01-25 |\n| 614 | Mercury | Mars | Rahu | 2085-01-25 | 2085-03-20 |\n| 615 | Mercury | Mars | Jupiter | 2085-03-20 | 2085-05-07 |\n| 616 | Mercury | Mars | Saturn | 2085-05-07 | 2085-07-04 |\n| 617 | Mercury | Mars | Mercury | 2085-07-04 | 2085-08-24 |\n| 618 | Mercury | Mars | Ketu | 2085-08-24 | 2085-09-14 |\n| 619 | Mercury | Mars | Venus | 2085-09-14 | 2085-11-13 |\n| 620 | Mercury | Mars | Sun | 2085-11-13 | 2085-12-02 |\n| 621 | Mercury | Mars | Moon | 2085-12-02 | 2086-01-01 |\n| 622 | Mercury | Rahu | Rahu | 2086-01-01 | 2086-05-20 |\n| 623 | Mercury | Rahu | Jupiter | 2086-05-20 | 2086-09-22 |\n| 624 | Mercury | Rahu | Saturn | 2086-09-22 | 2087-02-16 |\n| 625 | Mercury | Rahu | Mercury | 2087-02-16 | 2087-06-28 |\n| 626 | Mercury | Rahu | Ketu | 2087-06-28 | 2087-08-21 |\n| 627 | Mercury | Rahu | Venus | 2087-08-21 | 2088-01-24 |\n| 628 | Mercury | Rahu | Sun | 2088-01-24 | 2088-03-10 |\n| 629 | Mercury | Rahu | Moon | 2088-03-10 | 2088-05-27 |\n| 630 | Mercury | Rahu | Mars | 2088-05-27 | 2088-07-20 |\n| 631 | Mercury | Jupiter | Jupiter | 2088-07-20 | 2088-11-08 |\n| 632 | Mercury | Jupiter | Saturn | 2088-11-08 | 2089-03-19 |\n| 633 | Mercury | Jupiter | Mercury | 2089-03-19 | 2089-07-14 |\n| 634 | Mercury | Jupiter | Ketu | 2089-07-14 | 2089-08-31 |\n| 635 | Mercury | Jupiter | Venus | 2089-08-31 | 2090-01-16 |\n| 636 | Mercury | Jupiter | Sun | 2090-01-16 | 2090-02-27 |\n| 637 | Mercury | Jupiter | Moon | 2090-02-27 | 2090-05-07 |\n| 638 | Mercury | Jupiter | Mars | 2090-05-07 | 2090-06-24 |\n| 639 | Mercury | Jupiter | Rahu | 2090-06-24 | 2090-10-26 |\n| 640 | Mercury | Saturn | Saturn | 2090-10-26 | 2091-03-31 |\n| 641 | Mercury | Saturn | Mercury | 2091-03-31 | 2091-08-17 |\n| 642 | Mercury | Saturn | Ketu | 2091-08-17 | 2091-10-14 |\n| 643 | Mercury | Saturn | Venus | 2091-10-14 | 2092-03-25 |\n| 644 | Mercury | Saturn | Sun | 2092-03-25 | 2092-05-14 |\n| 645 | Mercury | Saturn | Moon | 2092-05-14 | 2092-08-04 |\n| 646 | Mercury | Saturn | Mars | 2092-08-04 | 2092-09-30 |\n| 647 | Mercury | Saturn | Rahu | 2092-09-30 | 2093-02-24 |\n| 648 | Mercury | Saturn | Jupiter | 2093-02-24 | 2093-07-06 |\n| 649 | Ketu | Ketu | Ketu | 2093-07-06 | 2093-07-14 |\n| 650 | Ketu | Ketu | Venus | 2093-07-14 | 2093-08-08 |\n| 651 | Ketu | Ketu | Sun | 2093-08-08 | 2093-08-16 |\n| 652 | Ketu | Ketu | Moon | 2093-08-16 | 2093-08-28 |\n| 653 | Ketu | Ketu | Mars | 2093-08-28 | 2093-09-06 |\n| 654 | Ketu | Ketu | Rahu | 2093-09-06 | 2093-09-28 |\n| 655 | Ketu | Ketu | Jupiter | 2093-09-28 | 2093-10-18 |\n| 656 | Ketu | Ketu | Saturn | 2093-10-18 | 2093-11-10 |\n| 657 | Ketu | Ketu | Mercury | 2093-11-10 | 2093-12-02 |\n| 658 | Ketu | Venus | Venus | 2093-12-02 | 2094-02-11 |\n| 659 | Ketu | Venus | Sun | 2094-02-11 | 2094-03-04 |\n| 660 | Ketu | Venus | Moon | 2094-03-04 | 2094-04-08 |\n| 661 | Ketu | Venus | Mars | 2094-04-08 | 2094-05-03 |\n| 662 | Ketu | Venus | Rahu | 2094-05-03 | 2094-07-06 |\n| 663 | Ketu | Venus | Jupiter | 2094-07-06 | 2094-09-01 |\n| 664 | Ketu | Venus | Saturn | 2094-09-01 | 2094-11-07 |\n| 665 | Ketu | Venus | Mercury | 2094-11-07 | 2095-01-07 |\n| 666 | Ketu | Venus | Ketu | 2095-01-07 | 2095-02-01 |\n| 667 | Ketu | Sun | Sun | 2095-02-01 | 2095-02-07 |\n| 668 | Ketu | Sun | Moon | 2095-02-07 | 2095-02-18 |\n| 669 | Ketu | Sun | Mars | 2095-02-18 | 2095-02-25 |\n| 670 | Ketu | Sun | Rahu | 2095-02-25 | 2095-03-16 |\n| 671 | Ketu | Sun | Jupiter | 2095-03-16 | 2095-04-02 |\n| 672 | Ketu | Sun | Saturn | 2095-04-02 | 2095-04-23 |\n| 673 | Ketu | Sun | Mercury | 2095-04-23 | 2095-05-11 |\n| 674 | Ketu | Sun | Ketu | 2095-05-11 | 2095-05-18 |\n| 675 | Ketu | Sun | Venus | 2095-05-18 | 2095-06-08 |\n| 676 | Ketu | Moon | Moon | 2095-06-08 | 2095-06-26 |\n| 677 | Ketu | Moon | Mars | 2095-06-26 | 2095-07-09 |\n| 678 | Ketu | Moon | Rahu | 2095-07-09 | 2095-08-10 |\n| 679 | Ketu | Moon | Jupiter | 2095-08-10 | 2095-09-07 |\n| 680 | Ketu | Moon | Saturn | 2095-09-07 | 2095-10-11 |\n| 681 | Ketu | Moon | Mercury | 2095-10-11 | 2095-11-10 |\n| 682 | Ketu | Moon | Ketu | 2095-11-10 | 2095-11-22 |\n| 683 | Ketu | Moon | Venus | 2095-11-22 | 2095-12-28 |\n| 684 | Ketu | Moon | Sun | 2095-12-28 | 2096-01-07 |\n| 685 | Ketu | Mars | Mars | 2096-01-07 | 2096-01-16 |\n| 686 | Ketu | Mars | Rahu | 2096-01-16 | 2096-02-07 |\n| 687 | Ketu | Mars | Jupiter | 2096-02-07 | 2096-02-27 |\n| 688 | Ketu | Mars | Saturn | 2096-02-27 | 2096-03-22 |\n| 689 | Ketu | Mars | Mercury | 2096-03-22 | 2096-04-12 |\n| 690 | Ketu | Mars | Ketu | 2096-04-12 | 2096-04-21 |\n| 691 | Ketu | Mars | Venus | 2096-04-21 | 2096-05-16 |\n| 692 | Ketu | Mars | Sun | 2096-05-16 | 2096-05-23 |\n| 693 | Ketu | Mars | Moon | 2096-05-23 | 2096-06-05 |\n| 694 | Ketu | Rahu | Rahu | 2096-06-05 | 2096-08-01 |\n| 695 | Ketu | Rahu | Jupiter | 2096-08-01 | 2096-09-21 |\n| 696 | Ketu | Rahu | Saturn | 2096-09-21 | 2096-11-21 |\n| 697 | Ketu | Rahu | Mercury | 2096-11-21 | 2097-01-14 |\n| 698 | Ketu | Rahu | Ketu | 2097-01-14 | 2097-02-06 |\n| 699 | Ketu | Rahu | Venus | 2097-02-06 | 2097-04-10 |\n| 700 | Ketu | Rahu | Sun | 2097-04-10 | 2097-04-30 |\n| 701 | Ketu | Rahu | Moon | 2097-04-30 | 2097-06-01 |\n| 702 | Ketu | Rahu | Mars | 2097-06-01 | 2097-06-23 |\n| 703 | Ketu | Jupiter | Jupiter | 2097-06-23 | 2097-08-07 |\n| 704 | Ketu | Jupiter | Saturn | 2097-08-07 | 2097-09-30 |\n| 705 | Ketu | Jupiter | Mercury | 2097-09-30 | 2097-11-18 |\n| 706 | Ketu | Jupiter | Ketu | 2097-11-18 | 2097-12-07 |\n| 707 | Ketu | Jupiter | Venus | 2097-12-07 | 2098-02-02 |\n| 708 | Ketu | Jupiter | Sun | 2098-02-02 | 2098-02-19 |\n| 709 | Ketu | Jupiter | Moon | 2098-02-19 | 2098-03-20 |\n| 710 | Ketu | Jupiter | Mars | 2098-03-20 | 2098-04-09 |\n| 711 | Ketu | Jupiter | Rahu | 2098-04-09 | 2098-05-30 |\n| 712 | Ketu | Saturn | Saturn | 2098-05-30 | 2098-08-02 |\n| 713 | Ketu | Saturn | Mercury | 2098-08-02 | 2098-09-28 |\n| 714 | Ketu | Saturn | Ketu | 2098-09-28 | 2098-10-22 |\n| 715 | Ketu | Saturn | Venus | 2098-10-22 | 2098-12-28 |\n| 716 | Ketu | Saturn | Sun | 2098-12-28 | 2099-01-17 |\n| 717 | Ketu | Saturn | Moon | 2099-01-17 | 2099-02-20 |\n| 718 | Ketu | Saturn | Mars | 2099-02-20 | 2099-03-16 |\n| 719 | Ketu | Saturn | Rahu | 2099-03-16 | 2099-05-15 |\n| 720 | Ketu | Saturn | Jupiter | 2099-05-15 | 2099-07-08 |\n| 721 | Ketu | Mercury | Mercury | 2099-07-08 | 2099-08-29 |\n| 722 | Ketu | Mercury | Ketu | 2099-08-29 | 2099-09-19 |\n| 723 | Ketu | Mercury | Venus | 2099-09-19 | 2099-11-18 |\n| 724 | Ketu | Mercury | Sun | 2099-11-18 | 2099-12-06 |\n| 725 | Ketu | Mercury | Moon | 2099-12-06 | 2100-01-05 |\n| 726 | Ketu | Mercury | Mars | 2100-01-05 | 2100-01-27 |\n| 727 | Ketu | Mercury | Rahu | 2100-01-27 | 2100-03-22 |\n| 728 | Ketu | Mercury | Jupiter | 2100-03-22 | 2100-05-09 |\n| 729 | Ketu | Mercury | Saturn | 2100-05-09 | 2100-07-06 |\n\n### Yogini Dasha\n\n| No. | Lord / sign | Start | End | Years |\n|------|-----------|------|------|------|\n| 1 | Moon | 1991-04-07T09:15:00 | 1993-04-06T21:15:00 | 2 |\n| 2 | Mars | 1993-04-06T21:15:00 | 1996-04-06T15:15:00 | 3 |\n| 3 | Mercury | 1996-04-06T15:15:00 | 2000-04-06T15:15:00 | 4 |\n| 4 | Jupiter | 2000-04-06T15:15:00 | 2005-04-06T21:15:00 | 5 |\n| 5 | Saturn | 2005-04-06T21:15:00 | 2011-04-07T09:15:00 | 6 |\n| 6 | Venus | 2011-04-07T09:15:00 | 2018-04-07T03:15:00 | 7 |\n| 7 | Rahu | 2018-04-07T03:15:00 | 2026-04-07T03:15:00 | 8 |\n| 8 | Sun | 2026-04-07T03:15:00 | 2027-04-07T09:15:00 | 1 |\n\n### Kala Chakra Dasha\n\n| No. | Lord / sign | Start | End | Years |\n|------|-----------|------|------|------|\n| 1 | Ketu | 1991-04-07T09:15:00 | 2000-04-06T15:15:00 | 9 |\n| 2 | Venus | 2000-04-06T15:15:00 | 2010-04-07T03:15:00 | 10 |\n| 3 | Sun | 2010-04-07T03:15:00 | 2021-04-06T21:15:00 | 11 |\n| 4 | Moon | 2021-04-06T21:15:00 | 2033-04-06T21:15:00 | 12 |\n| 5 | Mars | 2033-04-06T21:15:00 | 2046-04-07T03:15:00 | 13 |\n| 6 | Mercury | 2046-04-07T03:15:00 | 2060-04-06T15:15:00 | 14 |\n| 7 | Jupiter | 2060-04-06T15:15:00 | 2075-04-07T09:15:00 | 15 |\n| 8 | Saturn | 2075-04-07T09:15:00 | 2091-04-07T09:15:00 | 16 |\n| 9 | Rahu | 2091-04-07T09:15:00 | 2108-04-07T15:15:00 | 17 |\n| 10 | Ketu | 2108-04-07T15:15:00 | 2126-04-08T03:15:00 | 18 |\n| 11 | Venus | 2126-04-08T03:15:00 | 2133-04-07T21:15:00 | 7 |\n| 12 | Sun | 2133-04-07T21:15:00 | 2141-04-07T21:15:00 | 8 |\n\n### Tribhagi Dasha\n\n| No. | Lord / sign | Start | End | Years |\n|------|-----------|------|------|------|\n| 1 | Venus | 1991-04-07T09:15:00 | 1994-05-07T05:20:14 | 3.082319975537242 |\n| 2 | Sun | 1994-05-07T05:20:14 | 1996-05-06T17:38:33 | 2.0 |\n| 3 | Moon | 1996-05-06T17:38:33 | 1999-09-06T06:09:05 | 3.3333333333333335 |\n| 4 | Mars | 1999-09-06T06:09:05 | 2002-01-05T12:30:27 | 2.3333333333333335 |\n| 5 | Rahu | 2002-01-05T12:30:27 | 2008-01-06T01:25:24 | 6.0 |\n| 6 | Jupiter | 2008-01-06T01:25:24 | 2013-05-07T02:14:15 | 5.333333333333333 |\n| 7 | Saturn | 2013-05-07T02:14:15 | 2019-09-06T09:12:15 | 6.333333333333333 |\n| 8 | Mercury | 2019-09-06T09:12:15 | 2025-05-07T04:04:09 | 5.666666666666667 |\n| 9 | Ketu | 2025-05-07T04:04:09 | 2027-09-06T10:25:31 | 2.3333333333333335 |\n| 10 | Venus | 2027-09-06T10:25:31 | 2034-05-07T11:26:34 | 6.666666666666667 |\n| 11 | Sun | 2034-05-07T11:26:34 | 2036-05-06T23:44:53 | 2.0 |\n| 12 | Moon | 2036-05-06T23:44:53 | 2039-09-06T12:15:25 | 3.3333333333333335 |\n| 13 | Mars | 2039-09-06T12:15:25 | 2042-01-05T18:36:47 | 2.3333333333333335 |\n| 14 | Rahu | 2042-01-05T18:36:47 | 2048-01-06T07:31:44 | 6.0 |\n| 15 | Jupiter | 2048-01-06T07:31:44 | 2053-05-07T08:20:35 | 5.333333333333333 |\n| 16 | Saturn | 2053-05-07T08:20:35 | 2059-09-06T15:18:35 | 6.333333333333333 |\n| 17 | Mercury | 2059-09-06T15:18:35 | 2065-05-07T10:10:29 | 5.666666666666667 |\n| 18 | Ketu | 2065-05-07T10:10:29 | 2067-09-06T16:31:51 | 2.3333333333333335 |\n| 19 | Venus | 2067-09-06T16:31:51 | 2074-05-07T17:32:54 | 6.666666666666667 |\n| 20 | Sun | 2074-05-07T17:32:54 | 2076-05-07T05:51:13 | 2.0 |\n| 21 | Moon | 2076-05-07T05:51:13 | 2079-09-06T18:21:45 | 3.3333333333333335 |\n| 22 | Mars | 2079-09-06T18:21:45 | 2082-01-06T00:43:07 | 2.3333333333333335 |\n| 23 | Rahu | 2082-01-06T00:43:07 | 2088-01-06T13:38:04 | 6.0 |\n| 24 | Jupiter | 2088-01-06T13:38:04 | 2093-05-07T14:26:55 | 5.333333333333333 |\n| 25 | Saturn | 2093-05-07T14:26:55 | 2099-09-06T21:24:55 | 6.333333333333333 |\n| 26 | Mercury | 2099-09-06T21:24:55 | 2105-05-08T16:16:49 | 5.666666666666667 |\n| 27 | Ketu | 2105-05-08T16:16:49 | 2107-09-07T22:38:11 | 2.3333333333333335 |\n\n### Tribhagi 40-year Dasha\n\n| No. | Lord / sign | Start | End | Years |\n|------|-----------|------|------|------|\n| 1 | Venus | 1991-04-07T09:15:00 | 1994-05-07T05:20:14 | 3.082319975537242 |\n| 2 | Sun | 1994-05-07T05:20:14 | 1996-05-06T17:38:33 | 2.0 |\n| 3 | Moon | 1996-05-06T17:38:33 | 1999-09-06T06:09:05 | 3.3333333333333335 |\n| 4 | Mars | 1999-09-06T06:09:05 | 2002-01-05T12:30:27 | 2.3333333333333335 |\n| 5 | Rahu | 2002-01-05T12:30:27 | 2008-01-06T01:25:24 | 6.0 |\n| 6 | Jupiter | 2008-01-06T01:25:24 | 2013-05-07T02:14:15 | 5.333333333333333 |\n| 7 | Saturn | 2013-05-07T02:14:15 | 2019-09-06T09:12:15 | 6.333333333333333 |\n| 8 | Mercury | 2019-09-06T09:12:15 | 2025-05-07T04:04:09 | 5.666666666666667 |\n| 9 | Ketu | 2025-05-07T04:04:09 | 2027-09-06T10:25:31 | 2.3333333333333335 |\n\n### Shodashottari Dasha\n\n| No. | Lord / sign | Start | End | Years |\n|------|-----------|------|------|------|\n| 1 | Ketu | 1991-04-07T09:15:00 | 1998-03-14T12:26:47 | 6.935219944958795 |\n| 2 | Moon | 1998-03-14T12:26:47 | 2014-03-14T14:53:19 | 16.0 |\n| 3 | Mercury | 2014-03-14T14:53:19 | 2031-03-14T23:29:01 | 17.0 |\n| 4 | Venus | 2031-03-14T23:29:01 | 2049-03-14T14:13:52 | 18.0 |\n| 5 | Sun | 2049-03-14T14:13:52 | 2060-03-14T09:54:37 | 11.0 |\n| 6 | Mars | 2060-03-14T09:54:37 | 2072-03-14T11:44:31 | 12.0 |\n| 7 | Jupiter | 2072-03-14T11:44:31 | 2085-03-14T19:43:34 | 13.0 |\n| 8 | Saturn | 2085-03-14T19:43:34 | 2099-03-15T09:51:47 | 14.0 |\n\n| AD/child | Main period | Sub-period | Start | End |\n|----------|------|------|------|------|\n| 1 | - | Ketu | 1991-04-07T09:15:00 | 1992-02-18T00:38:58 |\n| 2 | - | Moon | 1992-02-18T00:38:58 | 1992-12-30T16:02:56 |\n| 3 | - | Mercury | 1992-12-30T16:02:56 | 1993-11-12T07:26:55 |\n| 4 | - | Venus | 1993-11-12T07:26:55 | 1994-09-24T22:50:53 |\n| 5 | - | Sun | 1994-09-24T22:50:53 | 1995-08-07T14:14:51 |\n| 6 | - | Mars | 1995-08-07T14:14:51 | 1996-06-19T05:38:50 |\n| 7 | - | Jupiter | 1996-06-19T05:38:50 | 1997-05-01T21:02:48 |\n| 8 | - | Saturn | 1997-05-01T21:02:48 | 1998-03-14T12:26:47 |\n| 9 | - | Moon | 1998-03-14T12:26:47 | 2000-03-14T00:45:06 |\n| 10 | - | Mercury | 2000-03-14T00:45:06 | 2002-03-14T13:03:25 |\n| 11 | - | Venus | 2002-03-14T13:03:25 | 2004-03-14T01:21:44 |\n| 12 | - | Sun | 2004-03-14T01:21:44 | 2006-03-14T13:40:03 |\n| 13 | - | Mars | 2006-03-14T13:40:03 | 2008-03-14T01:58:22 |\n| 14 | - | Jupiter | 2008-03-14T01:58:22 | 2010-03-14T14:16:41 |\n| 15 | - | Saturn | 2010-03-14T14:16:41 | 2012-03-14T02:35:00 |\n| 16 | - | Ketu | 2012-03-14T02:35:00 | 2014-03-14T14:53:19 |\n| 17 | - | Mercury | 2014-03-14T14:53:19 | 2016-04-28T18:57:46 |\n| 18 | - | Venus | 2016-04-28T18:57:46 | 2018-06-13T23:02:14 |\n| 19 | - | Sun | 2018-06-13T23:02:14 | 2020-07-29T03:06:42 |\n| 20 | - | Mars | 2020-07-29T03:06:42 | 2022-09-13T07:11:10 |\n| 21 | - | Jupiter | 2022-09-13T07:11:10 | 2024-10-28T11:15:37 |\n| 22 | - | Saturn | 2024-10-28T11:15:37 | 2026-12-13T15:20:05 |\n| 23 | - | Ketu | 2026-12-13T15:20:05 | 2029-01-27T19:24:33 |\n| 24 | - | Moon | 2029-01-27T19:24:33 | 2031-03-14T23:29:01 |\n| 25 | - | Venus | 2031-03-14T23:29:01 | 2033-06-13T19:19:37 |\n| 26 | - | Sun | 2033-06-13T19:19:37 | 2035-09-13T15:10:13 |\n| 27 | - | Mars | 2035-09-13T15:10:13 | 2037-12-13T11:00:50 |\n| 28 | - | Jupiter | 2037-12-13T11:00:50 | 2040-03-14T06:51:26 |\n| 29 | - | Saturn | 2040-03-14T06:51:26 | 2042-06-14T02:42:02 |\n| 30 | - | Ketu | 2042-06-14T02:42:02 | 2044-09-12T22:32:39 |\n| 31 | - | Moon | 2044-09-12T22:32:39 | 2046-12-13T18:23:15 |\n| 32 | - | Mercury | 2046-12-13T18:23:15 | 2049-03-14T14:13:52 |\n| 33 | - | Sun | 2049-03-14T14:13:52 | 2050-07-29T19:41:27 |\n| 34 | - | Mars | 2050-07-29T19:41:27 | 2051-12-14T01:09:03 |\n| 35 | - | Jupiter | 2051-12-14T01:09:03 | 2053-04-29T06:36:38 |\n| 36 | - | Saturn | 2053-04-29T06:36:38 | 2054-09-13T12:04:14 |\n| 37 | - | Ketu | 2054-09-13T12:04:14 | 2056-01-28T17:31:50 |\n| 38 | - | Moon | 2056-01-28T17:31:50 | 2057-06-13T22:59:25 |\n| 39 | - | Mercury | 2057-06-13T22:59:25 | 2058-10-29T04:27:01 |\n| 40 | - | Venus | 2058-10-29T04:27:01 | 2060-03-14T09:54:37 |\n| 41 | - | Mars | 2060-03-14T09:54:37 | 2061-09-13T07:08:21 |\n| 42 | - | Jupiter | 2061-09-13T07:08:21 | 2063-03-15T04:22:05 |\n| 43 | - | Saturn | 2063-03-15T04:22:05 | 2064-09-13T01:35:49 |\n| 44 | - | Ketu | 2064-09-13T01:35:49 | 2066-03-14T22:49:34 |\n| 45 | - | Moon | 2066-03-14T22:49:34 | 2067-09-13T20:03:18 |\n| 46 | - | Mercury | 2067-09-13T20:03:18 | 2069-03-14T17:17:02 |\n| 47 | - | Venus | 2069-03-14T17:17:02 | 2070-09-13T14:30:46 |\n| 48 | - | Sun | 2070-09-13T14:30:46 | 2072-03-14T11:44:31 |\n| 49 | - | Jupiter | 2072-03-14T11:44:31 | 2073-10-29T00:44:23 |\n| 50 | - | Saturn | 2073-10-29T00:44:23 | 2075-06-14T13:44:16 |\n| 51 | - | Ketu | 2075-06-14T13:44:16 | 2077-01-28T02:44:09 |\n| 52 | - | Moon | 2077-01-28T02:44:09 | 2078-09-13T15:44:02 |\n| 53 | - | Mercury | 2078-09-13T15:44:02 | 2080-04-29T04:43:55 |\n| 54 | - | Venus | 2080-04-29T04:43:55 | 2081-12-13T17:43:48 |\n| 55 | - | Sun | 2081-12-13T17:43:48 | 2083-07-30T06:43:41 |\n| 56 | - | Mars | 2083-07-30T06:43:41 | 2085-03-14T19:43:34 |\n| 57 | - | Saturn | 2085-03-14T19:43:34 | 2086-12-14T00:29:35 |\n| 58 | - | Ketu | 2086-12-14T00:29:35 | 2088-09-13T05:15:37 |\n| 59 | - | Moon | 2088-09-13T05:15:37 | 2090-06-14T10:01:38 |\n| 60 | - | Mercury | 2090-06-14T10:01:38 | 2092-03-14T14:47:40 |\n| 61 | - | Venus | 2092-03-14T14:47:40 | 2093-12-13T19:33:42 |\n| 62 | - | Sun | 2093-12-13T19:33:42 | 2095-09-14T00:19:43 |\n| 63 | - | Mars | 2095-09-14T00:19:43 | 2097-06-14T05:05:45 |\n| 64 | - | Jupiter | 2097-06-14T05:05:45 | 2099-03-15T09:51:47 |\n\n## Saturn and KP\n\n### Sade Sati / Dhayya / Kantaka Saturn\n\n- Moon sign: Sagittarius\n- Current phase: none\n- Active: False\n- Summary: Sade Sati phases: rising = Scorpio, peak = Sagittarius (hardest), setting = Capricorn; whether it is under way depends on Saturn's actual position\n\n| Phase | Sign |\n|-------|------|\n| rising | Scorpio |\n| peak | Sagittarius |\n| setting | Capricorn |\n\n### KP Chart / Cusps\n\n- House basis: explicit_cusps\n\n| House | Sign | Cusp longitude | KP lord chain |\n|-------|------|----------------|---------------|\n| 1 | Taurus | 38.9520 | RL=Venus; NL=Sun; SL=Venus; SSL=Jupiter |\n| 2 | Gemini | 64.0900 | RL=Mercury; NL=Mars; SL=Venus; SSL=Jupiter |\n| 3 | Gemini | 86.8992 | RL=Mercury; NL=Jupiter; SL=Venus; SSL=Venus |\n| 4 | Cancer | 111.5368 | RL=Moon; NL=Mercury; SL=Venus; SSL=Ketu |\n| 5 | Leo | 141.6932 | RL=Sun; NL=Venus; SL=Jupiter; SSL=Rahu |\n| 6 | Virgo | 179.2564 | RL=Mercury; NL=Mars; SL=Saturn; SSL=Moon |\n| 7 | Scorpio | 218.9520 | RL=Mars; NL=Saturn; SL=Venus; SSL=Rahu |\n| 8 | Sagittarius | 244.0900 | RL=Jupiter; NL=Ketu; SL=Moon; SSL=Jupiter |\n| 9 | Sagittarius | 266.8992 | RL=Jupiter; NL=Sun; SL=Sun; SSL=Jupiter |\n| 10 | Capricorn | 291.5368 | RL=Saturn; NL=Moon; SL=Venus; SSL=Rahu |\n| 11 | Aquarius | 321.6932 | RL=Saturn; NL=Jupiter; SL=Jupiter; SSL=Rahu |\n| 12 | Pisces | 359.2564 | RL=Jupiter; NL=Mercury; SL=Saturn; SSL=Moon |\n\n### KP Significators / Planet Lords\n\n| Planet | KP lord chain | A | B | C | D |\n|--------|---------------|---|---|---|---|\n| Sun | RL=Jupiter; NL=Mercury; SL=Moon; SSL=Ketu | 12 | 12 | 2; 3; 6 | 5 |\n| Moon | RL=Jupiter; NL=Venus; SL=Jupiter; SSL=Saturn | 1 | 9 | 1 | 4 |\n| Mars | RL=Mercury; NL=Rahu; SL=Rahu; SSL=Moon | 9 | 2 | - | 7 |\n| Mercury | RL=Mars; NL=Ketu; SL=Mars; SSL=Saturn | 3 | 12 | - | 2; 3; 6 |\n| Jupiter | RL=Moon; NL=Saturn; SL=Venus; SSL=Mercury | 10 | 4 | 10; 11 | 8; 9; 12 |\n| Venus | RL=Mars; NL=Sun; SL=Rahu; SSL=Rahu | 12 | 1 | 5 | 1 |\n| Saturn | RL=Saturn; NL=Moon; SL=Rahu; SSL=Rahu | 9 | 10 | 4 | 10; 11 |\n| Rahu | RL=Saturn; NL=Sun; SL=Rahu; SSL=Ketu | 12 | 9 | 5 | - |\n| Ketu | RL=Moon; NL=Jupiter; SL=Moon; SSL=Venus | 4 | 3 | 8; 9; 12 | - |\n\n### Natal / KP Ruling Planets\n\n| Field | Planet |\n|-------|--------|\n| day_lord | Sun |\n| moon_sign_lord | Jupiter |\n| moon_star_lord | Venus |\n| moon_sub_lord | Jupiter |\n| ascendant_sign_lord | Venus |\n| ascendant_star_lord | Sun |\n| ascendant_sub_lord | Venus |\n\n## Annual Charts and Tajika\n\n### Varshaphala Basics and Annual Planet Table\n\n- Varshapravesha: 2026-04-07 00:48:04\n- Annual ascendant: Taurus\n\n#### Varshesha / Year Lord\n\n| Field | Value |\n|-------|-------|\n| Varshesha | Mars |\n| Selection basis | Ruler of the Muntha sign (current local method) |\n| Annual ascendant sign | Taurus |\n| Muntha sign | Aries |\n\n### 2027 Annual Varshaphala / Tajika Details\n\n| Item | Value |\n|------|------|\n| Varshapravesha | 2027-04-07 06:45:54 |\n| Annual ascendant | Cancer |\n| Varshesha | Venus |\n| Muntha sign | Taurus |\n\n### 2028 Annual Varshaphala / Tajika Details\n\n| Item | Value |\n|------|------|\n| Varshapravesha | 2028-04-06 12:55:08 |\n| Annual ascendant | Libra |\n| Varshesha | Mercury |\n| Muntha sign | Gemini |\n\n## Bhavesh, Dosha and Yoga\n\n### House Lords (Bhavesh) by Placement\n\n| House | Sign | Lord | Lord placement | Lord dignity | Dasha activation |\n|-------|------|------|----------------|--------------|------------------|\n| 1 | Taurus | Venus | Aries H12 29.23° | Friendly Sign | background |\n| 2 | Gemini | Mercury | Aries H12 4.99° | Friendly Sign | background |\n| 3 | Cancer | Moon | Sagittarius H8 20.50° | Enemy Sign | background |\n| 4 | Leo | Sun | Pisces H11 22.99° | Neutral | background |\n| 5 | Virgo | Mercury | Aries H12 4.99° | Friendly Sign | background |\n| 6 | Libra | Venus | Aries H12 29.23° | Friendly Sign | background |\n| 7 | Scorpio | Mars | Gemini H2 8.40° | Neutral | background |\n| 8 | Sagittarius | Jupiter | Cancer H3 9.90° | Exalted | active |\n| 9 | Capricorn | Saturn | Capricorn H9 11.82° | Own Sign | background |\n| 10 | Aquarius | Saturn | Capricorn H9 11.82° | Own Sign | background |\n| 11 | Pisces | Jupiter | Cancer H3 9.90° | Exalted | active |\n| 12 | Aries | Mars | Gemini H2 8.40° | Neutral | background |\n\n### Mangala / Sade Sati / Dosha Results\n\n| Topic | Detected / phase | Key facts | Summary |\n|-------|------------------|-----------|---------|\n| Mangal / Kuja Dosha | True | mars_house=2; mars_sign=Gemini; severity=moderate | Has Mangal Dosha: Mars in house 2 Gemini, severity: moderate |\n| Kaal Sarp Dosha | True | rahu_house=9; ketu_house=3; type=partial | Partial Kaal Sarp Dosha: 5/7 planets between the axis |\n| Pitra Dosha | False | sun_house=11; sun_sign=Pisces | No clear sign of Pitra Dosha |\n| Sade Sati | False | moon_sign=Sagittarius | Sade Sati phases: rising = Scorpio, peak = Sagittarius (hardest), setting = Capricorn; whether it is under way depends on Saturn's actual position |\n\n### Applicable Benefic / Mixed / Malefic Yogas\n\n- Yoga detected count: 39\n- Context layers: d60; d9; panchanga\n\n#### Applicable Benefic Yogas\n\n| Yoga | Category | Strength | Combination | Effects / notes |\n|------|----------|----------|-------------|-----------------|\n| Veshi Yoga | surya | moderate | Planet in the 2nd from the Sun | Abundant wealth; Comfortable living; Cheerful temperament |\n| Sunapha Yoga | chandra | moderate | Planet in the 2nd from the Moon | Self-reliant; Abundant wealth; Respected by others |\n| Harsha Vipreet Raja Yoga | raja | strong | 6th lord placed in a Dusthana | Blessing in disguise; Rises through adversity; Grows through hardship |\n| Raja Yoga (Mutual Aspect) | raja | moderate | Custom condition met | Power and status; Influence |\n| Raja Yoga (Trikona Lord Exalted) | raja | strong | Custom condition met | Exceptional wisdom; Favoured by fortune; Spiritual attainment |\n| Ardha Nabhasa Yoga | nabhasa | moderate | Custom condition met | Balanced life; Moderate achievement |\n| Putra Yoga (Strong Jupiter) | putra | strong | Custom condition met | Good fortune with children; Intelligent children |\n| Bhagya Yoga | auspicious | strong | Custom condition met | Favoured by fortune; Repeated good fortune |\n| Raja Yoga (2nd & 7th Lords) | raja | strong | Custom condition met | Wealth joined with marriage; Wealth through the spouse |\n| Dhana Yoga (5th & 9th Lords in Wealth House) | dhana | strong | Lord of house 5, Sun, in house 11 | Wealth through talent or luck; Ancestral wealth |\n| Karma Yoga (10th & 11th Lords Combination) | karma | strong | Saturn and Saturn together in house 9 | Career success; Strong network of contacts; Income and status rise together |\n| Asha Yoga (11th Lord Strong) | asha | moderate | Saturn strong in Capricorn | Desires fulfilled; Strong social network |\n| Moksha Yoga (12th Lord Strong) | moksha | moderate | Jupiter strong in Cancer | Inclination towards liberation; Seclusion or renunciation |\n| Moksha Yoga (4th/8th/12th Lords Combination) | moksha | strong | Ketu and Jupiter together in house 3 | Final liberation (Moksha); Spiritual wisdom |\n| Aryama Yoga (9th Lord Exalted) | aryama | strong | Jupiter exalted in Cancer | Powerful patronage; Ancestral blessings |\n| Vesi Yoga | surya | moderate | Mercury, Venus in the 2nd from the Sun | Planets behind the Sun give support; Stronger expression and drive; Fairly strong self-motivation |\n| Sunaphaa Yoga | chandra | moderate | the planets involved in the 2nd from the Moon | Self-reliant; Ability to accumulate resources; The mind has follow-through |\n| Rogagrastha Yoga | health | weak | Lagna lord in the Lagna with a Dusthana lord, or a weak Lagna lord with Kendra/Trikona lords | Illness; Health needs attention; Weaker constitution |\n| Sada Sanchara Yoga | travel | weak | Lagna lord or Moon in a movable sign | Travels often; Wandering life; Restless at home |\n| Nishkapata Yoga | auspicious | moderate | Natural benefic, strong planet or benefic sign in the 4th, or the Lagna lord in the 4th influenced by benefics | Kind-hearted; Sincere with others; Harmonious family |\n| Bhaarathi Yoga | raja | rare | Lord of sign occupied in navamsa by 2nd/5th/11th lord, exalted and joins the 9th lord | Learned, eloquent, wealthy from knowledge |\n| Daama Yoga | nabhasa | occasional | 7 visible planets occupy exactly 6 distinct signs | Leader, wealthy, charitable |\n\n#### Applicable Mixed Yogas\n\n| Yoga | Category | Strength | Combination | Effects / notes |\n|------|----------|----------|-------------|-----------------|\n| Budha-Shukra Yoga | conjunction | strong | Mercury and Venus together in house 12 | Artistic talent; Business acumen; Refined aesthetic sense |\n| Shani-Rahu Yoga | conjunction | moderate | Saturn and Rahu together in house 9 | Discipline and change; Breaks with convention; May also bring obstacles |\n| Pushya Yoga | special | strong | Benefics in the 8th/9th/12th houses | Spiritual growth; Spiritual elevation; Favoured by fortune |\n| Kalatra Dosha (7th Lord in 6/8/12) | kalatra | weak | Custom condition met | Marital challenges; Spouse's health issues |\n| Satkalatra Yoga | kalatra | moderate | 7th lord or Venus conjoined with or mutually aspecting Jupiter/Mercury | Spouse of noble character; Harmonious marriage |\n| Dama Yoga | special | pending assessment | Seven planets spread over six signs | Not yet documented |\n| Grihanasa Yoga | special | moderate | Lord of navamsa occupied by 4th lord in 12th | Loss or destruction of property/house |\n| Grihanasa Yoga (Planet Position Variant) | special | moderate | Custom condition met | Loss or destruction of property/house |\n| Krisanga Yoga | special | moderate | Lagna lord in a dry sign | Lean/thin body, frail constitution |\n| Parihasaka Yoga | special | moderate | Custom condition met | Ridiculed by others, mocked, subject to derision |\n| Veshi Yoga | solar_yoga | Moderate | Mercury+Venus in the 2nd from the Sun | Ample wealth; Comfortable life; Cheerful temperament |\n| Sunapha Yoga | lunar_yoga | Moderate | Saturn+Rahu in the 2nd from the Moon | Self-made; Ample wealth; Respected |\n\n#### Applicable Malefic Yogas\n\n| Yoga | Category | Strength | Combination | Effects / notes |\n|------|----------|----------|-------------|-----------------|\n| Papakartari Yoga | durbhaga | weak | A house hemmed in by malefics (Papakartari) | Limited in the affected area; Requires extra effort; Obstacles and challenges |\n| Daridra Yoga (6th Lord) | durbhaga | weak | Custom condition met | Debt problems; Needs thrift |\n| Daridra Yoga (2nd Lord in 6/8/12) | durbhaga | weak | Lord of house 2, Venus, in house 12 | Financial instability; Difficulty saving |\n| Bandhubhisthyaktha Yoga | durbhaga | weak | 4th lord associated with malefics or weak/afflicted | Abandoned by relatives; Lacks family support; Distant family relations |\n| Matrunasa Yoga | durbhaga | weak | Moon hemmed, conjoined or aspected by malefics, or the 4th lord's Navamsa chain ending in the 6th/8th/12th | Mother's health is poor; Weak bond with mother; Early loss of mother |\n", + "readerDashaApplicability": "\n## Auxiliary Dasha Applicability (reference only)\n\n| Dasha system | Applicable? / Reason | Use |\n| --- | --- | --- |\n| Ashtottari | Not applicable for this chart; the original condition is not bypassed and no dates are filled in. Reason: The Moon's nakshatra and lunar phase do not meet this dasha's applicability condition; the rule is not bypassed. | Secondary timeline for cross-checking only; does not set event timing on its own |\n| Chaturshitisama | Not applicable for this chart; the original condition is not bypassed and no dates are filled in. Reason: This dasha requires the 10th lord in the 10th house; not met here. | Secondary timeline for cross-checking only; does not set event timing on its own |\n| Dwadashottari | Not applicable for this chart; the original condition is not bypassed and no dates are filled in. Reason: This dasha requires the Navamsa Lagna in Taurus or Libra; not met here. | Secondary timeline for cross-checking only; does not set event timing on its own |\n| Dwisaptatisama | Not applicable for this chart; the original condition is not bypassed and no dates are filled in. Reason: This dasha requires the Lagna lord in the 1st or 7th house; not met here. | Secondary timeline for cross-checking only; does not set event timing on its own |\n| Kala Chakra | Periods were returned and can be used for cross-checking; this does not mean multi-engine verification is complete. | Secondary timeline for cross-checking only; does not set event timing on its own |\n| Mudda | Periods were returned and can be used for cross-checking; this does not mean multi-engine verification is complete. | Secondary timeline for cross-checking only; does not set event timing on its own |\n| Narayana | Periods were returned and can be used for cross-checking; this does not mean multi-engine verification is complete. | Secondary timeline for cross-checking only; does not set event timing on its own |\n| Panchottari | Not applicable for this chart; the original condition is not bypassed and no dates are filled in. Reason: This dasha requires a Cancer Lagna in both the birth chart and the Dwadasamsa; not met here. | Secondary timeline for cross-checking only; does not set event timing on its own |\n| Patyayini | Unavailable: the local calculation has not produced usable periods, so it cannot be used for timing. Reason: This calculation did not provide the Patyayini annual periods, so they cannot be used for timing checks yet. | Secondary timeline for cross-checking only; does not set event timing on its own |\n| Satabdika | Not applicable for this chart; the original condition is not bypassed and no dates are filled in. Reason: This dasha requires a Vargottama Lagna (same sign in Rasi and Navamsa); not met here. | Secondary timeline for cross-checking only; does not set event timing on its own |\n| Shastihayani | Not applicable for this chart; the original condition is not bypassed and no dates are filled in. Reason: This dasha requires the Sun in the Lagna sign; not met here. | Secondary timeline for cross-checking only; does not set event timing on its own |\n| Shattrimshatsama | Not applicable for this chart; the original condition is not bypassed and no dates are filled in. Reason: The calculation returned a restriction without a checkable explanation; no condition or date is inferred from it. | Secondary timeline for cross-checking only; does not set event timing on its own |\n| Shodashottari | Periods were returned and can be used for cross-checking; this does not mean multi-engine verification is complete. | Secondary timeline for cross-checking only; does not set event timing on its own |\n| Tribhagi | Periods were returned and can be used for cross-checking; this does not mean multi-engine verification is complete. | Secondary timeline for cross-checking only; does not set event timing on its own |\n| Tribhagi-40 | Periods were returned and can be used for cross-checking; this does not mean multi-engine verification is complete. | Secondary timeline for cross-checking only; does not set event timing on its own |\n| Yogini | Periods were returned and can be used for cross-checking; this does not mean multi-engine verification is complete. | Secondary timeline for cross-checking only; does not set event timing on its own |\n" +} diff --git a/frontend/tests/fixtures/report-reader-main-fictional-zh-pair.json b/frontend/tests/fixtures/report-reader-main-fictional-zh-pair.json new file mode 100644 index 00000000..9059ac9f --- /dev/null +++ b/frontend/tests/fixtures/report-reader-main-fictional-zh-pair.json @@ -0,0 +1,13 @@ +{ + "fixtureProvenance": { + "fictional": true, + "label": "虚构甲", + "birth": "1991-04-07 09:15 Asia/Shanghai-like offset +8, not a real person", + "edition": "reader_main", + "regeneratedFor": "TASK-report-english-edition-20260929", + "generator": "cmd_full_reading -> build_professional_report_reference_packet -> professional_report_reference._english_edition / _pl9_export_markdown_for_edition (one packet, languages zh+en)", + "language": "zh" + }, + "markdown": "# 印度占星星盘报告\n\n## 出生资料与图盘\n\n- 出生:1991-04-07 09:15\n- 计算口径:lahiri / mean\n\n### Birth Particulars / Hindu Calendar\n\n| Field | Value |\n|-------|-------|\n| 出生日期 | 1991-04-07 |\n| 出生时间 | 09:15 |\n| 纬度 | 30.5728 |\n| 经度 | 104.0668 |\n| 时区 | UTC+8.0 |\n| 岁差 | Lahiri |\n| 岁差名称 | lahiri |\n| 岁差值 | 23.735 |\n| 交点模式 | mean |\n\n| Panchanga | Value |\n|-----------|-------|\n| 综合性质 | 中(Mixed) |\n| 吉性要素数量 | 3 |\n| 要素总数 | 6 |\n\n### Birth Chart 行星原始位置\n\n| Planet | R/C | Sign | Degree | Longitude | House | 星宿 | Pada | Speed |\n|--------|-----|------|--------|-----------|-------|-----------|------|-------|\n| 太阳 | C | 双鱼座 | 22.99° | 352.99° | 11 | 雷瓦蒂(Revati) | 2 | 0.983816 |\n| 月亮 | C | 射手座 | 20.50° | 260.50° | 8 | 前阿沙陀(Purva Ashadha) | 3 | 11.838419 |\n| 火星 | C | 双子座 | 8.40° | 68.40° | 2 | 阿尔德拉(Ardra) | 1 | 0.535139 |\n| 水星 | R | 白羊座 | 4.99° | 4.99° | 12 | 阿湿毗尼(Ashwini) | 2 | -0.251851 |\n| 木星 | C | 巨蟹座 | 9.90° | 99.90° | 3 | 普沙(Pushya) | 2 | 0.023622 |\n| 金星 | C | 白羊座 | 29.23° | 29.23° | 12 | 基利提卡(Krittika) | 1 | 1.186233 |\n| 土星 | C | 摩羯座 | 11.82° | 281.82° | 9 | 室罗伐那(Shravana) | 1 | 0.062245 |\n| 北交点 | R | 摩羯座 | 0.31° | 270.31° | 9 | 后阿沙陀(Uttara Ashadha) | 2 | -0.052944 |\n| 南交点 | R | 巨蟹座 | 0.31° | 90.31° | 3 | 普那婆苏(Punarvasu) | 4 | -0.052944 |\n\n#### 行星主星与状态\n\n| 行星 | 星座主 | 星宿主 | 分主 | 分分主 | 尊贵状态 | 力量比 |\n|------|--------|--------|------|--------|----------|--------|\n| 太阳 | 木星 | 水星 | 月亮 | 水星 | 中性 | 1.86 |\n| 月亮 | 木星 | 金星 | 木星 | 土星 | 入敌 | 1.15 |\n| 火星 | 水星 | 北交点 | 北交点 | 月亮 | 中性 | 1.10 |\n| 水星 | 火星 | 南交点 | 火星 | 木星 | 入友 | 1.08 |\n| 木星 | 月亮 | 土星 | 金星 | 水星 | 入旺 | 1.18 |\n| 金星 | 火星 | 太阳 | 北交点 | 北交点 | 入友 | 1.45 |\n| 土星 | 土星 | 月亮 | 火星 | 太阳 | 入庙 | 1.43 |\n| 北交点 | 土星 | 太阳 | 北交点 | 水星 | 中性 | - |\n| 南交点 | 月亮 | 木星 | 月亮 | 南交点 | 极敌 | - |\n\n星座主、星宿主、分主、分分主:这颗行星所在星座、星宿与 KP 细分各自的主星。力量比:六维力量与所需力量之比,1 以上为达标。\n\n### Chandra Chart / Bhava Spashta - Sripati System\n\n| 月亮盘 | Sign | Degree | House |\n|------------|------|--------|-------|\n| 太阳 | 双鱼座 | 352.99° | 4 |\n| 月亮 | 射手座 | 260.50° | 1 |\n| 火星 | 双子座 | 68.40° | 7 |\n| 水星 | 白羊座 | 4.99° | 5 |\n| 木星 | 巨蟹座 | 99.90° | 8 |\n| 金星 | 白羊座 | 29.23° | 5 |\n| 土星 | 摩羯座 | 281.82° | 2 |\n| 北交点 | 摩羯座 | 270.31° | 2 |\n| 南交点 | 巨蟹座 | 90.31° | 8 |\n\n| Bhava Number | Bhava Arambha / House beginning | Bhava Madhya / Middle of House | Bhava Antya / House ending |\n|--------------|----------------------------------|-------------------------------|-----------------------------|\n| 1 | 20.95° | 金牛座 8.86° | 50.95° |\n| 2 | 50.95° | 双子座 3.05° | 75.15° |\n| 3 | 75.15° | 双子座 27.24° | 99.34° |\n| 4 | 99.34° | 巨蟹座 21.44° | 129.34° |\n| 5 | 129.34° | 狮子座 27.24° | 165.15° |\n| 6 | 165.15° | 天秤座 3.05° | 200.95° |\n| 7 | 200.95° | 天蝎座 8.86° | 230.95° |\n| 8 | 230.95° | 射手座 3.05° | 255.15° |\n| 9 | 255.15° | 射手座 27.24° | 279.34° |\n| 10 | 279.34° | 摩羯座 21.44° | 309.34° |\n| 11 | 309.34° | 水瓶座 27.24° | 345.15° |\n| 12 | 345.15° | 白羊座 3.05° | 20.95° |\n\n### Upagraha / Sub-Planets 点位\n\n| Point | Sign | Degree | Longitude |\n|-------|------|--------|-----------|\n| Kaala | 白羊座 | 7.99° | 7.99° |\n| Mrityu | 双子座 | 1.35° | 61.35° |\n| Artha_Praharaka | 双子座 | 22.65° | 82.65° |\n| Yama_Ghantaka | 巨蟹座 | 12.80° | 102.80° |\n| Gulika | 狮子座 | 13.02° | 133.02° |\n| Maandi | 狮子座 | 23.26° | 143.26° |\n| Dhuma | 狮子座 | 6.33° | 126.33° |\n| Vyatipata | 天蝎座 | 23.67° | 233.67° |\n| Parivesha | 金牛座 | 23.67° | 53.67° |\n| Indrachapa | 水瓶座 | 6.33° | 306.33° |\n| Upaketu | 水瓶座 | 22.99° | 322.99° |\n\n### 特殊上升与派生点\n\n| Point | Sign | Degree | House |\n|-------|------|--------|-------|\n| Bhava_上升 | 狮子座 | 11.35° | 4 |\n| Hora_上升 | 双子座 | 27.61° | 2 |\n| Ghati_上升 | 双子座 | 27.61° | 2 |\n| Arudha_上升 | 双鱼座 | 29.23° | 11 |\n| Upapada_上升 | 狮子座 | 8.40° | 4 |\n| A10_Karma_Pada | 射手座 | 11.82° | 8 |\n\n#### 敏感点与特殊落点\n\n| Point | Sign | Degree | Longitude | Lord |\n|-------|------|--------|-----------|------|\n| bhrigu_bindu | 双子座 | 25.41° | 85.41° | 水星 |\n| sarpa_drekkana / 太阳 | 双鱼座 | 22.99° | 352.99° | Not supplied by source |\n\n### 本命与分盘北印度图盘\n\n##### D1 Rashi\n\n##### 月亮盘\n\n##### Navamsha\n\n##### Bhava (Sripati)\n\n##### D5 Panchamsa\n\n##### D6 Shashthamsa\n\n##### D9 九分盘\n\n##### D10 Dasamsa\n\n##### D2 Hora\n\n##### D12 Dwadashamsa\n\n##### D16 Shodasamsa\n\n##### D20 Vimsamsa\n\n##### D27 Bhamsa\n\n##### D30 Trimsamsa\n\n##### D40 Khavedamsa\n\n##### D45 Akshavedamsa\n\n##### D60 Shashtyamsa\n\n##### D7 Saptamsa\n\n##### D11 Rudramsa\n\n#### D1 Rashi 数值位置表\n\n| 对象 | 落座 | 落座度数 | 黄经 | 整宫宫位 |\n|------|------|----------|------|----------|\n| 太阳 | 双鱼座 | 22.99° | 352.99° | 11 |\n| 月亮 | 射手座 | 20.50° | 260.50° | 8 |\n| 火星 | 双子座 | 8.40° | 68.40° | 2 |\n| 水星 | 白羊座 | 4.99° | 4.99° | 12 |\n| 木星 | 巨蟹座 | 9.90° | 99.90° | 3 |\n| 金星 | 白羊座 | 29.23° | 29.23° | 12 |\n| 土星 | 摩羯座 | 11.82° | 281.82° | 9 |\n| 北交点 | 摩羯座 | 0.31° | 270.31° | 9 |\n| 南交点 | 巨蟹座 | 0.31° | 90.31° | 3 |\n\n#### D2 Hora 数值位置表\n\n| 对象 | 落座 | 落座度数 | 黄经 | 整宫宫位 |\n|------|------|----------|------|----------|\n| 上升 | 巨蟹座 | 17.71° | 107.71° | 1 |\n| 太阳 | 狮子座 | 15.99° | 135.99° | 2 |\n| 月亮 | 巨蟹座 | 11.00° | 101.00° | 1 |\n| 火星 | 狮子座 | 16.81° | 136.81° | 2 |\n| 水星 | 狮子座 | 9.99° | 129.99° | 2 |\n| 木星 | 巨蟹座 | 19.81° | 109.81° | 1 |\n| 金星 | 巨蟹座 | 28.45° | 118.45° | 1 |\n| 土星 | 巨蟹座 | 23.65° | 113.65° | 1 |\n| 北交点 | 巨蟹座 | 0.63° | 90.63° | 1 |\n| 南交点 | 巨蟹座 | 0.63° | 90.63° | 1 |\n\n#### D3 Drekkana 数值位置表\n\n| 对象 | 落座 | 落座度数 | 黄经 | 整宫宫位 |\n|------|------|----------|------|----------|\n| 上升 | 金牛座 | 26.57° | 56.57° | 1 |\n| 太阳 | 天蝎座 | 8.98° | 218.98° | 7 |\n| 月亮 | 狮子座 | 1.51° | 121.51° | 4 |\n| 火星 | 双子座 | 25.21° | 85.21° | 2 |\n| 水星 | 白羊座 | 14.98° | 14.98° | 12 |\n| 木星 | 巨蟹座 | 29.71° | 119.71° | 3 |\n| 金星 | 射手座 | 27.68° | 267.68° | 8 |\n| 土星 | 金牛座 | 5.47° | 35.47° | 1 |\n| 北交点 | 摩羯座 | 0.94° | 270.94° | 9 |\n| 南交点 | 巨蟹座 | 0.94° | 90.94° | 3 |\n\n#### D4 Turyamsa 数值位置表\n\n| 对象 | 落座 | 落座度数 | 黄经 | 整宫宫位 |\n|------|------|----------|------|----------|\n| 上升 | 狮子座 | 5.42° | 125.42° | 1 |\n| 太阳 | 射手座 | 1.98° | 241.98° | 5 |\n| 月亮 | 双子座 | 22.01° | 82.01° | 11 |\n| 火星 | 处女座 | 3.61° | 153.61° | 2 |\n| 水星 | 白羊座 | 19.97° | 19.97° | 9 |\n| 木星 | 天秤座 | 9.61° | 189.61° | 3 |\n| 金星 | 摩羯座 | 26.91° | 296.91° | 6 |\n| 土星 | 白羊座 | 17.29° | 17.29° | 9 |\n| 北交点 | 摩羯座 | 1.25° | 271.25° | 6 |\n| 南交点 | 巨蟹座 | 1.25° | 91.25° | 12 |\n\n#### D5 Panchamsa 数值位置表\n\n| 对象 | 落座 | 落座度数 | 黄经 | 整宫宫位 |\n|------|------|----------|------|----------|\n| 上升 | 水瓶座 | 14.28° | 314.28° | 1 |\n| 太阳 | 水瓶座 | 24.97° | 324.97° | 1 |\n| 月亮 | 双鱼座 | 12.51° | 342.51° | 2 |\n| 火星 | 巨蟹座 | 12.01° | 102.01° | 6 |\n| 水星 | 白羊座 | 24.97° | 24.97° | 3 |\n| 木星 | 白羊座 | 19.51° | 19.51° | 3 |\n| 金星 | 狮子座 | 26.14° | 146.14° | 7 |\n| 土星 | 天秤座 | 29.11° | 209.11° | 9 |\n| 北交点 | 处女座 | 1.56° | 151.56° | 8 |\n| 南交点 | 双鱼座 | 1.56° | 331.56° | 2 |\n\n#### D6 Shashthamsa 数值位置表\n\n| 对象 | 落座 | 落座度数 | 黄经 | 整宫宫位 |\n|------|------|----------|------|----------|\n| 上升 | 射手座 | 23.13° | 263.13° | 1 |\n| 太阳 | 摩羯座 | 17.97° | 287.97° | 2 |\n| 月亮 | 白羊座 | 3.01° | 3.01° | 5 |\n| 火星 | 巨蟹座 | 20.42° | 110.42° | 8 |\n| 水星 | 白羊座 | 29.96° | 29.96° | 5 |\n| 木星 | 水瓶座 | 29.42° | 329.42° | 3 |\n| 金星 | 处女座 | 25.36° | 175.36° | 10 |\n| 土星 | 处女座 | 10.94° | 160.94° | 10 |\n| 北交点 | 巨蟹座 | 1.88° | 91.88° | 8 |\n| 南交点 | 摩羯座 | 1.88° | 271.88° | 2 |\n\n#### D7 Saptamsa 数值位置表\n\n| 对象 | 落座 | 落座度数 | 黄经 | 整宫宫位 |\n|------|------|----------|------|----------|\n| 上升 | 摩羯座 | 1.99° | 271.99° | 1 |\n| 太阳 | 水瓶座 | 10.96° | 310.96° | 2 |\n| 月亮 | 白羊座 | 23.51° | 23.51° | 4 |\n| 火星 | 巨蟹座 | 28.82° | 118.82° | 7 |\n| 水星 | 金牛座 | 4.95° | 34.95° | 5 |\n| 木星 | 双鱼座 | 9.32° | 339.32° | 3 |\n| 金星 | 天秤座 | 24.59° | 204.59° | 10 |\n| 土星 | 处女座 | 22.76° | 172.76° | 9 |\n| 北交点 | 巨蟹座 | 2.19° | 92.19° | 7 |\n| 南交点 | 摩羯座 | 2.19° | 272.19° | 1 |\n\n#### D8 Ashtamsa 数值位置表\n\n| 对象 | 落座 | 落座度数 | 黄经 | 整宫宫位 |\n|------|------|----------|------|----------|\n| 上升 | 双鱼座 | 10.84° | 340.84° | 1 |\n| 太阳 | 金牛座 | 3.96° | 33.96° | 3 |\n| 月亮 | 金牛座 | 14.02° | 44.02° | 3 |\n| 火星 | 狮子座 | 7.22° | 127.22° | 6 |\n| 水星 | 金牛座 | 9.94° | 39.94° | 3 |\n| 木星 | 金牛座 | 19.22° | 49.22° | 3 |\n| 金星 | 天蝎座 | 23.82° | 233.82° | 9 |\n| 土星 | 射手座 | 4.58° | 244.58° | 10 |\n| 北交点 | 处女座 | 2.50° | 152.50° | 7 |\n| 南交点 | 双鱼座 | 2.50° | 332.50° | 1 |\n\n#### D9 九分盘 数值位置表\n\n| 对象 | 落座 | 落座度数 | 黄经 | 整宫宫位 |\n|------|------|----------|------|----------|\n| 上升 | 双鱼座 | 19.70° | 349.70° | 1 |\n| 太阳 | 摩羯座 | 26.95° | 296.95° | 11 |\n| 月亮 | 天秤座 | 4.52° | 184.52° | 8 |\n| 火星 | 射手座 | 15.63° | 255.63° | 10 |\n| 水星 | 金牛座 | 14.94° | 44.94° | 3 |\n| 木星 | 处女座 | 29.13° | 179.13° | 7 |\n| 金星 | 射手座 | 23.05° | 263.05° | 10 |\n| 土星 | 白羊座 | 16.41° | 16.41° | 2 |\n| 北交点 | 摩羯座 | 2.82° | 272.82° | 11 |\n| 南交点 | 巨蟹座 | 2.82° | 92.82° | 5 |\n\n#### D10 Dasamsa 数值位置表\n\n| 对象 | 落座 | 落座度数 | 黄经 | 整宫宫位 |\n|------|------|----------|------|----------|\n| 上升 | 双鱼座 | 28.55° | 358.55° | 1 |\n| 太阳 | 双子座 | 19.94° | 79.94° | 4 |\n| 月亮 | 双子座 | 25.02° | 85.02° | 4 |\n| 火星 | 狮子座 | 24.03° | 144.03° | 6 |\n| 水星 | 金牛座 | 19.93° | 49.93° | 3 |\n| 木星 | 双子座 | 9.03° | 69.03° | 4 |\n| 金星 | 摩羯座 | 22.27° | 292.27° | 11 |\n| 土星 | 射手座 | 28.23° | 268.23° | 10 |\n| 北交点 | 处女座 | 3.13° | 153.13° | 7 |\n| 南交点 | 双鱼座 | 3.13° | 333.13° | 1 |\n\n#### D11 Rudramsa 数值位置表\n\n| 对象 | 落座 | 落座度数 | 黄经 | 整宫宫位 |\n|------|------|----------|------|----------|\n| 上升 | 白羊座 | 7.41° | 7.41° | 1 |\n| 太阳 | 巨蟹座 | 12.94° | 102.94° | 4 |\n| 月亮 | 巨蟹座 | 15.52° | 105.52° | 4 |\n| 火星 | 处女座 | 2.43° | 152.43° | 6 |\n| 水星 | 金牛座 | 24.92° | 54.92° | 2 |\n| 木星 | 双子座 | 18.93° | 78.93° | 3 |\n| 金星 | 水瓶座 | 21.50° | 321.50° | 11 |\n| 土星 | 摩羯座 | 10.05° | 280.05° | 10 |\n| 北交点 | 处女座 | 3.44° | 153.44° | 6 |\n| 南交点 | 双鱼座 | 3.44° | 333.44° | 12 |\n\n#### D12 Dwadashamsa 数值位置表\n\n| 对象 | 落座 | 落座度数 | 黄经 | 整宫宫位 |\n|------|------|----------|------|----------|\n| 上升 | 狮子座 | 16.26° | 136.26° | 1 |\n| 太阳 | 射手座 | 5.93° | 245.93° | 5 |\n| 月亮 | 狮子座 | 6.02° | 126.02° | 1 |\n| 火星 | 处女座 | 10.83° | 160.83° | 2 |\n| 水星 | 金牛座 | 29.92° | 59.92° | 10 |\n| 木星 | 天秤座 | 28.84° | 208.84° | 3 |\n| 金星 | 双鱼座 | 20.73° | 350.73° | 8 |\n| 土星 | 金牛座 | 21.87° | 51.87° | 10 |\n| 北交点 | 摩羯座 | 3.75° | 273.75° | 6 |\n| 南交点 | 巨蟹座 | 3.75° | 93.75° | 12 |\n\n#### D16 Shodasamsa 数值位置表\n\n| 对象 | 落座 | 落座度数 | 黄经 | 整宫宫位 |\n|------|------|----------|------|----------|\n| 上升 | 射手座 | 21.68° | 261.68° | 1 |\n| 太阳 | 狮子座 | 7.91° | 127.91° | 9 |\n| 月亮 | 水瓶座 | 28.03° | 328.03° | 3 |\n| 火星 | 狮子座 | 14.44° | 134.44° | 9 |\n| 水星 | 双子座 | 19.89° | 79.89° | 7 |\n| 木星 | 摩羯座 | 8.45° | 278.45° | 2 |\n| 金星 | 巨蟹座 | 17.64° | 107.64° | 8 |\n| 土星 | 水瓶座 | 9.17° | 309.17° | 3 |\n| 北交点 | 狮子座 | 5.01° | 125.01° | 9 |\n| 南交点 | 狮子座 | 5.01° | 125.01° | 9 |\n\n#### D20 Vimsamsa 数值位置表\n\n| 对象 | 落座 | 落座度数 | 黄经 | 整宫宫位 |\n|------|------|----------|------|----------|\n| 上升 | 金牛座 | 27.10° | 57.10° | 1 |\n| 太阳 | 双鱼座 | 9.89° | 339.89° | 11 |\n| 月亮 | 金牛座 | 20.04° | 50.04° | 1 |\n| 火星 | 处女座 | 18.06° | 168.06° | 5 |\n| 水星 | 巨蟹座 | 9.86° | 99.86° | 3 |\n| 木星 | 双子座 | 18.06° | 78.06° | 2 |\n| 金星 | 天蝎座 | 14.55° | 224.55° | 7 |\n| 土星 | 巨蟹座 | 26.46° | 116.46° | 3 |\n| 北交点 | 射手座 | 6.26° | 246.26° | 8 |\n| 南交点 | 射手座 | 6.26° | 246.26° | 8 |\n\n#### D24 Siddhamsa 数值位置表\n\n| 对象 | 落座 | 落座度数 | 黄经 | 整宫宫位 |\n|------|------|----------|------|----------|\n| 上升 | 水瓶座 | 2.52° | 302.52° | 1 |\n| 太阳 | 摩羯座 | 11.87° | 281.87° | 12 |\n| 月亮 | 射手座 | 12.05° | 252.05° | 11 |\n| 火星 | 水瓶座 | 21.67° | 321.67° | 1 |\n| 水星 | 天蝎座 | 29.83° | 239.83° | 10 |\n| 木星 | 水瓶座 | 27.67° | 327.67° | 1 |\n| 金星 | 巨蟹座 | 11.46° | 101.46° | 6 |\n| 土星 | 白羊座 | 13.75° | 13.75° | 3 |\n| 北交点 | 巨蟹座 | 7.51° | 97.51° | 6 |\n| 南交点 | 巨蟹座 | 7.51° | 97.51° | 6 |\n\n#### D27 Bhamsa 数值位置表\n\n| 对象 | 落座 | 落座度数 | 黄经 | 整宫宫位 |\n|------|------|----------|------|----------|\n| 上升 | 金牛座 | 29.09° | 59.09° | 1 |\n| 太阳 | 双子座 | 20.85° | 80.85° | 2 |\n| 月亮 | 天秤座 | 13.55° | 193.55° | 6 |\n| 火星 | 天蝎座 | 16.88° | 226.88° | 7 |\n| 水星 | 狮子座 | 14.81° | 134.81° | 4 |\n| 木星 | 双子座 | 27.38° | 87.38° | 2 |\n| 金星 | 双子座 | 9.14° | 69.14° | 2 |\n| 土星 | 狮子座 | 19.22° | 139.22° | 4 |\n| 北交点 | 天秤座 | 8.45° | 188.45° | 6 |\n| 南交点 | 天秤座 | 8.45° | 188.45° | 6 |\n\n#### D30 Trimsamsa 数值位置表\n\n| 对象 | 落座 | 落座度数 | 黄经 | 整宫宫位 |\n|------|------|----------|------|----------|\n| 上升 | 处女座 | 25.66° | 175.66° | 1 |\n| 太阳 | 天蝎座 | 29.83° | 239.83° | 3 |\n| 月亮 | 双子座 | 15.06° | 75.06° | 10 |\n| 火星 | 水瓶座 | 12.08° | 312.08° | 6 |\n| 水星 | 白羊座 | 29.79° | 29.79° | 8 |\n| 木星 | 处女座 | 27.09° | 177.09° | 1 |\n| 金星 | 天秤座 | 6.82° | 186.82° | 2 |\n| 土星 | 处女座 | 24.68° | 174.68° | 1 |\n| 北交点 | 金牛座 | 9.39° | 39.39° | 9 |\n| 南交点 | 金牛座 | 9.39° | 39.39° | 9 |\n\n#### D40 Khavedamsa 数值位置表\n\n| 对象 | 落座 | 落座度数 | 黄经 | 整宫宫位 |\n|------|------|----------|------|----------|\n| 上升 | 处女座 | 24.21° | 174.21° | 1 |\n| 太阳 | 白羊座 | 19.78° | 19.78° | 8 |\n| 月亮 | 巨蟹座 | 10.08° | 100.08° | 11 |\n| 火星 | 双鱼座 | 6.11° | 336.11° | 7 |\n| 水星 | 天秤座 | 19.72° | 199.72° | 2 |\n| 木星 | 天蝎座 | 6.12° | 216.12° | 3 |\n| 金星 | 双子座 | 29.10° | 89.10° | 10 |\n| 土星 | 摩羯座 | 22.91° | 292.91° | 5 |\n| 北交点 | 天秤座 | 12.52° | 192.52° | 2 |\n| 南交点 | 天秤座 | 12.52° | 192.52° | 2 |\n\n#### D45 Akshavedamsa 数值位置表\n\n| 对象 | 落座 | 落座度数 | 黄经 | 整宫宫位 |\n|------|------|----------|------|----------|\n| 上升 | 天蝎座 | 8.48° | 218.48° | 1 |\n| 太阳 | 狮子座 | 14.75° | 134.75° | 10 |\n| 月亮 | 天秤座 | 22.59° | 202.59° | 12 |\n| 火星 | 白羊座 | 18.13° | 18.13° | 6 |\n| 水星 | 天蝎座 | 14.69° | 224.69° | 1 |\n| 木星 | 射手座 | 25.63° | 265.63° | 2 |\n| 金星 | 天蝎座 | 25.24° | 235.24° | 1 |\n| 土星 | 双鱼座 | 22.03° | 352.03° | 5 |\n| 北交点 | 天秤座 | 14.08° | 194.08° | 12 |\n| 南交点 | 天秤座 | 14.08° | 194.08° | 12 |\n\n#### D60 Shashtyamsa 数值位置表\n\n| 对象 | 落座 | 落座度数 | 黄经 | 整宫宫位 |\n|------|------|----------|------|----------|\n| 上升 | 天蝎座 | 21.31° | 231.31° | 1 |\n| 太阳 | 摩羯座 | 29.67° | 299.67° | 3 |\n| 月亮 | 金牛座 | 0.12° | 30.12° | 7 |\n| 火星 | 天秤座 | 24.17° | 204.17° | 12 |\n| 水星 | 摩羯座 | 29.59° | 299.59° | 3 |\n| 木星 | 双鱼座 | 24.17° | 354.17° | 5 |\n| 金星 | 水瓶座 | 13.65° | 313.65° | 4 |\n| 土星 | 摩羯座 | 19.37° | 289.37° | 3 |\n| 北交点 | 水瓶座 | 18.77° | 318.77° | 4 |\n| 南交点 | 狮子座 | 18.77° | 138.77° | 10 |\n\n## 强度、关系与 Ashtakavarga 技术页\n\n### 六维力量 / Bhava Bala 摘要\n\n- 六维力量 方法:六维力量六重力量(以 Virupa 为单位,综合 Sthana、Dig、Kala、Drik 与 BPHS Chesta)\n- 外部边界:Chesta Bala 的算法口径会影响总分,阅读时以同一口径内比较为主。\n\n| Planet | Sthana | Dig | Kala | Chesta | Naisargika | Drik | Total | Required |\n|--------|--------|-----|------|--------|------------|------|-------|----------|\n| 太阳 | 174.33 | 80.52 | 218.14 | 43.22 | 60.00 | -17.30 | 558.91 | 5.00 |\n| 月亮 | 154.58 | 10.31 | 136.61 | 58.34 | 51.43 | 1.90 | 413.17 | 6.00 |\n| 火星 | 170.28 | 14.34 | 108.38 | 32.46 | 17.14 | -11.66 | 330.94 | 5.00 |\n| 水星 | 126.66 | 71.29 | 224.90 | 23.38 | 25.71 | -18.79 | 453.15 | 7.00 |\n| 木星 | 163.37 | 39.65 | 201.33 | 40.30 | 34.29 | -18.88 | 460.06 | 6.50 |\n| 金星 | 201.14 | 87.40 | 125.26 | 34.97 | 42.86 | -13.83 | 477.80 | 5.50 |\n| 土星 | 207.11 | 80.99 | 102.57 | 22.06 | 8.57 | 7.61 | 428.91 | 5.00 |\n\n### Declination / Kranti / Speed\n\n| Planet | Degree | Declination | Kranti | Speed |\n|--------|--------|-------------|--------|-------|\n| 太阳 | 22.99° | -6.71° | - | 0.983816 |\n| 月亮 | 20.50° | 23.22° | - | 11.838419 |\n| 火星 | 8.40° | 23.97° | - | 0.535139 |\n| 水星 | 4.99° | 11.26° | - | -0.251851 |\n| 木星 | 9.90° | 19.80° | - | 0.023622 |\n| 金星 | 29.23° | 18.94° | - | 1.186233 |\n| 土星 | 11.82° | 19.32° | - | 0.062245 |\n\n### Avastha 行星状态\n\n| Planet | Bala | Jagrat | Deeptadi | Lajjitadi | Shayanadi |\n|--------|------|--------|----------|-----------|-----------|\n| 太阳 | Old | Dreaming | Shanta | Mudita | Kautuka |\n| 月亮 | Old | Dreaming | Shanta | Kshudita | Kautuka |\n| 火星 | Young | Dreaming | Shanta | Mudita | Agama |\n| 水星 | Infant | Deep Sleep | Shanta | Kshudita | Netrapani |\n| 木星 | Young | Deep Sleep | Deepta | Mudita | Nrityalipsa |\n| 金星 | Dead | Deep Sleep | Shanta | Kshudita | Netrapani |\n| 土星 | Young | Deep Sleep | Swastha | Mudita | Nidra |\n| 北交点 | Infant | Deep Sleep | Shanta | Mudita | Nidra |\n| 南交点 | Infant | Deep Sleep | Shanta | Mudita | Nrityalipsa |\n\n### Bhava Bala 十二宫力量\n\n| House | Sign | Lord | Score | 关键因素 |\n|-------|------|------|-------|----------|\n| 1 | 金牛座 | 金星 | 1.50 | 金星 in Apoklima (H12): +1.5 |\n| 2 | 双子座 | 水星 | 0.00 | 水星 in Apoklima (H12): +1.5;火星 in H2 (Malefic): -1.5 |\n| 3 | 巨蟹座 | 月亮 | 3.50 | 月亮 in Panapara (H8): +2.5;木星 in H3 (Benefic): +2 |\n| 4 | 狮子座 | 太阳 | 2.50 | 太阳 in Panapara (H11): +2.5 |\n| 5 | 处女座 | 水星 | 0.00 | 水星 in Apoklima (H12): +1.5;太阳 aspects H5 (7th, Malefic): -1.0 |\n| 6 | 天秤座 | 金星 | 3.50 | 金星 in Apoklima (H12): +1.5;水星 aspects H6 (7th, Benefic): +1.5 |\n| 7 | 天蝎座 | 火星 | 4.00 | 火星 in Panapara (H2): +2.5;木星 aspects H7 (5th, Benefic): +1.5 |\n| 8 | 射手座 | 木星 | 5.00 | 木星 in Apoklima (H3): +1.5;木星 入旺: +4 |\n| 9 | 摩羯座 | 土星 | 3.50 | 土星 in Apoklima (H9): +1.5;土星 in 入庙: +3 |\n| 10 | 水瓶座 | 土星 | 4.50 | 土星 in Apoklima (H9): +1.5;土星 in 入庙: +3 |\n| 11 | 双鱼座 | 木星 | 4.50 | 木星 in Apoklima (H3): +1.5;木星 入旺: +4 |\n| 12 | 白羊座 | 火星 | 6.50 | 火星 in Panapara (H2): +2.5;水星 in H12 (Benefic): +2 |\n\n### Planetary Friendship 矩阵源数据\n\n| Planet | Natural friends | Natural enemies | Temporary relation |\n|--------|-----------------|-----------------|--------------------|\n| 太阳 | 月亮;火星;木星 | 金星;土星 | friends: 月亮;火星;水星;金星;enemies: 木星;南交点/计都 |\n| 月亮 | 太阳;水星 | - | friends: 太阳;土星;北交点/罗睺;enemies: 火星;水星;木星;金星 |\n| 火星 | 太阳;月亮;木星 | 水星 | friends: 太阳;水星;木星;金星;enemies: 月亮;土星;北交点/罗睺 |\n| 水星 | 太阳;金星 | 月亮 | friends: 太阳;火星;木星;土星;enemies: 月亮;金星 |\n| 木星 | 太阳;月亮;火星 | 水星;金星 | friends: 火星;水星;金星;enemies: 太阳;月亮;土星;北交点/罗睺 |\n| 金星 | 水星;土星 | 太阳;月亮 | friends: 太阳;火星;木星;土星;enemies: 月亮;水星 |\n| 土星 | 水星;金星 | 太阳;月亮;火星 | friends: 太阳;月亮;水星;金星;enemies: 火星;木星;北交点/罗睺;南交点/计都 |\n| 北交点 | 金星;土星 | 太阳;月亮;木星 | friends: 太阳;月亮;水星;金星;enemies: 火星;木星;土星;南交点/计都 |\n| 南交点 | 火星;土星 | 太阳;月亮 | friends: 火星;水星;金星;enemies: 太阳;月亮;木星;土星 |\n\n### 相位矩阵\n\n| Planet 1 | Planet 2 | Aspect | Exact degree | Actual difference | Orb | Phase | Orb score |\n|----------|----------|--------|--------------|-------------------|-----|----------|----------|\n| 月亮 | 北交点 | 合相 | 0.00° | 9.81° | 9.81° | unknown_without_velocity | 1.90 |\n| 月亮 | 南交点 | opposition | 180.00° | 170.19° | 9.81° | unknown_without_velocity | 1.90 |\n| 木星 | 土星 | opposition | 180.00° | 178.08° | 1.92° | unknown_without_velocity | 78.70 |\n| 北交点 | 南交点 | opposition | 180.00° | 180.00° | 0.00° | unknown_without_velocity | 100.00 |\n\n| Planet | From house | Target house | Aspect type | Special |\n|--------|------------|--------------|-------------|---------|\n| 太阳 | 11 | 5 | 7宫相位 | False |\n| 月亮 | 8 | 2 | 7宫相位 | False |\n| 火星 | 2 | 5 | 4宫相位 | True |\n| 火星 | 2 | 8 | 7宫相位 | False |\n| 火星 | 2 | 9 | 8宫相位 | True |\n| 水星 | 12 | 6 | 7宫相位 | False |\n| 木星 | 3 | 7 | 5宫相位 | True |\n| 木星 | 3 | 9 | 7宫相位 | False |\n| 木星 | 3 | 11 | 9宫相位 | True |\n| 金星 | 12 | 6 | 7宫相位 | False |\n| 土星 | 9 | 11 | 3宫相位 | True |\n| 土星 | 9 | 3 | 7宫相位 | False |\n| 土星 | 9 | 6 | 10宫相位 | True |\n\n### Jaimini Karaka、Arudha Pada 与特殊 上升\n\n| Karaka | Planet | Degree | Domain |\n|--------|--------|--------|--------|\n| 灵魂星AK | 金星 | 29.23° | 灵魂使命、核心自我、人生最高目标 |\n| 事业星AmK | 太阳 | 22.99° | 事业方向、主要谋士、权力代理 |\n| 兄弟星BK | 月亮 | 20.50° | 兄弟姐妹、勇气、冒险精神 |\n| 母亲星MK | 土星 | 11.82° | 母亲、家庭根基、情感安全感 |\n| 子女星PK | 木星 | 9.90° | 子女、创造力、学生、智能成果 |\n| 障碍星GK | 火星 | 8.40° | 竞争对手、疾病、障碍、转化力量 |\n| 配偶星DK | 水星 | 4.99° | 配偶特质、伴侣关系、婚姻质量 |\n| 父亲星PiK | 北交点 | 0.31° | 父亲、祖先业力、传统传承 |\n\n| Point | Sign | Degree / House |\n|-------|------|----------------|\n| Arudha 上升 (AL) | 双鱼座 | 1 |\n| Dhana Pada (A2) | 水瓶座 | 2 |\n| Vikrama Pada (A3) | 金牛座 | 3 |\n| Sukha Pada (A4) | 天秤座 | 4 |\n| Mantra Pada (A5) | 天蝎座 | 5 |\n| Roga Pada (A6) | 巨蟹座 | 6 |\n| Dara Pada (A7) | 摩羯座 | 7 |\n| Mrityu Pada (A8) | 水瓶座 | 8 |\n| Dharma Pada (A9) | 天秤座 | 9 |\n| Karma Pada (A10) | 射手座 | 10 |\n| Labha Pada (A11) | 天蝎座 | 11 |\n| Upapada (UL) | 狮子座 | 12 |\n| HL | 双鱼座 | - |\n| GL | 双鱼座 | - |\n| PP | 水瓶座 | - |\n| ViL | 水瓶座 | - |\n| VL | 巨蟹座 | - |\n\n### Ashtakavarga SAV / BAV / Pinda\n\n- 方法:Ashtakavarga八分法(BPHS/PVR书例校准v2.1)\n- BAV 核对:all_valid\n\n| Sign | SAV score |\n|------|-----------|\n| 白羊座 | 26 |\n| 金牛座 | 30 |\n| 双子座 | 26 |\n| 巨蟹座 | 24 |\n| 狮子座 | 30 |\n| 处女座 | 29 |\n| 天秤座 | 29 |\n| 天蝎座 | 22 |\n| 射手座 | 27 |\n| 摩羯座 | 29 |\n| 水瓶座 | 35 |\n| 双鱼座 | 30 |\n\n### Ashtakavarga 完整宫位分数\n\n| House | Sign | SAV | BAV/承接 | Full with 上升 |\n|-------|------|-----|----------|-----------------|\n| 1 | 金牛座 | 35 | - | - |\n| 2 | 双子座 | 30 | - | - |\n| 3 | 巨蟹座 | 28 | - | - |\n| 4 | 狮子座 | 34 | - | - |\n| 5 | 处女座 | 31 | - | - |\n| 6 | 天秤座 | 33 | - | - |\n| 7 | 天蝎座 | 28 | - | - |\n| 8 | 射手座 | 30 | - | - |\n| 9 | 摩羯座 | 33 | - | - |\n| 10 | 水瓶座 | 39 | - | - |\n| 11 | 双鱼座 | 34 | - | - |\n| 12 | 白羊座 | 31 | - | - |\n\n| Planet | Total | Expected | Valid | 白羊座 | 金牛座 | 双子座 | 巨蟹座 | 狮子座 | 处女座 | 天秤座 | 天蝎座 | 射手座 | 摩羯座 | 水瓶座 | 双鱼座 |\n|--------|-------|----------|-------|-------|--------|--------|--------|-----|-------|-------|---------|-------------|-----------|----------|--------|\n| 太阳 | 48 | 48 | True | 4 | 2 | 3 | 3 | 3 | 6 | 5 | 3 | 4 | 4 | 5 | 6 |\n| 月亮 | 49 | 49 | True | 3 | 4 | 4 | 5 | 6 | 2 | 7 | 3 | 3 | 4 | 5 | 3 |\n| 火星 | 39 | 39 | True | 3 | 4 | 3 | 4 | 3 | 4 | 3 | 2 | 3 | 3 | 4 | 3 |\n| 水星 | 54 | 54 | True | 4 | 4 | 5 | 5 | 5 | 4 | 3 | 3 | 5 | 5 | 7 | 4 |\n| 木星 | 56 | 56 | True | 5 | 6 | 5 | 3 | 5 | 6 | 4 | 2 | 5 | 7 | 4 | 4 |\n| 金星 | 52 | 52 | True | 5 | 5 | 3 | 3 | 6 | 4 | 3 | 5 | 4 | 4 | 6 | 4 |\n| 土星 | 39 | 39 | True | 2 | 5 | 3 | 1 | 2 | 3 | 4 | 4 | 3 | 2 | 4 | 6 |\n\n### 二十分力量 / Pushkara / Vargottama 辅助强度\n\n| Planet | 二十分力量 | Grade | Pushkara 九分盘 | Pushkara Bhaga | Vargottama |\n|--------|-----------|-------|------------------|----------------|------------|\n| 太阳 | 10.23 | Simhasanamsa | False | False | False |\n| 月亮 | 8.96 | Paravatamsa | False | True | False |\n| 火星 | 8.45 | Paravatamsa | False | False | False |\n| 水星 | 9.09 | Paravatamsa | False | False | False |\n| 木星 | 9.77 | Paravatamsa | False | False | False |\n| 金星 | 8.91 | Paravatamsa | False | False | False |\n| 土星 | 8.71 | Paravatamsa | False | False | False |\n| 北交点 | 8.00 | Paravatamsa | False | False | True |\n| 南交点 | 6.07 | Devalokamsa | True | False | True |\n\n### Ashtakavarga Shodhya / Yoga Pinda 原始值\n\n| Planet | Rashi Pinda | Graha Pinda | Total Pinda | Bindu at own sign |\n|--------|-------------|-------------|-------------|-------------------|\n| 太阳 | 24 | 30 | 54 | 6 |\n| 月亮 | 12 | 15 | 27 | 3 |\n| 火星 | 12 | 24 | 36 | 3 |\n| 水星 | 16 | 20 | 36 | 4 |\n| 木星 | 12 | 30 | 42 | 3 |\n| 金星 | 20 | 35 | 55 | 5 |\n| 土星 | 8 | 10 | 18 | 2 |\n\n## 标准大运表格页\n\n### Vimshottari 大运\n\n- Current 大运:北交点(2023-07-06 - 2041-07-06)\n\n| 序号 | 主运 | 起始 | 结束 | 年数 |\n|------|------|------|------|------|\n| 1 | 金星 | 1980-07-05 | 2000-07-05 | 9.25 | birth_balance |\n| 2 | 太阳 | 2000-07-05 | 2006-07-06 | 6 | native |\n| 3 | 月亮 | 2006-07-06 | 2016-07-05 | 10 | native |\n| 4 | 火星 | 2016-07-05 | 2023-07-06 | 7 | native |\n| 5 | 北交点 | 2023-07-06 | 2041-07-06 | 18 | native |\n| 6 | 木星 | 2041-07-06 | 2057-07-06 | 16 | native |\n| 7 | 土星 | 2057-07-06 | 2076-07-05 | 19 | native |\n| 8 | 水星 | 2076-07-05 | 2093-07-06 | 17 | native |\n| 9 | 南交点 | 2093-07-06 | 2100-07-06 | 7 | native |\n\n| Vimshottari AD | 主运 | 子运 | 起始 | 结束 |\n|--------------|------|------|------|------|\n| 1 | 金星 | 金星 | 1980-07-05 | 1983-11-04 |\n| 2 | 金星 | 太阳 | 1983-11-04 | 1984-11-03 |\n| 3 | 金星 | 月亮 | 1984-11-03 | 1986-07-05 |\n| 4 | 金星 | 火星 | 1986-07-05 | 1987-09-04 |\n| 5 | 金星 | 北交点 | 1987-09-04 | 1990-09-04 |\n| 6 | 金星 | 木星 | 1990-09-04 | 1993-05-05 |\n| 7 | 金星 | 土星 | 1993-05-05 | 1996-07-05 |\n| 8 | 金星 | 水星 | 1996-07-05 | 1999-05-05 |\n| 9 | 金星 | 南交点 | 1999-05-05 | 2000-07-05 |\n| 10 | 太阳 | 太阳 | 2000-07-05 | 2000-10-22 |\n| 11 | 太阳 | 月亮 | 2000-10-22 | 2001-04-23 |\n| 12 | 太阳 | 火星 | 2001-04-23 | 2001-08-29 |\n| 13 | 太阳 | 北交点 | 2001-08-29 | 2002-07-23 |\n| 14 | 太阳 | 木星 | 2002-07-23 | 2003-05-12 |\n| 15 | 太阳 | 土星 | 2003-05-12 | 2004-04-23 |\n| 16 | 太阳 | 水星 | 2004-04-23 | 2005-02-27 |\n| 17 | 太阳 | 南交点 | 2005-02-27 | 2005-07-05 |\n| 18 | 太阳 | 金星 | 2005-07-05 | 2006-07-06 |\n| 19 | 月亮 | 月亮 | 2006-07-06 | 2007-05-06 |\n| 20 | 月亮 | 火星 | 2007-05-06 | 2007-12-05 |\n| 21 | 月亮 | 北交点 | 2007-12-05 | 2009-06-05 |\n| 22 | 月亮 | 木星 | 2009-06-05 | 2010-10-05 |\n| 23 | 月亮 | 土星 | 2010-10-05 | 2012-05-05 |\n| 24 | 月亮 | 水星 | 2012-05-05 | 2013-10-04 |\n| 25 | 月亮 | 南交点 | 2013-10-04 | 2014-05-05 |\n| 26 | 月亮 | 金星 | 2014-05-05 | 2016-01-04 |\n| 27 | 月亮 | 太阳 | 2016-01-04 | 2016-07-05 |\n| 28 | 火星 | 火星 | 2016-07-05 | 2016-12-01 |\n| 29 | 火星 | 北交点 | 2016-12-01 | 2017-12-19 |\n| 30 | 火星 | 木星 | 2017-12-19 | 2018-11-25 |\n| 31 | 火星 | 土星 | 2018-11-25 | 2020-01-04 |\n| 32 | 火星 | 水星 | 2020-01-04 | 2020-12-31 |\n| 33 | 火星 | 南交点 | 2020-12-31 | 2021-05-29 |\n| 34 | 火星 | 金星 | 2021-05-29 | 2022-07-30 |\n| 35 | 火星 | 太阳 | 2022-07-30 | 2022-12-04 |\n| 36 | 火星 | 月亮 | 2022-12-04 | 2023-07-06 |\n| 37 | 北交点 | 北交点 | 2023-07-06 | 2026-03-18 |\n| 38 | 北交点 | 木星 | 2026-03-18 | 2028-08-10 |\n| 39 | 北交点 | 土星 | 2028-08-10 | 2031-06-17 |\n| 40 | 北交点 | 水星 | 2031-06-17 | 2034-01-04 |\n| 41 | 北交点 | 南交点 | 2034-01-04 | 2035-01-22 |\n| 42 | 北交点 | 金星 | 2035-01-22 | 2038-01-22 |\n| 43 | 北交点 | 太阳 | 2038-01-22 | 2038-12-17 |\n| 44 | 北交点 | 月亮 | 2038-12-17 | 2040-06-17 |\n| 45 | 北交点 | 火星 | 2040-06-17 | 2041-07-06 |\n| 46 | 木星 | 木星 | 2041-07-06 | 2043-08-24 |\n| 47 | 木星 | 土星 | 2043-08-24 | 2046-03-06 |\n| 48 | 木星 | 水星 | 2046-03-06 | 2048-06-11 |\n| 49 | 木星 | 南交点 | 2048-06-11 | 2049-05-18 |\n| 50 | 木星 | 金星 | 2049-05-18 | 2052-01-17 |\n| 51 | 木星 | 太阳 | 2052-01-17 | 2052-11-04 |\n| 52 | 木星 | 月亮 | 2052-11-04 | 2054-03-06 |\n| 53 | 木星 | 火星 | 2054-03-06 | 2055-02-10 |\n| 54 | 木星 | 北交点 | 2055-02-10 | 2057-07-06 |\n| 55 | 土星 | 土星 | 2057-07-06 | 2060-07-08 |\n| 56 | 土星 | 水星 | 2060-07-08 | 2063-03-18 |\n| 57 | 土星 | 南交点 | 2063-03-18 | 2064-04-26 |\n| 58 | 土星 | 金星 | 2064-04-26 | 2067-06-26 |\n| 59 | 土星 | 太阳 | 2067-06-26 | 2068-06-07 |\n| 60 | 土星 | 月亮 | 2068-06-07 | 2070-01-07 |\n| 61 | 土星 | 火星 | 2070-01-07 | 2071-02-15 |\n| 62 | 土星 | 北交点 | 2071-02-15 | 2073-12-22 |\n| 63 | 土星 | 木星 | 2073-12-22 | 2076-07-05 |\n| 64 | 水星 | 水星 | 2076-07-05 | 2078-12-01 |\n| 65 | 水星 | 南交点 | 2078-12-01 | 2079-11-29 |\n| 66 | 水星 | 金星 | 2079-11-29 | 2082-09-29 |\n| 67 | 水星 | 太阳 | 2082-09-29 | 2083-08-05 |\n| 68 | 水星 | 月亮 | 2083-08-05 | 2085-01-04 |\n| 69 | 水星 | 火星 | 2085-01-04 | 2086-01-01 |\n| 70 | 水星 | 北交点 | 2086-01-01 | 2088-07-20 |\n| 71 | 水星 | 木星 | 2088-07-20 | 2090-10-26 |\n| 72 | 水星 | 土星 | 2090-10-26 | 2093-07-06 |\n| 73 | 南交点 | 南交点 | 2093-07-06 | 2093-12-02 |\n| 74 | 南交点 | 金星 | 2093-12-02 | 2095-02-01 |\n| 75 | 南交点 | 太阳 | 2095-02-01 | 2095-06-08 |\n| 76 | 南交点 | 月亮 | 2095-06-08 | 2096-01-07 |\n| 77 | 南交点 | 火星 | 2096-01-07 | 2096-06-05 |\n| 78 | 南交点 | 北交点 | 2096-06-05 | 2097-06-23 |\n| 79 | 南交点 | 木星 | 2097-06-23 | 2098-05-30 |\n| 80 | 南交点 | 土星 | 2098-05-30 | 2099-07-08 |\n| 81 | 南交点 | 水星 | 2099-07-08 | 2100-07-06 |\n\n| Vimshottari PD | 主运 | 子运 | 次子运 | 起始 | 结束 |\n|--------------|------|------|--------|------|------|\n| 1 | 金星 | 金星 | 金星 | 1980-07-05 | 1981-01-23 |\n| 2 | 金星 | 金星 | 太阳 | 1981-01-23 | 1981-03-25 |\n| 3 | 金星 | 金星 | 月亮 | 1981-03-25 | 1981-07-05 |\n| 4 | 金星 | 金星 | 火星 | 1981-07-05 | 1981-09-14 |\n| 5 | 金星 | 金星 | 北交点 | 1981-09-14 | 1982-03-15 |\n| 6 | 金星 | 金星 | 木星 | 1982-03-15 | 1982-08-25 |\n| 7 | 金星 | 金星 | 土星 | 1982-08-25 | 1983-03-06 |\n| 8 | 金星 | 金星 | 水星 | 1983-03-06 | 1983-08-25 |\n| 9 | 金星 | 金星 | 南交点 | 1983-08-25 | 1983-11-04 |\n| 10 | 金星 | 太阳 | 太阳 | 1983-11-04 | 1983-11-22 |\n| 11 | 金星 | 太阳 | 月亮 | 1983-11-22 | 1983-12-23 |\n| 12 | 金星 | 太阳 | 火星 | 1983-12-23 | 1984-01-13 |\n| 13 | 金星 | 太阳 | 北交点 | 1984-01-13 | 1984-03-08 |\n| 14 | 金星 | 太阳 | 木星 | 1984-03-08 | 1984-04-25 |\n| 15 | 金星 | 太阳 | 土星 | 1984-04-25 | 1984-06-22 |\n| 16 | 金星 | 太阳 | 水星 | 1984-06-22 | 1984-08-13 |\n| 17 | 金星 | 太阳 | 南交点 | 1984-08-13 | 1984-09-03 |\n| 18 | 金星 | 太阳 | 金星 | 1984-09-03 | 1984-11-03 |\n| 19 | 金星 | 月亮 | 月亮 | 1984-11-03 | 1984-12-24 |\n| 20 | 金星 | 月亮 | 火星 | 1984-12-24 | 1985-01-28 |\n| 21 | 金星 | 月亮 | 北交点 | 1985-01-28 | 1985-04-30 |\n| 22 | 金星 | 月亮 | 木星 | 1985-04-30 | 1985-07-20 |\n| 23 | 金星 | 月亮 | 土星 | 1985-07-20 | 1985-10-24 |\n| 24 | 金星 | 月亮 | 水星 | 1985-10-24 | 1986-01-19 |\n| 25 | 金星 | 月亮 | 南交点 | 1986-01-19 | 1986-02-23 |\n| 26 | 金星 | 月亮 | 金星 | 1986-02-23 | 1986-06-05 |\n| 27 | 金星 | 月亮 | 太阳 | 1986-06-05 | 1986-07-05 |\n| 28 | 金星 | 火星 | 火星 | 1986-07-05 | 1986-07-30 |\n| 29 | 金星 | 火星 | 北交点 | 1986-07-30 | 1986-10-02 |\n| 30 | 金星 | 火星 | 木星 | 1986-10-02 | 1986-11-28 |\n| 31 | 金星 | 火星 | 土星 | 1986-11-28 | 1987-02-03 |\n| 32 | 金星 | 火星 | 水星 | 1987-02-03 | 1987-04-04 |\n| 33 | 金星 | 火星 | 南交点 | 1987-04-04 | 1987-04-29 |\n| 34 | 金星 | 火星 | 金星 | 1987-04-29 | 1987-07-09 |\n| 35 | 金星 | 火星 | 太阳 | 1987-07-09 | 1987-07-31 |\n| 36 | 金星 | 火星 | 月亮 | 1987-07-31 | 1987-09-04 |\n| 37 | 金星 | 北交点 | 北交点 | 1987-09-04 | 1988-02-15 |\n| 38 | 金星 | 北交点 | 木星 | 1988-02-15 | 1988-07-11 |\n| 39 | 金星 | 北交点 | 土星 | 1988-07-11 | 1988-12-31 |\n| 40 | 金星 | 北交点 | 水星 | 1988-12-31 | 1989-06-04 |\n| 41 | 金星 | 北交点 | 南交点 | 1989-06-04 | 1989-08-07 |\n| 42 | 金星 | 北交点 | 金星 | 1989-08-07 | 1990-02-06 |\n| 43 | 金星 | 北交点 | 太阳 | 1990-02-06 | 1990-04-02 |\n| 44 | 金星 | 北交点 | 月亮 | 1990-04-02 | 1990-07-02 |\n| 45 | 金星 | 北交点 | 火星 | 1990-07-02 | 1990-09-04 |\n| 46 | 金星 | 木星 | 木星 | 1990-09-04 | 1991-01-12 |\n| 47 | 金星 | 木星 | 土星 | 1991-01-12 | 1991-06-15 |\n| 48 | 金星 | 木星 | 水星 | 1991-06-15 | 1991-10-31 |\n| 49 | 金星 | 木星 | 南交点 | 1991-10-31 | 1991-12-27 |\n| 50 | 金星 | 木星 | 金星 | 1991-12-27 | 1992-06-06 |\n| 51 | 金星 | 木星 | 太阳 | 1992-06-06 | 1992-07-25 |\n| 52 | 金星 | 木星 | 月亮 | 1992-07-25 | 1992-10-14 |\n| 53 | 金星 | 木星 | 火星 | 1992-10-14 | 1992-12-10 |\n| 54 | 金星 | 木星 | 北交点 | 1992-12-10 | 1993-05-05 |\n| 55 | 金星 | 土星 | 土星 | 1993-05-05 | 1993-11-04 |\n| 56 | 金星 | 土星 | 水星 | 1993-11-04 | 1994-04-17 |\n| 57 | 金星 | 土星 | 南交点 | 1994-04-17 | 1994-06-23 |\n| 58 | 金星 | 土星 | 金星 | 1994-06-23 | 1995-01-02 |\n| 59 | 金星 | 土星 | 太阳 | 1995-01-02 | 1995-03-01 |\n| 60 | 金星 | 土星 | 月亮 | 1995-03-01 | 1995-06-05 |\n| 61 | 金星 | 土星 | 火星 | 1995-06-05 | 1995-08-12 |\n| 62 | 金星 | 土星 | 北交点 | 1995-08-12 | 1996-02-01 |\n| 63 | 金星 | 土星 | 木星 | 1996-02-01 | 1996-07-05 |\n| 64 | 金星 | 水星 | 水星 | 1996-07-05 | 1996-11-28 |\n| 65 | 金星 | 水星 | 南交点 | 1996-11-28 | 1997-01-27 |\n| 66 | 金星 | 水星 | 金星 | 1997-01-27 | 1997-07-19 |\n| 67 | 金星 | 水星 | 太阳 | 1997-07-19 | 1997-09-09 |\n| 68 | 金星 | 水星 | 月亮 | 1997-09-09 | 1997-12-04 |\n| 69 | 金星 | 水星 | 火星 | 1997-12-04 | 1998-02-02 |\n| 70 | 金星 | 水星 | 北交点 | 1998-02-02 | 1998-07-08 |\n| 71 | 金星 | 水星 | 木星 | 1998-07-08 | 1998-11-23 |\n| 72 | 金星 | 水星 | 土星 | 1998-11-23 | 1999-05-05 |\n| 73 | 金星 | 南交点 | 南交点 | 1999-05-05 | 1999-05-30 |\n| 74 | 金星 | 南交点 | 金星 | 1999-05-30 | 1999-08-09 |\n| 75 | 金星 | 南交点 | 太阳 | 1999-08-09 | 1999-08-31 |\n| 76 | 金星 | 南交点 | 月亮 | 1999-08-31 | 1999-10-05 |\n| 77 | 金星 | 南交点 | 火星 | 1999-10-05 | 1999-10-30 |\n| 78 | 金星 | 南交点 | 北交点 | 1999-10-30 | 2000-01-02 |\n| 79 | 金星 | 南交点 | 木星 | 2000-01-02 | 2000-02-28 |\n| 80 | 金星 | 南交点 | 土星 | 2000-02-28 | 2000-05-05 |\n| 81 | 金星 | 南交点 | 水星 | 2000-05-05 | 2000-07-05 |\n| 82 | 太阳 | 太阳 | 太阳 | 2000-07-05 | 2000-07-10 |\n| 83 | 太阳 | 太阳 | 月亮 | 2000-07-10 | 2000-07-19 |\n| 84 | 太阳 | 太阳 | 火星 | 2000-07-19 | 2000-07-26 |\n| 85 | 太阳 | 太阳 | 北交点 | 2000-07-26 | 2000-08-11 |\n| 86 | 太阳 | 太阳 | 木星 | 2000-08-11 | 2000-08-26 |\n| 87 | 太阳 | 太阳 | 土星 | 2000-08-26 | 2000-09-12 |\n| 88 | 太阳 | 太阳 | 水星 | 2000-09-12 | 2000-09-27 |\n| 89 | 太阳 | 太阳 | 南交点 | 2000-09-27 | 2000-10-04 |\n| 90 | 太阳 | 太阳 | 金星 | 2000-10-04 | 2000-10-22 |\n| 91 | 太阳 | 月亮 | 月亮 | 2000-10-22 | 2000-11-06 |\n| 92 | 太阳 | 月亮 | 火星 | 2000-11-06 | 2000-11-17 |\n| 93 | 太阳 | 月亮 | 北交点 | 2000-11-17 | 2000-12-14 |\n| 94 | 太阳 | 月亮 | 木星 | 2000-12-14 | 2001-01-08 |\n| 95 | 太阳 | 月亮 | 土星 | 2001-01-08 | 2001-02-06 |\n| 96 | 太阳 | 月亮 | 水星 | 2001-02-06 | 2001-03-04 |\n| 97 | 太阳 | 月亮 | 南交点 | 2001-03-04 | 2001-03-14 |\n| 98 | 太阳 | 月亮 | 金星 | 2001-03-14 | 2001-04-14 |\n| 99 | 太阳 | 月亮 | 太阳 | 2001-04-14 | 2001-04-23 |\n| 100 | 太阳 | 火星 | 火星 | 2001-04-23 | 2001-04-30 |\n| 101 | 太阳 | 火星 | 北交点 | 2001-04-30 | 2001-05-19 |\n| 102 | 太阳 | 火星 | 木星 | 2001-05-19 | 2001-06-05 |\n| 103 | 太阳 | 火星 | 土星 | 2001-06-05 | 2001-06-26 |\n| 104 | 太阳 | 火星 | 水星 | 2001-06-26 | 2001-07-14 |\n| 105 | 太阳 | 火星 | 南交点 | 2001-07-14 | 2001-07-21 |\n| 106 | 太阳 | 火星 | 金星 | 2001-07-21 | 2001-08-12 |\n| 107 | 太阳 | 火星 | 太阳 | 2001-08-12 | 2001-08-18 |\n| 108 | 太阳 | 火星 | 月亮 | 2001-08-18 | 2001-08-29 |\n| 109 | 太阳 | 北交点 | 北交点 | 2001-08-29 | 2001-10-17 |\n| 110 | 太阳 | 北交点 | 木星 | 2001-10-17 | 2001-11-30 |\n| 111 | 太阳 | 北交点 | 土星 | 2001-11-30 | 2002-01-21 |\n| 112 | 太阳 | 北交点 | 水星 | 2002-01-21 | 2002-03-08 |\n| 113 | 太阳 | 北交点 | 南交点 | 2002-03-08 | 2002-03-28 |\n| 114 | 太阳 | 北交点 | 金星 | 2002-03-28 | 2002-05-21 |\n| 115 | 太阳 | 北交点 | 太阳 | 2002-05-21 | 2002-06-07 |\n| 116 | 太阳 | 北交点 | 月亮 | 2002-06-07 | 2002-07-04 |\n| 117 | 太阳 | 北交点 | 火星 | 2002-07-04 | 2002-07-23 |\n| 118 | 太阳 | 木星 | 木星 | 2002-07-23 | 2002-08-31 |\n| 119 | 太阳 | 木星 | 土星 | 2002-08-31 | 2002-10-17 |\n| 120 | 太阳 | 木星 | 水星 | 2002-10-17 | 2002-11-27 |\n| 121 | 太阳 | 木星 | 南交点 | 2002-11-27 | 2002-12-14 |\n| 122 | 太阳 | 木星 | 金星 | 2002-12-14 | 2003-02-01 |\n| 123 | 太阳 | 木星 | 太阳 | 2003-02-01 | 2003-02-15 |\n| 124 | 太阳 | 木星 | 月亮 | 2003-02-15 | 2003-03-12 |\n| 125 | 太阳 | 木星 | 火星 | 2003-03-12 | 2003-03-29 |\n| 126 | 太阳 | 木星 | 北交点 | 2003-03-29 | 2003-05-12 |\n| 127 | 太阳 | 土星 | 土星 | 2003-05-12 | 2003-07-06 |\n| 128 | 太阳 | 土星 | 水星 | 2003-07-06 | 2003-08-24 |\n| 129 | 太阳 | 土星 | 南交点 | 2003-08-24 | 2003-09-13 |\n| 130 | 太阳 | 土星 | 金星 | 2003-09-13 | 2003-11-10 |\n| 131 | 太阳 | 土星 | 太阳 | 2003-11-10 | 2003-11-27 |\n| 132 | 太阳 | 土星 | 月亮 | 2003-11-27 | 2003-12-26 |\n| 133 | 太阳 | 土星 | 火星 | 2003-12-26 | 2004-01-15 |\n| 134 | 太阳 | 土星 | 北交点 | 2004-01-15 | 2004-03-07 |\n| 135 | 太阳 | 土星 | 木星 | 2004-03-07 | 2004-04-23 |\n| 136 | 太阳 | 水星 | 水星 | 2004-04-23 | 2004-06-06 |\n| 137 | 太阳 | 水星 | 南交点 | 2004-06-06 | 2004-06-24 |\n| 138 | 太阳 | 水星 | 金星 | 2004-06-24 | 2004-08-15 |\n| 139 | 太阳 | 水星 | 太阳 | 2004-08-15 | 2004-08-30 |\n| 140 | 太阳 | 水星 | 月亮 | 2004-08-30 | 2004-09-25 |\n| 141 | 太阳 | 水星 | 火星 | 2004-09-25 | 2004-10-13 |\n| 142 | 太阳 | 水星 | 北交点 | 2004-10-13 | 2004-11-29 |\n| 143 | 太阳 | 水星 | 木星 | 2004-11-29 | 2005-01-09 |\n| 144 | 太阳 | 水星 | 土星 | 2005-01-09 | 2005-02-27 |\n| 145 | 太阳 | 南交点 | 南交点 | 2005-02-27 | 2005-03-07 |\n| 146 | 太阳 | 南交点 | 金星 | 2005-03-07 | 2005-03-28 |\n| 147 | 太阳 | 南交点 | 太阳 | 2005-03-28 | 2005-04-03 |\n| 148 | 太阳 | 南交点 | 月亮 | 2005-04-03 | 2005-04-14 |\n| 149 | 太阳 | 南交点 | 火星 | 2005-04-14 | 2005-04-22 |\n| 150 | 太阳 | 南交点 | 北交点 | 2005-04-22 | 2005-05-11 |\n| 151 | 太阳 | 南交点 | 木星 | 2005-05-11 | 2005-05-28 |\n| 152 | 太阳 | 南交点 | 土星 | 2005-05-28 | 2005-06-17 |\n| 153 | 太阳 | 南交点 | 水星 | 2005-06-17 | 2005-07-05 |\n| 154 | 太阳 | 金星 | 金星 | 2005-07-05 | 2005-09-04 |\n| 155 | 太阳 | 金星 | 太阳 | 2005-09-04 | 2005-09-22 |\n| 156 | 太阳 | 金星 | 月亮 | 2005-09-22 | 2005-10-23 |\n| 157 | 太阳 | 金星 | 火星 | 2005-10-23 | 2005-11-13 |\n| 158 | 太阳 | 金星 | 北交点 | 2005-11-13 | 2006-01-07 |\n| 159 | 太阳 | 金星 | 木星 | 2006-01-07 | 2006-02-25 |\n| 160 | 太阳 | 金星 | 土星 | 2006-02-25 | 2006-04-23 |\n| 161 | 太阳 | 金星 | 水星 | 2006-04-23 | 2006-06-14 |\n| 162 | 太阳 | 金星 | 南交点 | 2006-06-14 | 2006-07-06 |\n| 163 | 月亮 | 月亮 | 月亮 | 2006-07-06 | 2006-07-31 |\n| 164 | 月亮 | 月亮 | 火星 | 2006-07-31 | 2006-08-18 |\n| 165 | 月亮 | 月亮 | 北交点 | 2006-08-18 | 2006-10-02 |\n| 166 | 月亮 | 月亮 | 木星 | 2006-10-02 | 2006-11-12 |\n| 167 | 月亮 | 月亮 | 土星 | 2006-11-12 | 2006-12-30 |\n| 168 | 月亮 | 月亮 | 水星 | 2006-12-30 | 2007-02-11 |\n| 169 | 月亮 | 月亮 | 南交点 | 2007-02-11 | 2007-03-01 |\n| 170 | 月亮 | 月亮 | 金星 | 2007-03-01 | 2007-04-21 |\n| 171 | 月亮 | 月亮 | 太阳 | 2007-04-21 | 2007-05-06 |\n| 172 | 月亮 | 火星 | 火星 | 2007-05-06 | 2007-05-18 |\n| 173 | 月亮 | 火星 | 北交点 | 2007-05-18 | 2007-06-19 |\n| 174 | 月亮 | 火星 | 木星 | 2007-06-19 | 2007-07-18 |\n| 175 | 月亮 | 火星 | 土星 | 2007-07-18 | 2007-08-20 |\n| 176 | 月亮 | 火星 | 水星 | 2007-08-20 | 2007-09-20 |\n| 177 | 月亮 | 火星 | 南交点 | 2007-09-20 | 2007-10-02 |\n| 178 | 月亮 | 火星 | 金星 | 2007-10-02 | 2007-11-06 |\n| 179 | 月亮 | 火星 | 太阳 | 2007-11-06 | 2007-11-17 |\n| 180 | 月亮 | 火星 | 月亮 | 2007-11-17 | 2007-12-05 |\n| 181 | 月亮 | 北交点 | 北交点 | 2007-12-05 | 2008-02-25 |\n| 182 | 月亮 | 北交点 | 木星 | 2008-02-25 | 2008-05-08 |\n| 183 | 月亮 | 北交点 | 土星 | 2008-05-08 | 2008-08-03 |\n| 184 | 月亮 | 北交点 | 水星 | 2008-08-03 | 2008-10-19 |\n| 185 | 月亮 | 北交点 | 南交点 | 2008-10-19 | 2008-11-20 |\n| 186 | 月亮 | 北交点 | 金星 | 2008-11-20 | 2009-02-20 |\n| 187 | 月亮 | 北交点 | 太阳 | 2009-02-20 | 2009-03-19 |\n| 188 | 月亮 | 北交点 | 月亮 | 2009-03-19 | 2009-05-04 |\n| 189 | 月亮 | 北交点 | 火星 | 2009-05-04 | 2009-06-05 |\n| 190 | 月亮 | 木星 | 木星 | 2009-06-05 | 2009-08-09 |\n| 191 | 月亮 | 木星 | 土星 | 2009-08-09 | 2009-10-25 |\n| 192 | 月亮 | 木星 | 水星 | 2009-10-25 | 2010-01-02 |\n| 193 | 月亮 | 木星 | 南交点 | 2010-01-02 | 2010-01-30 |\n| 194 | 月亮 | 木星 | 金星 | 2010-01-30 | 2010-04-21 |\n| 195 | 月亮 | 木星 | 太阳 | 2010-04-21 | 2010-05-16 |\n| 196 | 月亮 | 木星 | 月亮 | 2010-05-16 | 2010-06-25 |\n| 197 | 月亮 | 木星 | 火星 | 2010-06-25 | 2010-07-24 |\n| 198 | 月亮 | 木星 | 北交点 | 2010-07-24 | 2010-10-05 |\n| 199 | 月亮 | 土星 | 土星 | 2010-10-05 | 2011-01-04 |\n| 200 | 月亮 | 土星 | 水星 | 2011-01-04 | 2011-03-27 |\n| 201 | 月亮 | 土星 | 南交点 | 2011-03-27 | 2011-04-30 |\n| 202 | 月亮 | 土星 | 金星 | 2011-04-30 | 2011-08-04 |\n| 203 | 月亮 | 土星 | 太阳 | 2011-08-04 | 2011-09-02 |\n| 204 | 月亮 | 土星 | 月亮 | 2011-09-02 | 2011-10-20 |\n| 205 | 月亮 | 土星 | 火星 | 2011-10-20 | 2011-11-23 |\n| 206 | 月亮 | 土星 | 北交点 | 2011-11-23 | 2012-02-18 |\n| 207 | 月亮 | 土星 | 木星 | 2012-02-18 | 2012-05-05 |\n| 208 | 月亮 | 水星 | 水星 | 2012-05-05 | 2012-07-17 |\n| 209 | 月亮 | 水星 | 南交点 | 2012-07-17 | 2012-08-16 |\n| 210 | 月亮 | 水星 | 金星 | 2012-08-16 | 2012-11-11 |\n| 211 | 月亮 | 水星 | 太阳 | 2012-11-11 | 2012-12-06 |\n| 212 | 月亮 | 水星 | 月亮 | 2012-12-06 | 2013-01-19 |\n| 213 | 月亮 | 水星 | 火星 | 2013-01-19 | 2013-02-18 |\n| 214 | 月亮 | 水星 | 北交点 | 2013-02-18 | 2013-05-06 |\n| 215 | 月亮 | 水星 | 木星 | 2013-05-06 | 2013-07-14 |\n| 216 | 月亮 | 水星 | 土星 | 2013-07-14 | 2013-10-04 |\n| 217 | 月亮 | 南交点 | 南交点 | 2013-10-04 | 2013-10-17 |\n| 218 | 月亮 | 南交点 | 金星 | 2013-10-17 | 2013-11-21 |\n| 219 | 月亮 | 南交点 | 太阳 | 2013-11-21 | 2013-12-02 |\n| 220 | 月亮 | 南交点 | 月亮 | 2013-12-02 | 2013-12-20 |\n| 221 | 月亮 | 南交点 | 火星 | 2013-12-20 | 2014-01-01 |\n| 222 | 月亮 | 南交点 | 北交点 | 2014-01-01 | 2014-02-02 |\n| 223 | 月亮 | 南交点 | 木星 | 2014-02-02 | 2014-03-02 |\n| 224 | 月亮 | 南交点 | 土星 | 2014-03-02 | 2014-04-05 |\n| 225 | 月亮 | 南交点 | 水星 | 2014-04-05 | 2014-05-05 |\n| 226 | 月亮 | 金星 | 金星 | 2014-05-05 | 2014-08-15 |\n| 227 | 月亮 | 金星 | 太阳 | 2014-08-15 | 2014-09-14 |\n| 228 | 月亮 | 金星 | 月亮 | 2014-09-14 | 2014-11-04 |\n| 229 | 月亮 | 金星 | 火星 | 2014-11-04 | 2014-12-09 |\n| 230 | 月亮 | 金星 | 北交点 | 2014-12-09 | 2015-03-11 |\n| 231 | 月亮 | 金星 | 木星 | 2015-03-11 | 2015-05-31 |\n| 232 | 月亮 | 金星 | 土星 | 2015-05-31 | 2015-09-04 |\n| 233 | 月亮 | 金星 | 水星 | 2015-09-04 | 2015-11-29 |\n| 234 | 月亮 | 金星 | 南交点 | 2015-11-29 | 2016-01-04 |\n| 235 | 月亮 | 太阳 | 太阳 | 2016-01-04 | 2016-01-13 |\n| 236 | 月亮 | 太阳 | 月亮 | 2016-01-13 | 2016-01-28 |\n| 237 | 月亮 | 太阳 | 火星 | 2016-01-28 | 2016-02-08 |\n| 238 | 月亮 | 太阳 | 北交点 | 2016-02-08 | 2016-03-06 |\n| 239 | 月亮 | 太阳 | 木星 | 2016-03-06 | 2016-03-31 |\n| 240 | 月亮 | 太阳 | 土星 | 2016-03-31 | 2016-04-29 |\n| 241 | 月亮 | 太阳 | 水星 | 2016-04-29 | 2016-05-24 |\n| 242 | 月亮 | 太阳 | 南交点 | 2016-05-24 | 2016-06-04 |\n| 243 | 月亮 | 太阳 | 金星 | 2016-06-04 | 2016-07-05 |\n| 244 | 火星 | 火星 | 火星 | 2016-07-05 | 2016-07-13 |\n| 245 | 火星 | 火星 | 北交点 | 2016-07-13 | 2016-08-05 |\n| 246 | 火星 | 火星 | 木星 | 2016-08-05 | 2016-08-24 |\n| 247 | 火星 | 火星 | 土星 | 2016-08-24 | 2016-09-17 |\n| 248 | 火星 | 火星 | 水星 | 2016-09-17 | 2016-10-08 |\n| 249 | 火星 | 火星 | 南交点 | 2016-10-08 | 2016-10-17 |\n| 250 | 火星 | 火星 | 金星 | 2016-10-17 | 2016-11-11 |\n| 251 | 火星 | 火星 | 太阳 | 2016-11-11 | 2016-11-18 |\n| 252 | 火星 | 火星 | 月亮 | 2016-11-18 | 2016-12-01 |\n| 253 | 火星 | 北交点 | 北交点 | 2016-12-01 | 2017-01-27 |\n| 254 | 火星 | 北交点 | 木星 | 2017-01-27 | 2017-03-19 |\n| 255 | 火星 | 北交点 | 土星 | 2017-03-19 | 2017-05-19 |\n| 256 | 火星 | 北交点 | 水星 | 2017-05-19 | 2017-07-12 |\n| 257 | 火星 | 北交点 | 南交点 | 2017-07-12 | 2017-08-04 |\n| 258 | 火星 | 北交点 | 金星 | 2017-08-04 | 2017-10-07 |\n| 259 | 火星 | 北交点 | 太阳 | 2017-10-07 | 2017-10-26 |\n| 260 | 火星 | 北交点 | 月亮 | 2017-10-26 | 2017-11-27 |\n| 261 | 火星 | 北交点 | 火星 | 2017-11-27 | 2017-12-19 |\n| 262 | 火星 | 木星 | 木星 | 2017-12-19 | 2018-02-03 |\n| 263 | 火星 | 木星 | 土星 | 2018-02-03 | 2018-03-29 |\n| 264 | 火星 | 木星 | 水星 | 2018-03-29 | 2018-05-16 |\n| 265 | 火星 | 木星 | 南交点 | 2018-05-16 | 2018-06-05 |\n| 266 | 火星 | 木星 | 金星 | 2018-06-05 | 2018-08-01 |\n| 267 | 火星 | 木星 | 太阳 | 2018-08-01 | 2018-08-18 |\n| 268 | 火星 | 木星 | 月亮 | 2018-08-18 | 2018-09-15 |\n| 269 | 火星 | 木星 | 火星 | 2018-09-15 | 2018-10-05 |\n| 270 | 火星 | 木星 | 北交点 | 2018-10-05 | 2018-11-25 |\n| 271 | 火星 | 土星 | 土星 | 2018-11-25 | 2019-01-28 |\n| 272 | 火星 | 土星 | 水星 | 2019-01-28 | 2019-03-27 |\n| 273 | 火星 | 土星 | 南交点 | 2019-03-27 | 2019-04-19 |\n| 274 | 火星 | 土星 | 金星 | 2019-04-19 | 2019-06-26 |\n| 275 | 火星 | 土星 | 太阳 | 2019-06-26 | 2019-07-16 |\n| 276 | 火星 | 土星 | 月亮 | 2019-07-16 | 2019-08-19 |\n| 277 | 火星 | 土星 | 火星 | 2019-08-19 | 2019-09-11 |\n| 278 | 火星 | 土星 | 北交点 | 2019-09-11 | 2019-11-11 |\n| 279 | 火星 | 土星 | 木星 | 2019-11-11 | 2020-01-04 |\n| 280 | 火星 | 水星 | 水星 | 2020-01-04 | 2020-02-24 |\n| 281 | 火星 | 水星 | 南交点 | 2020-02-24 | 2020-03-16 |\n| 282 | 火星 | 水星 | 金星 | 2020-03-16 | 2020-05-16 |\n| 283 | 火星 | 水星 | 太阳 | 2020-05-16 | 2020-06-03 |\n| 284 | 火星 | 水星 | 月亮 | 2020-06-03 | 2020-07-03 |\n| 285 | 火星 | 水星 | 火星 | 2020-07-03 | 2020-07-24 |\n| 286 | 火星 | 水星 | 北交点 | 2020-07-24 | 2020-09-17 |\n| 287 | 火星 | 水星 | 木星 | 2020-09-17 | 2020-11-04 |\n| 288 | 火星 | 水星 | 土星 | 2020-11-04 | 2020-12-31 |\n| 289 | 火星 | 南交点 | 南交点 | 2020-12-31 | 2021-01-09 |\n| 290 | 火星 | 南交点 | 金星 | 2021-01-09 | 2021-02-03 |\n| 291 | 火星 | 南交点 | 太阳 | 2021-02-03 | 2021-02-10 |\n| 292 | 火星 | 南交点 | 月亮 | 2021-02-10 | 2021-02-23 |\n| 293 | 火星 | 南交点 | 火星 | 2021-02-23 | 2021-03-03 |\n| 294 | 火星 | 南交点 | 北交点 | 2021-03-03 | 2021-03-26 |\n| 295 | 火星 | 南交点 | 木星 | 2021-03-26 | 2021-04-15 |\n| 296 | 火星 | 南交点 | 土星 | 2021-04-15 | 2021-05-08 |\n| 297 | 火星 | 南交点 | 水星 | 2021-05-08 | 2021-05-29 |\n| 298 | 火星 | 金星 | 金星 | 2021-05-29 | 2021-08-08 |\n| 299 | 火星 | 金星 | 太阳 | 2021-08-08 | 2021-08-30 |\n| 300 | 火星 | 金星 | 月亮 | 2021-08-30 | 2021-10-04 |\n| 301 | 火星 | 金星 | 火星 | 2021-10-04 | 2021-10-29 |\n| 302 | 火星 | 金星 | 北交点 | 2021-10-29 | 2022-01-01 |\n| 303 | 火星 | 金星 | 木星 | 2022-01-01 | 2022-02-27 |\n| 304 | 火星 | 金星 | 土星 | 2022-02-27 | 2022-05-05 |\n| 305 | 火星 | 金星 | 水星 | 2022-05-05 | 2022-07-05 |\n| 306 | 火星 | 金星 | 南交点 | 2022-07-05 | 2022-07-30 |\n| 307 | 火星 | 太阳 | 太阳 | 2022-07-30 | 2022-08-05 |\n| 308 | 火星 | 太阳 | 月亮 | 2022-08-05 | 2022-08-16 |\n| 309 | 火星 | 太阳 | 火星 | 2022-08-16 | 2022-08-23 |\n| 310 | 火星 | 太阳 | 北交点 | 2022-08-23 | 2022-09-11 |\n| 311 | 火星 | 太阳 | 木星 | 2022-09-11 | 2022-09-28 |\n| 312 | 火星 | 太阳 | 土星 | 2022-09-28 | 2022-10-19 |\n| 313 | 火星 | 太阳 | 水星 | 2022-10-19 | 2022-11-06 |\n| 314 | 火星 | 太阳 | 南交点 | 2022-11-06 | 2022-11-13 |\n| 315 | 火星 | 太阳 | 金星 | 2022-11-13 | 2022-12-04 |\n| 316 | 火星 | 月亮 | 月亮 | 2022-12-04 | 2022-12-22 |\n| 317 | 火星 | 月亮 | 火星 | 2022-12-22 | 2023-01-04 |\n| 318 | 火星 | 月亮 | 北交点 | 2023-01-04 | 2023-02-05 |\n| 319 | 火星 | 月亮 | 木星 | 2023-02-05 | 2023-03-05 |\n| 320 | 火星 | 月亮 | 土星 | 2023-03-05 | 2023-04-08 |\n| 321 | 火星 | 月亮 | 水星 | 2023-04-08 | 2023-05-08 |\n| 322 | 火星 | 月亮 | 南交点 | 2023-05-08 | 2023-05-20 |\n| 323 | 火星 | 月亮 | 金星 | 2023-05-20 | 2023-06-25 |\n| 324 | 火星 | 月亮 | 太阳 | 2023-06-25 | 2023-07-06 |\n| 325 | 北交点 | 北交点 | 北交点 | 2023-07-06 | 2023-11-30 |\n| 326 | 北交点 | 北交点 | 木星 | 2023-11-30 | 2024-04-10 |\n| 327 | 北交点 | 北交点 | 土星 | 2024-04-10 | 2024-09-13 |\n| 328 | 北交点 | 北交点 | 水星 | 2024-09-13 | 2025-01-31 |\n| 329 | 北交点 | 北交点 | 南交点 | 2025-01-31 | 2025-03-29 |\n| 330 | 北交点 | 北交点 | 金星 | 2025-03-29 | 2025-09-10 |\n| 331 | 北交点 | 北交点 | 太阳 | 2025-09-10 | 2025-10-29 |\n| 332 | 北交点 | 北交点 | 月亮 | 2025-10-29 | 2026-01-19 |\n| 333 | 北交点 | 北交点 | 火星 | 2026-01-19 | 2026-03-18 |\n| 334 | 北交点 | 木星 | 木星 | 2026-03-18 | 2026-07-13 |\n| 335 | 北交点 | 木星 | 土星 | 2026-07-13 | 2026-11-28 |\n| 336 | 北交点 | 木星 | 水星 | 2026-11-28 | 2027-04-02 |\n| 337 | 北交点 | 木星 | 南交点 | 2027-04-02 | 2027-05-23 |\n| 338 | 北交点 | 木星 | 金星 | 2027-05-23 | 2027-10-16 |\n| 339 | 北交点 | 木星 | 太阳 | 2027-10-16 | 2027-11-29 |\n| 340 | 北交点 | 木星 | 月亮 | 2027-11-29 | 2028-02-10 |\n| 341 | 北交点 | 木星 | 火星 | 2028-02-10 | 2028-04-01 |\n| 342 | 北交点 | 木星 | 北交点 | 2028-04-01 | 2028-08-10 |\n| 343 | 北交点 | 土星 | 土星 | 2028-08-10 | 2029-01-22 |\n| 344 | 北交点 | 土星 | 水星 | 2029-01-22 | 2029-06-19 |\n| 345 | 北交点 | 土星 | 南交点 | 2029-06-19 | 2029-08-18 |\n| 346 | 北交点 | 土星 | 金星 | 2029-08-18 | 2030-02-08 |\n| 347 | 北交点 | 土星 | 太阳 | 2030-02-08 | 2030-04-01 |\n| 348 | 北交点 | 土星 | 月亮 | 2030-04-01 | 2030-06-27 |\n| 349 | 北交点 | 土星 | 火星 | 2030-06-27 | 2030-08-26 |\n| 350 | 北交点 | 土星 | 北交点 | 2030-08-26 | 2031-01-30 |\n| 351 | 北交点 | 土星 | 木星 | 2031-01-30 | 2031-06-17 |\n| 352 | 北交点 | 水星 | 水星 | 2031-06-17 | 2031-10-27 |\n| 353 | 北交点 | 水星 | 南交点 | 2031-10-27 | 2031-12-21 |\n| 354 | 北交点 | 水星 | 金星 | 2031-12-21 | 2032-05-24 |\n| 355 | 北交点 | 水星 | 太阳 | 2032-05-24 | 2032-07-10 |\n| 356 | 北交点 | 水星 | 月亮 | 2032-07-10 | 2032-09-25 |\n| 357 | 北交点 | 水星 | 火星 | 2032-09-25 | 2032-11-19 |\n| 358 | 北交点 | 水星 | 北交点 | 2032-11-19 | 2033-04-07 |\n| 359 | 北交点 | 水星 | 木星 | 2033-04-07 | 2033-08-09 |\n| 360 | 北交点 | 水星 | 土星 | 2033-08-09 | 2034-01-04 |\n| 361 | 北交点 | 南交点 | 南交点 | 2034-01-04 | 2034-01-26 |\n| 362 | 北交点 | 南交点 | 金星 | 2034-01-26 | 2034-03-31 |\n| 363 | 北交点 | 南交点 | 太阳 | 2034-03-31 | 2034-04-19 |\n| 364 | 北交点 | 南交点 | 月亮 | 2034-04-19 | 2034-05-21 |\n| 365 | 北交点 | 南交点 | 火星 | 2034-05-21 | 2034-06-13 |\n| 366 | 北交点 | 南交点 | 北交点 | 2034-06-13 | 2034-08-09 |\n| 367 | 北交点 | 南交点 | 木星 | 2034-08-09 | 2034-09-29 |\n| 368 | 北交点 | 南交点 | 土星 | 2034-09-29 | 2034-11-29 |\n| 369 | 北交点 | 南交点 | 水星 | 2034-11-29 | 2035-01-22 |\n| 370 | 北交点 | 金星 | 金星 | 2035-01-22 | 2035-07-24 |\n| 371 | 北交点 | 金星 | 太阳 | 2035-07-24 | 2035-09-17 |\n| 372 | 北交点 | 金星 | 月亮 | 2035-09-17 | 2035-12-17 |\n| 373 | 北交点 | 金星 | 火星 | 2035-12-17 | 2036-02-19 |\n| 374 | 北交点 | 金星 | 北交点 | 2036-02-19 | 2036-08-02 |\n| 375 | 北交点 | 金星 | 木星 | 2036-08-02 | 2036-12-26 |\n| 376 | 北交点 | 金星 | 土星 | 2036-12-26 | 2037-06-17 |\n| 377 | 北交点 | 金星 | 水星 | 2037-06-17 | 2037-11-19 |\n| 378 | 北交点 | 金星 | 南交点 | 2037-11-19 | 2038-01-22 |\n| 379 | 北交点 | 太阳 | 太阳 | 2038-01-22 | 2038-02-08 |\n| 380 | 北交点 | 太阳 | 月亮 | 2038-02-08 | 2038-03-07 |\n| 381 | 北交点 | 太阳 | 火星 | 2038-03-07 | 2038-03-26 |\n| 382 | 北交点 | 太阳 | 北交点 | 2038-03-26 | 2038-05-15 |\n| 383 | 北交点 | 太阳 | 木星 | 2038-05-15 | 2038-06-27 |\n| 384 | 北交点 | 太阳 | 土星 | 2038-06-27 | 2038-08-19 |\n| 385 | 北交点 | 太阳 | 水星 | 2038-08-19 | 2038-10-04 |\n| 386 | 北交点 | 太阳 | 南交点 | 2038-10-04 | 2038-10-23 |\n| 387 | 北交点 | 太阳 | 金星 | 2038-10-23 | 2038-12-17 |\n| 388 | 北交点 | 月亮 | 月亮 | 2038-12-17 | 2039-02-01 |\n| 389 | 北交点 | 月亮 | 火星 | 2039-02-01 | 2039-03-05 |\n| 390 | 北交点 | 月亮 | 北交点 | 2039-03-05 | 2039-05-26 |\n| 391 | 北交点 | 月亮 | 木星 | 2039-05-26 | 2039-08-07 |\n| 392 | 北交点 | 月亮 | 土星 | 2039-08-07 | 2039-11-02 |\n| 393 | 北交点 | 月亮 | 水星 | 2039-11-02 | 2040-01-18 |\n| 394 | 北交点 | 月亮 | 南交点 | 2040-01-18 | 2040-02-19 |\n| 395 | 北交点 | 月亮 | 金星 | 2040-02-19 | 2040-05-21 |\n| 396 | 北交点 | 月亮 | 太阳 | 2040-05-21 | 2040-06-17 |\n| 397 | 北交点 | 火星 | 火星 | 2040-06-17 | 2040-07-09 |\n| 398 | 北交点 | 火星 | 北交点 | 2040-07-09 | 2040-09-05 |\n| 399 | 北交点 | 火星 | 木星 | 2040-09-05 | 2040-10-26 |\n| 400 | 北交点 | 火星 | 土星 | 2040-10-26 | 2040-12-26 |\n| 401 | 北交点 | 火星 | 水星 | 2040-12-26 | 2041-02-18 |\n| 402 | 北交点 | 火星 | 南交点 | 2041-02-18 | 2041-03-12 |\n| 403 | 北交点 | 火星 | 金星 | 2041-03-12 | 2041-05-15 |\n| 404 | 北交点 | 火星 | 太阳 | 2041-05-15 | 2041-06-04 |\n| 405 | 北交点 | 火星 | 月亮 | 2041-06-04 | 2041-07-06 |\n| 406 | 木星 | 木星 | 木星 | 2041-07-06 | 2041-10-17 |\n| 407 | 木星 | 木星 | 土星 | 2041-10-17 | 2042-02-18 |\n| 408 | 木星 | 木星 | 水星 | 2042-02-18 | 2042-06-08 |\n| 409 | 木星 | 木星 | 南交点 | 2042-06-08 | 2042-07-24 |\n| 410 | 木星 | 木星 | 金星 | 2042-07-24 | 2042-11-30 |\n| 411 | 木星 | 木星 | 太阳 | 2042-11-30 | 2043-01-08 |\n| 412 | 木星 | 木星 | 月亮 | 2043-01-08 | 2043-03-14 |\n| 413 | 木星 | 木星 | 火星 | 2043-03-14 | 2043-04-29 |\n| 414 | 木星 | 木星 | 北交点 | 2043-04-29 | 2043-08-24 |\n| 415 | 木星 | 土星 | 土星 | 2043-08-24 | 2044-01-17 |\n| 416 | 木星 | 土星 | 水星 | 2044-01-17 | 2044-05-27 |\n| 417 | 木星 | 土星 | 南交点 | 2044-05-27 | 2044-07-20 |\n| 418 | 木星 | 土星 | 金星 | 2044-07-20 | 2044-12-21 |\n| 419 | 木星 | 土星 | 太阳 | 2044-12-21 | 2045-02-06 |\n| 420 | 木星 | 土星 | 月亮 | 2045-02-06 | 2045-04-24 |\n| 421 | 木星 | 土星 | 火星 | 2045-04-24 | 2045-06-17 |\n| 422 | 木星 | 土星 | 北交点 | 2045-06-17 | 2045-11-03 |\n| 423 | 木星 | 土星 | 木星 | 2045-11-03 | 2046-03-06 |\n| 424 | 木星 | 水星 | 水星 | 2046-03-06 | 2046-07-01 |\n| 425 | 木星 | 水星 | 南交点 | 2046-07-01 | 2046-08-19 |\n| 426 | 木星 | 水星 | 金星 | 2046-08-19 | 2047-01-04 |\n| 427 | 木星 | 水星 | 太阳 | 2047-01-04 | 2047-02-14 |\n| 428 | 木星 | 水星 | 月亮 | 2047-02-14 | 2047-04-24 |\n| 429 | 木星 | 水星 | 火星 | 2047-04-24 | 2047-06-11 |\n| 430 | 木星 | 水星 | 北交点 | 2047-06-11 | 2047-10-13 |\n| 431 | 木星 | 水星 | 木星 | 2047-10-13 | 2048-02-01 |\n| 432 | 木星 | 水星 | 土星 | 2048-02-01 | 2048-06-11 |\n| 433 | 木星 | 南交点 | 南交点 | 2048-06-11 | 2048-07-01 |\n| 434 | 木星 | 南交点 | 金星 | 2048-07-01 | 2048-08-27 |\n| 435 | 木星 | 南交点 | 太阳 | 2048-08-27 | 2048-09-13 |\n| 436 | 木星 | 南交点 | 月亮 | 2048-09-13 | 2048-10-11 |\n| 437 | 木星 | 南交点 | 火星 | 2048-10-11 | 2048-10-31 |\n| 438 | 木星 | 南交点 | 北交点 | 2048-10-31 | 2048-12-21 |\n| 439 | 木星 | 南交点 | 木星 | 2048-12-21 | 2049-02-05 |\n| 440 | 木星 | 南交点 | 土星 | 2049-02-05 | 2049-03-31 |\n| 441 | 木星 | 南交点 | 水星 | 2049-03-31 | 2049-05-18 |\n| 442 | 木星 | 金星 | 金星 | 2049-05-18 | 2049-10-27 |\n| 443 | 木星 | 金星 | 太阳 | 2049-10-27 | 2049-12-15 |\n| 444 | 木星 | 金星 | 月亮 | 2049-12-15 | 2050-03-06 |\n| 445 | 木星 | 金星 | 火星 | 2050-03-06 | 2050-05-02 |\n| 446 | 木星 | 金星 | 北交点 | 2050-05-02 | 2050-09-25 |\n| 447 | 木星 | 金星 | 木星 | 2050-09-25 | 2051-02-02 |\n| 448 | 木星 | 金星 | 土星 | 2051-02-02 | 2051-07-06 |\n| 449 | 木星 | 金星 | 水星 | 2051-07-06 | 2051-11-21 |\n| 450 | 木星 | 金星 | 南交点 | 2051-11-21 | 2052-01-17 |\n| 451 | 木星 | 太阳 | 太阳 | 2052-01-17 | 2052-01-31 |\n| 452 | 木星 | 太阳 | 月亮 | 2052-01-31 | 2052-02-25 |\n| 453 | 木星 | 太阳 | 火星 | 2052-02-25 | 2052-03-13 |\n| 454 | 木星 | 太阳 | 北交点 | 2052-03-13 | 2052-04-26 |\n| 455 | 木星 | 太阳 | 木星 | 2052-04-26 | 2052-06-04 |\n| 456 | 木星 | 太阳 | 土星 | 2052-06-04 | 2052-07-20 |\n| 457 | 木星 | 太阳 | 水星 | 2052-07-20 | 2052-08-30 |\n| 458 | 木星 | 太阳 | 南交点 | 2052-08-30 | 2052-09-16 |\n| 459 | 木星 | 太阳 | 金星 | 2052-09-16 | 2052-11-04 |\n| 460 | 木星 | 月亮 | 月亮 | 2052-11-04 | 2052-12-15 |\n| 461 | 木星 | 月亮 | 火星 | 2052-12-15 | 2053-01-12 |\n| 462 | 木星 | 月亮 | 北交点 | 2053-01-12 | 2053-03-26 |\n| 463 | 木星 | 月亮 | 木星 | 2053-03-26 | 2053-05-30 |\n| 464 | 木星 | 月亮 | 土星 | 2053-05-30 | 2053-08-15 |\n| 465 | 木星 | 月亮 | 水星 | 2053-08-15 | 2053-10-23 |\n| 466 | 木星 | 月亮 | 南交点 | 2053-10-23 | 2053-11-20 |\n| 467 | 木星 | 月亮 | 金星 | 2053-11-20 | 2054-02-10 |\n| 468 | 木星 | 月亮 | 太阳 | 2054-02-10 | 2054-03-06 |\n| 469 | 木星 | 火星 | 火星 | 2054-03-06 | 2054-03-26 |\n| 470 | 木星 | 火星 | 北交点 | 2054-03-26 | 2054-05-16 |\n| 471 | 木星 | 火星 | 木星 | 2054-05-16 | 2054-06-30 |\n| 472 | 木星 | 火星 | 土星 | 2054-06-30 | 2054-08-23 |\n| 473 | 木星 | 火星 | 水星 | 2054-08-23 | 2054-10-11 |\n| 474 | 木星 | 火星 | 南交点 | 2054-10-11 | 2054-10-31 |\n| 475 | 木星 | 火星 | 金星 | 2054-10-31 | 2054-12-26 |\n| 476 | 木星 | 火星 | 太阳 | 2054-12-26 | 2055-01-12 |\n| 477 | 木星 | 火星 | 月亮 | 2055-01-12 | 2055-02-10 |\n| 478 | 木星 | 北交点 | 北交点 | 2055-02-10 | 2055-06-21 |\n| 479 | 木星 | 北交点 | 木星 | 2055-06-21 | 2055-10-16 |\n| 480 | 木星 | 北交点 | 土星 | 2055-10-16 | 2056-03-03 |\n| 481 | 木星 | 北交点 | 水星 | 2056-03-03 | 2056-07-05 |\n| 482 | 木星 | 北交点 | 南交点 | 2056-07-05 | 2056-08-25 |\n| 483 | 木星 | 北交点 | 金星 | 2056-08-25 | 2057-01-18 |\n| 484 | 木星 | 北交点 | 太阳 | 2057-01-18 | 2057-03-03 |\n| 485 | 木星 | 北交点 | 月亮 | 2057-03-03 | 2057-05-15 |\n| 486 | 木星 | 北交点 | 火星 | 2057-05-15 | 2057-07-06 |\n| 487 | 土星 | 土星 | 土星 | 2057-07-06 | 2057-12-26 |\n| 488 | 土星 | 土星 | 水星 | 2057-12-26 | 2058-05-31 |\n| 489 | 土星 | 土星 | 南交点 | 2058-05-31 | 2058-08-03 |\n| 490 | 土星 | 土星 | 金星 | 2058-08-03 | 2059-02-02 |\n| 491 | 土星 | 土星 | 太阳 | 2059-02-02 | 2059-03-29 |\n| 492 | 土星 | 土星 | 月亮 | 2059-03-29 | 2059-06-29 |\n| 493 | 土星 | 土星 | 火星 | 2059-06-29 | 2059-09-01 |\n| 494 | 土星 | 土星 | 北交点 | 2059-09-01 | 2060-02-13 |\n| 495 | 土星 | 土星 | 木星 | 2060-02-13 | 2060-07-08 |\n| 496 | 土星 | 水星 | 水星 | 2060-07-08 | 2060-11-24 |\n| 497 | 土星 | 水星 | 南交点 | 2060-11-24 | 2061-01-21 |\n| 498 | 土星 | 水星 | 金星 | 2061-01-21 | 2061-07-04 |\n| 499 | 土星 | 水星 | 太阳 | 2061-07-04 | 2061-08-22 |\n| 500 | 土星 | 水星 | 月亮 | 2061-08-22 | 2061-11-12 |\n| 501 | 土星 | 水星 | 火星 | 2061-11-12 | 2062-01-08 |\n| 502 | 土星 | 水星 | 北交点 | 2062-01-08 | 2062-06-04 |\n| 503 | 土星 | 水星 | 木星 | 2062-06-04 | 2062-10-14 |\n| 504 | 土星 | 水星 | 土星 | 2062-10-14 | 2063-03-18 |\n| 505 | 土星 | 南交点 | 南交点 | 2063-03-18 | 2063-04-11 |\n| 506 | 土星 | 南交点 | 金星 | 2063-04-11 | 2063-06-17 |\n| 507 | 土星 | 南交点 | 太阳 | 2063-06-17 | 2063-07-08 |\n| 508 | 土星 | 南交点 | 月亮 | 2063-07-08 | 2063-08-10 |\n| 509 | 土星 | 南交点 | 火星 | 2063-08-10 | 2063-09-03 |\n| 510 | 土星 | 南交点 | 北交点 | 2063-09-03 | 2063-11-03 |\n| 511 | 土星 | 南交点 | 木星 | 2063-11-03 | 2063-12-27 |\n| 512 | 土星 | 南交点 | 土星 | 2063-12-27 | 2064-02-29 |\n| 513 | 土星 | 南交点 | 水星 | 2064-02-29 | 2064-04-26 |\n| 514 | 土星 | 金星 | 金星 | 2064-04-26 | 2064-11-05 |\n| 515 | 土星 | 金星 | 太阳 | 2064-11-05 | 2065-01-02 |\n| 516 | 土星 | 金星 | 月亮 | 2065-01-02 | 2065-04-08 |\n| 517 | 土星 | 金星 | 火星 | 2065-04-08 | 2065-06-14 |\n| 518 | 土星 | 金星 | 北交点 | 2065-06-14 | 2065-12-05 |\n| 519 | 土星 | 金星 | 木星 | 2065-12-05 | 2066-05-08 |\n| 520 | 土星 | 金星 | 土星 | 2066-05-08 | 2066-11-07 |\n| 521 | 土星 | 金星 | 水星 | 2066-11-07 | 2067-04-20 |\n| 522 | 土星 | 金星 | 南交点 | 2067-04-20 | 2067-06-26 |\n| 523 | 土星 | 太阳 | 太阳 | 2067-06-26 | 2067-07-14 |\n| 524 | 土星 | 太阳 | 月亮 | 2067-07-14 | 2067-08-12 |\n| 525 | 土星 | 太阳 | 火星 | 2067-08-12 | 2067-09-01 |\n| 526 | 土星 | 太阳 | 北交点 | 2067-09-01 | 2067-10-23 |\n| 527 | 土星 | 太阳 | 木星 | 2067-10-23 | 2067-12-08 |\n| 528 | 土星 | 太阳 | 土星 | 2067-12-08 | 2068-02-01 |\n| 529 | 土星 | 太阳 | 水星 | 2068-02-01 | 2068-03-21 |\n| 530 | 土星 | 太阳 | 南交点 | 2068-03-21 | 2068-04-11 |\n| 531 | 土星 | 太阳 | 金星 | 2068-04-11 | 2068-06-07 |\n| 532 | 土星 | 月亮 | 月亮 | 2068-06-07 | 2068-07-26 |\n| 533 | 土星 | 月亮 | 火星 | 2068-07-26 | 2068-08-28 |\n| 534 | 土星 | 月亮 | 北交点 | 2068-08-28 | 2068-11-23 |\n| 535 | 土星 | 月亮 | 木星 | 2068-11-23 | 2069-02-08 |\n| 536 | 土星 | 月亮 | 土星 | 2069-02-08 | 2069-05-11 |\n| 537 | 土星 | 月亮 | 水星 | 2069-05-11 | 2069-08-01 |\n| 538 | 土星 | 月亮 | 南交点 | 2069-08-01 | 2069-09-03 |\n| 539 | 土星 | 月亮 | 金星 | 2069-09-03 | 2069-12-09 |\n| 540 | 土星 | 月亮 | 太阳 | 2069-12-09 | 2070-01-07 |\n| 541 | 土星 | 火星 | 火星 | 2070-01-07 | 2070-01-30 |\n| 542 | 土星 | 火星 | 北交点 | 2070-01-30 | 2070-04-01 |\n| 543 | 土星 | 火星 | 木星 | 2070-04-01 | 2070-05-25 |\n| 544 | 土星 | 火星 | 土星 | 2070-05-25 | 2070-07-28 |\n| 545 | 土星 | 火星 | 水星 | 2070-07-28 | 2070-09-23 |\n| 546 | 土星 | 火星 | 南交点 | 2070-09-23 | 2070-10-17 |\n| 547 | 土星 | 火星 | 金星 | 2070-10-17 | 2070-12-23 |\n| 548 | 土星 | 火星 | 太阳 | 2070-12-23 | 2071-01-13 |\n| 549 | 土星 | 火星 | 月亮 | 2071-01-13 | 2071-02-15 |\n| 550 | 土星 | 北交点 | 北交点 | 2071-02-15 | 2071-07-22 |\n| 551 | 土星 | 北交点 | 木星 | 2071-07-22 | 2071-12-07 |\n| 552 | 土星 | 北交点 | 土星 | 2071-12-07 | 2072-05-20 |\n| 553 | 土星 | 北交点 | 水星 | 2072-05-20 | 2072-10-15 |\n| 554 | 土星 | 北交点 | 南交点 | 2072-10-15 | 2072-12-14 |\n| 555 | 土星 | 北交点 | 金星 | 2072-12-14 | 2073-06-06 |\n| 556 | 土星 | 北交点 | 太阳 | 2073-06-06 | 2073-07-28 |\n| 557 | 土星 | 北交点 | 月亮 | 2073-07-28 | 2073-10-23 |\n| 558 | 土星 | 北交点 | 火星 | 2073-10-23 | 2073-12-22 |\n| 559 | 土星 | 木星 | 木星 | 2073-12-22 | 2074-04-25 |\n| 560 | 土星 | 木星 | 土星 | 2074-04-25 | 2074-09-18 |\n| 561 | 土星 | 木星 | 水星 | 2074-09-18 | 2075-01-27 |\n| 562 | 土星 | 木星 | 南交点 | 2075-01-27 | 2075-03-22 |\n| 563 | 土星 | 木星 | 金星 | 2075-03-22 | 2075-08-23 |\n| 564 | 土星 | 木星 | 太阳 | 2075-08-23 | 2075-10-09 |\n| 565 | 土星 | 木星 | 月亮 | 2075-10-09 | 2075-12-25 |\n| 566 | 土星 | 木星 | 火星 | 2075-12-25 | 2076-02-17 |\n| 567 | 土星 | 木星 | 北交点 | 2076-02-17 | 2076-07-05 |\n| 568 | 水星 | 水星 | 水星 | 2076-07-05 | 2076-11-06 |\n| 569 | 水星 | 水星 | 南交点 | 2076-11-06 | 2076-12-27 |\n| 570 | 水星 | 水星 | 金星 | 2076-12-27 | 2077-05-23 |\n| 571 | 水星 | 水星 | 太阳 | 2077-05-23 | 2077-07-06 |\n| 572 | 水星 | 水星 | 月亮 | 2077-07-06 | 2077-09-17 |\n| 573 | 水星 | 水星 | 火星 | 2077-09-17 | 2077-11-08 |\n| 574 | 水星 | 水星 | 北交点 | 2077-11-08 | 2078-03-20 |\n| 575 | 水星 | 水星 | 木星 | 2078-03-20 | 2078-07-15 |\n| 576 | 水星 | 水星 | 土星 | 2078-07-15 | 2078-12-01 |\n| 577 | 水星 | 南交点 | 南交点 | 2078-12-01 | 2078-12-22 |\n| 578 | 水星 | 南交点 | 金星 | 2078-12-22 | 2079-02-21 |\n| 579 | 水星 | 南交点 | 太阳 | 2079-02-21 | 2079-03-11 |\n| 580 | 水星 | 南交点 | 月亮 | 2079-03-11 | 2079-04-10 |\n| 581 | 水星 | 南交点 | 火星 | 2079-04-10 | 2079-05-01 |\n| 582 | 水星 | 南交点 | 北交点 | 2079-05-01 | 2079-06-25 |\n| 583 | 水星 | 南交点 | 木星 | 2079-06-25 | 2079-08-12 |\n| 584 | 水星 | 南交点 | 土星 | 2079-08-12 | 2079-10-08 |\n| 585 | 水星 | 南交点 | 水星 | 2079-10-08 | 2079-11-29 |\n| 586 | 水星 | 金星 | 金星 | 2079-11-29 | 2080-05-19 |\n| 587 | 水星 | 金星 | 太阳 | 2080-05-19 | 2080-07-10 |\n| 588 | 水星 | 金星 | 月亮 | 2080-07-10 | 2080-10-04 |\n| 589 | 水星 | 金星 | 火星 | 2080-10-04 | 2080-12-03 |\n| 590 | 水星 | 金星 | 北交点 | 2080-12-03 | 2081-05-08 |\n| 591 | 水星 | 金星 | 木星 | 2081-05-08 | 2081-09-23 |\n| 592 | 水星 | 金星 | 土星 | 2081-09-23 | 2082-03-06 |\n| 593 | 水星 | 金星 | 水星 | 2082-03-06 | 2082-07-30 |\n| 594 | 水星 | 金星 | 南交点 | 2082-07-30 | 2082-09-29 |\n| 595 | 水星 | 太阳 | 太阳 | 2082-09-29 | 2082-10-14 |\n| 596 | 水星 | 太阳 | 月亮 | 2082-10-14 | 2082-11-09 |\n| 597 | 水星 | 太阳 | 火星 | 2082-11-09 | 2082-11-27 |\n| 598 | 水星 | 太阳 | 北交点 | 2082-11-27 | 2083-01-13 |\n| 599 | 水星 | 太阳 | 木星 | 2083-01-13 | 2083-02-23 |\n| 600 | 水星 | 太阳 | 土星 | 2083-02-23 | 2083-04-13 |\n| 601 | 水星 | 太阳 | 水星 | 2083-04-13 | 2083-05-27 |\n| 602 | 水星 | 太阳 | 南交点 | 2083-05-27 | 2083-06-14 |\n| 603 | 水星 | 太阳 | 金星 | 2083-06-14 | 2083-08-05 |\n| 604 | 水星 | 月亮 | 月亮 | 2083-08-05 | 2083-09-17 |\n| 605 | 水星 | 月亮 | 火星 | 2083-09-17 | 2083-10-17 |\n| 606 | 水星 | 月亮 | 北交点 | 2083-10-17 | 2084-01-03 |\n| 607 | 水星 | 月亮 | 木星 | 2084-01-03 | 2084-03-12 |\n| 608 | 水星 | 月亮 | 土星 | 2084-03-12 | 2084-06-02 |\n| 609 | 水星 | 月亮 | 水星 | 2084-06-02 | 2084-08-14 |\n| 610 | 水星 | 月亮 | 南交点 | 2084-08-14 | 2084-09-13 |\n| 611 | 水星 | 月亮 | 金星 | 2084-09-13 | 2084-12-09 |\n| 612 | 水星 | 月亮 | 太阳 | 2084-12-09 | 2085-01-04 |\n| 613 | 水星 | 火星 | 火星 | 2085-01-04 | 2085-01-25 |\n| 614 | 水星 | 火星 | 北交点 | 2085-01-25 | 2085-03-20 |\n| 615 | 水星 | 火星 | 木星 | 2085-03-20 | 2085-05-07 |\n| 616 | 水星 | 火星 | 土星 | 2085-05-07 | 2085-07-04 |\n| 617 | 水星 | 火星 | 水星 | 2085-07-04 | 2085-08-24 |\n| 618 | 水星 | 火星 | 南交点 | 2085-08-24 | 2085-09-14 |\n| 619 | 水星 | 火星 | 金星 | 2085-09-14 | 2085-11-13 |\n| 620 | 水星 | 火星 | 太阳 | 2085-11-13 | 2085-12-02 |\n| 621 | 水星 | 火星 | 月亮 | 2085-12-02 | 2086-01-01 |\n| 622 | 水星 | 北交点 | 北交点 | 2086-01-01 | 2086-05-20 |\n| 623 | 水星 | 北交点 | 木星 | 2086-05-20 | 2086-09-22 |\n| 624 | 水星 | 北交点 | 土星 | 2086-09-22 | 2087-02-16 |\n| 625 | 水星 | 北交点 | 水星 | 2087-02-16 | 2087-06-28 |\n| 626 | 水星 | 北交点 | 南交点 | 2087-06-28 | 2087-08-21 |\n| 627 | 水星 | 北交点 | 金星 | 2087-08-21 | 2088-01-24 |\n| 628 | 水星 | 北交点 | 太阳 | 2088-01-24 | 2088-03-10 |\n| 629 | 水星 | 北交点 | 月亮 | 2088-03-10 | 2088-05-27 |\n| 630 | 水星 | 北交点 | 火星 | 2088-05-27 | 2088-07-20 |\n| 631 | 水星 | 木星 | 木星 | 2088-07-20 | 2088-11-08 |\n| 632 | 水星 | 木星 | 土星 | 2088-11-08 | 2089-03-19 |\n| 633 | 水星 | 木星 | 水星 | 2089-03-19 | 2089-07-14 |\n| 634 | 水星 | 木星 | 南交点 | 2089-07-14 | 2089-08-31 |\n| 635 | 水星 | 木星 | 金星 | 2089-08-31 | 2090-01-16 |\n| 636 | 水星 | 木星 | 太阳 | 2090-01-16 | 2090-02-27 |\n| 637 | 水星 | 木星 | 月亮 | 2090-02-27 | 2090-05-07 |\n| 638 | 水星 | 木星 | 火星 | 2090-05-07 | 2090-06-24 |\n| 639 | 水星 | 木星 | 北交点 | 2090-06-24 | 2090-10-26 |\n| 640 | 水星 | 土星 | 土星 | 2090-10-26 | 2091-03-31 |\n| 641 | 水星 | 土星 | 水星 | 2091-03-31 | 2091-08-17 |\n| 642 | 水星 | 土星 | 南交点 | 2091-08-17 | 2091-10-14 |\n| 643 | 水星 | 土星 | 金星 | 2091-10-14 | 2092-03-25 |\n| 644 | 水星 | 土星 | 太阳 | 2092-03-25 | 2092-05-14 |\n| 645 | 水星 | 土星 | 月亮 | 2092-05-14 | 2092-08-04 |\n| 646 | 水星 | 土星 | 火星 | 2092-08-04 | 2092-09-30 |\n| 647 | 水星 | 土星 | 北交点 | 2092-09-30 | 2093-02-24 |\n| 648 | 水星 | 土星 | 木星 | 2093-02-24 | 2093-07-06 |\n| 649 | 南交点 | 南交点 | 南交点 | 2093-07-06 | 2093-07-14 |\n| 650 | 南交点 | 南交点 | 金星 | 2093-07-14 | 2093-08-08 |\n| 651 | 南交点 | 南交点 | 太阳 | 2093-08-08 | 2093-08-16 |\n| 652 | 南交点 | 南交点 | 月亮 | 2093-08-16 | 2093-08-28 |\n| 653 | 南交点 | 南交点 | 火星 | 2093-08-28 | 2093-09-06 |\n| 654 | 南交点 | 南交点 | 北交点 | 2093-09-06 | 2093-09-28 |\n| 655 | 南交点 | 南交点 | 木星 | 2093-09-28 | 2093-10-18 |\n| 656 | 南交点 | 南交点 | 土星 | 2093-10-18 | 2093-11-10 |\n| 657 | 南交点 | 南交点 | 水星 | 2093-11-10 | 2093-12-02 |\n| 658 | 南交点 | 金星 | 金星 | 2093-12-02 | 2094-02-11 |\n| 659 | 南交点 | 金星 | 太阳 | 2094-02-11 | 2094-03-04 |\n| 660 | 南交点 | 金星 | 月亮 | 2094-03-04 | 2094-04-08 |\n| 661 | 南交点 | 金星 | 火星 | 2094-04-08 | 2094-05-03 |\n| 662 | 南交点 | 金星 | 北交点 | 2094-05-03 | 2094-07-06 |\n| 663 | 南交点 | 金星 | 木星 | 2094-07-06 | 2094-09-01 |\n| 664 | 南交点 | 金星 | 土星 | 2094-09-01 | 2094-11-07 |\n| 665 | 南交点 | 金星 | 水星 | 2094-11-07 | 2095-01-07 |\n| 666 | 南交点 | 金星 | 南交点 | 2095-01-07 | 2095-02-01 |\n| 667 | 南交点 | 太阳 | 太阳 | 2095-02-01 | 2095-02-07 |\n| 668 | 南交点 | 太阳 | 月亮 | 2095-02-07 | 2095-02-18 |\n| 669 | 南交点 | 太阳 | 火星 | 2095-02-18 | 2095-02-25 |\n| 670 | 南交点 | 太阳 | 北交点 | 2095-02-25 | 2095-03-16 |\n| 671 | 南交点 | 太阳 | 木星 | 2095-03-16 | 2095-04-02 |\n| 672 | 南交点 | 太阳 | 土星 | 2095-04-02 | 2095-04-23 |\n| 673 | 南交点 | 太阳 | 水星 | 2095-04-23 | 2095-05-11 |\n| 674 | 南交点 | 太阳 | 南交点 | 2095-05-11 | 2095-05-18 |\n| 675 | 南交点 | 太阳 | 金星 | 2095-05-18 | 2095-06-08 |\n| 676 | 南交点 | 月亮 | 月亮 | 2095-06-08 | 2095-06-26 |\n| 677 | 南交点 | 月亮 | 火星 | 2095-06-26 | 2095-07-09 |\n| 678 | 南交点 | 月亮 | 北交点 | 2095-07-09 | 2095-08-10 |\n| 679 | 南交点 | 月亮 | 木星 | 2095-08-10 | 2095-09-07 |\n| 680 | 南交点 | 月亮 | 土星 | 2095-09-07 | 2095-10-11 |\n| 681 | 南交点 | 月亮 | 水星 | 2095-10-11 | 2095-11-10 |\n| 682 | 南交点 | 月亮 | 南交点 | 2095-11-10 | 2095-11-22 |\n| 683 | 南交点 | 月亮 | 金星 | 2095-11-22 | 2095-12-28 |\n| 684 | 南交点 | 月亮 | 太阳 | 2095-12-28 | 2096-01-07 |\n| 685 | 南交点 | 火星 | 火星 | 2096-01-07 | 2096-01-16 |\n| 686 | 南交点 | 火星 | 北交点 | 2096-01-16 | 2096-02-07 |\n| 687 | 南交点 | 火星 | 木星 | 2096-02-07 | 2096-02-27 |\n| 688 | 南交点 | 火星 | 土星 | 2096-02-27 | 2096-03-22 |\n| 689 | 南交点 | 火星 | 水星 | 2096-03-22 | 2096-04-12 |\n| 690 | 南交点 | 火星 | 南交点 | 2096-04-12 | 2096-04-21 |\n| 691 | 南交点 | 火星 | 金星 | 2096-04-21 | 2096-05-16 |\n| 692 | 南交点 | 火星 | 太阳 | 2096-05-16 | 2096-05-23 |\n| 693 | 南交点 | 火星 | 月亮 | 2096-05-23 | 2096-06-05 |\n| 694 | 南交点 | 北交点 | 北交点 | 2096-06-05 | 2096-08-01 |\n| 695 | 南交点 | 北交点 | 木星 | 2096-08-01 | 2096-09-21 |\n| 696 | 南交点 | 北交点 | 土星 | 2096-09-21 | 2096-11-21 |\n| 697 | 南交点 | 北交点 | 水星 | 2096-11-21 | 2097-01-14 |\n| 698 | 南交点 | 北交点 | 南交点 | 2097-01-14 | 2097-02-06 |\n| 699 | 南交点 | 北交点 | 金星 | 2097-02-06 | 2097-04-10 |\n| 700 | 南交点 | 北交点 | 太阳 | 2097-04-10 | 2097-04-30 |\n| 701 | 南交点 | 北交点 | 月亮 | 2097-04-30 | 2097-06-01 |\n| 702 | 南交点 | 北交点 | 火星 | 2097-06-01 | 2097-06-23 |\n| 703 | 南交点 | 木星 | 木星 | 2097-06-23 | 2097-08-07 |\n| 704 | 南交点 | 木星 | 土星 | 2097-08-07 | 2097-09-30 |\n| 705 | 南交点 | 木星 | 水星 | 2097-09-30 | 2097-11-18 |\n| 706 | 南交点 | 木星 | 南交点 | 2097-11-18 | 2097-12-07 |\n| 707 | 南交点 | 木星 | 金星 | 2097-12-07 | 2098-02-02 |\n| 708 | 南交点 | 木星 | 太阳 | 2098-02-02 | 2098-02-19 |\n| 709 | 南交点 | 木星 | 月亮 | 2098-02-19 | 2098-03-20 |\n| 710 | 南交点 | 木星 | 火星 | 2098-03-20 | 2098-04-09 |\n| 711 | 南交点 | 木星 | 北交点 | 2098-04-09 | 2098-05-30 |\n| 712 | 南交点 | 土星 | 土星 | 2098-05-30 | 2098-08-02 |\n| 713 | 南交点 | 土星 | 水星 | 2098-08-02 | 2098-09-28 |\n| 714 | 南交点 | 土星 | 南交点 | 2098-09-28 | 2098-10-22 |\n| 715 | 南交点 | 土星 | 金星 | 2098-10-22 | 2098-12-28 |\n| 716 | 南交点 | 土星 | 太阳 | 2098-12-28 | 2099-01-17 |\n| 717 | 南交点 | 土星 | 月亮 | 2099-01-17 | 2099-02-20 |\n| 718 | 南交点 | 土星 | 火星 | 2099-02-20 | 2099-03-16 |\n| 719 | 南交点 | 土星 | 北交点 | 2099-03-16 | 2099-05-15 |\n| 720 | 南交点 | 土星 | 木星 | 2099-05-15 | 2099-07-08 |\n| 721 | 南交点 | 水星 | 水星 | 2099-07-08 | 2099-08-29 |\n| 722 | 南交点 | 水星 | 南交点 | 2099-08-29 | 2099-09-19 |\n| 723 | 南交点 | 水星 | 金星 | 2099-09-19 | 2099-11-18 |\n| 724 | 南交点 | 水星 | 太阳 | 2099-11-18 | 2099-12-06 |\n| 725 | 南交点 | 水星 | 月亮 | 2099-12-06 | 2100-01-05 |\n| 726 | 南交点 | 水星 | 火星 | 2100-01-05 | 2100-01-27 |\n| 727 | 南交点 | 水星 | 北交点 | 2100-01-27 | 2100-03-22 |\n| 728 | 南交点 | 水星 | 木星 | 2100-03-22 | 2100-05-09 |\n| 729 | 南交点 | 水星 | 土星 | 2100-05-09 | 2100-07-06 |\n\n### Yogini 大运\n\n| 序号 | 主星/星座 | 起始 | 结束 | 年数 |\n|------|-----------|------|------|------|\n| 1 | 月亮 | 1991-04-07T09:15:00 | 1993-04-06T21:15:00 | 2 |\n| 2 | 火星 | 1993-04-06T21:15:00 | 1996-04-06T15:15:00 | 3 |\n| 3 | 水星 | 1996-04-06T15:15:00 | 2000-04-06T15:15:00 | 4 |\n| 4 | 木星 | 2000-04-06T15:15:00 | 2005-04-06T21:15:00 | 5 |\n| 5 | 土星 | 2005-04-06T21:15:00 | 2011-04-07T09:15:00 | 6 |\n| 6 | 金星 | 2011-04-07T09:15:00 | 2018-04-07T03:15:00 | 7 |\n| 7 | 北交点 | 2018-04-07T03:15:00 | 2026-04-07T03:15:00 | 8 |\n| 8 | 太阳 | 2026-04-07T03:15:00 | 2027-04-07T09:15:00 | 1 |\n\n### Kala Chakra 大运\n\n| 序号 | 主星/星座 | 起始 | 结束 | 年数 |\n|------|-----------|------|------|------|\n| 1 | 南交点 | 1991-04-07T09:15:00 | 2000-04-06T15:15:00 | 9 |\n| 2 | 金星 | 2000-04-06T15:15:00 | 2010-04-07T03:15:00 | 10 |\n| 3 | 太阳 | 2010-04-07T03:15:00 | 2021-04-06T21:15:00 | 11 |\n| 4 | 月亮 | 2021-04-06T21:15:00 | 2033-04-06T21:15:00 | 12 |\n| 5 | 火星 | 2033-04-06T21:15:00 | 2046-04-07T03:15:00 | 13 |\n| 6 | 水星 | 2046-04-07T03:15:00 | 2060-04-06T15:15:00 | 14 |\n| 7 | 木星 | 2060-04-06T15:15:00 | 2075-04-07T09:15:00 | 15 |\n| 8 | 土星 | 2075-04-07T09:15:00 | 2091-04-07T09:15:00 | 16 |\n| 9 | 北交点 | 2091-04-07T09:15:00 | 2108-04-07T15:15:00 | 17 |\n| 10 | 南交点 | 2108-04-07T15:15:00 | 2126-04-08T03:15:00 | 18 |\n| 11 | 金星 | 2126-04-08T03:15:00 | 2133-04-07T21:15:00 | 7 |\n| 12 | 太阳 | 2133-04-07T21:15:00 | 2141-04-07T21:15:00 | 8 |\n\n### Tribhagi 大运\n\n| 序号 | 主星/星座 | 起始 | 结束 | 年数 |\n|------|-----------|------|------|------|\n| 1 | 金星 | 1991-04-07T09:15:00 | 1994-05-07T05:20:14 | 3.082319975537242 |\n| 2 | 太阳 | 1994-05-07T05:20:14 | 1996-05-06T17:38:33 | 2.0 |\n| 3 | 月亮 | 1996-05-06T17:38:33 | 1999-09-06T06:09:05 | 3.3333333333333335 |\n| 4 | 火星 | 1999-09-06T06:09:05 | 2002-01-05T12:30:27 | 2.3333333333333335 |\n| 5 | 北交点 | 2002-01-05T12:30:27 | 2008-01-06T01:25:24 | 6.0 |\n| 6 | 木星 | 2008-01-06T01:25:24 | 2013-05-07T02:14:15 | 5.333333333333333 |\n| 7 | 土星 | 2013-05-07T02:14:15 | 2019-09-06T09:12:15 | 6.333333333333333 |\n| 8 | 水星 | 2019-09-06T09:12:15 | 2025-05-07T04:04:09 | 5.666666666666667 |\n| 9 | 南交点 | 2025-05-07T04:04:09 | 2027-09-06T10:25:31 | 2.3333333333333335 |\n| 10 | 金星 | 2027-09-06T10:25:31 | 2034-05-07T11:26:34 | 6.666666666666667 |\n| 11 | 太阳 | 2034-05-07T11:26:34 | 2036-05-06T23:44:53 | 2.0 |\n| 12 | 月亮 | 2036-05-06T23:44:53 | 2039-09-06T12:15:25 | 3.3333333333333335 |\n| 13 | 火星 | 2039-09-06T12:15:25 | 2042-01-05T18:36:47 | 2.3333333333333335 |\n| 14 | 北交点 | 2042-01-05T18:36:47 | 2048-01-06T07:31:44 | 6.0 |\n| 15 | 木星 | 2048-01-06T07:31:44 | 2053-05-07T08:20:35 | 5.333333333333333 |\n| 16 | 土星 | 2053-05-07T08:20:35 | 2059-09-06T15:18:35 | 6.333333333333333 |\n| 17 | 水星 | 2059-09-06T15:18:35 | 2065-05-07T10:10:29 | 5.666666666666667 |\n| 18 | 南交点 | 2065-05-07T10:10:29 | 2067-09-06T16:31:51 | 2.3333333333333335 |\n| 19 | 金星 | 2067-09-06T16:31:51 | 2074-05-07T17:32:54 | 6.666666666666667 |\n| 20 | 太阳 | 2074-05-07T17:32:54 | 2076-05-07T05:51:13 | 2.0 |\n| 21 | 月亮 | 2076-05-07T05:51:13 | 2079-09-06T18:21:45 | 3.3333333333333335 |\n| 22 | 火星 | 2079-09-06T18:21:45 | 2082-01-06T00:43:07 | 2.3333333333333335 |\n| 23 | 北交点 | 2082-01-06T00:43:07 | 2088-01-06T13:38:04 | 6.0 |\n| 24 | 木星 | 2088-01-06T13:38:04 | 2093-05-07T14:26:55 | 5.333333333333333 |\n| 25 | 土星 | 2093-05-07T14:26:55 | 2099-09-06T21:24:55 | 6.333333333333333 |\n| 26 | 水星 | 2099-09-06T21:24:55 | 2105-05-08T16:16:49 | 5.666666666666667 |\n| 27 | 南交点 | 2105-05-08T16:16:49 | 2107-09-07T22:38:11 | 2.3333333333333335 |\n\n### Tribhagi 40-year 大运\n\n| 序号 | 主星/星座 | 起始 | 结束 | 年数 |\n|------|-----------|------|------|------|\n| 1 | 金星 | 1991-04-07T09:15:00 | 1994-05-07T05:20:14 | 3.082319975537242 |\n| 2 | 太阳 | 1994-05-07T05:20:14 | 1996-05-06T17:38:33 | 2.0 |\n| 3 | 月亮 | 1996-05-06T17:38:33 | 1999-09-06T06:09:05 | 3.3333333333333335 |\n| 4 | 火星 | 1999-09-06T06:09:05 | 2002-01-05T12:30:27 | 2.3333333333333335 |\n| 5 | 北交点 | 2002-01-05T12:30:27 | 2008-01-06T01:25:24 | 6.0 |\n| 6 | 木星 | 2008-01-06T01:25:24 | 2013-05-07T02:14:15 | 5.333333333333333 |\n| 7 | 土星 | 2013-05-07T02:14:15 | 2019-09-06T09:12:15 | 6.333333333333333 |\n| 8 | 水星 | 2019-09-06T09:12:15 | 2025-05-07T04:04:09 | 5.666666666666667 |\n| 9 | 南交点 | 2025-05-07T04:04:09 | 2027-09-06T10:25:31 | 2.3333333333333335 |\n\n### Shodashottari 大运\n\n| 序号 | 主星/星座 | 起始 | 结束 | 年数 |\n|------|-----------|------|------|------|\n| 1 | 南交点 | 1991-04-07T09:15:00 | 1998-03-14T12:26:47 | 6.935219944958795 |\n| 2 | 月亮 | 1998-03-14T12:26:47 | 2014-03-14T14:53:19 | 16.0 |\n| 3 | 水星 | 2014-03-14T14:53:19 | 2031-03-14T23:29:01 | 17.0 |\n| 4 | 金星 | 2031-03-14T23:29:01 | 2049-03-14T14:13:52 | 18.0 |\n| 5 | 太阳 | 2049-03-14T14:13:52 | 2060-03-14T09:54:37 | 11.0 |\n| 6 | 火星 | 2060-03-14T09:54:37 | 2072-03-14T11:44:31 | 12.0 |\n| 7 | 木星 | 2072-03-14T11:44:31 | 2085-03-14T19:43:34 | 13.0 |\n| 8 | 土星 | 2085-03-14T19:43:34 | 2099-03-15T09:51:47 | 14.0 |\n\n| AD/child | 主层 | 子层 | 起始 | 结束 |\n|----------|------|------|------|------|\n| 1 | - | 南交点 | 1991-04-07T09:15:00 | 1992-02-18T00:38:58 |\n| 2 | - | 月亮 | 1992-02-18T00:38:58 | 1992-12-30T16:02:56 |\n| 3 | - | 水星 | 1992-12-30T16:02:56 | 1993-11-12T07:26:55 |\n| 4 | - | 金星 | 1993-11-12T07:26:55 | 1994-09-24T22:50:53 |\n| 5 | - | 太阳 | 1994-09-24T22:50:53 | 1995-08-07T14:14:51 |\n| 6 | - | 火星 | 1995-08-07T14:14:51 | 1996-06-19T05:38:50 |\n| 7 | - | 木星 | 1996-06-19T05:38:50 | 1997-05-01T21:02:48 |\n| 8 | - | 土星 | 1997-05-01T21:02:48 | 1998-03-14T12:26:47 |\n| 9 | - | 月亮 | 1998-03-14T12:26:47 | 2000-03-14T00:45:06 |\n| 10 | - | 水星 | 2000-03-14T00:45:06 | 2002-03-14T13:03:25 |\n| 11 | - | 金星 | 2002-03-14T13:03:25 | 2004-03-14T01:21:44 |\n| 12 | - | 太阳 | 2004-03-14T01:21:44 | 2006-03-14T13:40:03 |\n| 13 | - | 火星 | 2006-03-14T13:40:03 | 2008-03-14T01:58:22 |\n| 14 | - | 木星 | 2008-03-14T01:58:22 | 2010-03-14T14:16:41 |\n| 15 | - | 土星 | 2010-03-14T14:16:41 | 2012-03-14T02:35:00 |\n| 16 | - | 南交点 | 2012-03-14T02:35:00 | 2014-03-14T14:53:19 |\n| 17 | - | 水星 | 2014-03-14T14:53:19 | 2016-04-28T18:57:46 |\n| 18 | - | 金星 | 2016-04-28T18:57:46 | 2018-06-13T23:02:14 |\n| 19 | - | 太阳 | 2018-06-13T23:02:14 | 2020-07-29T03:06:42 |\n| 20 | - | 火星 | 2020-07-29T03:06:42 | 2022-09-13T07:11:10 |\n| 21 | - | 木星 | 2022-09-13T07:11:10 | 2024-10-28T11:15:37 |\n| 22 | - | 土星 | 2024-10-28T11:15:37 | 2026-12-13T15:20:05 |\n| 23 | - | 南交点 | 2026-12-13T15:20:05 | 2029-01-27T19:24:33 |\n| 24 | - | 月亮 | 2029-01-27T19:24:33 | 2031-03-14T23:29:01 |\n| 25 | - | 金星 | 2031-03-14T23:29:01 | 2033-06-13T19:19:37 |\n| 26 | - | 太阳 | 2033-06-13T19:19:37 | 2035-09-13T15:10:13 |\n| 27 | - | 火星 | 2035-09-13T15:10:13 | 2037-12-13T11:00:50 |\n| 28 | - | 木星 | 2037-12-13T11:00:50 | 2040-03-14T06:51:26 |\n| 29 | - | 土星 | 2040-03-14T06:51:26 | 2042-06-14T02:42:02 |\n| 30 | - | 南交点 | 2042-06-14T02:42:02 | 2044-09-12T22:32:39 |\n| 31 | - | 月亮 | 2044-09-12T22:32:39 | 2046-12-13T18:23:15 |\n| 32 | - | 水星 | 2046-12-13T18:23:15 | 2049-03-14T14:13:52 |\n| 33 | - | 太阳 | 2049-03-14T14:13:52 | 2050-07-29T19:41:27 |\n| 34 | - | 火星 | 2050-07-29T19:41:27 | 2051-12-14T01:09:03 |\n| 35 | - | 木星 | 2051-12-14T01:09:03 | 2053-04-29T06:36:38 |\n| 36 | - | 土星 | 2053-04-29T06:36:38 | 2054-09-13T12:04:14 |\n| 37 | - | 南交点 | 2054-09-13T12:04:14 | 2056-01-28T17:31:50 |\n| 38 | - | 月亮 | 2056-01-28T17:31:50 | 2057-06-13T22:59:25 |\n| 39 | - | 水星 | 2057-06-13T22:59:25 | 2058-10-29T04:27:01 |\n| 40 | - | 金星 | 2058-10-29T04:27:01 | 2060-03-14T09:54:37 |\n| 41 | - | 火星 | 2060-03-14T09:54:37 | 2061-09-13T07:08:21 |\n| 42 | - | 木星 | 2061-09-13T07:08:21 | 2063-03-15T04:22:05 |\n| 43 | - | 土星 | 2063-03-15T04:22:05 | 2064-09-13T01:35:49 |\n| 44 | - | 南交点 | 2064-09-13T01:35:49 | 2066-03-14T22:49:34 |\n| 45 | - | 月亮 | 2066-03-14T22:49:34 | 2067-09-13T20:03:18 |\n| 46 | - | 水星 | 2067-09-13T20:03:18 | 2069-03-14T17:17:02 |\n| 47 | - | 金星 | 2069-03-14T17:17:02 | 2070-09-13T14:30:46 |\n| 48 | - | 太阳 | 2070-09-13T14:30:46 | 2072-03-14T11:44:31 |\n| 49 | - | 木星 | 2072-03-14T11:44:31 | 2073-10-29T00:44:23 |\n| 50 | - | 土星 | 2073-10-29T00:44:23 | 2075-06-14T13:44:16 |\n| 51 | - | 南交点 | 2075-06-14T13:44:16 | 2077-01-28T02:44:09 |\n| 52 | - | 月亮 | 2077-01-28T02:44:09 | 2078-09-13T15:44:02 |\n| 53 | - | 水星 | 2078-09-13T15:44:02 | 2080-04-29T04:43:55 |\n| 54 | - | 金星 | 2080-04-29T04:43:55 | 2081-12-13T17:43:48 |\n| 55 | - | 太阳 | 2081-12-13T17:43:48 | 2083-07-30T06:43:41 |\n| 56 | - | 火星 | 2083-07-30T06:43:41 | 2085-03-14T19:43:34 |\n| 57 | - | 土星 | 2085-03-14T19:43:34 | 2086-12-14T00:29:35 |\n| 58 | - | 南交点 | 2086-12-14T00:29:35 | 2088-09-13T05:15:37 |\n| 59 | - | 月亮 | 2088-09-13T05:15:37 | 2090-06-14T10:01:38 |\n| 60 | - | 水星 | 2090-06-14T10:01:38 | 2092-03-14T14:47:40 |\n| 61 | - | 金星 | 2092-03-14T14:47:40 | 2093-12-13T19:33:42 |\n| 62 | - | 太阳 | 2093-12-13T19:33:42 | 2095-09-14T00:19:43 |\n| 63 | - | 火星 | 2095-09-14T00:19:43 | 2097-06-14T05:05:45 |\n| 64 | - | 木星 | 2097-06-14T05:05:45 | 2099-03-15T09:51:47 |\n\n## 土星 与 KP 支持页\n\n### Sade Sati / Dhayya / Kantaka 土星\n\n- 月亮 sign:射手座\n- 当前阶段:none\n- 是否 active:False\n- 摘要:Sade Sati阶段框架:上升期=天蝎座,高峰期=射手座(最困难),下降期=摩羯座;需结合土星实际位置判断是否在进行中\n\n| Phase | Sign |\n|-------|------|\n| rising | 天蝎座 |\n| peak | 射手座 |\n| setting | 摩羯座 |\n\n### KP Chart / Cusps\n\n- House basis:explicit_cusps\n\n| House | Sign | Cusp longitude | KP lord chain |\n|-------|------|----------------|---------------|\n| 1 | 金牛座 | 38.9520 | RL=金星;NL=太阳;SL=金星;SSL=木星 |\n| 2 | 双子座 | 64.0900 | RL=水星;NL=火星;SL=金星;SSL=木星 |\n| 3 | 双子座 | 86.8992 | RL=水星;NL=木星;SL=金星;SSL=金星 |\n| 4 | 巨蟹座 | 111.5368 | RL=月亮;NL=水星;SL=金星;SSL=南交点 |\n| 5 | 狮子座 | 141.6932 | RL=太阳;NL=金星;SL=木星;SSL=北交点 |\n| 6 | 处女座 | 179.2564 | RL=水星;NL=火星;SL=土星;SSL=月亮 |\n| 7 | 天蝎座 | 218.9520 | RL=火星;NL=土星;SL=金星;SSL=北交点 |\n| 8 | 射手座 | 244.0900 | RL=木星;NL=南交点;SL=月亮;SSL=木星 |\n| 9 | 射手座 | 266.8992 | RL=木星;NL=太阳;SL=太阳;SSL=木星 |\n| 10 | 摩羯座 | 291.5368 | RL=土星;NL=月亮;SL=金星;SSL=北交点 |\n| 11 | 水瓶座 | 321.6932 | RL=土星;NL=木星;SL=木星;SSL=北交点 |\n| 12 | 双鱼座 | 359.2564 | RL=木星;NL=水星;SL=土星;SSL=月亮 |\n\n### KP Significators / Planet Lords\n\n| Planet | KP lord chain | A | B | C | D |\n|--------|---------------|---|---|---|---|\n| 太阳 | RL=木星;NL=水星;SL=月亮;SSL=南交点 | 12 | 12 | 2;3;6 | 5 |\n| 月亮 | RL=木星;NL=金星;SL=木星;SSL=土星 | 1 | 9 | 1 | 4 |\n| 火星 | RL=水星;NL=北交点;SL=北交点;SSL=月亮 | 9 | 2 | - | 7 |\n| 水星 | RL=火星;NL=南交点;SL=火星;SSL=土星 | 3 | 12 | - | 2;3;6 |\n| 木星 | RL=月亮;NL=土星;SL=金星;SSL=水星 | 10 | 4 | 10;11 | 8;9;12 |\n| 金星 | RL=火星;NL=太阳;SL=北交点;SSL=北交点 | 12 | 1 | 5 | 1 |\n| 土星 | RL=土星;NL=月亮;SL=北交点;SSL=北交点 | 9 | 10 | 4 | 10;11 |\n| 北交点 | RL=土星;NL=太阳;SL=北交点;SSL=南交点 | 12 | 9 | 5 | - |\n| 南交点 | RL=月亮;NL=木星;SL=月亮;SSL=金星 | 4 | 3 | 8;9;12 | - |\n\n### Natal / KP Ruling Planets\n\n| Field | Planet |\n|-------|--------|\n| day_lord | 太阳 |\n| moon_sign_lord | 木星 |\n| moon_star_lord | 金星 |\n| moon_sub_lord | 木星 |\n| ascendant_sign_lord | 金星 |\n| ascendant_star_lord | 太阳 |\n| ascendant_sub_lord | 金星 |\n\n## 年度图盘与 Tajika\n\n### Varshaphala 基础资料与年度行星表\n\n- Varshapravesha:2026-04-07 00:48:04\n- 年返上升:金牛座\n\n#### Varshesha / Year Lord\n\n| Field | Value |\n|-------|-------|\n| Varshesha | 火星 |\n| Selection basis | Muntha 所在星座的守护星(当前本地口径) |\n| Annual ascendant sign | 金牛座 |\n| Muntha sign | 白羊座 |\n\n### 2027 年度 Varshaphala / Tajika 细项\n\n| 项目 | 数值 |\n|------|------|\n| Varshapravesha | 2027-04-07 06:45:54 |\n| 年返上升 | 巨蟹座 |\n| Varshesha | 金星 |\n| Muntha sign | 金牛座 |\n\n### 2028 年度 Varshaphala / Tajika 细项\n\n| 项目 | 数值 |\n|------|------|\n| Varshapravesha | 2028-04-06 12:55:08 |\n| 年返上升 | 天秤座 |\n| Varshesha | 水星 |\n| Muntha sign | 双子座 |\n\n## Bhavesh、Dosha 与瑜伽 解释页\n\n### 宫主(Bhavesh)落宫解释\n\n| House | Sign | Lord | Lord placement | Lord dignity | 大运 activation |\n|-------|------|------|----------------|--------------|------------------|\n| 1 | 金牛座 | 金星 | 白羊座 H12 29.23° | 入友 | background |\n| 2 | 双子座 | 水星 | 白羊座 H12 4.99° | 入友 | background |\n| 3 | 巨蟹座 | 月亮 | 射手座 H8 20.50° | 入敌 | background |\n| 4 | 狮子座 | 太阳 | 双鱼座 H11 22.99° | 中性 | background |\n| 5 | 处女座 | 水星 | 白羊座 H12 4.99° | 入友 | background |\n| 6 | 天秤座 | 金星 | 白羊座 H12 29.23° | 入友 | background |\n| 7 | 天蝎座 | 火星 | 双子座 H2 8.40° | 中性 | background |\n| 8 | 射手座 | 木星 | 巨蟹座 H3 9.90° | 入旺 | active |\n| 9 | 摩羯座 | 土星 | 摩羯座 H9 11.82° | 入庙 | background |\n| 10 | 水瓶座 | 土星 | 摩羯座 H9 11.82° | 入庙 | background |\n| 11 | 双鱼座 | 木星 | 巨蟹座 H3 9.90° | 入旺 | active |\n| 12 | 白羊座 | 火星 | 双子座 H2 8.40° | 中性 | background |\n\n### Mangala / Sade Sati / Dosha Results\n\n| Topic | Detected / phase | Key facts | Summary |\n|-------|------------------|-----------|---------|\n| Mangal / Kuja Dosha | True | mars_house=2;mars_sign=双子座;severity=中等 | 有火星婚姻煞——火星在2宫双子座,严重程度:中等 |\n| 时蛇煞 | True | rahu_house=9;ketu_house=3;type=局部 | 部分时蛇煞——5/7颗行星在轴线之间 |\n| Pitra Dosha | False | sun_house=11;sun_sign=双鱼座 | 无Pitra Dosha明显迹象 |\n| Sade Sati | False | moon_sign=射手座 | Sade Sati阶段框架:上升期=天蝎座,高峰期=射手座(最困难),下降期=摩羯座;需结合土星实际位置判断是否在进行中 |\n\n### 可用瑜伽总表\n\n- 检出的瑜伽数量:39\n- 参考层:d60;d9;panchanga\n\n#### 可用吉性瑜伽\n\n| 瑜伽 | 类别 | 强度 | 组合条件 | 作用说明 |\n|------|------|------|----------|----------|\n| 太阳后瑜伽 | 太阳类 | 中 | 行星在太阳第2宫 | 财富充裕;生活舒适;性情愉快 |\n| 月前瑜伽 | 月亮类 | 中 | 行星在月亮第2宫 | 自力更生;财富充裕;受人尊敬 |\n| 喜悦逆行格局 | 王权/事业 | 强 | 第6宫主星落入凶宫 | 因祸得福;逆境崛起;困境中成长 |\n| 王者格局(互视) | 王权/事业 | 中 | 自定义条件满足 | 权力地位;影响力 |\n| 王者格局(三方宫主星入旺) | 王权/事业 | 强 | 自定义条件满足 | 智慧卓越;命运眷顾;精神成就 |\n| 半天空格局 | 天象格局 | 中 | 自定义条件满足 | 平衡人生;中等成就 |\n| 子女格局(木星有力) | 子女/创造 | 强 | 自定义条件满足 | 子女运佳;子女智慧 |\n| 福运格局 | 吉性 | 强 | 自定义条件满足 | 命运眷顾;好运连连 |\n| 王者格局(2宫主+7宫主) | 王权/事业 | 强 | 自定义条件满足 | 财富与婚姻结合;配偶带来财富 |\n| 财富瑜伽(5/9宫主入财富宫) | 财富 | 强 | 5宫主太阳在第11宫 | 通过才华/运气致富;祖先财富 |\n| 事业瑜伽(10/11宫主合相) | karma | 强 | 土星与土星同在第9宫 | 事业成功;人脉资源强;收入与社会地位同步提升 |\n| 愿望瑜伽(11宫主强) | 愿望/收益 | 中 | 土星Saturnstrong在摩羯座 | 愿望实现;社交网络强大 |\n| 解脱瑜伽(12宫主强) | 解脱/内在 | 中 | 木星Jupiterstrong在巨蟹座 | 灵性解脱倾向;隐居/出世 |\n| 解脱瑜伽(4/8/12宫主合相) | 解脱/内在 | 强 | 南交点南交点/计都与木星同在第3宫 | 终极解脱;灵性智慧 |\n| 贵人瑜伽(9宫主入旺) | 贵人/助力 | 强 | 木星Jupiterexalted在巨蟹座 | 强大贵人运;祖先庇佑 |\n| 日后行星瑜伽(精确) | 太阳类 | 中 | 水星、金星在太阳的第2宫 | 太阳后方有行星支持;表达力与行动力增强;自我驱动力较强 |\n| 月后行星瑜伽(精确) | 月亮类 | 中 | 行星在月亮的第2宫 | 自力更生;资源积累能力;心智有后续支撑 |\n| 疾病缠身瑜伽 | 健康 | 弱 | 上升主在上升合凶宫主,或弱上升主合角/三方主 | 疾病;健康需注意;体质较弱 |\n| 常行瑜伽 | 迁移/出行 | 弱 | 上升主或月亮在变动星座 | 经常旅行;漂泊;不安于室 |\n| 真诚瑜伽 | 吉性 | 中 | 第4宫有天然吉星/强星/吉性星座,或上升主入4宫且受吉星影响 | 心地善良;真诚待人;家庭和谐 |\n| 婆罗底瑜伽 | 王权/事业 | rare | Lord of sign occupied in navamsa by 2nd/5th/11th lord, exalted and joins the 9th lord | Learned, eloquent, wealthy from knowledge |\n| 大绳瑜伽 | 天象格局 | 偶见 | 7 visible planets occupy exactly 6 distinct signs | Leader, wealthy, charitable |\n\n#### 可用混合型瑜伽\n\n| 瑜伽 | 类别 | 强度 | 组合条件 | 作用说明 |\n|------|------|------|----------|----------|\n| 水金合相格局 | 合相 | 强 | 水星与金星同在第12宫 | 艺术才华;商业头脑;审美卓越 |\n| 土罗合相格局 | 合相 | 中 | 土星与罗睺同在第9宫 | 纪律与变革;突破传统;但也可能带来阻碍 |\n| 成长格局 | 特殊组合 | 强 | 吉星在8/9/12宫 | 精神成长;灵性提升;命运眷顾 |\n| 婚姻障碍(7宫主在凶宫) | 婚恋 | 弱 | 自定义条件满足 | 婚姻挑战;配偶健康问题 |\n| 贤妻瑜伽 | 婚恋 | 中 | 7宫主或金星与木星/水星合相或互照 | 配偶品德高尚;婚姻和谐 |\n| 达摩/达姆尼瑜伽 | 特殊组合 | 待评估 | 七曜分布在六个星座 | 待补充 |\n| 房屋损失瑜伽 | 特殊组合 | 中等 | Lord of navamsa occupied by 4th lord in 12th | Loss or destruction of property/house |\n| 房屋损失瑜伽(变体) | 特殊组合 | 中等 | 自定义条件满足 | Loss or destruction of property/house |\n| 消瘦体型瑜伽 | 特殊组合 | 中等 | 上升主落在干燥星座 | 体型偏瘦,体质较敏感 |\n| 讥笑瑜伽 | 特殊组合 | 中等 | 自定义条件满足 | Ridiculed by others, mocked, subject to derision |\n| 太阳后瑜伽 | 太阳瑜伽 | 中 | 水星+金星在太阳第2宫 | 财富充裕;生活舒适;性情愉快 |\n| 月前瑜伽 | 月亮瑜伽 | 中 | 土星+北交点/罗睺在月亮第2宫 | 自力更生;财富充裕;受人尊敬 |\n\n#### 可用凶性瑜伽\n\n| 瑜伽 | 类别 | 强度 | 组合条件 | 作用说明 |\n|------|------|------|----------|----------|\n| 凶星夹击格局 | 不利组合 | 弱 | 某宫被凶星前后夹击 | 领域受限;需要额外努力;阻碍与挑战 |\n| 贫困格局(6宫主) | 不利组合 | 弱 | 自定义条件满足 | 债务问题;需要节约 |\n| 贫穷瑜伽(2宫主入6/8/12宫) | 不利组合 | 弱 | 2宫主金星在第12宫 | 财务不稳定;储蓄困难 |\n| 被亲属遗弃瑜伽 | 不利组合 | 弱 | 4宫主受凶星关联或处于弱/不利状态 | 被亲属遗弃;缺乏家庭支持;家庭关系疏远 |\n| 母亲不利瑜伽 | 不利组合 | 弱 | 月亮受凶星夹制/合相/相位,或4宫主九分盘链最终落6/8/12 | 母亲健康不佳;与母亲缘薄;母亲早逝 |\n", + "readerDashaApplicability": "\n## 辅助时间轴适用性(参数敏感)\n\n| 大运族 | 是否适用 / 原因 | 使用边界 |\n| --- | --- | --- |\n| Ashtottari | 本次不适用,不绕过原适用条件,不补写日期。 原因:月宿与月相组合未满足该大运的适用条件,不绕过判定。 | 第二时间轴,仅供交叉核对,不单独生成应期 |\n| Chaturshitisama | 本次不适用,不绕过原适用条件,不补写日期。 原因:该大运要求第十宫主星位于第十宫,本次未满足。 | 第二时间轴,仅供交叉核对,不单独生成应期 |\n| Dwadashottari | 本次不适用,不绕过原适用条件,不补写日期。 原因:该大运要求九分盘上升落在金牛座或天秤座,本次未满足。 | 第二时间轴,仅供交叉核对,不单独生成应期 |\n| Dwisaptatisama | 本次不适用,不绕过原适用条件,不补写日期。 原因:该大运要求上升主星位于第一宫或第七宫,本次未满足。 | 第二时间轴,仅供交叉核对,不单独生成应期 |\n| Kala Chakra | 本次已返回周期,可作交叉核对;这不代表已完成多引擎验证。 | 第二时间轴,仅供交叉核对,不单独生成应期 |\n| Mudda | 本次已返回周期,可作交叉核对;这不代表已完成多引擎验证。 | 第二时间轴,仅供交叉核对,不单独生成应期 |\n| Narayana | 本次已返回周期,可作交叉核对;这不代表已完成多引擎验证。 | 第二时间轴,仅供交叉核对,不单独生成应期 |\n| Panchottari | 本次不适用,不绕过原适用条件,不补写日期。 原因:该大运要求本命及十二分盘上升均为巨蟹座,本次未满足。 | 第二时间轴,仅供交叉核对,不单独生成应期 |\n| Patyayini | 本次不可用:本地计算尚未提供可用周期,不能据此判断时间。 原因:本次计算未提供帕特雅伊尼年运周期,暂不能用于时间核对。 | 第二时间轴,仅供交叉核对,不单独生成应期 |\n| Satabdika | 本次不适用,不绕过原适用条件,不补写日期。 原因:该大运要求本命及九分盘上升同星座,本次未满足。 | 第二时间轴,仅供交叉核对,不单独生成应期 |\n| Shastihayani | 本次不适用,不绕过原适用条件,不补写日期。 原因:该大运要求太阳位于上升星座,本次未满足。 | 第二时间轴,仅供交叉核对,不单独生成应期 |\n| Shattrimshatsama | 本次不适用,不绕过原适用条件,不补写日期。 原因:计算返回了限制原因,但暂无可核对的详细说明;不据此补写适用条件或日期。 | 第二时间轴,仅供交叉核对,不单独生成应期 |\n| Shodashottari | 本次已返回周期,可作交叉核对;这不代表已完成多引擎验证。 | 第二时间轴,仅供交叉核对,不单独生成应期 |\n| Tribhagi | 本次已返回周期,可作交叉核对;这不代表已完成多引擎验证。 | 第二时间轴,仅供交叉核对,不单独生成应期 |\n| Tribhagi-40 | 本次已返回周期,可作交叉核对;这不代表已完成多引擎验证。 | 第二时间轴,仅供交叉核对,不单独生成应期 |\n| Yogini | 本次已返回周期,可作交叉核对;这不代表已完成多引擎验证。 | 第二时间轴,仅供交叉核对,不单独生成应期 |\n" +} diff --git a/scripts/pl9_reader_english.py b/scripts/pl9_reader_english.py new file mode 100644 index 00000000..961ca8c6 --- /dev/null +++ b/scripts/pl9_reader_english.py @@ -0,0 +1,169 @@ +"""English edition of the user-facing PL9 reader (TASK-report-english-edition-20260929). + +The Chinese reader is ``pl9_reader_export._render_pl9_user_markdown``: it renders the +parity volume and then localises it with ordered string passes. The English +edition renders the same parity volume from the same packet with +``report_language = 'en'`` (planet and sign tokens stay English, yoga rows use the +engine's ``*_en`` twins), then: + +1. drops the same audit-only lines and page references as the Chinese reader; +2. replaces the renderer's hard-coded Chinese labels with fixed English text + (``pl9_reader_english_terms``); +3. replaces engineering vocabulary with English public wording. + +Nothing here computes. A Chinese character that survives is a missing entry, +and the caller treats the English edition as unavailable rather than shipping it. +""" + +from __future__ import annotations + +import copy +import re + +try: + from scripts.pl9_reader_english_terms import PHRASES_EN, REGEX_EN +except ModuleNotFoundError: # pragma: no cover - direct scripts/ execution + from pl9_reader_english_terms import PHRASES_EN, REGEX_EN + +HAN = re.compile(r"[㐀-鿿豈-﫿]") + + +def han_leaks(text: str) -> list[str]: + """Distinct runs of Han characters, for the self-check and for tests.""" + return sorted(set(re.findall(r"[㐀-鿿豈-﫿]+", text))) + + +def _english_packet(packet: dict) -> dict: + """Deep copy with the language flag set and yoga rows switched to their English twins.""" + english = copy.deepcopy(packet) + english['report_language'] = 'en' + advanced = ((english.get('worksheets') or {}).get('advanced_systems') or {}) + yoga = advanced.get('yoga') if isinstance(advanced, dict) else None + if isinstance(yoga, dict): + for key in ('detected_yogas', 'yogas'): + rows = yoga.get(key) + if not isinstance(rows, list): + continue + for row in rows: + if not isinstance(row, dict): + continue + if 'combination_en' in row: + row['combination'] = row['combination_en'] + if 'effects_en' in row: + row['effects'] = row['effects_en'] + if 'strength_en' in row: + row['strength'] = row['strength_en'] + row['name_cn'] = row.get('name') or row.get('name_cn') + return english + + +def _public_wording_en(text: str) -> str: + """English counterpart of the Chinese reader's engineering-vocabulary pass.""" + for raw, public in ( + ("parameter_sensitive / unverified", "to be checked"), + ("pyjhora_behavior_only / not_multiengine_parity", "reference"), + ("blocked_and_conflict_fields_cannot_generate_final_predictions", "data only"), + ("parameter_sensitive", "reference"), + ("partial_verified", "listed"), + ("pyjhora_behavior_only", "reference"), + ("restricted_or_unclosed", "to be checked"), + ("blocked_external_callable", "external replay pending"), + ("not_applicable", "not listed"), + ("missing_in_local", "not listed separately"), + ("functional_role_not_returned", "not listed separately"), + ("external_mudda_start_boundary", "reference start"), + ("dasha_beginning_dates", "start dates"), + ("dasha_ending_dates", "end dates"), + ("natural_benefic", "natural benefic"), + ("natural_malefic", "natural malefic"), + ("functional_benefic", "functional benefic"), + ("functional_malefic", "functional malefic"), + ("functional_neutral", "functional neutral"), + ("observed_relationships", "formed"), + ("observed_empty", "not formed"), + ("external_replay_pending", "pending"), + ("annual_tajika_pack", "annual structure"), + ("kp_monthly_report_packet", "monthly focus"), + ("source_path", "source"), + ("{planets}", "the planets involved"), + ("blocked", "not listed"), + ): + text = text.replace(raw, public) + text = re.sub(r"\b[a-zA-Z_]+_profile\b", "calculation setting", text) + text = re.sub(r"\b[a-zA-Z_]+_status\b", "status", text) + text = re.sub(r"\b[a-zA-Z_]+_producer\b", "calculation", text) + text = re.sub(r"\b[a-zA-Z_]+_path\b", "source", text) + text = re.sub(r"\bproducer\b", "calculation", text, flags=re.I) + text = re.sub(r"\bschema\b", "structure", text, flags=re.I) + text = re.sub(r"\bprofile\b", "setting", text) + text = re.sub(r"\bProfile\b", "Setting", text) + text = re.sub(r"\baudit\b", "check", text) + return text + + +def _translate(text: str) -> str: + for pattern, replacement in REGEX_EN: + text = pattern.sub(replacement, text) + for raw, public in PHRASES_EN: + text = text.replace(raw, public) + return text + + +def render_pl9_user_markdown_en(packet: dict) -> str: + """Render the English reader volume from the same packet the Chinese one uses.""" + try: + from scripts import pl9_reader_export as reader + except ModuleNotFoundError: # pragma: no cover - direct scripts/ execution + import pl9_reader_export as reader + + english = _english_packet(packet) + text = reader.render_pl9_parity_markdown(english) + title = reader._pl9_english_report_title(english) + text = re.sub(r"^#\s+.*$", f"# {title}", text, count=1, flags=re.MULTILINE) + text = re.sub(r"(PL9 p\d+(?:-p\d+)?[^)]*)", "", text) + text = re.sub(r"\s*\(PL9 p\d+(?:-p\d+)?[^)]*\)", "", text) + drop_fragments = ( + "本册只编排原版", + "研究性证据", + "审计", + "producer", + "PyJHora", + "source_path", + "schema", + "blocked", + "parameter_sensitive", + "native producer", + "Report Layers", + "Worksheet Index", + "Report Pack Manifest", + "发布状态", + "质量检查", + "Chart Identity", + "不自动进入公开发布", + "对标主册", + ) + lines: list[str] = [] + for raw_line in text.splitlines(): + if any(fragment in raw_line for fragment in drop_fragments): + continue + line = re.sub(r"p\d+-p\d+\s*", "", raw_line) + line = re.sub(r"p\d+\s*[·.-]\s*", "", line) + line = re.sub(r"^#+\s*p\d+\s*", lambda match: match.group(0).replace(match.group(0).split()[-1], ""), line) + line = line.replace(" · ", " ") + lines.append(line.rstrip()) + text = "\n".join(lines) + text = _translate(text) + text = text.replace("PL9 p", "p. ").replace("PL9", "classical Jyotish") + text = _public_wording_en(text) + text = re.sub(r"(?m)^(#{2,6}\s*)p\d+(?:-p\d+)?\s*[·.-]?\s*", r"\1", text) + text = re.sub(r"(?m)^(#{1,6})\s+/\s+", r"\1 ", text) + text = re.sub(r"(?m)^(#{1,6}) {2,}", r"\1 ", text) + text = re.sub(r"^#\s+.*$", f"# {title}", text, count=1, flags=re.MULTILINE) + # Full-width punctuation from the shared renderer reads badly in English. + for wide, ascii_form in ((";", "; "), (",", ", "), (":", ": "), ("、", ", "), ("(", " ("), (")", ")"), ("—", " - ")): + text = text.replace(wide, ascii_form) + text = re.sub(r"(?<=\S) {2,}(?=\S)", " ", text) + text = re.sub(r"\( ", "(", text) + text = re.sub(r"[ \t]+\n", "\n", text) + text = re.sub(r"\n{3,}", "\n\n", text).strip() + "\n" + return text diff --git a/scripts/pl9_reader_english_terms.py b/scripts/pl9_reader_english_terms.py new file mode 100644 index 00000000..7e4a04c5 --- /dev/null +++ b/scripts/pl9_reader_english_terms.py @@ -0,0 +1,244 @@ +"""Fixed English text for the Chinese labels in the PL9 reader volume. + +Two sources of Chinese reach the reader: labels hard-coded in +``pl9_reader_export.render_pl9_parity_markdown`` and short texts the engine +modules write in Chinese (dosha summaries, Jaimini karaka roles, method notes, +aspect names). Both are listed here. Templated engine texts are matched with +regular expressions; everything else is an exact phrase. + +Rules for entries: no Chinese in a value, and every number in the Chinese text +appears in the English text in the same order, so the two editions carry the +same numbers (tests/test_report_english_edition.py checks both). +""" + +from __future__ import annotations + +import re + +_PHRASES: dict[str, str] = { + # ── chapter and section headings ── + "## 出生资料与图盘": "## Birth Data and Charts", + "## 行星、星宿与宫位解释": "## Planets, Nakshatras and Houses", + "## 强度、关系与 Ashtakavarga 技术页": "## Strength, Relationships and Ashtakavarga", + "## 标准 Dasha 表格页": "## Standard Dasha Tables", + "## 原版 Dasha 日期表(同案 PL9 数据)": "## Original Dasha Date Tables (same chart)", + "## 原版 Dasha 日期表": "## Original Dasha Date Tables", + "## Saturn 与 KP 支持页": "## Saturn and KP", + "## 年度图盘与 Tajika": "## Annual Charts and Tajika", + "## Bhavesh、Dosha 与 Yoga 解释页": "## Bhavesh, Dosha and Yoga", + "## 大运解释": "## Dasha Interpretation", + "出生资料补充": "Birth Particulars (supplement)", + "Birth Chart 行星原始位置": "Birth Chart Planetary Positions", + "行星主星与状态": "Planet Lords and Dignity", + "Sudarshan Chakra 资料": "Sudarshan Chakra", + "Upagraha / Sub-Planets 点位": "Upagraha / Sub-Planet Positions", + "特殊上升与派生点补充": "Special Lagnas and Points (supplement)", + "敏感点与特殊落点": "Sensitive Points and Special Placements", + "本命与分盘北印度图盘": "Natal and Divisional Charts (North Indian)", + " 数值位置表": " Position Table", + "Shadbala / Bhava Bala 摘要": "Shadbala / Bhava Bala Summary", + "Avastha 行星状态": "Avastha Planetary States", + "Bhava Bala 十二宫力量": "Bhava Bala Strength of the Twelve Houses", + "Planetary Friendship 矩阵源数据": "Planetary Friendship Matrix", + "相位矩阵": "Aspect Matrix", + "Jaimini Karaka、Arudha Pada 与特殊 Lagna": "Jaimini Karakas, Arudha Padas and Special Lagnas", + "Ashtakavarga 完整宫位分数": "Ashtakavarga Full House Scores", + "Vimsopaka / Pushkara / Vargottama 辅助强度": "Vimsopaka / Pushkara / Vargottama Supporting Strength", + "Ashtakavarga Pinda 与 Shodhya/Yoga Pinda 数值表。": "Ashtakavarga Pinda and Shodhya / Yoga Pinda values.", + "Ashtakavarga Shodhya / Yoga Pinda 原始值": "Ashtakavarga Shodhya / Yoga Pinda Raw Values", + "Chakra 图阵页": "Chakra Diagrams", + "以下表格保留同一命盘原版报告中的完整可见日期和星座边界,便于逐项读取与校对。": + "The tables below keep every visible date and sign boundary from the original report for this chart, for line-by-line reading and checking.", + "KP 原版细格": "KP Original Detail Grid", + "Varshaphala 基础资料与年度行星表": "Varshaphala Basics and Annual Planet Table", + "Varshaphala 年度结果解释": "Varshaphala Annual Results", + "Annual Dasha 结果解释": "Annual Dasha Results", + "Mudda / Patyayini 年度 Dasha 表": "Mudda / Patyayini Annual Dasha Table", + "Patyayini / Patyamsha ending-date 表": "Patyayini / Patyamsha Ending-Date Table", + "Tajika Yoga Presence 对照表": "Tajika Yoga Presence Comparison", + "Tajika Yoga Presence 表": "Tajika Yoga Presence Table", + "Sahams 点位表": "Saham Positions", + "公开 Panchavargiya 数值复核边界": "Public Panchavargiya Value Check", + "年度特殊点": "Annual Special Points", + "Tripataki Chakra 年盘落点": "Tripataki Chakra Annual Placements", + "年度月返照图盘数据": "Monthly Returns within the Year", + "生命周期年度返照图盘数据": "Lifetime Annual Return Charts", + "出生地八年年度总览": "Eight-Year Overview (birthplace)", + "现居地八年年度总览": "Eight-Year Overview (current residence)", + "年度北印度图盘": "Annual Charts (North Indian)", + " 年度 Varshaphala / Tajika 细项": " Annual Varshaphala / Tajika Details", + "年度行星资料": "Annual Planet Data", + "Annual Dasha 阶段表": "Annual Dasha Periods", + "年度行星扩展字段": "Annual Planet Extras", + "年度锚点": "Annual Anchors", + "年度行星资料": "Annual Planet Data", + "年度结果": "Annual Results", + "宫主(Bhavesh)落宫解释": "House Lords (Bhavesh) by Placement", + "Bhavesh 宫主逐宫解释": "Bhavesh House by House", + "Dosha 逐项事实与解释": "Dosha Facts and Notes", + "传统辅助建议": "Traditional Supportive Practices", + # ── table headers ── + "| 行星 | 星座主 | 星宿主 | 分主 | 分分主 | 尊贵状态 | 力量比 |": + "| Planet | Sign lord | Star lord | Sub lord | Sub-sub lord | Dignity | Strength ratio |", + "星座主、星宿主、分主、分分主:这颗行星所在星座、星宿与 KP 细分各自的主星。力量比:六维力量与所需力量之比,1 以上为达标。": + "Sign lord, star lord, sub lord and sub-sub lord: the rulers of the planet's sign, nakshatra and KP subdivisions. Strength ratio: Shadbala against the required strength; 1 or above meets it.", + "| 对象 | 落座 | 落座度数 | 黄经 | 整宫宫位 |": "| Body | Sign | Degree in sign | Longitude | Whole-sign house |", + "| House | Sign | Lord | Score | 关键因素 |": "| House | Sign | Lord | Score | Key factors |", + "| House | Sign | SAV | BAV/承接 | Full with Lagna |": "| House | Sign | SAV | BAV / carry | Full with Lagna |", + "| 序号 | 主运 | 起始 | 结束 | 年数 |": "| No. | Mahadasha | Start | End | Years |", + "| Vimshottari AD | 主运 | 子运 | 起始 | 结束 |": "| Vimshottari AD | Mahadasha | Antardasha | Start | End |", + "| Vimshottari PD | 主运 | 子运 | 次子运 | 起始 | 结束 |": "| Vimshottari PD | Mahadasha | Antardasha | Pratyantardasha | Start | End |", + "| 序号 | 主星/星座 | 起始 | 结束 | 年数 |": "| No. | Lord / sign | Start | End | Years |", + "| AD/child | 主层 | 子层 | 起始 | 结束 |": "| AD/child | Main period | Sub-period | Start | End |", + "| 主运 | 起始年龄 | 子段 | 起始 | 结束 |": "| Mahadasha | Starting age | Sub-period | Start | End |", + "| 项目 | 锚点 | 年度主题 |": "| Item | Anchor | Theme of the year |", + "| 阶段 | 主星 | 年盘宫位 | 日期边界 | 主题 |": "| Period | Lord | Annual house | Date range | Theme |", + "| balance profile | 主星 | 开始 | 结束 | 边界口径 |": "| Balance | Lord | Start | End | Boundary basis |", + "| 主层 | 子层 | 边界 | 边界语义 |": "| Main period | Sub-period | Boundary | Boundary meaning |", + "| Yoga | 结果 | 形成行星 | 相位运动(入相/分离) |": "| Yoga | Result | Forming planets | Motion (applying / separating) |", + "| Saham | 星座 | 星座内度数 |": "| Saham | Sign | Degree in sign |", + "| 项目 | 结果 |": "| Item | Result |", + "| 月份 | 本地时刻 | 年盘上升 | 上升度数 | 行星黄经(度) |": "| Month | Local time | Annual ascendant | Ascendant degree | Planet longitudes (deg) |", + "| 年龄 | 年份 | 年返时刻 | 上升 | 上升度数 | 行星黄经(度) |": "| Age | Year | Return time | Ascendant | Ascendant degree | Planet longitudes (deg) |", + "| 年份 | 年龄 | 年返时刻 | 年盘上升 |": "| Year | Age | Return time | Annual ascendant |", + "| 项目 | 数值 |": "| Item | Value |", + "| 行星 | 星座 | 落座度数 | 黄经 |": "| Planet | Sign | Degree in sign | Longitude |", + "| 点位 | 星座 | 落座度数 | 黄经 | 守护星 |": "| Point | Sign | Degree in sign | Longitude | Ruler |", + "| 月份 | 本地时刻 | 年盘上升 | 上升度数 |": "| Month | Local time | Annual ascendant | Ascendant degree |", + "| 对象 | 建议 | 宝石/次数 |": "| For | Suggestion | Gem / count |", + "| 公开复核状态 |": "| Public check status |", + "| 覆盖行星 |": "| Planets covered |", + "| 已匹配分量 |": "| Components matched |", + "| 已匹配总分 |": "| Totals matched |", + "| 可直接用于公式升级 |": "| Usable for formula upgrade |", + "| 年返上升 |": "| Annual ascendant |", + # ── labelled lines ── + "- 姓名:": "- Name: ", + "- 出生:": "- Born: ", + "- 计算口径:": "- Calculation settings: ", + "- Shadbala 方法:": "- Shadbala method: ", + "- 外部边界:": "- Method note: ", + "- 方法:": "- Method: ", + "- BAV 校验:": "- BAV check: ", + "- 当前阶段:": "- Current phase: ", + "- 是否 active:": "- Active: ", + "- 摘要:": "- Summary: ", + "- 年返上升:": "- Annual ascendant: ", + # ── birth-parameter row labels ── + "| 出生日期 |": "| Birth date |", + "| 出生时间 |": "| Birth time |", + "| 出生星期 |": "| Weekday |", + "| 出生地点 |": "| Birthplace |", + "| 城市 |": "| City |", + "| 省州 |": "| State / province |", + "| 国家 |": "| Country |", + "| 纬度 |": "| Latitude |", + "| 经度 |": "| Longitude |", + "| 时区 |": "| Time zone |", + "| 岁差名称 |": "| Ayanamsa name |", + "| 岁差值 |": "| Ayanamsa value |", + "| 岁差 |": "| Ayanamsa |", + "| 交点模式 |": "| Node mode |", + "| 宫位系统 |": "| House system |", + "| 综合性质 |": "| Overall quality |", + "| 吉性要素数量 |": "| Auspicious elements |", + "| 要素总数 |": "| Total elements |", + # ── annual labels and values ── + "Muntha 所在星座的守护星(当前本地口径)": "Ruler of the Muntha sign (current local method)", + "两种计算口径给出的年主不同,暂不合并": "The two methods give different year lords; not merged", + "(两者不同)": " (they differ)", + "太阳返照": "Solar return", + "另一口径": "Other method", + "入相": "applying", + "分离": "separating", + # ── public status words (renderer helpers) ── + "由生命周期图盘页承接": "carried by the lifetime chart pages", + "外部回放待校对": "external replay pending", + "外部行为参考": "reference rule", + "参数敏感": "parameter-sensitive", + "需补资料": "needs more data", + "已生成": "generated", + "已核验": "verified", + "需校对": "to be checked", + "不适用": "not applicable", + "已形成": "formed", + "未形成": "not formed", + "待补充": "pending", + "证据口径": "Evidence basis", + "证据标签": "Evidence basis", + "源数据未提供宝石或次数": "No gem or repetition count supplied", + "一致": "match", + "参考": "reference", + "未列": "not listed", + # ── engine texts (fixed) ── + "Shadbala六重力量(absolute Virupas; precise Sthana/Dig/Kala/Drik; bounded BPHS Chesta)": + "Shadbala six-fold strength, in Virupas, combining Sthana, Dig, Kala, Drik and BPHS Chesta", + "Chesta remains cross-engine method-conflicted; totals inherit that boundary.": + "Chesta Bala depends on the calculation method, so compare totals within the same method.", + "Shadbala六重力量": "Shadbala six-fold strength", + "Ashtakavarga八分法(BPHS/PVR书例校准v2.1)": "Ashtakavarga eight-fold method (calibrated to BPHS / PVR book examples, v2.1)", + "吉(Subha)": "Auspicious (Subha)", + "中(Mixed)": "Mixed", + "凶(Asubha)": "Inauspicious (Asubha)", + "无Kaal Sarp Dosha": "No Kaal Sarp Dosha", + "无Mangal Dosha(Mars不在煞宫)": "No Mangal Dosha (Mars is not in a dosha house)", + "无Pitra Dosha明显迹象": "No clear sign of Pitra Dosha", + "Rahu位置未知,无法判断Kaal Sarp Dosha": "Rahu's position is unknown; Kaal Sarp Dosha cannot be judged", + "Sun位置未知,无法判断Pitra Dosha": "The Sun's position is unknown; Pitra Dosha cannot be judged", + "Moon星座未知,无法判断Sade Sati": "The Moon's sign is unknown; Sade Sati cannot be judged", + "Mars在自身星座,部分缓和": "Mars in its own sign, partly mitigated", + "Mars擢升,完全解除": "Mars exalted, fully cancelled", + # Jaimini karakas (scripts/jaimini.py KARAKA_CN / KARAKA_DOMAINS) + "灵魂星AK": "Atmakaraka AK", + "事业星AmK": "Amatyakaraka AmK", + "兄弟星BK": "Bhratrikaraka BK", + "母亲星MK": "Matrikaraka MK", + "子女星PK": "Putrakaraka PK", + "障碍星GK": "Gnatikaraka GK", + "配偶星DK": "Darakaraka DK", + "父亲星PiK": "Pitrukaraka PiK", + "灵魂使命、核心自我、人生最高目标": "Soul purpose, core self, highest aim in life", + "事业方向、主要谋士、权力代理": "Career direction, chief adviser, agent of power", + "兄弟姐妹、勇气、冒险精神": "Siblings, courage, spirit of adventure", + "母亲、家庭根基、情感安全感": "Mother, family roots, emotional security", + "子女、创造力、学生、智能成果": "Children, creativity, students, intellectual output", + "竞争对手、疾病、障碍、转化力量": "Rivals, illness, obstacles, transforming force", + "配偶特质、伴侣关系、婚姻质量": "Spouse's nature, partnership, quality of marriage", + "父亲、祖先业力、传统传承": "Father, ancestral karma, tradition", + # planets and signs, if any Chinese form slipped through a table cell + "北交点/罗睺": "Rahu", + "南交点/计都": "Ketu", + "北交点": "Rahu", + "南交点": "Ketu", +} + +PHRASES_EN: list[tuple[str, str]] = sorted(_PHRASES.items(), key=lambda item: len(item[0]), reverse=True) + +# Templated engine texts. Applied before the phrase table. +REGEX_EN: list[tuple[re.Pattern[str], str]] = [ + # scripts/pl9_reader_export.py: f"第{house}宫主:{lord}" + (re.compile(r"第(\d+)宫主:"), r"Lord of house \1: "), + # scripts/aspects.py / jyotish_engine.py: f"{n}宫相位" + (re.compile(r"(\d+)宫相位"), r"\1th-house aspect"), + # scripts/yogas_doshas.py Mangal Dosha summary + (re.compile(r"(无|有)Mangal Dosha——Mars在(\d+)宫([A-Za-z]+),严重程度:([A-Za-z_]+)"), + lambda m: f"{'No' if m.group(1) == '无' else 'Has'} Mangal Dosha: Mars in house {m.group(2)} {m.group(3)}, severity: {m.group(4)}"), + # Kaal Sarp summaries + (re.compile(r"完全Kaal Sarp Dosha——所有(\d+)颗行星在Rahu\((\d+)\)—Ketu轴线之间"), + r"Full Kaal Sarp Dosha: all \1 planets between the Rahu (\2)–Ketu axis"), + (re.compile(r"部分Kaal Sarp Dosha——(\d+)/(\d+)颗行星在轴线之间"), + r"Partial Kaal Sarp Dosha: \1/\2 planets between the axis"), + # Pitra Dosha indicators + (re.compile(r"([A-Za-z]+)\((\d+)宫\)克Sun\((\d+)宫\)"), r"\1 (house \2) afflicts the Sun (house \3)"), + (re.compile(r"Sun\((\d+)宫\)与Rahu\((\d+)宫\)合相/相邻"), r"Sun (house \1) conjunct or next to Rahu (house \2)"), + (re.compile(r"有Pitra Dosha迹象:"), "Signs of Pitra Dosha: "), + # Sade Sati framework summary + (re.compile(r"Sade Sati阶段框架:上升期=([A-Za-z]+),高峰期=([A-Za-z]+)(最困难),下降期=([A-Za-z]+);需结合Saturn实际位置判断是否在进行中"), + r"Sade Sati phases: rising = \1, peak = \2 (hardest), setting = \3; whether it is under way depends on Saturn's actual position"), + # Yoga strength words left over when a rule has no strength_en: whole table cells only. + (re.compile(r"(?<=\| )中强(?= \|)"), "Moderately strong"), + (re.compile(r"(?<=\| )中弱(?= \|)"), "Moderately weak"), + (re.compile(r"(?<=\| )强(?= \|)"), "Strong"), + (re.compile(r"(?<=\| )中(?= \|)"), "Moderate"), + (re.compile(r"(?<=\| )弱(?= \|)"), "Weak"), +] diff --git a/scripts/pl9_reader_export.py b/scripts/pl9_reader_export.py index 869b36ff..c24641a4 100644 --- a/scripts/pl9_reader_export.py +++ b/scripts/pl9_reader_export.py @@ -57,6 +57,12 @@ def _pl9_export_markdown_for_edition(packet: dict, edition: str) -> str: _bind_engine_symbols() normalized = str(edition or "").strip() if normalized == "reader_main": + if _pl9_report_language(packet) == 'en': + try: + from scripts.pl9_reader_english import render_pl9_user_markdown_en + except ModuleNotFoundError: # pragma: no cover - direct scripts/ execution + from pl9_reader_english import render_pl9_user_markdown_en + return render_pl9_user_markdown_en(packet) return _render_pl9_user_markdown(packet) if normalized in {"pl9_parity", "pl9_fixed_204"}: return render_pl9_parity_markdown(packet) @@ -83,15 +89,18 @@ def _pl9_english_report_title(packet: dict) -> str: return f"{name}'s Vedic Astrology Chart Report" if name else "Vedic Astrology Chart Report" -def _dignity_label(value) -> str: +def _dignity_label(value, language: str = 'zh') -> str: """Engine dignity labels are bilingual (``入旺(Exalted)``); the reader shows one name. The glossary pass would otherwise translate the English half too and print - ``入旺(入旺)``. Anything not in that shape passes through unchanged. + ``入旺(入旺)``. Anything not in that shape passes through unchanged. The + English edition takes the English half. """ text = str(value or '').strip() - match = re.fullmatch(r'([^()()]+?)\s*[((][A-Za-z][A-Za-z \-]*[))]', text) - return match.group(1).strip() if match else text + match = re.fullmatch(r'([^()()]+?)\s*[((]([A-Za-z][A-Za-z \-]*)[))]', text) + if not match: + return text + return match.group(2).strip() if language == 'en' else match.group(1).strip() def _pl9_report_language(packet: dict) -> str: @@ -459,6 +468,7 @@ def _render_pl9_user_markdown(packet: dict) -> str: def render_pl9_parity_markdown(packet: dict) -> str: """Render only PL9 page-family material admitted to the parity main volume.""" _bind_engine_symbols() + _lang = _pl9_report_language(packet) def _unwrap(raw_value): if isinstance(raw_value, dict) and 'result' in raw_value and 'response_envelope' in raw_value: return raw_value.get('result') @@ -538,6 +548,9 @@ def render_pl9_parity_markdown(packet: dict) -> str: } sign_map = globals().get('SIGNS_CN', {}) raw = str(value or '').strip() + if _lang == 'en': + return raw or '-' + return label_map.get(raw) or sign_map.get(raw) or raw or '-' def _annual_field_text(field, *keys) -> str: @@ -804,7 +817,7 @@ def render_pl9_parity_markdown(packet: dict) -> str: lines.append( f"| {_cell(_token(planet))} | {_cell(_token(row.get('rasi_lord')))} | " f"{_cell(_token(row.get('nakshatra_lord')))} | {_cell(_token(row.get('sub_lord')))} | " - f"{_cell(_token(row.get('sub_sub_lord')))} | {_cell(_dignity_label(row.get('status')))} | {_cell(_num(row.get('sb'), 2))} |" + f"{_cell(_token(row.get('sub_sub_lord')))} | {_cell(_dignity_label(row.get('status'), _lang))} | {_cell(_num(row.get('sb'), 2))} |" ) lines.extend([ '', @@ -2367,7 +2380,7 @@ def render_pl9_parity_markdown(packet: dict) -> str: placement = f"{_token(lord_row.get('sign'))} H{lord_row.get('house') or '-'} {_degree(lord_row.get('degree_in_sign'))}" lines.append( f"| {index} | {_cell(_token(house.get('cusp_sign') or house.get('sign')))} | {_cell(_token(lord))} | " - f"{_cell(placement)} | {_cell(_dignity_label(lord_row.get('status') or lord_row.get('dignity')))} | {_cell('active' if str(lord) in active_lords else 'background')} |" + f"{_cell(placement)} | {_cell(_dignity_label(lord_row.get('status') or lord_row.get('dignity'), _lang))} | {_cell('active' if str(lord) in active_lords else 'background')} |" ) lines.append('') bhavesh_pages = _list(bhavesh_pack.get('pages')) @@ -2556,4 +2569,7 @@ def render_pl9_parity_markdown(packet: dict) -> str: continue seen_blocks.add(value) lines.extend([_public_report_text(value), '']) + if _lang == 'en': + # The English edition does its own public-wording pass (pl9_reader_english). + return '\n'.join(lines) return _sanitize_pl9_public_markdown('\n'.join(lines)) diff --git a/scripts/professional_report_reference.py b/scripts/professional_report_reference.py index 046d81d9..d69fc5ff 100644 --- a/scripts/professional_report_reference.py +++ b/scripts/professional_report_reference.py @@ -7,6 +7,7 @@ calculation, and delegates packet assembly/rendering to ``jyotish_engine``. from __future__ import annotations +import copy from datetime import datetime from importlib import import_module from types import SimpleNamespace @@ -77,6 +78,54 @@ def _normalize_packs(value: Any) -> list[str]: return selected +def _normalize_languages(value: Any) -> list[str]: + """``languages`` is optional; only ``zh`` and ``en`` exist. Absent means today's zh-only reply.""" + if value is None: + return [] + if not isinstance(value, list) or any(not isinstance(item, str) for item in value): + raise ProfessionalReportReferenceInputError("languages must be an array of strings") + selected = [] + for item in value: + language = item.strip().lower() + if language not in {"zh", "en"}: + raise ProfessionalReportReferenceInputError("languages may contain only zh and en") + if language not in selected: + selected.append(language) + return selected + + +def _english_edition(packet: dict, include_fact_tables: bool) -> dict[str, Any]: + """Render the English reader from a deep copy of the same packet. + + The English edition is secondary: any failure, or any Chinese character left + in it, drops it and reports why. The Chinese edition is never touched. + """ + try: + from scripts.pl9_reader_english import HAN, _public_wording_en + from scripts.pl9_reader_export import _pl9_export_markdown_for_edition + except ModuleNotFoundError: # pragma: no cover - direct scripts/ execution path + from pl9_reader_english import HAN, _public_wording_en + from pl9_reader_export import _pl9_export_markdown_for_edition + try: + english = copy.deepcopy(packet) + english["report_language"] = "en" + markdown = _pl9_export_markdown_for_edition(english, READER_MAIN_EDITION) + applicability = ( + _public_wording_en(render_dasha_applicability(copy.deepcopy(packet), language="en")) + if include_fact_tables else None + ) + except Exception: # noqa: BLE001 - the English edition must never fail the Chinese one + return {"english_unavailable": "render_error"} + if not isinstance(markdown, str) or not markdown.strip(): + return {"english_unavailable": "empty"} + if HAN.search(markdown) or (applicability is not None and HAN.search(applicability)): + return {"english_unavailable": "han_leak"} + return { + "markdown_en": markdown, + **({"reader_dasha_applicability_en": applicability} if applicability is not None else {}), + } + + def _load_engine(): try: return import_module("scripts.jyotish_engine") @@ -120,6 +169,9 @@ def build_professional_report_reference(handler, body: dict[str, Any], *, engine output_format = _normalize_format(body.get("format")) edition = _normalize_edition(body.get("edition")) packs = _normalize_packs(body.get("packs")) + languages = _normalize_languages(body.get("languages")) + if languages and (output_format != "markdown" or edition != READER_MAIN_EDITION): + raise ProfessionalReportReferenceInputError("languages requires format markdown and edition reader_main") birth = handler._high_rigor_birth_payload(body) full_reading = handler._compute_full_reading_for_thematic(birth) @@ -142,6 +194,9 @@ def build_professional_report_reference(handler, body: dict[str, Any], *, engine from scripts.pl9_reader_export import _pl9_export_markdown_for_edition except ModuleNotFoundError: # pragma: no cover - direct scripts/ execution path from pl9_reader_export import _pl9_export_markdown_for_edition + # English renders from its own deep copy first, so nothing the Chinese + # renderer does to the packet can reach it (and vice versa). + english = _english_edition(packet, body.get("include_fact_tables") is True) if "en" in languages else {} markdown = _pl9_export_markdown_for_edition(packet, READER_MAIN_EDITION) else: markdown = resolved_engine.render_pl9_markdown(packet) @@ -153,6 +208,7 @@ def build_professional_report_reference(handler, body: dict[str, Any], *, engine **({"fact_table_packet": report_density_packet(packet), "reader_dasha_applicability": clean_reader_appendix_markdown(render_dasha_applicability(packet))} if body.get("include_fact_tables") is True else {}), + **(english if edition == READER_MAIN_EDITION and "en" in languages else {}), } return { "format": "json", diff --git a/scripts/yoga_engine.py b/scripts/yoga_engine.py index c4501af1..c616ac47 100644 --- a/scripts/yoga_engine.py +++ b/scripts/yoga_engine.py @@ -78,6 +78,81 @@ HOUSE_STRENGTHS = { } +# ── English twin for combination text (TASK-report-english-edition-20260929) ── +# The Chinese combination strings stay exactly as before; each one also carries +# an English rendering so the reader's English edition never has to translate +# Chinese back. `BiText` compares, hashes and formats as its Chinese text. +class BiText(str): + """A Chinese string that also carries its English twin in ``.en``.""" + + en: str + + def __new__(cls, zh, en=None): + obj = super().__new__(cls, zh) + obj.en = str(zh) if en is None else str(en) + return obj + + +def _en_text(value) -> str: + return value.en if isinstance(value, BiText) else str(value) + + +def _planet(p) -> BiText: + return BiText(PLANET_CN.get(p, p), p) + + +def _planets(ps) -> BiText: + ps = list(ps) + return BiText("、".join(PLANET_CN.get(p, p) for p in ps), ", ".join(str(p) for p in ps)) + + +def _bijoin(sep: str, parts) -> BiText: + kept = [part for part in parts if part] + return BiText(sep.join(str(part) for part in kept), sep.join(_en_text(part) for part in kept)) + + +DEFAULT_COMBO_EN = { + "{a}与{b}同在第{h}宫": "{a} and {b} together in house {h}", + "{p}在第{h}宫": "{p} in house {h}", + "{p}在第{h}宫(从{fp}的{rel})": "{p} in house {h} ({rel} from {fp})", + "{p}{dignity}在{sign}": "{p} {dignity} in {sign}", + "{count}颗行星满足条件": "{count} planets meet the condition", + "行星分布在{count}个宫位": "Planets spread over {count} houses", + "第{target}宫被夹击": "House {target} hemmed in", + "所有指定行星均落入{houses}": "All listed planets fall in houses {houses}", + "所有指定行星均落入候选宫位集合{houses}": "All listed planets fall in the house set {houses}", + "指定行星只占据{houses}": "Listed planets occupy only houses {houses}", + "指定行星只占据候选宫位集合{houses}": "Listed planets occupy only the house set {houses}", + "第{house}宫有{planets}": "House {house} holds {planets}", + "{planets}在{fp}的第{rel}宫": "{planets} in house {rel} from {fp}", + "{count}个目标宫位有指定行星": "{count} target houses hold listed planets", + "{a}与{b}在{sign}内相距{gap:.2f}°": "{a} and {b} within {gap:.2f}° in {sign}", + "{la}与{lb}互换星座": "{la} and {lb} exchange signs", + "{house}宫主{lord}在第{lh}宫": "Lord of house {house}, {lord}, in house {lh}", + "{la}与{lb}同在第{h}宫": "{la} and {lb} together in house {h}", + "自定义条件满足": "Custom condition met", +} + +OFFSET_NAME_EN = {0: "same house", 1: "2nd", 2: "3rd", 3: "4th (Kendra)", 4: "5th (Trine)", + 5: "6th", 6: "7th (Kendra)", 7: "8th", 8: "9th (Trine)", + 9: "10th (Kendra)", 10: "11th", 11: "12th"} + +STRENGTH_EN = {"强": "Strong", "中": "Moderate", "弱": "Weak", "待评估": "To be assessed", "观察": "Watch"} + + +def _combo(cond: Dict, default_zh: str, **values) -> BiText: + """Format the rule's combination template in Chinese (unchanged) and in English.""" + zh = cond.get("combo_template", default_zh).format(**values) + en_template = cond.get("combo_template_en") if "combo_template" in cond else DEFAULT_COMBO_EN.get(default_zh) + en = None + if isinstance(en_template, str): + try: + en = en_template.format(**{key: (value.en if isinstance(value, BiText) else value) for key, value in values.items()}) + except (KeyError, IndexError, ValueError): + en = None + return BiText(zh, en) + + def _get_dignity_level(planet: str, sign: str) -> str: """判断行星在某星座的尊严等级""" if EXALTATION.get(planet) == sign: @@ -658,16 +733,23 @@ class YogaEngine: for rule in self.rules: matches = self._eval_rule(rule, ctx) for m in matches: + combination = m.get("combination", "") + strength = m.get("strength", rule.get("strength", "中")) entry = { "name": rule["name"], "name_cn": rule["name_cn"], - "combination": m.get("combination", ""), + "combination": str(combination), "effects": rule.get("effects", []), - "strength": m.get("strength", rule.get("strength", "中")), + "strength": strength, "source": rule.get("source", ""), "bvr_id": rule.get("bvr_id"), "category": rule.get("category", ""), "rule_id": rule.get("id", ""), + # English twins for the reader's English edition; the Chinese + # fields above are unchanged. + "combination_en": _en_text(combination), + "effects_en": list(rule.get("effects_en") or rule.get("effects", [])), + "strength_en": rule.get("strength_en") if strength == rule.get("strength") and rule.get("strength_en") else STRENGTH_EN.get(str(strength), str(strength)), } dedup_key = rule.get("dedup_key") or rule["name"] dedup_val = f"{dedup_key}:{m.get('combination', '')}" @@ -713,17 +795,26 @@ class YogaEngine: if p_in_h12 and not p_in_h2: results.append({"name": "Voshi Yoga", "name_cn": "太阳前瑜伽", "combination": f"{'+'.join(p_in_h12)}在太阳第12宫", + "combination_en": f"{'+'.join(p_in_h12)} in the 12th from the Sun", "effects": ["口才出众", "善于表达", "受人尊敬", "知识渊博"], + "effects_en": ["Eloquent", "Expressive", "Respected", "Learned"], + "strength_en": "Moderate", "strength": "中", "category": "solar_yoga", "source": "Parashara"}) if p_in_h2 and not p_in_h12: results.append({"name": "Veshi Yoga", "name_cn": "太阳后瑜伽", "combination": f"{'+'.join(p_in_h2)}在太阳第2宫", + "combination_en": f"{'+'.join(p_in_h2)} in the 2nd from the Sun", "effects": ["财富充裕", "生活舒适", "性情愉快", "人缘好"], + "effects_en": ["Ample wealth", "Comfortable life", "Cheerful temperament", "Well liked"], + "strength_en": "Moderate", "strength": "中", "category": "solar_yoga", "source": "Parashara"}) if p_in_h2 and p_in_h12: results.append({"name": "Ubhayachari Yoga", "name_cn": "太阳双夹瑜伽", "combination": "太阳两侧均有行星", + "combination_en": "Planets on both sides of the Sun", "effects": ["性格坚毅", "口才与财富兼备", "受人爱戴", "社会影响力"], + "effects_en": ["Steadfast character", "Both eloquence and wealth", "Beloved by others", "Social influence"], + "strength_en": "Strong", "strength": "强", "category": "solar_yoga", "source": "Parashara"}) # Lunar Yogas @@ -735,17 +826,26 @@ class YogaEngine: if p_in_h12 and not p_in_h2: results.append({"name": "Anapha Yoga", "name_cn": "月后瑜伽", "combination": f"{'+'.join(p_in_h12)}在月亮第12宫", + "combination_en": f"{'+'.join(p_in_h12)} in the 12th from the Moon", "effects": ["体格健壮", "名声良好", "品德高尚", "行业领袖"], + "effects_en": ["Robust physique", "Good reputation", "Noble character", "Leader in one's field"], + "strength_en": "Moderate", "strength": "中", "category": "lunar_yoga", "source": "Parashara"}) if p_in_h2 and not p_in_h12: results.append({"name": "Sunapha Yoga", "name_cn": "月前瑜伽", "combination": f"{'+'.join(p_in_h2)}在月亮第2宫", + "combination_en": f"{'+'.join(p_in_h2)} in the 2nd from the Moon", "effects": ["自力更生", "财富充裕", "受人尊敬", "生活富足"], + "effects_en": ["Self-made", "Ample wealth", "Respected", "Prosperous life"], + "strength_en": "Moderate", "strength": "中", "category": "lunar_yoga", "source": "Parashara"}) if p_in_h2 and p_in_h12: results.append({"name": "Durudhura Yoga", "name_cn": "月双夹瑜伽", "combination": "月亮两侧均有行星", + "combination_en": "Planets on both sides of the Moon", "effects": ["享受丰富", "善于辞令", "性格坚定", "多元才华"], + "effects_en": ["Many comforts", "Articulate", "Firm character", "Versatile talents"], + "strength_en": "Strong", "strength": "强", "category": "lunar_yoga", "source": "Parashara"}) return results @@ -804,7 +904,7 @@ class YogaEngine: for sm in sub_matches: combo = match.get("combination", "") sm_combo = sm.get("combination", "") - merged_combo = "; ".join(filter(None, [combo, sm_combo])) + merged_combo = _bijoin("; ", [combo, sm_combo]) new_results.append({ "combination": merged_combo, "strength": sm.get("strength", match.get("strength")), @@ -851,8 +951,7 @@ class YogaEngine: h1 = ctx.house_of(a) h2 = ctx.house_of(b) if h1 is not None and h1 == h2: - tmpl = cond.get("combo_template", "{a}与{b}同在第{h}宫") - combo = tmpl.format(a=PLANET_CN.get(a, a), b=PLANET_CN.get(b, b), h=h1, a_raw=a, b_raw=b) + combo = _combo(cond, "{a}与{b}同在第{h}宫", a=_planet(a), b=_planet(b), h=h1, a_raw=a, b_raw=b) results.append({"combination": combo, "strength": rule.get("strength", "中"), "bindings": {"a": a, "b": b, "house": h1}}) return results @@ -868,8 +967,7 @@ class YogaEngine: continue h = ctx.house_of(p) if h is not None and h in houses: - tmpl = cond.get("combo_template", "{p}在第{h}宫") - combo = tmpl.format(p=PLANET_CN.get(p, p), h=h, p_raw=p) + combo = _combo(cond, "{p}在第{h}宫", p=_planet(p), h=h, p_raw=p) results.append({"combination": combo, "strength": rule.get("strength", "中"), "bindings": {"planet": p, "house": h}}) return results @@ -924,10 +1022,9 @@ class YogaEngine: continue off = ctx.house_offset(h_base, h1) if off in valid_offsets: - tmpl = cond.get("combo_template", "{p}在第{h}宫(从{fp}的{rel})") - rel_name = self._offset_name(off) - combo = tmpl.format(p=PLANET_CN.get(p, p), h=h1, fp=PLANET_CN.get(fp, fp), - rel=rel_name, off=off, p_raw=p, fp_raw=fp) + rel_name = BiText(self._offset_name(off), OFFSET_NAME_EN.get(off, f"{off + 1}th")) + combo = _combo(cond, "{p}在第{h}宫(从{fp}的{rel})", p=_planet(p), h=h1, fp=_planet(fp), + rel=rel_name, off=off, p_raw=p, fp_raw=fp) results.append({"combination": combo, "strength": rule.get("strength", "中"), "bindings": {"planet": p, "from": fp, "house": h1}}) return results @@ -975,8 +1072,7 @@ class YogaEngine: dignity_type = status if ok: sign = ctx.sign_of(p) - tmpl = cond.get("combo_template", "{p}{dignity}在{sign}") - combo = tmpl.format(p=PLANET_CN.get(p, p), dignity=dignity_type, sign=sign or "", p_raw=p) + combo = _combo(cond, "{p}{dignity}在{sign}", p=_planet(p), dignity=dignity_type, sign=sign or "", p_raw=p) results.append({"combination": combo, "strength": rule.get("strength", "中"), "bindings": {"planet": p, "sign": sign}}) return results @@ -1002,8 +1098,7 @@ class YogaEngine: ok = ok and count <= max_count if ok: - tmpl = cond.get("combo_template", "{count}颗行星满足条件") - combo = tmpl.format(count=count, planets="、".join(PLANET_CN.get(p, p) for p in matched)) + combo = _combo(cond, "{count}颗行星满足条件", count=count, planets=_planets(matched)) return [{"combination": combo, "strength": rule.get("strength", "中"), "bindings": {"count": count, "matched": matched}}] return [] @@ -1032,8 +1127,7 @@ class YogaEngine: ok = ok and count <= max_count if ok: - tmpl = cond.get("combo_template", "行星分布在{count}个宫位") - combo = tmpl.format(count=count) + combo = _combo(cond, "行星分布在{count}个宫位", count=count) return [{"combination": combo, "strength": rule.get("strength", "中")}] return [] @@ -1056,8 +1150,7 @@ class YogaEngine: ok = prev_ok or next_ok if ok: - tmpl = cond.get("combo_template", "第{target}宫被夹击") - combo = tmpl.format(target=target, prev=prev_h, next=next_h) + combo = _combo(cond, "第{target}宫被夹击", target=target, prev=prev_h, next=next_h) return [{"combination": combo, "strength": rule.get("strength", "中")}] return [] @@ -1070,8 +1163,7 @@ class YogaEngine: occupied = [ctx.house_of(p) for p in refs] ok = all(h in houses for h in occupied if h is not None) and len(occupied) == len(refs) if ok: - tmpl = cond.get("combo_template", "所有指定行星均落入{houses}") - combo = tmpl.format(houses="/".join(str(h) for h in sorted(houses)), planets="、".join(PLANET_CN.get(p, p) for p in refs)) + combo = _combo(cond, "所有指定行星均落入{houses}", houses="/".join(str(h) for h in sorted(houses)), planets=_planets(refs)) return [{"combination": combo, "strength": rule.get("strength", "中"), "bindings": {"planets": refs, "houses": sorted(houses)}}] return [] @@ -1087,8 +1179,7 @@ class YogaEngine: occupied = [ctx.house_of(p) for p in refs] ok = all(h in houses_set for h in occupied if h is not None) and len(occupied) == len(refs) if ok: - tmpl = cond.get("combo_template", "所有指定行星均落入候选宫位集合{houses}") - combo = tmpl.format(houses="/".join(str(h) for h in sorted(houses_set)), planets="、".join(PLANET_CN.get(p, p) for p in refs)) + combo = _combo(cond, "所有指定行星均落入候选宫位集合{houses}", houses="/".join(str(h) for h in sorted(houses_set)), planets=_planets(refs)) return [{"combination": combo, "strength": rule.get("strength", "中"), "bindings": {"planets": refs, "houses": sorted(houses_set)}}] return [] @@ -1099,8 +1190,7 @@ class YogaEngine: houses = set(cond.get("houses", [])) occupied = {ctx.house_of(p) for p in refs if ctx.house_of(p) is not None} if refs and occupied == houses: - tmpl = cond.get("combo_template", "指定行星只占据{houses}") - combo = tmpl.format(houses="/".join(str(h) for h in sorted(houses)), planets="、".join(PLANET_CN.get(p, p) for p in refs)) + combo = _combo(cond, "指定行星只占据{houses}", houses="/".join(str(h) for h in sorted(houses)), planets=_planets(refs)) return [{"combination": combo, "strength": rule.get("strength", "中"), "bindings": {"planets": refs, "houses": sorted(houses)}}] return [] @@ -1113,8 +1203,7 @@ class YogaEngine: for houses in house_sets: houses_set = set(houses) if refs and occupied == houses_set: - tmpl = cond.get("combo_template", "指定行星只占据候选宫位集合{houses}") - combo = tmpl.format(houses="/".join(str(h) for h in sorted(houses_set)), planets="、".join(PLANET_CN.get(p, p) for p in refs)) + combo = _combo(cond, "指定行星只占据候选宫位集合{houses}", houses="/".join(str(h) for h in sorted(houses_set)), planets=_planets(refs)) return [{"combination": combo, "strength": rule.get("strength", "中"), "bindings": {"planets": refs, "houses": sorted(houses_set)}}] return [] @@ -1125,8 +1214,7 @@ class YogaEngine: house = cond.get("house") matched = [p for p in refs if ctx.house_of(p) == house] if matched: - tmpl = cond.get("combo_template", "第{house}宫有{planets}") - combo = tmpl.format(house=house, planets="、".join(PLANET_CN.get(p, p) for p in matched)) + combo = _combo(cond, "第{house}宫有{planets}", house=house, planets=_planets(matched)) return [{"combination": combo, "strength": rule.get("strength", "中"), "bindings": {"matched": matched, "house": house}}] return [] @@ -1147,10 +1235,9 @@ class YogaEngine: target = ((base + rel_house - 2) % 12) + 1 matched = [p for p in refs if p not in exclude and p != fp and ctx.house_of(p) == target] if matched: - tmpl = cond.get("combo_template", "{planets}在{fp}的第{rel}宫") - combo = tmpl.format( - planets="、".join(PLANET_CN.get(p, p) for p in matched), - fp=PLANET_CN.get(fp, fp), + combo = _combo(cond, "{planets}在{fp}的第{rel}宫", + planets=_planets(matched), + fp=_planet(fp), rel=rel_house, target=target, ) @@ -1174,11 +1261,10 @@ class YogaEngine: if max_count is not None: ok = ok and count <= max_count if ok: - tmpl = cond.get("combo_template", "{count}个目标宫位有指定行星") - detail = "; ".join(f"第{h}宫:" + "、".join(PLANET_CN.get(p, p) for p in ps) - for h, ps in occupied) - combo = tmpl.format(count=count, detail=detail, - houses="/".join(str(h) for h, _ in occupied)) + detail = _bijoin("; ", [BiText(f"第{h}宫:" + _planets(ps), f"house {h}: " + _planets(ps).en) + for h, ps in occupied]) + combo = _combo(cond, "{count}个目标宫位有指定行星", count=count, detail=detail, + houses="/".join(str(h) for h, _ in occupied)) return [{"combination": combo, "strength": rule.get("strength", "中"), "bindings": {"occupied": occupied, "count": count}}] return [] @@ -1202,8 +1288,7 @@ class YogaEngine: if d1 is None or d2 is None: continue if abs(d1 - d2) < max_gap: - tmpl = cond.get("combo_template", "{a}与{b}在{sign}内相距{gap:.2f}°") - combo = tmpl.format(a=PLANET_CN.get(a, a), b=PLANET_CN.get(b, b), sign=s1, + combo = _combo(cond, "{a}与{b}在{sign}内相距{gap:.2f}°", a=_planet(a), b=_planet(b), sign=s1, gap=abs(d1 - d2)) results.append({"combination": combo, "strength": rule.get("strength", "中")}) return results @@ -1221,8 +1306,7 @@ class YogaEngine: lord_of_sa = SIGN_LORDS.get(sa) lord_of_sb = SIGN_LORDS.get(sb) if lord_of_sa == lb and lord_of_sb == la: - tmpl = cond.get("combo_template", "{la}与{lb}互换星座") - combo = tmpl.format(la=PLANET_CN.get(la, la), lb=PLANET_CN.get(lb, lb)) + combo = _combo(cond, "{la}与{lb}互换星座", la=_planet(la), lb=_planet(lb)) return [{"combination": combo, "strength": rule.get("strength", "强")}] return [] @@ -1264,7 +1348,7 @@ class YogaEngine: break matched_combo_parts.append(matches[0].get("combination", "")) if all_match and refs: - combo = "; ".join(filter(None, matched_combo_parts)) + combo = _bijoin("; ", matched_combo_parts) return [{"combination": combo, "strength": rule.get("strength", "中")}] return [] @@ -1299,8 +1383,7 @@ class YogaEngine: return [] lh = ctx.house_of(lord) if lh is not None and lh in target_houses: - tmpl = cond.get("combo_template", "{house}宫主{lord}在第{lh}宫") - combo = tmpl.format(house=house, lord=PLANET_CN.get(lord, lord), lh=lh) + combo = _combo(cond, "{house}宫主{lord}在第{lh}宫", house=house, lord=_planet(lord), lh=lh) return [{"combination": combo, "strength": rule.get("strength", "中"), "bindings": {"lord": lord, "house": lh}}] return [] @@ -1316,8 +1399,7 @@ class YogaEngine: ha = ctx.house_of(lord_a) hb = ctx.house_of(lord_b) if ha is not None and ha == hb: - tmpl = cond.get("combo_template", "{la}与{lb}同在第{h}宫") - combo = tmpl.format(la=PLANET_CN.get(lord_a, lord_a), lb=PLANET_CN.get(lord_b, lord_b), h=ha) + combo = _combo(cond, "{la}与{lb}同在第{h}宫", la=_planet(lord_a), lb=_planet(lord_b), h=ha) return [{"combination": combo, "strength": rule.get("strength", "中")}] return [] @@ -1333,6 +1415,9 @@ class YogaEngine: if result: combo = cond.get("combo_template", "自定义条件满足") + if isinstance(combo, str): + # Custom templates were never formatted; keep that, and pair the English text. + combo = BiText(combo, cond.get("combo_template_en") if "combo_template" in cond else DEFAULT_COMBO_EN["自定义条件满足"]) if callable(combo): combo = combo(ctx, bindings) strength = cond.get("strength", rule.get("strength", "中")) diff --git a/tests/test_report_english_edition.py b/tests/test_report_english_edition.py new file mode 100644 index 00000000..fd51ab7c --- /dev/null +++ b/tests/test_report_english_edition.py @@ -0,0 +1,183 @@ +"""English edition of the reader report (TASK-report-english-edition-20260929, E1/E2). + +Three clearly fictional charts (day, night, southern hemisphere). For each, the +Chinese reader is rendered from the same packet before and after the English +render; the English reader must carry no Chinese, pass the reader leak +patterns, and carry the same numbers in the same order outside the yoga tables +(yoga names and combination notes are prose whose English forms number things +the Chinese names do not, e.g. "Kalatra Dosha (7th Lord in 6/8/12)"). +""" + +from __future__ import annotations + +import copy +import hashlib +import json +import re +from pathlib import Path + +import pytest + +from scripts.jyotish_engine import build_professional_report_reference_packet, cmd_full_reading +from scripts.pl9_reader_english import HAN, han_leaks +from scripts.pl9_reader_export import _dignity_label, _pl9_export_markdown_for_edition +from scripts.professional_report_reference import ( + ProfessionalReportReferenceInputError, + _export_args, + build_professional_report_reference, +) +from scripts.yoga_engine import BiText, _bijoin, _combo, _planet +from tests.test_report_reader_main import FICTIONAL, _leak_hits + +ROOT = Path(__file__).resolve().parents[1] +NUMBER = re.compile(r"-?\d+(?:\.\d+)?") + +CASES = { + "day": dict(FICTIONAL), + # Clearly fictional night birth, northern China-like coordinates. + "night": {**FICTIONAL, "name": "虚构乙", "year": 1984, "month": 11, "day": 23, "hour": 23, "minute": 40, + "lat": 39.9042, "lon": 116.4074, "tz": 8.0, "age": 42}, + # Clearly fictional southern-hemisphere birth. + "south": {**FICTIONAL, "name": "虚构丙", "year": 1977, "month": 2, "day": 14, "hour": 6, "minute": 5, + "lat": -33.8688, "lon": 151.2093, "tz": 11.0, "age": 49}, +} + + +def _packet(case: dict) -> dict: + full_reading = cmd_full_reading(type("Args", (), dict(case))()) + packet = dict(build_professional_report_reference_packet(full_reading, _export_args(dict(case)), [])) + packet["report_version"] = "pl9_personal_long_report.v3" + return packet + + +@pytest.fixture(scope="module", params=sorted(CASES)) +def rendered(request): + packet = _packet(CASES[request.param]) + zh_before = _pl9_export_markdown_for_edition(copy.deepcopy(packet), "reader_main") + english = copy.deepcopy(packet) + english["report_language"] = "en" + en = _pl9_export_markdown_for_edition(english, "reader_main") + zh_after = _pl9_export_markdown_for_edition(copy.deepcopy(packet), "reader_main") + return request.param, zh_before, en, zh_after + + +def _numbers_outside_yoga_tables(markdown: str) -> list[str]: + numbers: list[str] = [] + in_yoga_table = False + for line in markdown.splitlines(): + if line.startswith("| Yoga | Category |") or line.startswith("| 瑜伽 | 类别 |"): + in_yoga_table = True + continue + if in_yoga_table and not line.startswith("|"): + in_yoga_table = False + if not in_yoga_table: + numbers.extend(NUMBER.findall(line)) + return numbers + + +def test_chinese_edition_is_untouched_by_the_english_render(rendered) -> None: + _, zh_before, _, zh_after = rendered + assert zh_after == zh_before + + +def test_english_edition_has_no_chinese(rendered) -> None: + _, _, en, _ = rendered + assert han_leaks(en) == [] + assert not HAN.search(en) + + +def test_english_edition_passes_reader_leak_patterns(rendered) -> None: + _, _, en, _ = rendered + assert _leak_hits(en) == [] + assert en.startswith("# Vedic Astrology Chart Report\n") + for heading in ("## Birth Data and Charts", "## Strength, Relationships and Ashtakavarga", + "## Standard Dasha Tables", "## Saturn and KP", "## Annual Charts and Tajika", + "## Bhavesh, Dosha and Yoga", "#### Planet Lords and Dignity"): + assert heading in en + assert "| Planet | Sign lord | Star lord | Sub lord | Sub-sub lord | Dignity | Strength ratio |" in en + + +def test_both_editions_carry_the_same_numbers_in_order(rendered) -> None: + _, zh, en, _ = rendered + assert _numbers_outside_yoga_tables(en) == _numbers_outside_yoga_tables(zh) + # Line for line, too: the English edition is the same volume, relabelled. + assert len(en.splitlines()) == len(zh.splitlines()) + + +def test_english_dignity_takes_the_english_half() -> None: + assert _dignity_label("入旺(Exalted)", "en") == "Exalted" + assert _dignity_label("落陷取消(Neecha Bhanga)", "en") == "Neecha Bhanga" + assert _dignity_label("入旺(Exalted)") == "入旺" + + +def test_yoga_combination_text_carries_an_english_twin() -> None: + combo = _combo({}, "{a}与{b}同在第{h}宫", a=_planet("Sun"), b=_planet("Mercury"), h=10) + assert combo == "太阳Sun与水星Mercury同在第10宫" + assert isinstance(combo, BiText) and combo.en == "Sun and Mercury together in house 10" + own = _combo({"combo_template": "{p}入庙", "combo_template_en": "{p} in own sign"}, "{p}在第{h}宫", p=_planet("Mars")) + assert (str(own), own.en) == ("火星Mars入庙", "Mars in own sign") + joined = _bijoin("; ", [combo, "", own]) + assert str(joined) == "太阳Sun与水星Mercury同在第10宫; 火星Mars入庙" + assert joined.en == "Sun and Mercury together in house 10; Mars in own sign" + + +def _api_response(packet: dict, body: dict) -> dict: + class Handler: + def _high_rigor_birth_payload(self, request): + return {**FICTIONAL} + + def _compute_full_reading_for_thematic(self, birth): + return {"stub": True} + + class Engine: + def build_professional_report_reference_packet(self, full_reading, args, packs): + return copy.deepcopy(packet) + + return build_professional_report_reference(Handler(), body, engine=Engine()) + + +def test_api_without_languages_is_unchanged_and_with_languages_adds_english() -> None: + packet = _packet(CASES["day"]) + base_body = {"format": "markdown", "edition": "reader_main", "include_fact_tables": True} + plain = _api_response(packet, base_body) + assert not {"markdown_en", "reader_dasha_applicability_en", "english_unavailable"} & set(plain) + both = _api_response(packet, {**base_body, "languages": ["zh", "en"]}) + assert both["markdown"] == plain["markdown"] + assert both["fact_table_packet"] == plain["fact_table_packet"] + assert both["reader_dasha_applicability"] == plain["reader_dasha_applicability"] + assert not HAN.search(both["markdown_en"]) + assert not HAN.search(both["reader_dasha_applicability_en"]) + assert "english_unavailable" not in both + zh_only = _api_response(packet, {**base_body, "languages": ["zh"]}) + assert json.dumps(zh_only, sort_keys=True, ensure_ascii=False) == json.dumps(plain, sort_keys=True, ensure_ascii=False) + + +def test_api_drops_english_when_chinese_would_leak(monkeypatch) -> None: + from scripts import pl9_reader_english + + packet = _packet(CASES["day"]) + monkeypatch.setattr(pl9_reader_english, "PHRASES_EN", []) + reply = _api_response(packet, {"format": "markdown", "edition": "reader_main", "languages": ["zh", "en"]}) + assert reply["english_unavailable"] == "han_leak" + assert "markdown_en" not in reply + assert reply["markdown"] + + +def test_api_rejects_languages_outside_reader_main() -> None: + packet = {"report_version": "x"} + with pytest.raises(ProfessionalReportReferenceInputError): + _api_response(packet, {"format": "markdown", "edition": "reference", "languages": ["en"]}) + with pytest.raises(ProfessionalReportReferenceInputError): + _api_response(packet, {"format": "markdown", "edition": "reader_main", "languages": ["fr"]}) + + +def test_english_golden_pair_matches_a_live_render() -> None: + """The frontend fixtures are a real zh/en pair from one packet (AGENTS §7-4).""" + en_fixture = json.loads((ROOT / "frontend/tests/fixtures/report-reader-main-fictional-en.json").read_text(encoding="utf-8")) + zh_fixture = json.loads((ROOT / "frontend/tests/fixtures/report-reader-main-fictional-zh-pair.json").read_text(encoding="utf-8")) + assert en_fixture["fixtureProvenance"]["fictional"] is True + assert en_fixture["fixtureProvenance"]["language"] == "en" + assert zh_fixture["fixtureProvenance"]["language"] == "zh" + assert en_fixture["fixtureProvenance"]["pairSha256"] == hashlib.sha256(zh_fixture["markdown"].encode("utf-8")).hexdigest() + assert not HAN.search(en_fixture["markdown"]) + assert _numbers_outside_yoga_tables(en_fixture["markdown"]) == _numbers_outside_yoga_tables(zh_fixture["markdown"])