@kalenderjawa/pustaka
Version:
Pustaka JavaScript untuk perhitungan, pengkonversian dan penanggalan Kalender Jawa Abadi
1 lines • 99.2 kB
Source Map (JSON)
{"version":3,"file":"kalenderjawa.min.cjs","sources":["../src/taun.ts","../src/kurup.ts","../src/kurup_asapon_anenhing_statik.ts","../src/sasi.ts","../src/rumus_apalan_awal_bulan_mukarom_abadi.ts","../src/rumus_apalan_awal_bulan_sapar_abadi.ts","../src/rumus_apalan_awal_bulan_robiulawal_abadi.ts","../src/rumus_apalan_awal_bulan_robiulakir_abadi.ts","../src/rumus_apalan_awal_bulan_jumadilawal_abadi.ts","../src/rumus_apalan_awal_bulan_jumadilakir_abadi.ts","../src/rumus_apalan_awal_bulan_rojab_abadi.ts","../src/rumus_apalan_awal_bulan_sakban_abadi.ts","../src/rumus_apalan_awal_bulan_romadon_abadi.ts","../src/rumus_apalan_awal_bulan_sawal_abadi.ts","../src/rumus_apalan_awal_bulan_dulkodah_abadi.ts","../src/rumus_apalan_awal_bulan_dulkijah_abadi.ts","../src/rupa_ati.ts","../src/silpin.ts","../src/index.ts"],"sourcesContent":["/**\n * 📁taun.ts\n * @desc Araning Tahun Ing Dalem Sewindu\n */\n\nimport type { TaunType } from './types.js';\n\nconst _ALIP = Symbol.for('alip');\nconst _EHE = Symbol.for('ehe');\nconst _JIMAWAL = Symbol.for('jimawal');\nconst _JE = Symbol.for('je');\nconst _DAL = Symbol.for('dal');\nconst _BE = Symbol.for('be');\nconst _WAWU = Symbol.for('wawu');\nconst _JIMAKIR = Symbol.for('jimakir');\n\nconst ALIP: TaunType = { taun: 'alip', neptu: 1, urutan: 1, cacah: 354 };\nconst EHE: TaunType = { taun: 'ehe', neptu: 5, urutan: 2, cacah: 355 };\nconst JIMAWAL: TaunType = { taun: 'jimawal', neptu: 3, urutan: 3, cacah: 354 };\nconst JE: TaunType = { taun: 'je', neptu: 7, urutan: 4, cacah: 354 };\nconst DAL: TaunType = { taun: 'dal', neptu: 4, urutan: 5, cacah: 355 };\nconst BE: TaunType = { taun: 'be', neptu: 2, urutan: 6, cacah: 354 };\nconst WAWU: TaunType = { taun: 'wawu', neptu: 6, urutan: 7, cacah: 354 };\nconst JIMAKIR: TaunType = { taun: 'jimakir', neptu: 3, urutan: 8, cacah: 355 };\n\nconst TAHUN_ARR: TaunType[] = [ALIP, EHE, JIMAWAL, JE, DAL, BE, WAWU, JIMAKIR];\nconst ARANING_TAHUN_SEWINDU: Map<symbol, TaunType> = new Map();\n\nARANING_TAHUN_SEWINDU.set(_ALIP, ALIP);\nARANING_TAHUN_SEWINDU.set(_EHE, EHE);\nARANING_TAHUN_SEWINDU.set(_JIMAWAL, JIMAWAL);\nARANING_TAHUN_SEWINDU.set(_JE, JE);\nARANING_TAHUN_SEWINDU.set(_DAL, DAL);\nARANING_TAHUN_SEWINDU.set(_BE, BE);\nARANING_TAHUN_SEWINDU.set(_WAWU, WAWU);\nARANING_TAHUN_SEWINDU.set(_JIMAKIR, JIMAKIR);\n\nexport {\n _ALIP,\n _EHE,\n _JIMAWAL,\n _JE,\n _DAL,\n _BE,\n _WAWU,\n _JIMAKIR,\n ARANING_TAHUN_SEWINDU,\n TAHUN_ARR,\n};\n","/**\n * Arane Kurup\n * 📁 kurup.ts\n */\n\nimport * as P from '@kalenderjawa/pancawara';\nimport * as D from '@kalenderjawa/saptawara';\n\nimport type { KurupType } from './types.js';\n\n/**\n * @constant\n */\nconst ASAPON: KurupType = {\n taun: 'alip',\n dinten: D.DINTEN.get(D._SELASA)!,\n pasaran: P.PASARAN.get(P._PON)!,\n};\n\n/**\n * @constant\n */\nconst ANENHING: KurupType = {\n taun: 'alip',\n dinten: D.DINTEN.get(D._SENEN)!,\n pasaran: P.PASARAN.get(P._PAHING)!,\n};\n\nexport { ASAPON, ANENHING };\n","/**\n * 📁 kurup_asapon_anenhing_statik.ts\n * @desc Hari Awal awal Kalender Jawa 1867 -2106 (1355-1594 H, 1936-2169 M)\n * @desc Kurup A-Sa-Pon & Kurup A-Nen-Hing\n */\n\nimport {\n _ALIP,\n _EHE,\n _JIMAWAL,\n _JE,\n _DAL,\n _BE,\n _WAWU,\n _JIMAKIR,\n ARANING_TAHUN_SEWINDU,\n} from './taun.js';\nimport { ASAPON, ANENHING } from './kurup.js';\nimport type { TaunKurupType } from './types.js';\n\n/**\n * Kurup Alip Selasa Pon (A-SA-PON)\n */\n\nconst ALIP_ASAPON: TaunKurupType = {\n taun: ARANING_TAHUN_SEWINDU.get(_ALIP)!,\n kurup: ASAPON,\n awal: [\n 1867, 1875, 1883, 1891, 1899, 1907, 1915, 1923, 1931, 1939, 1947, 1955,\n 1963, 1971, 1979,\n ],\n};\n\nconst EHE_ASAPON: TaunKurupType = {\n taun: ARANING_TAHUN_SEWINDU.get(_EHE)!,\n kurup: ASAPON,\n awal: [\n 1868, 1876, 1884, 1892, 1900, 1908, 1916, 1924, 1932, 1940, 1948, 1956,\n 1964, 1972, 1980,\n ],\n};\n\nconst JIMAWAL_ASAPON: TaunKurupType = {\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL)!,\n kurup: ASAPON,\n awal: [\n 1869, 1877, 1885, 1893, 1901, 1909, 1917, 1925, 1933, 1941, 1949, 1957,\n 1965, 1973, 1981,\n ],\n};\n\nconst JE_ASAPON: TaunKurupType = {\n taun: ARANING_TAHUN_SEWINDU.get(_JE)!,\n kurup: ASAPON,\n awal: [\n 1870, 1878, 1886, 1894, 1902, 1910, 1918, 1926, 1934, 1942, 1950, 1958,\n 1966, 1974, 1982,\n ],\n};\n\nconst DAL_ASAPON: TaunKurupType = {\n taun: ARANING_TAHUN_SEWINDU.get(_DAL)!,\n kurup: ASAPON,\n awal: [\n 1871, 1879, 1887, 1895, 1903, 1911, 1919, 1927, 1935, 1943, 1951, 1959,\n 1967, 1975, 1983,\n ],\n};\n\nconst BE_ASAPON: TaunKurupType = {\n taun: ARANING_TAHUN_SEWINDU.get(_BE)!,\n kurup: ASAPON,\n awal: [\n 1872, 1880, 1888, 1896, 1904, 1912, 1920, 1928, 1936, 1944, 1952, 1960,\n 1968, 1976, 1984,\n ],\n};\n\nconst WAWU_ASAPON: TaunKurupType = {\n taun: ARANING_TAHUN_SEWINDU.get(_WAWU)!,\n kurup: ASAPON,\n awal: [\n 1873, 1881, 1889, 1897, 1905, 1913, 1921, 1929, 1937, 1945, 1953, 1961,\n 1969, 1977, 1985,\n ],\n};\n\nconst JIMAKIR_ASAPON: TaunKurupType = {\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR)!,\n kurup: ASAPON,\n awal: [\n 1874, 1882, 1890, 1898, 1906, 1914, 1922, 1930, 1938, 1946, 1954, 1962,\n 1970, 1978, 1986,\n ],\n};\n\n/**\n * Kurup Alip Senen Pahing (A-NEN-HING)\n */\n\nconst ALIP_ANENHING: TaunKurupType = {\n taun: ARANING_TAHUN_SEWINDU.get(_ALIP)!,\n kurup: ANENHING,\n awal: [\n 1987, 1995, 2003, 2011, 2019, 2027, 2035, 2043, 2051, 2059, 2067, 2075,\n 2083, 2091, 2099,\n ],\n};\n\nconst EHE_ANENHING: TaunKurupType = {\n taun: ARANING_TAHUN_SEWINDU.get(_EHE)!,\n kurup: ANENHING,\n awal: [\n 1988, 1996, 2004, 2012, 2020, 2028, 2036, 2044, 2052, 2060, 2068, 2076,\n 2084, 2092, 2100,\n ],\n};\n\nconst JIMAWAL_ANENHING: TaunKurupType = {\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL)!,\n kurup: ANENHING,\n awal: [\n 1989, 1997, 2005, 2013, 2021, 2029, 2037, 2045, 2053, 2061, 2069, 2077,\n 2085, 2093, 2101,\n ],\n};\n\nconst JE_ANENHING: TaunKurupType = {\n taun: ARANING_TAHUN_SEWINDU.get(_JE)!,\n kurup: ANENHING,\n awal: [\n 1990, 1998, 2006, 2014, 2022, 2030, 2038, 2046, 2054, 2062, 2070, 2078,\n 2086, 2094, 2102,\n ],\n};\n\nconst DAL_ANENHING: TaunKurupType = {\n taun: ARANING_TAHUN_SEWINDU.get(_DAL)!,\n kurup: ANENHING,\n awal: [\n 1991, 1999, 2007, 2015, 2023, 2031, 2039, 2047, 2055, 2063, 2071, 2079,\n 2087, 2095, 2103,\n ],\n};\n\nconst BE_ANENHING: TaunKurupType = {\n taun: ARANING_TAHUN_SEWINDU.get(_BE)!,\n kurup: ANENHING,\n awal: [\n 1992, 2000, 2008, 2016, 2024, 2032, 2040, 2048, 2056, 2064, 2072, 2080,\n 2088, 2096, 2104,\n ],\n};\n\nconst WAWU_ANENHING: TaunKurupType = {\n taun: ARANING_TAHUN_SEWINDU.get(_WAWU)!,\n kurup: ANENHING,\n awal: [\n 1993, 2001, 2009, 2017, 2025, 2033, 2041, 2049, 2057, 2065, 2073, 2081,\n 2089, 2097, 2105,\n ],\n};\n\nconst JIMAKIR_ANENHING: TaunKurupType = {\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR)!,\n kurup: ANENHING,\n awal: [\n 1994, 2002, 2010, 2018, 2026, 2034, 2042, 2050, 2058, 2066, 2074, 2082,\n 2090, 2098, 2106,\n ],\n};\n\nconst KURUP_ASAPON_ANENHING: TaunKurupType[] = [\n ALIP_ASAPON,\n EHE_ASAPON,\n JIMAWAL_ASAPON,\n JE_ASAPON,\n DAL_ASAPON,\n BE_ASAPON,\n WAWU_ASAPON,\n JIMAKIR_ASAPON,\n ALIP_ANENHING,\n EHE_ANENHING,\n JIMAWAL_ANENHING,\n JE_ANENHING,\n DAL_ANENHING,\n BE_ANENHING,\n WAWU_ANENHING,\n JIMAKIR_ANENHING,\n];\n\nexport { KURUP_ASAPON_ANENHING };\n","/**\n * 📁sasi.ts\n * @desc Araning Wulan Ing Setaun\n */\n\nimport type { WulanType } from './types.js';\n\n/**\n * @constant\n * @type {Symbol}\n */\nconst _MUKAROM = Symbol.for('mukarom');\nconst _SAPAR = Symbol.for('sapar');\nconst _ROBIULAWAL = Symbol.for('robiulawal');\nconst _ROBIULAKIR = Symbol.for('robiulakir');\nconst _JUMADILAWAL = Symbol.for('jumadilawal');\nconst _JUMADILAKIR = Symbol.for('jumadilakir');\nconst _ROJAB = Symbol.for('rojab');\nconst _SAKBAN = Symbol.for('sakban');\nconst _ROMADON = Symbol.for('romadon');\nconst _SAWAL = Symbol.for('sawal');\nconst _DULKODAH = Symbol.for('dulkodah');\nconst _DULKIJAH = Symbol.for('dulkijah');\n\nconst MUKAROM: WulanType = {\n wulan: 'mukarom',\n celukan: 'rom',\n urutan: 1,\n cacah: [30],\n};\nconst SAPAR: WulanType = {\n wulan: 'sapar',\n celukan: 'par',\n urutan: 2,\n cacah: [29],\n};\nconst ROBIULAWAL: WulanType = {\n wulan: 'robiulawal',\n celukan: 'rowal',\n urutan: 3,\n cacah: [30],\n};\nconst ROBIULAKIR: WulanType = {\n wulan: 'robiulakir',\n celukan: 'rokir',\n urutan: 4,\n cacah: [29],\n};\nconst JUMADILAWAL: WulanType = {\n wulan: 'jumadilawal',\n celukan: 'juwal',\n urutan: 5,\n cacah: [30],\n};\nconst JUMADILAKIR: WulanType = {\n wulan: 'jumadilakir',\n celukan: 'jukir',\n urutan: 6,\n cacah: [29],\n};\nconst ROJAB: WulanType = {\n wulan: 'rojab',\n celukan: 'jab',\n urutan: 7,\n cacah: [30],\n};\nconst SAKBAN: WulanType = {\n wulan: 'sakban',\n celukan: 'ban',\n urutan: 8,\n cacah: [29],\n};\nconst ROMADON: WulanType = {\n wulan: 'romadon',\n celukan: 'don',\n urutan: 9,\n cacah: [30],\n};\nconst SAWAL: WulanType = {\n wulan: 'sawal',\n celukan: 'wal',\n urutan: 10,\n cacah: [29],\n};\nconst DULKODAH: WulanType = {\n wulan: 'dulkodah',\n celukan: 'dah',\n urutan: 11,\n cacah: [30],\n};\nconst DULKIJAH: WulanType = {\n wulan: 'dulkijah',\n celukan: 'jah',\n urutan: 12,\n cacah: [29, 30],\n};\n\nconst ARANING_WULAN_SETAUN: Map<symbol, WulanType> = new Map();\n\nARANING_WULAN_SETAUN.set(_MUKAROM, MUKAROM);\nARANING_WULAN_SETAUN.set(_SAPAR, SAPAR);\nARANING_WULAN_SETAUN.set(_ROBIULAWAL, ROBIULAWAL);\nARANING_WULAN_SETAUN.set(_ROBIULAKIR, ROBIULAKIR);\nARANING_WULAN_SETAUN.set(_JUMADILAWAL, JUMADILAWAL);\nARANING_WULAN_SETAUN.set(_JUMADILAKIR, JUMADILAKIR);\nARANING_WULAN_SETAUN.set(_ROJAB, ROJAB);\nARANING_WULAN_SETAUN.set(_SAKBAN, SAKBAN);\nARANING_WULAN_SETAUN.set(_ROMADON, ROMADON);\nARANING_WULAN_SETAUN.set(_SAWAL, SAWAL);\nARANING_WULAN_SETAUN.set(_DULKODAH, DULKODAH);\nARANING_WULAN_SETAUN.set(_DULKIJAH, DULKIJAH);\n\nconst SASI_ARR: WulanType[] = [\n MUKAROM,\n SAPAR,\n ROBIULAWAL,\n ROBIULAKIR,\n JUMADILAWAL,\n JUMADILAKIR,\n ROJAB,\n SAKBAN,\n ROMADON,\n SAWAL,\n DULKODAH,\n DULKIJAH,\n];\n\nexport {\n _MUKAROM,\n _SAPAR,\n _ROBIULAWAL,\n _ROBIULAKIR,\n _JUMADILAWAL,\n _JUMADILAKIR,\n _ROJAB,\n _SAKBAN,\n _ROMADON,\n _SAWAL,\n _DULKODAH,\n _DULKIJAH,\n ARANING_WULAN_SETAUN,\n SASI_ARR,\n};\n","/**\n * 📁rumus_apalan_awal_bulan_mukarom_abadi.ts\n * Rumus untuk bulan Mukarom selama 8 Tahun (Sewindu)\n */\n\nimport type { WulanTaunType } from './types.js';\nimport { _MUKAROM, ARANING_WULAN_SETAUN } from './sasi.js';\nimport {\n _ALIP,\n _EHE,\n _JIMAWAL,\n _JE,\n _DAL,\n _BE,\n _WAWU,\n _JIMAKIR,\n ARANING_TAHUN_SEWINDU,\n} from './taun.js';\n\n// Registry\nconst _ROM_ALIP = Symbol.for('rom_alip');\nconst _ROM_EHE = Symbol.for('rom_ehe');\nconst _ROM_JIMAWAL = Symbol.for('rom_jimawal');\nconst _ROM_JE = Symbol.for('rom_je');\nconst _ROM_DAL = Symbol.for('rom_dal');\nconst _ROM_BE = Symbol.for('rom_be');\nconst _ROM_WAWU = Symbol.for('rom_wawu');\nconst _ROM_JIMAKIR = Symbol.for('rom_jimakir');\n\n// Rumus abadi Mukarom\nconst ROM_JI_JI = {\n wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n dino: 1,\n pasaran: 1,\n};\n\nconst ROM_MO_MO = {\n wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n dino: 5,\n pasaran: 5,\n};\n\nconst ROM_LU_MO = {\n wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n dino: 3,\n pasaran: 5,\n};\n\nconst ROM_TU_PAT = {\n wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n dino: 7,\n pasaran: 4,\n};\n\nconst ROM_PAT_LU = {\n wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n dino: 4,\n pasaran: 3,\n};\n\nconst ROM_RO_LU = {\n wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n dino: 2,\n pasaran: 3,\n};\n\nconst ROM_NEM_RO = {\n wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n dino: 6,\n pasaran: 2,\n};\n\nconst ROM_LU_JI = {\n wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n dino: 3,\n pasaran: 1,\n};\n\n// Kunci Mukarom - Sewindu\n\nconst ROM_ALIP: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n taun: ARANING_TAHUN_SEWINDU.get(_ALIP),\n rumus: ROM_JI_JI,\n};\n\nconst ROM_EHE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n taun: ARANING_TAHUN_SEWINDU.get(_EHE),\n rumus: ROM_MO_MO,\n};\n\nconst ROM_JIMAWAL: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL),\n rumus: ROM_LU_MO,\n};\n\nconst ROM_JE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n taun: ARANING_TAHUN_SEWINDU.get(_JE),\n rumus: ROM_TU_PAT,\n};\n\nconst ROM_DAL: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n taun: ARANING_TAHUN_SEWINDU.get(_DAL),\n rumus: ROM_PAT_LU,\n};\n\nconst ROM_BE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n taun: ARANING_TAHUN_SEWINDU.get(_BE),\n rumus: ROM_RO_LU,\n};\n\nconst ROM_WAWU: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n taun: ARANING_TAHUN_SEWINDU.get(_WAWU),\n rumus: ROM_NEM_RO,\n};\n\nconst ROM_JIMAKIR: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR),\n rumus: ROM_LU_JI,\n};\n\n// Mapping Rumus abadi Mukarom dengan Registry\nconst RUMUS_APALAN_AWAL_BULAN_MUKAROM_ABADI: Map<symbol, WulanTaunType> =\n new Map();\n\nRUMUS_APALAN_AWAL_BULAN_MUKAROM_ABADI.set(_ROM_ALIP, ROM_ALIP);\nRUMUS_APALAN_AWAL_BULAN_MUKAROM_ABADI.set(_ROM_EHE, ROM_EHE);\nRUMUS_APALAN_AWAL_BULAN_MUKAROM_ABADI.set(_ROM_JIMAWAL, ROM_JIMAWAL);\nRUMUS_APALAN_AWAL_BULAN_MUKAROM_ABADI.set(_ROM_JE, ROM_JE);\nRUMUS_APALAN_AWAL_BULAN_MUKAROM_ABADI.set(_ROM_DAL, ROM_DAL);\nRUMUS_APALAN_AWAL_BULAN_MUKAROM_ABADI.set(_ROM_BE, ROM_BE);\nRUMUS_APALAN_AWAL_BULAN_MUKAROM_ABADI.set(_ROM_WAWU, ROM_WAWU);\nRUMUS_APALAN_AWAL_BULAN_MUKAROM_ABADI.set(_ROM_JIMAKIR, ROM_JIMAKIR);\n\nexport {\n RUMUS_APALAN_AWAL_BULAN_MUKAROM_ABADI,\n _ROM_ALIP,\n _ROM_EHE,\n _ROM_JIMAWAL,\n _ROM_JE,\n _ROM_DAL,\n _ROM_BE,\n _ROM_WAWU,\n _ROM_JIMAKIR,\n};\n","/**\n * 📁rumus_apalan_awal_bulan_sapar_abadi.ts\n * Rumus untuk bulan Sapar selama 8 Tahun (Sewindu)\n */\n\nimport type { WulanTaunType } from './types.js';\nimport { _SAPAR, ARANING_WULAN_SETAUN } from './sasi.js';\nimport {\n _ALIP,\n _EHE,\n _JIMAWAL,\n _JE,\n _DAL,\n _BE,\n _WAWU,\n _JIMAKIR,\n ARANING_TAHUN_SEWINDU,\n} from './taun.js';\n\n// Registry\nconst _PAR_ALIP = Symbol.for('par_alip');\nconst _PAR_EHE = Symbol.for('par_ehe');\nconst _PAR_JIMAWAL = Symbol.for('par_jimawal');\nconst _PAR_JE = Symbol.for('par_je');\nconst _PAR_DAL = Symbol.for('par_dal');\nconst _PAR_BE = Symbol.for('par_be');\nconst _PAR_WAWU = Symbol.for('par_wawu');\nconst _PAR_JIMAKIR = Symbol.for('par_jimakir');\n\n// Rumus abadi Sapar\nconst PAR_RO_RO = {\n wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n dino: 2,\n pasaran: 2,\n};\n\nconst PAR_NEM_JI = {\n wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n dino: 6,\n pasaran: 1,\n};\n\nconst PAR_PAT_JI = {\n wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n dino: 4,\n pasaran: 1,\n};\n\nconst PAR_JI_MO = {\n wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n dino: 1,\n pasaran: 5,\n};\n\nconst PAR_MO_PAT = {\n wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n dino: 5,\n pasaran: 4,\n};\n\nconst PAR_LU_PAT = {\n wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n dino: 3,\n pasaran: 4,\n};\n\nconst PAR_TU_LU = {\n wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n dino: 7,\n pasaran: 3,\n};\n\nconst PAR_PAT_RO = {\n wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n dino: 4,\n pasaran: 2,\n};\n\n// Kunci Sapar - Sewindu\n\nconst PAR_ALIP: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n taun: ARANING_TAHUN_SEWINDU.get(_ALIP),\n rumus: PAR_RO_RO,\n};\n\nconst PAR_EHE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n taun: ARANING_TAHUN_SEWINDU.get(_EHE),\n rumus: PAR_NEM_JI,\n};\n\nconst PAR_JIMAWAL: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL),\n rumus: PAR_PAT_JI,\n};\n\nconst PAR_JE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n taun: ARANING_TAHUN_SEWINDU.get(_JE),\n rumus: PAR_JI_MO,\n};\n\nconst PAR_DAL: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n taun: ARANING_TAHUN_SEWINDU.get(_DAL),\n rumus: PAR_MO_PAT,\n};\n\nconst PAR_BE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n taun: ARANING_TAHUN_SEWINDU.get(_BE),\n rumus: PAR_LU_PAT,\n};\n\nconst PAR_WAWU: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n taun: ARANING_TAHUN_SEWINDU.get(_WAWU),\n rumus: PAR_TU_LU,\n};\n\nconst PAR_JIMAKIR: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR),\n rumus: PAR_PAT_RO,\n};\n\n// Mapping Rumus abadi Sapar dengan Registry\nconst RUMUS_APALAN_AWAL_BULAN_SAPAR_ABADI: Map<symbol, WulanTaunType> =\n new Map();\n\nRUMUS_APALAN_AWAL_BULAN_SAPAR_ABADI.set(_PAR_ALIP, PAR_ALIP);\nRUMUS_APALAN_AWAL_BULAN_SAPAR_ABADI.set(_PAR_EHE, PAR_EHE);\nRUMUS_APALAN_AWAL_BULAN_SAPAR_ABADI.set(_PAR_JIMAWAL, PAR_JIMAWAL);\nRUMUS_APALAN_AWAL_BULAN_SAPAR_ABADI.set(_PAR_JE, PAR_JE);\nRUMUS_APALAN_AWAL_BULAN_SAPAR_ABADI.set(_PAR_DAL, PAR_DAL);\nRUMUS_APALAN_AWAL_BULAN_SAPAR_ABADI.set(_PAR_BE, PAR_BE);\nRUMUS_APALAN_AWAL_BULAN_SAPAR_ABADI.set(_PAR_WAWU, PAR_WAWU);\nRUMUS_APALAN_AWAL_BULAN_SAPAR_ABADI.set(_PAR_JIMAKIR, PAR_JIMAKIR);\n\nexport {\n RUMUS_APALAN_AWAL_BULAN_SAPAR_ABADI,\n _PAR_ALIP,\n _PAR_EHE,\n _PAR_JIMAWAL,\n _PAR_JE,\n _PAR_DAL,\n _PAR_BE,\n _PAR_WAWU,\n _PAR_JIMAKIR,\n};\n","/**\n * 📁rumus_apalan_awal_bulan_robiulawal_abadi.ts\n * Rumus untuk bulan Robiulawal selama 8 Tahun (Sewindu)\n */\n\nimport type { WulanTaunType } from './types.js';\nimport { _ROBIULAWAL, ARANING_WULAN_SETAUN } from './sasi.js';\nimport {\n _ALIP,\n _EHE,\n _JIMAWAL,\n _JE,\n _DAL,\n _BE,\n _WAWU,\n _JIMAKIR,\n ARANING_TAHUN_SEWINDU,\n} from './taun.js';\n\n// Registry\nconst _ROWAL_ALIP = Symbol.for('rowal_alip');\nconst _ROWAL_EHE = Symbol.for('rowal_ehe');\nconst _ROWAL_JIMAWAL = Symbol.for('rowal_jimawal');\nconst _ROWAL_JE = Symbol.for('rowal_je');\nconst _ROWAL_DAL = Symbol.for('rowal_dal');\nconst _ROWAL_BE = Symbol.for('rowal_be');\nconst _ROWAL_WAWU = Symbol.for('rowal_wawu');\nconst _ROWAL_JIMAKIR = Symbol.for('rowal_jimakir');\n\n// Rumus abadi Robiulawal\nconst ROWAL_PAT_MO = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n dino: 4,\n pasaran: 5,\n};\n\nconst ROWAL_JI_PAT = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n dino: 1,\n pasaran: 4,\n};\n\nconst ROWAL_NEM_PAT = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n dino: 6,\n pasaran: 4,\n};\n\nconst ROWAL_LU_LU = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n dino: 3,\n pasaran: 3,\n};\n\nconst ROWAL_TU_RO = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n dino: 7,\n pasaran: 2,\n};\n\nconst ROWAL_MO_RO = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n dino: 5,\n pasaran: 2,\n};\n\nconst ROWAL_RO_JI = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n dino: 2,\n pasaran: 1,\n};\n\nconst ROWAL_NEM_MO = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n dino: 6,\n pasaran: 5,\n};\n\n// Kunci Robiulawal - Sewindu\nconst ROWAL_ALIP: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_ALIP),\n rumus: ROWAL_PAT_MO,\n};\n\nconst ROWAL_EHE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_EHE),\n rumus: ROWAL_JI_PAT,\n};\n\nconst ROWAL_JIMAWAL: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL),\n rumus: ROWAL_NEM_PAT,\n};\n\nconst ROWAL_JE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_JE),\n rumus: ROWAL_LU_LU,\n};\n\nconst ROWAL_DAL: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_DAL),\n rumus: ROWAL_TU_RO,\n};\n\nconst ROWAL_BE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_BE),\n rumus: ROWAL_MO_RO,\n};\n\nconst ROWAL_WAWU: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_WAWU),\n rumus: ROWAL_RO_JI,\n};\n\nconst ROWAL_JIMAKIR: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR),\n rumus: ROWAL_NEM_MO,\n};\n\n// Mapping Rumus abadi Robiulawal dengan Registry\nconst RUMUS_APALAN_AWAL_BULAN_ROBIULAWAL_ABADI: Map<symbol, WulanTaunType> =\n new Map();\n\nRUMUS_APALAN_AWAL_BULAN_ROBIULAWAL_ABADI.set(_ROWAL_ALIP, ROWAL_ALIP);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAWAL_ABADI.set(_ROWAL_EHE, ROWAL_EHE);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAWAL_ABADI.set(_ROWAL_JIMAWAL, ROWAL_JIMAWAL);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAWAL_ABADI.set(_ROWAL_JE, ROWAL_JE);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAWAL_ABADI.set(_ROWAL_DAL, ROWAL_DAL);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAWAL_ABADI.set(_ROWAL_BE, ROWAL_BE);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAWAL_ABADI.set(_ROWAL_WAWU, ROWAL_WAWU);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAWAL_ABADI.set(_ROWAL_JIMAKIR, ROWAL_JIMAKIR);\n\nexport {\n RUMUS_APALAN_AWAL_BULAN_ROBIULAWAL_ABADI,\n _ROWAL_ALIP,\n _ROWAL_EHE,\n _ROWAL_JIMAWAL,\n _ROWAL_JE,\n _ROWAL_DAL,\n _ROWAL_BE,\n _ROWAL_WAWU,\n _ROWAL_JIMAKIR,\n};\n","/**\n * 📁rumus_apalan_awal_bulan_robiulakir_abadi.ts\n * Rumus untuk bulan Robiulakir selama 8 Tahun (Sewindu)\n */\n\nimport type { WulanTaunType } from './types.js';\nimport { _ROBIULAKIR, ARANING_WULAN_SETAUN } from './sasi.js';\nimport {\n _ALIP,\n _EHE,\n _JIMAWAL,\n _JE,\n _DAL,\n _BE,\n _WAWU,\n _JIMAKIR,\n ARANING_TAHUN_SEWINDU,\n} from './taun.js';\n\n// Registry\nconst _ROKIR_ALIP = Symbol.for('rokir_alip');\nconst _ROKIR_EHE = Symbol.for('rokir_ehe');\nconst _ROKIR_JIMAWAL = Symbol.for('rokir_jimawal');\nconst _ROKIR_JE = Symbol.for('rokir_je');\nconst _ROKIR_DAL = Symbol.for('rokir_dal');\nconst _ROKIR_BE = Symbol.for('rokir_be');\nconst _ROKIR_WAWU = Symbol.for('rokir_wawu');\nconst _ROKIR_JIMAKIR = Symbol.for('rokir_jimakir');\n\n// Rumus Matematis\nconst ROKIR_NEM_MO = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n dino: 6,\n pasaran: 5,\n};\n\nconst ROKIR_LU_PAT = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n dino: 3,\n pasaran: 4,\n};\n\nconst ROKIR_JI_PAT = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n dino: 1,\n pasaran: 4,\n};\n\nconst ROKIR_MO_LU = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n dino: 5,\n pasaran: 3,\n};\n\nconst ROKIR_RO_RO = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n dino: 2,\n pasaran: 2,\n};\n\nconst ROKIR_TU_RO = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n dino: 1,\n pasaran: 2,\n};\n\nconst ROKIR_PAT_JI = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n dino: 4,\n pasaran: 1,\n};\n\nconst ROKIR_JI_MO = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n dino: 1,\n pasaran: 5,\n};\n\n// Kunci Robiulakir - Sewindu\nconst ROKIR_ALIP: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n taun: ARANING_TAHUN_SEWINDU.get(_ALIP),\n rumus: ROKIR_NEM_MO,\n};\n\nconst ROKIR_EHE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n taun: ARANING_TAHUN_SEWINDU.get(_EHE),\n rumus: ROKIR_LU_PAT,\n};\n\nconst ROKIR_JIMAWAL: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL),\n rumus: ROKIR_JI_PAT,\n};\n\nconst ROKIR_JE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n taun: ARANING_TAHUN_SEWINDU.get(_JE),\n rumus: ROKIR_MO_LU,\n};\n\nconst ROKIR_DAL: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n taun: ARANING_TAHUN_SEWINDU.get(_DAL),\n rumus: ROKIR_RO_RO,\n};\n\nconst ROKIR_BE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n taun: ARANING_TAHUN_SEWINDU.get(_BE),\n rumus: ROKIR_TU_RO,\n};\n\nconst ROKIR_WAWU: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n taun: ARANING_TAHUN_SEWINDU.get(_WAWU),\n rumus: ROKIR_PAT_JI,\n};\n\nconst ROKIR_JIMAKIR: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR),\n rumus: ROKIR_JI_MO,\n};\n\n// Mapping Rumus abadi Robiulakir dengan Registry\nconst RUMUS_APALAN_AWAL_BULAN_ROBIULAKIR_ABADI: Map<symbol, WulanTaunType> =\n new Map();\n\nRUMUS_APALAN_AWAL_BULAN_ROBIULAKIR_ABADI.set(_ROKIR_ALIP, ROKIR_ALIP);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAKIR_ABADI.set(_ROKIR_EHE, ROKIR_EHE);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAKIR_ABADI.set(_ROKIR_JIMAWAL, ROKIR_JIMAWAL);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAKIR_ABADI.set(_ROKIR_JE, ROKIR_JE);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAKIR_ABADI.set(_ROKIR_DAL, ROKIR_DAL);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAKIR_ABADI.set(_ROKIR_BE, ROKIR_BE);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAKIR_ABADI.set(_ROKIR_WAWU, ROKIR_WAWU);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAKIR_ABADI.set(_ROKIR_JIMAKIR, ROKIR_JIMAKIR);\n\nexport {\n RUMUS_APALAN_AWAL_BULAN_ROBIULAKIR_ABADI,\n _ROKIR_ALIP,\n _ROKIR_EHE,\n _ROKIR_JIMAWAL,\n _ROKIR_JE,\n _ROKIR_DAL,\n _ROKIR_BE,\n _ROKIR_WAWU,\n _ROKIR_JIMAKIR,\n};\n","/**\n * 📁rumus_apalan_awal_bulan_jumadilawal_abadi.ts\n * Rumus untuk bulan Jumadilawal selama 8 Tahun (Sewindu)\n */\n\nimport type { WulanTaunType } from './types.js';\nimport { _JUMADILAWAL, ARANING_WULAN_SETAUN } from './sasi.js';\nimport {\n _ALIP,\n _EHE,\n _JIMAWAL,\n _JE,\n _DAL,\n _BE,\n _WAWU,\n _JIMAKIR,\n ARANING_TAHUN_SEWINDU,\n} from './taun.js';\n\n// Registry\nconst _JUWAL_ALIP = Symbol.for('juwal_alip');\nconst _JUWAL_EHE = Symbol.for('juwal_ehe');\nconst _JUWAL_JIMAWAL = Symbol.for('juwal_jimawal');\nconst _JUWAL_JE = Symbol.for('juwal_je');\nconst _JUWAL_DAL = Symbol.for('juwal_dal');\nconst _JUWAL_BE = Symbol.for('juwal_be');\nconst _JUWAL_WAWU = Symbol.for('juwal_wawu');\nconst _JUWAL_JIMAKIR = Symbol.for('juwal_jimakir');\n\n// Rumus matematis\nconst JUWAL_TU_PAT = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n dino: 7,\n pasaran: 4,\n};\n\nconst JUWAL_PAT_LU = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n dino: 4,\n pasaran: 3,\n};\n\nconst JUWAL_RO_LU = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n dino: 2,\n pasaran: 3,\n};\n\nconst JUWAL_NEM_RO = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n dino: 6,\n pasaran: 2,\n};\n\nconst JUWAL_LU_JI = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n dino: 3,\n pasaran: 1,\n};\n\nconst JUWAL_JI_JI = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n dino: 1,\n pasaran: 1,\n};\n\nconst JUWAL_MO_MO = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n dino: 5,\n pasaran: 5,\n};\n\nconst JUWAL_RO_PAT = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n dino: 2,\n pasaran: 4,\n};\n\n// Kunci Jumadilawal - Sewindu\nconst JUWAL_ALIP: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_ALIP),\n rumus: JUWAL_TU_PAT,\n};\n\nconst JUWAL_EHE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_EHE),\n rumus: JUWAL_PAT_LU,\n};\n\nconst JUWAL_JIMAWAL: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL),\n rumus: JUWAL_RO_LU,\n};\n\nconst JUWAL_JE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_JE),\n rumus: JUWAL_NEM_RO,\n};\n\nconst JUWAL_DAL: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_DAL),\n rumus: JUWAL_LU_JI,\n};\n\nconst JUWAL_BE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_BE),\n rumus: JUWAL_JI_JI,\n};\n\nconst JUWAL_WAWU: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_WAWU),\n rumus: JUWAL_MO_MO,\n};\n\nconst JUWAL_JIMAKIR: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR),\n rumus: JUWAL_RO_PAT,\n};\n\n//\nconst RUMUS_APALAN_AWAL_BULAN_JUMADILAWAL_ABADI: Map<symbol, WulanTaunType> =\n new Map();\n\nRUMUS_APALAN_AWAL_BULAN_JUMADILAWAL_ABADI.set(_JUWAL_ALIP, JUWAL_ALIP);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAWAL_ABADI.set(_JUWAL_EHE, JUWAL_EHE);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAWAL_ABADI.set(_JUWAL_JIMAWAL, JUWAL_JIMAWAL);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAWAL_ABADI.set(_JUWAL_JE, JUWAL_JE);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAWAL_ABADI.set(_JUWAL_DAL, JUWAL_DAL);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAWAL_ABADI.set(_JUWAL_BE, JUWAL_BE);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAWAL_ABADI.set(_JUWAL_WAWU, JUWAL_WAWU);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAWAL_ABADI.set(_JUWAL_JIMAKIR, JUWAL_JIMAKIR);\n\nexport {\n RUMUS_APALAN_AWAL_BULAN_JUMADILAWAL_ABADI,\n _JUWAL_ALIP,\n _JUWAL_EHE,\n _JUWAL_JIMAWAL,\n _JUWAL_JE,\n _JUWAL_DAL,\n _JUWAL_BE,\n _JUWAL_WAWU,\n _JUWAL_JIMAKIR,\n};\n","/**\n * 📁rumus_apalan_awal_bulan_jumadilakir_abadi.ts\n * Rumus untuk bulan Jumadilakir selama 8 Tahun (Sewindu)\n */\n\nimport type { WulanTaunType } from './types.js';\nimport { _JUMADILAKIR, ARANING_WULAN_SETAUN } from './sasi.js';\nimport {\n _ALIP,\n _EHE,\n _JIMAWAL,\n _JE,\n _DAL,\n _BE,\n _WAWU,\n _JIMAKIR,\n ARANING_TAHUN_SEWINDU,\n} from './taun.js';\n\n// Registry\nconst _JUKIR_ALIP = Symbol.for('jukir_alip');\nconst _JUKIR_EHE = Symbol.for('jukir_ehe');\nconst _JUKIR_JIMAWAL = Symbol.for('jukir_jimawal');\nconst _JUKIR_JE = Symbol.for('jukir_je');\nconst _JUKIR_DAL = Symbol.for('jukir_dal');\nconst _JUKIR_BE = Symbol.for('jukir_be');\nconst _JUKIR_WAWU = Symbol.for('jukir_wawu');\nconst _JUKIR_JIMAKIR = Symbol.for('jukir_jimakir');\n\n// Rumus Matematis\nconst JUKIR_RO_PAT = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n dino: 2,\n pasaran: 4,\n};\n\nconst JUKIR_NEM_LU = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n dino: 6,\n pasaran: 3,\n};\n\nconst JUKIR_PAT_LU = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n dino: 4,\n pasaran: 3,\n};\n\nconst JUKIR_JI_RO = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n dino: 1,\n pasaran: 2,\n};\n\nconst JUKIR_MO_JI = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n dino: 5,\n pasaran: 1,\n};\n\nconst JUKIR_LU_JI = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n dino: 3,\n pasaran: 1,\n};\n\nconst JUKIR_TU_MO = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n dino: 7,\n pasaran: 5,\n};\n\nconst JUKIR_PAT_PAT = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n dino: 4,\n pasaran: 4,\n};\n\n// Kunci Jumadilakir - Sewindu\nconst JUKIR_ALIP: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n taun: ARANING_TAHUN_SEWINDU.get(_ALIP),\n rumus: JUKIR_RO_PAT,\n};\n\nconst JUKIR_EHE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n taun: ARANING_TAHUN_SEWINDU.get(_EHE),\n rumus: JUKIR_NEM_LU,\n};\n\nconst JUKIR_JIMAWAL: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL),\n rumus: JUKIR_PAT_LU,\n};\n\nconst JUKIR_JE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n taun: ARANING_TAHUN_SEWINDU.get(_JE),\n rumus: JUKIR_JI_RO,\n};\n\nconst JUKIR_DAL: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n taun: ARANING_TAHUN_SEWINDU.get(_DAL),\n rumus: JUKIR_MO_JI,\n};\n\nconst JUKIR_BE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n taun: ARANING_TAHUN_SEWINDU.get(_BE),\n rumus: JUKIR_LU_JI,\n};\n\nconst JUKIR_WAWU: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n taun: ARANING_TAHUN_SEWINDU.get(_WAWU),\n rumus: JUKIR_TU_MO,\n};\n\nconst JUKIR_JIMAKIR: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR),\n rumus: JUKIR_PAT_PAT,\n};\n\n// Mapping\nconst RUMUS_APALAN_AWAL_BULAN_JUMADILAKIR_ABADI: Map<symbol, WulanTaunType> =\n new Map();\n\nRUMUS_APALAN_AWAL_BULAN_JUMADILAKIR_ABADI.set(_JUKIR_ALIP, JUKIR_ALIP);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAKIR_ABADI.set(_JUKIR_EHE, JUKIR_EHE);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAKIR_ABADI.set(_JUKIR_JIMAWAL, JUKIR_JIMAWAL);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAKIR_ABADI.set(_JUKIR_JE, JUKIR_JE);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAKIR_ABADI.set(_JUKIR_DAL, JUKIR_DAL);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAKIR_ABADI.set(_JUKIR_BE, JUKIR_BE);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAKIR_ABADI.set(_JUKIR_WAWU, JUKIR_WAWU);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAKIR_ABADI.set(_JUKIR_JIMAKIR, JUKIR_JIMAKIR);\n\nexport {\n RUMUS_APALAN_AWAL_BULAN_JUMADILAKIR_ABADI,\n _JUKIR_ALIP,\n _JUKIR_EHE,\n _JUKIR_JIMAWAL,\n _JUKIR_JE,\n _JUKIR_DAL,\n _JUKIR_BE,\n _JUKIR_WAWU,\n _JUKIR_JIMAKIR,\n};\n","/**\n * 📁rumus_apalan_awal_bulan_rojab_abadi.ts\n * Rumus untuk bulan Rojab selama 8 Tahun (Sewindu)\n */\n\nimport type { WulanTaunType } from './types.js';\nimport { _ROJAB, ARANING_WULAN_SETAUN } from './sasi.js';\nimport {\n _ALIP,\n _EHE,\n _JIMAWAL,\n _JE,\n _DAL,\n _BE,\n _WAWU,\n _JIMAKIR,\n ARANING_TAHUN_SEWINDU,\n} from './taun.js';\n\n// Registry\nconst _JAB_ALIP = Symbol.for('jab_alip');\nconst _JAB_EHE = Symbol.for('jab_ehe');\nconst _JAB_JIMAWAL = Symbol.for('jab_jimawal');\nconst _JAB_JE = Symbol.for('jab_je');\nconst _JAB_DAL = Symbol.for('jab_dal');\nconst _JAB_BE = Symbol.for('jab_be');\nconst _JAB_WAWU = Symbol.for('jab_wawu');\nconst _JAB_JIMAKIR = Symbol.for('jab_jimakir');\n\n// Rumus\n\nconst JAB_LU_LU = {\n wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n dino: 3,\n pasaran: 3,\n};\n\nconst JAB_TU_RO = {\n wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n dino: 7,\n pasaran: 2,\n};\n\nconst JAB_MO_RO = {\n wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n dino: 5,\n pasaran: 2,\n};\n\nconst JAB_RO_JI = {\n wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n dino: 2,\n pasaran: 1,\n};\n\nconst JAB_NEM_MO = {\n wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n dino: 6,\n pasaran: 5,\n};\n\nconst JAB_PAT_MO = {\n wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n dino: 4,\n pasaran: 5,\n};\n\nconst JAB_JI_PAT = {\n wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n dino: 1,\n pasaran: 4,\n};\n\nconst JAB_MO_LU = {\n wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n dino: 5,\n pasaran: 3,\n};\n\n// Kunci Rojab - Sewindu\nconst JAB_ALIP: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n taun: ARANING_TAHUN_SEWINDU.get(_ALIP),\n rumus: JAB_LU_LU,\n};\n\nconst JAB_EHE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n taun: ARANING_TAHUN_SEWINDU.get(_EHE),\n rumus: JAB_TU_RO,\n};\n\nconst JAB_JIMAWAL: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL),\n rumus: JAB_MO_RO,\n};\n\nconst JAB_JE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n taun: ARANING_TAHUN_SEWINDU.get(_JE),\n rumus: JAB_RO_JI,\n};\n\nconst JAB_DAL: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n taun: ARANING_TAHUN_SEWINDU.get(_DAL),\n rumus: JAB_NEM_MO,\n};\n\nconst JAB_BE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n taun: ARANING_TAHUN_SEWINDU.get(_BE),\n rumus: JAB_PAT_MO,\n};\n\nconst JAB_WAWU: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n taun: ARANING_TAHUN_SEWINDU.get(_WAWU),\n rumus: JAB_JI_PAT,\n};\n\nconst JAB_JIMAKIR: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR),\n rumus: JAB_MO_LU,\n};\n\n// Mapping Rumus abadi Rojab dengan Registry\nconst RUMUS_APALAN_AWAL_BULAN_ROJAB_ABADI: Map<symbol, WulanTaunType> =\n new Map();\n\nRUMUS_APALAN_AWAL_BULAN_ROJAB_ABADI.set(_JAB_ALIP, JAB_ALIP);\nRUMUS_APALAN_AWAL_BULAN_ROJAB_ABADI.set(_JAB_EHE, JAB_EHE);\nRUMUS_APALAN_AWAL_BULAN_ROJAB_ABADI.set(_JAB_JIMAWAL, JAB_JIMAWAL);\nRUMUS_APALAN_AWAL_BULAN_ROJAB_ABADI.set(_JAB_JE, JAB_JE);\nRUMUS_APALAN_AWAL_BULAN_ROJAB_ABADI.set(_JAB_DAL, JAB_DAL);\nRUMUS_APALAN_AWAL_BULAN_ROJAB_ABADI.set(_JAB_BE, JAB_BE);\nRUMUS_APALAN_AWAL_BULAN_ROJAB_ABADI.set(_JAB_WAWU, JAB_WAWU);\nRUMUS_APALAN_AWAL_BULAN_ROJAB_ABADI.set(_JAB_JIMAKIR, JAB_JIMAKIR);\n\nexport {\n RUMUS_APALAN_AWAL_BULAN_ROJAB_ABADI,\n _JAB_ALIP,\n _JAB_EHE,\n _JAB_JIMAWAL,\n _JAB_JE,\n _JAB_DAL,\n _JAB_BE,\n _JAB_WAWU,\n _JAB_JIMAKIR,\n};\n","/**\n * 📁rumus_apalan_awal_bulan_sakban_abadi.ts\n * Rumus untuk bulan Sakban selama 8 Tahun (Sewindu)\n */\n\nimport type { WulanTaunType } from './types.js';\nimport { _SAKBAN, ARANING_WULAN_SETAUN } from './sasi.js';\nimport {\n _ALIP,\n _EHE,\n _JIMAWAL,\n _JE,\n _DAL,\n _BE,\n _WAWU,\n _JIMAKIR,\n ARANING_TAHUN_SEWINDU,\n} from './taun.js';\n\n// Registry\nconst _BAN_ALIP = Symbol.for('ban_alip');\nconst _BAN_EHE = Symbol.for('ban_ehe');\nconst _BAN_JIMAWAL = Symbol.for('ban_jimawal');\nconst _BAN_JE = Symbol.for('ban_je');\nconst _BAN_DAL = Symbol.for('ban_dal');\nconst _BAN_BE = Symbol.for('ban_be');\nconst _BAN_WAWU = Symbol.for('ban_wawu');\nconst _BAN_JIMAKIR = Symbol.for('ban_jimakir');\n\n// Rumus\nconst BAN_MO_LU = {\n wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n dino: 5,\n pasaran: 3,\n};\n\nconst BAN_RO_RO = {\n wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n dino: 2,\n pasaran: 2,\n};\n\nconst BAN_TU_RO = {\n wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n dino: 7,\n pasaran: 2,\n};\n\nconst BAN_PAT_JI = {\n wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n dino: 4,\n pasaran: 1,\n};\n\nconst BAN_JI_MO = {\n wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n dino: 1,\n pasaran: 5,\n};\n\nconst BAN_NEM_MO = {\n wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n dino: 6,\n pasaran: 5,\n};\n\nconst BAN_LU_PAT = {\n wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n dino: 3,\n pasaran: 4,\n};\n\nconst BAN_TU_LU = {\n wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n dino: 7,\n pasaran: 3,\n};\n\n//\n\n// Kunci Sakban - Sewindu\nconst BAN_ALIP: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n taun: ARANING_TAHUN_SEWINDU.get(_ALIP),\n rumus: BAN_MO_LU,\n};\n\nconst BAN_EHE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n taun: ARANING_TAHUN_SEWINDU.get(_EHE),\n rumus: BAN_RO_RO,\n};\n\nconst BAN_JIMAWAL: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL),\n rumus: BAN_TU_RO,\n};\n\nconst BAN_JE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n taun: ARANING_TAHUN_SEWINDU.get(_JE),\n rumus: BAN_PAT_JI,\n};\n\nconst BAN_DAL: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n taun: ARANING_TAHUN_SEWINDU.get(_DAL),\n rumus: BAN_JI_MO,\n};\n\nconst BAN_BE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n taun: ARANING_TAHUN_SEWINDU.get(_BE),\n rumus: BAN_NEM_MO,\n};\n\nconst BAN_WAWU: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n taun: ARANING_TAHUN_SEWINDU.get(_WAWU),\n rumus: BAN_LU_PAT,\n};\n\nconst BAN_JIMAKIR: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR),\n rumus: BAN_TU_LU,\n};\n\n// Mapping\nconst RUMUS_APALAN_AWAL_BULAN_SAKBAN_ABADI: Map<symbol, WulanTaunType> =\n new Map();\n\nRUMUS_APALAN_AWAL_BULAN_SAKBAN_ABADI.set(_BAN_ALIP, BAN_ALIP);\nRUMUS_APALAN_AWAL_BULAN_SAKBAN_ABADI.set(_BAN_EHE, BAN_EHE);\nRUMUS_APALAN_AWAL_BULAN_SAKBAN_ABADI.set(_BAN_JIMAWAL, BAN_JIMAWAL);\nRUMUS_APALAN_AWAL_BULAN_SAKBAN_ABADI.set(_BAN_JE, BAN_JE);\nRUMUS_APALAN_AWAL_BULAN_SAKBAN_ABADI.set(_BAN_DAL, BAN_DAL);\nRUMUS_APALAN_AWAL_BULAN_SAKBAN_ABADI.set(_BAN_BE, BAN_BE);\nRUMUS_APALAN_AWAL_BULAN_SAKBAN_ABADI.set(_BAN_WAWU, BAN_WAWU);\nRUMUS_APALAN_AWAL_BULAN_SAKBAN_ABADI.set(_BAN_JIMAKIR, BAN_JIMAKIR);\n\nexport {\n RUMUS_APALAN_AWAL_BULAN_SAKBAN_ABADI,\n _BAN_ALIP,\n _BAN_EHE,\n _BAN_JIMAWAL,\n _BAN_JE,\n _BAN_DAL,\n _BAN_BE,\n _BAN_WAWU,\n _BAN_JIMAKIR,\n};\n","/**\n * 📁rumus_apalan_awal_bulan_romadon_abadi.ts\n * Rumus untuk bulan Romadon selama 8 Tahun (Sewindu)\n */\n\nimport type { WulanTaunType } from './types.js';\nimport { _ROMADON, ARANING_WULAN_SETAUN } from './sasi.js';\nimport {\n _ALIP,\n _EHE,\n _JIMAWAL,\n _JE,\n _DAL,\n _BE,\n _WAWU,\n _JIMAKIR,\n ARANING_TAHUN_SEWINDU,\n} from './taun.js';\n\n// Registry Wulan Romadon Sewindu (8 Taun)\nconst _DON_ALIP = Symbol.for('don_alip');\nconst _DON_EHE = Symbol.for('don_ehe');\nconst _DON_JIMAWAL = Symbol.for('don_jimawal');\nconst _DON_JE = Symbol.for('don_je');\nconst _DON_DAL = Symbol.for('don_dal');\nconst _DON_BE = Symbol.for('don_be');\nconst _DON_WAWU = Symbol.for('don_wawu');\nconst _DON_JIMAKIR = Symbol.for('don_jimakir');\n\n// Rumus Matematis\n\n/**\n * Don Nem Ro - Romadon Enem Loro\n */\nconst DON_NEM_RO = {\n wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n dino: 6,\n pasaran: 2,\n};\n\nconst DON_LU_JI = {\n wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n dino: 3,\n pasaran: 1,\n};\n\nconst DON_JI_JI = {\n wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n dino: 1,\n pasaran: 1,\n};\n\nconst DON_MO_MO = {\n wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n dino: 5,\n pasaran: 5,\n};\n\nconst DON_RO_PAT = {\n wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n dino: 2,\n pasaran: 4,\n};\n\n/**\n * Don Tu Pat - Romadon Pitu Papat\n * Wulan Romadon Dino ke-Pitu (7) Pasaran ke-papat (4)\n */\nconst DON_TU_PAT = {\n wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n dino: 7,\n pasaran: 4,\n};\n\nconst DON_PAT_LU = {\n wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n dino: 4,\n pasaran: 3,\n};\n\nconst DON_JI_RO = {\n wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n dino: 1,\n pasaran: 2,\n};\n\n/**\n * Don Alip -> Don Nem Ro\n * Wulan Romadon Taun Alip\n */\nconst DON_ALIP: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n taun: ARANING_TAHUN_SEWINDU.get(_ALIP),\n rumus: DON_NEM_RO,\n};\n\n/**\n * Don Ehe -> Don Lu Ji\n * Wulan Romadon Taun Ehe\n */\nconst DON_EHE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n taun: ARANING_TAHUN_SEWINDU.get(_EHE),\n rumus: DON_LU_JI,\n};\n\n/**\n * Don Jimawal -> Don Ji Ji\n * Wulan Romadon Taun Jimawal\n */\nconst DON_JIMAWAL: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL),\n rumus: DON_JI_JI,\n};\n\n/**\n * Don Je -> Don Mo Mo\n * Wulan Romadon Taun Je\n */\nconst DON_JE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n taun: ARANING_TAHUN_SEWINDU.get(_JE),\n rumus: DON_MO_MO,\n};\n\n/**\n * Don Dal -> Don Ro Pat\n * Wulan Romadon Taun Dal\n */\nconst DON_DAL: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n taun: ARANING_TAHUN_SEWINDU.get(_DAL),\n rumus: DON_RO_PAT,\n};\n\n/**\n * Don Be -> Don Tu Pat\n * Wulan Romadon Taun Be\n */\nconst DON_BE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n taun: ARANING_TAHUN_SEWINDU.get(_BE),\n rumus: DON_TU_PAT,\n};\n\n/**\n * Don Wawu -> Don Pat Lu\n * Wulan Romadon Taun Wawu\n */\nconst DON_WAWU: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n taun: ARANING_TAHUN_SEWINDU.get(_WAWU),\n rumus: DON_PAT_LU,\n};\n\n/**\n * Don Jimakir -> Don Ji Ro\n * Wulan Romadon Taun Jimakir\n */\nconst DON_JIMAKIR: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR),\n rumus: DON_JI_RO,\n};\n\n// Mapping\nconst RUMUS_APALAN_AWAL_BULAN_ROMADON_ABADI: Map<symbol, WulanTaunType> =\n new Map();\n\nRUMUS_APALAN_AWAL_BULAN_ROMADON_ABADI.set(_DON_ALIP, DON_ALIP);\nRUMUS_APALAN_AWAL_BULAN_ROMADON_ABADI.set(_DON_EHE, DON_EHE);\nRUMUS_APALAN_AWAL_BULAN_ROMADON_ABADI.set(_DON_JIMAWAL, DON_JIMAWAL);\nRUMUS_APALAN_AWAL_BULAN_ROMADON_ABADI.set(_DON_JE, DON_JE);\nRUMUS_APALAN_AWAL_BULAN_ROMADON_ABADI.set(_DON_DAL, DON_DAL);\nRUMUS_APALAN_AWAL_BULAN_ROMADON_ABADI.set(_DON_BE, DON_BE);\nRUMUS_APALAN_AWAL_BULAN_ROMADON_ABADI.set(_DON_WAWU, DON_WAWU);\nRUMUS_APALAN_AWAL_BULAN_ROMADON_ABADI.set(_DON_JIMAKIR, DON_JIMAKIR);\n\nexport {\n RUMUS_APALAN_AWAL_BULAN_ROMADON_ABADI,\n _DON_ALIP,\n _DON_BE,\n _DON_DAL,\n _DON_EHE,\n _DON_JE,\n _DON_JIMAKIR,\n _DON_JIMAWAL,\n _DON_WAWU,\n};\n","/**\n * @flow\n *\n * 📁rumus_apalan_awal_taun_sawal_abadi.js\n * Rumus untuk bulan Sawal selama 8 Tahun (Sewindu)\n */\n\nimport type { WulanTaunType } from './types.js';\nimport { _SAWAL, ARANING_WULAN_SETAUN } from './sasi.js';\nimport {\n _ALIP,\n _EHE,\n _JIMAWAL,\n _JE,\n _DAL,\n _BE,\n _WAWU,\n _JIMAKIR,\n ARANING_TAHUN_SEWINDU,\n} from './taun.js';\n\n// Registry Symbol untuk Sawal Sewindu\n\nconst _WAL_ALIP = Symbol.for('wal_alip');\nconst _WAL_EHE = Symbol.for('wal_ehe');\nconst _WAL_JIMAWAL = Symbol.for('wal_jimawal');\nconst _WAL_JE = Symbol.for('wal_je');\nconst _WAL_DAL = Symbol.for('wal_dal');\nconst _WAL_BE = Symbol.for('wal_be');\nconst _WAL_WAWU = Symbol.for('wal_wawu');\nconst _WAL_JIMAKIR = Symbol.for('wal_jimakir');\n\n// Rumus matematis\n\nconst WAL_JI_RO = {\n wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n dino: 1,\n pasaran: 2,\n};\n\nconst WAL_MO_JI = {\n wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n dino: 5,\n pasaran: 1,\n};\n\nconst WAL_LU_JI = {\n wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n dino: 3,\n pasaran: 1,\n};\n\nconst WAL_TU_MO = {\n wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n dino: 7,\n pasaran: 5,\n};\n\nconst WAL_PAT_PAT = {\n wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n dino: 4,\n pasaran: 4,\n};\n\nconst WAL_RO_PAT = {\n wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n dino: 2,\n pasaran: 4,\n};\n\nconst WAL_NEM_LU = {\n wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n dino: 6,\n pasaran: 3,\n};\n\nconst WAL_LU_RO = {\n wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n dino: 3,\n pasaran: 2,\n};\n\n// Intersection [row x column -> rumus]\n// Kunci Sawal - Sewindu\n\nconst WAL_ALIP: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_ALIP),\n rumus: WAL_JI_RO,\n};\n\nconst WAL_EHE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_EHE),\n rumus: WAL_MO_JI,\n};\n\nconst WAL_JIMAWAL: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL),\n rumus: WAL_LU_JI,\n};\n\nconst WAL_JE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_JE),\n rumus: WAL_TU_MO,\n};\n\nconst WAL_DAL: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_DAL),\n rumus: WAL_PAT_PAT,\n};\n\nconst WAL_BE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_BE),\n rumus: WAL_RO_PAT,\n};\n\nconst WAL_WAWU: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_WAWU),\n rumus: WAL_NEM_LU,\n};\n\nconst WAL_JIMAKIR: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR),\n rumus: WAL_LU_RO,\n};\n\nconst RUMUS_APALAN_AWAL_BULAN_SAWAL_ABADI: Map<symbol, WulanTaunType> =\n new Map();\n\nRUMUS_APALAN_AWAL_BULAN_SAWAL_ABADI.set(_WAL_ALIP, WAL_ALIP);\nRUMUS_APALAN_AWAL_BULAN_SAWAL_ABADI.set(_WAL_EHE, WAL_EHE);\nRUMUS_APALAN_AWAL_BULAN_SAWAL_ABADI.set(_WAL_JIMAWAL, WAL_JIMAWAL);\nRUMUS_APALAN_AWAL_BULAN_SAWAL_ABADI.set(_WAL_JE, WAL_JE);\nRUMUS_APALAN_AWAL_BULAN_SAWAL_ABADI.set(_WAL_DAL, WAL_DAL);\nRUMUS_APALAN_AWAL_BULAN_SAWAL_ABADI.set(_WAL_BE, WAL_BE);\nRUMUS_APALAN_AWAL_BULAN_SAWAL_ABADI.set(_WAL_WAWU, WAL_WAWU);\nRUMUS_APALAN_AWAL_BULAN_SAWAL_ABADI.set(_WAL_JIMAKIR, WAL_JIMAKIR);\n\nexport {\n RUMUS_APALAN_AWAL_BULAN_SAWAL_ABADI,\n _WAL_ALIP,\n _WAL_BE,\n _WAL_DAL,\n _WAL_EHE,\n _WAL_JE,\n _WAL_JIMAKIR,\n _WAL_JIMAWAL,\n _WAL_WAWU,\n};\n","/**\n * 📁rumus_apalan_awal_bulan_dulkodah_abadi.ts\n * Rumus untuk bulan Dulkodah selama 8 Tahun (Sewindu)\n */\n\nimport type { WulanTaunType } from './types.js';\nimport { _DULKODAH, ARANING_WULAN_SETAUN } from './sasi.js';\nimport {\n _ALIP,\n _EHE,\n _JIMAWAL,\n _JE,\n _DAL,\n _BE,\n _WAWU,\n _JIMAKIR,\n ARANING_TAHUN_SEWINDU,\n} from './taun.js';\n\n// Registry Symbol untuk Dulkodah Sewindu\nconst _DAH_ALIP = Symbol.for('dah_alip');\nconst _DAH_EHE = Symbol.for('dah_ehe');\nconst _DAH_JIMAWAL = Symbol.for('dah_jimawal');\nconst _DAH_JE = Symbol.for('dah_je');\nconst _DAH_DAL = Symbol.for('dah_dal');\nconst _DAH_BE = Symbol.for('dah_be');\nconst _DAH_WAWU = Symbol.for('dah_wawu');\nconst _DAH_JIMAKIR = Symbol.for('dah_jimakir');\n\n// Rumus Matematis\n\n/**\n * Dah Ro Ji - Dulkodah Loro Siji\n */\nconst DAH_RO_JI = {\n wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n dino: 2,\n pasaran: 1,\n};\n\nconst DAH_NEM_MO = {\n wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n dino: 6,\n pasaran: 5,\n};\n\nconst DAH_PAT_MO = {\n wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n dino: 4,\n pasaran: 5,\n};\n\nconst DAH_JI_PAT = {\n wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n dino: 1,\n pasaran: 4,\n};\n\nconst DAH_MO_LU = {\n wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n dino: 5,\n pasaran: 3,\n};\n\nconst DAH_LU_LU = {\n wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n dino: 3,\n pasaran: 3,\n};\n\nconst DAH_TU_RO = {\n wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n dino: 7,\n pasaran: 2,\n};\n\nconst DAH_PAT_JI = {\n wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n dino: 4,\n pasaran: 1,\n};\n\n// Wulan - Taun\n// Kunci Dulkodah - Sewindu\n\nconst DAH_ALIP: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n taun: ARANING_TAHUN_SEWINDU.get(_ALIP),\n rumus: DAH_RO_JI,\n};\n\nconst DAH_EHE: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n taun: ARANING_TAHUN_SEWINDU.get(_EHE),\n rumus: DAH_NEM_MO,\n};\n\nconst DAH_JIMAWAL: WulanTaunType = {\n wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n taun: A